Creating your first action game from scratch can be quite a challenge, and cause severe frustration. But at some point you begin to see some light at the end of the tunnel - and that's where the real fun part begins.
My experiments in creating something that might become... a game?! ...have reached a stage where (except for sound) pretty much everything is in place: timing, user input, movement, graphics, limits, ...and it seems to work! Stably!
To achieve this within a somewhat tolerable time frame (= this lifetime), some fundamental decisions had to be made:
- few colors
It turns out that Amiga color palette considerations can be very time consuming. To make progress, no attempts were made to max out the possibilities.
- single reference platform support
AGA compatibility has been dropped early on, OS3.x would be nice, but Kickstart 1.x support is a must for this project anyway (for personal reasons), so an Amiga 500 with Kickstart 1.3, OCS, 1MB RAM has become the single target platform. If possible, the... game? ...should fit into 512KB RAM. (256KB would be even better.)
- accept bad performance now, optimize later
This is something I really had to get into my head: It won't be fast! Not yet! Maybe never! I have a tendency to spend a lot of time thinking about loops, variable size, etc. without being sure the entire program architecture will work out. (Compare AA DevLog #0.) So to get a proof-of-concept of where and when things happen, the basic assumption was made that with some fundamental limitations set, the Amiga will somehow be able to handle the load within one, or at least two vertical screen refresh cycles, resulting in a usable frame rate. All other performance- or elegance-of-execution-considerations were dropped.
|Everything still looks pretty... flat.|
Well, despite my self-imposed rules, I still tried to make some routines scalable, reasonably "elegant" (?), or spent a little bit of time on thinking about speed. It just happens, and is part of the fun.
Having an ugly, but working prototype of the game, a level editor speeds up further development considerably. Creating the editor was comparably easy, as many of the functions required were already there from the game files.
|Editing an NPC's path/waypoints|
Now background tiles, foreground items, and non-player-characters (NPCs) can be easily added to the level - and as mentioned in the introduction, this put a broad smile on my face a couple of times. It's really fun to invent game mechanics - e.g. a path with waypoints for your NPC - and then be able to immediately see the effects in the game.
Thanks for reading, c u next time!
* * *