Township - Development Thread

Started by Son of the King, August 18, 2010, 12:13:16 AM

Previous topic - Next topic

Son of the King

Working on a .exe for the current version (pre-0.2). That is if I can get rid of some stupid .dll error I keep getting. Hate Windows at times like this :D .

lordryan756

I had to motivate him to get the py2exe, read the tutorial, finish it, etc. But it'll all be worth it :D. We're on MSN right now, actually. Uber-Awesome!

Son of the King

There is a 64-bit version that works now! 32-bit was giving me a different stupid .dll error... I'll try some more tomorrow.

Son of the King

#33
Done at last!

Note to self, never ever ever use py2exe again.

Installers:

x64 for 64 bit, x86 for 32 bit. There is no difference except 64 bit won't work on 32 bit Windows. I just happened to have 64 bit Python installed when I first made the installer :3 .

EDIT: These are still for the version with laggy pathfinding for more than about 3 villagers at once, no saving, as well as dodgy creeps and any other bugs I may have fixed in the (broken) version I have.

lordryan756

I think I love you <3 not really though. I appreciate you. But not really. I appreciate your games :D. Not sure if that's an insult though... Not meant to be :D

Jubal

"He says he loves me, but really he only wants me for my Python skills"  :P
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Son of the King

How does it run for you Ryan?

Also,

Quote from: Son of the King on March 02, 2011, 03:08:44 AM
Version pre-alpha-0.3 (probably released before the end of the week) will include:

  • Ability to save your game.
  • Ability to load a previously saved game.
  • A less buggy in-game message system. Currently some messages only flash briefly onto the screen, in 0.3 it will work properly.
  • Easy-to-use interface for building and recruiting (hotkeys will remain the same as they previously were).
  • A slightly less bizarre scoring system.
  • Perhaps expendable resources, although I am unsure about this until bigger maps are included.
  • Perhaps faster pathfinding, although that may have to wait for a later release.
  • Installer and executable for Windows users, so that python and pygame don't need to be installed for the game to run (if I can get py2exe to work properly, which apparently could be a problem...).

And then further in the future there will be:
  • Multiple save games, and a nice interface for loading them.

  • Larger maps that are procedurally generated, rather than being totally random.
  • Buildings that allow the training of your soldiers to increase their stats.
  • Experience implemented for all unit types (i.e. soldiers and villagers), rather than just gatherers.
Along with other stuff that I won't list here.

Also, if anyone has any suggestions on how to improve the game or any new features I could potentially add, don't hesitate to tell me.

Lies. Many lies.

What I have currently from this list:


  • Fully working messages
  • Ability to save the game!
  • Marginally less random scoring system

I also had halfway implemented most of the other stuff, for example loading was/is almost done and I was working on the pathfinding. My problem is that I fixed the message system in a computer lab at uni, and never transferred the changes to my laptop :D . Also that I managed to utterly break the units' movement by making pathfinding faster SOMEHOW. It worked soon after the quoted post, and now doesn't...

Anyway, I'm currently working on making my code neater and taking a more object oriented approach (rather than the messy blob approach I previously used even if that means recoding lots). First up, fixing up how the map works to give me the ability to easily add BIG maps, and also changing how resource tiles work to allow for finite resources.

Son of the King

#37
Making my code neater == Rewriting most of the program. Main menu code doesn't make me cry anymore. Also, I intend to use a fully object oriented approach this time, rather than the mess I made at first. For example, now there is a class MainMenu() which handles the whole of the main menu via methods, rather than the horrible method I was using before of trying to attach a main menu to the game I had made. Also you can use a text file to change button texts :D .

It is also now easy for me to add new buildings, creeps, etc. since they are also stored in text files whereas before they were hardcoded (creeps will still be pretty much hardcoded since I have plans for more complex behaviours than just wandering).

Speaking of buildings, here is some outline for how I plan to implement them:

Spoiler
## Name:<Building name>
## Type:<Building type>
## <Type specific fields>
## CostFood:<Food cost of building>
## CostWood:<Wood cost of building>
## CostStone:<Stone cost of building>
## <Other resource costs (for future)>
## Vars:<possible variations of the building image, eg abcde>
## BaseImage:<Path of the sprite, without variation suffix>
## ImageType:<Image format of the sprite, eg .png, .jpg>
## Icon:<Path of building icon>
## Descr:<Short description of the building's use>

I'll write some stuff (copy/paste from the buildings file since I've written lots this time so my brain knows how I want to implement things) about how types and stuff will work if anyone is marginally interested. I intend for this release to take a while before I actually release it, but have a far better game for it. One of the things I want to add is a greater variety of buildings, which is another thing I always intended.

Additionally, I intend to add more types of 'creeps' such as a Builder Creep of some kind that builds lairs for its friends. This in turn could lead to less of a focus on waves and move in a more RTS-y direction with the need to destroy said lairs or fight off many many creeps. I will also try and make the old herding creep work better, as it was a fun idea that I broke when moving from creeps on a white screen to an actual game (when I couldn't think of what to do for coursework).

A lot of this writing is just me braindumping though rather than definite future features, seeing as how I am developing a tendency to walk home from uni thinking of ideas, then forget all about them until I'm next walking home from uni...

As an idea, I currently have a fully functional main menu which looks nice and elegant in code, and is about as customisable without changing code as I can make it. Next up is writing the Map class (and by necessity the Tile class I guess) which will generate a map to a set size, rather than just to the screen size as before.

Yes my cleanup has turned into a rewrite. But its worth it!

Son of the King

Stopped working for ages due to

a) lack of a clear idea of how to properly implement a large map
b) deciding I should probably spend time doing uni work

Its Christmas for me now and so when I'm not revising I shall be trying to work on Township now that I have figured out how to make the map. Speaking of the map generator, there are now lakes! By default the map is 100x100 tiles (2500x2500px with 25x25 tiles), but the generator should work for as big a map as you like (although I will probably have to change some stuff about how the map is displayed if it gets really big.

comrade_general


Son of the King

:D .

I thought "adding beaches will make the lakes look nice". The next day I'm still sat here smoothing out the beaches.

comrade_general

You gotta love the whole 'mapping' thing right? ;)

Son of the King

Definitely. It finally is pretty much finished at last it seems there are around 50 possible shoreline tiles that can occur... Tomorrow is the delights of making it possible to move the map. Then finally I think I'll start on the UI :D

Jubal

Awesome to see this taking shape. Will there be a standalone release at any point, do you think?
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Son of the King

Yep, as soon as I get the version I'm working on at the moment into a useable game I'll compile it and release a standalone application as well as the source code. As for an estimate of time, I have pretty much no idea. Right now the map generator is complete (for the time being) and I've started work on the ingame user interface. Still have to implement villagers, building and creeps before I think of releasing anything though.