A new CRPG is born - Milestone 1
In an earlier post i wrote that i am going to code a simple CRPG with pygame. With an unknown destination, but it will probably be an very interesting way. Yeah i know one should spend a bit more on thinking about the whole game, gameplay and so on, but i’d like to tame some of the technical issues prior. Luckily Kerim joined and i don’t have to do it all by my own :-)
The overall goal is a pure tile based 2D CRPG with a more top down view and realtime combat. Everything else is still open. However the first issues we have to solve are:
- a tile engine
- sprite and animation handling
- collision detection
- some way to interact with the world, probably mouse based
- a level/map editor or exporter for tile based mapeditors
- various data formats for storing levels, sprite infos and such stuff
- a gamestate system for handling intro, menu and world
- some kind a primitive time handling
I think when thats done we can start to think about the gamedesign.
Where are we now?
The basic tile engine is done and supports “unlimited” layers, splitted in back- and foreground rendering. The player sprite is rendered between and basic movement does work too. Some collision detection is there, but far from finished yet. With the next milestone we’ll probably release the source and/or a demo. For now take a look at the screenshot below.
One might wonder why we didn’t use pgu’s tile engine or waldi. I considered them, but both didn’t fit my ideas out of the box. I did take a look at their code and thought about adjusting it to my needs. The drawback for me was, pgu is a hack and the code looks like it and waldi depends on external module(s) and i haven’t really understood how the rendering works in it. On the other side it’s not difficult to code a non iso tile engine and in addition i think we develop faster with an own tile engine. Maybe someday we can offer a third solution for the pygame world. Who know :-)
Want content like this in your inbox each workday? No BS, spam or tricks... just useful content: