Another update, day 13 at this point!
Ive been finding time wherever possible to work on bits and pieces of this game, ditched out of the lowrezjam because Im finding this Commodore 64/Apollo Jam a lot more interesting and Im limited on spare time regardless.
Work over the past week or so:
- Continued with research, learning a lot about the system itself, memory layout, C64 history, BASIC, approaches to making games, etc - The 8 bit Guy on youtube has a lot of great videos, seeing his Planet X2 project making of is a must for anyone making C64 games.
- Developed a bunch more sprites - from the command module sprite(s) to and alien, astronaut, lunar surface and explosions - really relaxing and fun work, trying not to get too ahead of myself with sprites, since I know I probably wont be able to use too many!
- Worked out how to load in multiple sprites into the scene, lots to learn here about memory locations and how multi colour sprites work
- Added a bunch of features to the game loop and program overall, like keeping track of the screen/border colours and restoring them when the game ends or is quit, actually being able to quit using 'Q', added fuel to the game and worked out a basic way to draw a depleting fuel bar on the screen (not fully implemented yet), added an upwards boost so you can fly/hover around now and just in general tried to clean up the game loop code as much as possible
- Had a change in workflow, I discovered C64 studio - which has turned out to be great! (if not perhaps a bit glitchy), but its got all kinds of tools which make it a lot nicer to use than working sublime or visual studio code as I was doing before. Still exploring the featureset here, but looks like the dev platform Ive been wanting for. It even has sprite support, which is making life a lot easier
- Drew up a little test scene to visualize what the game could look like soon
- Converted my Delta Edge logo into 80s style - didnt expect this to work so well! Now I just need to work out how to draw it to the screen so I can have a splash screen at the start of the game
Splash screen test (not yet running on the C64)
Sprites in C64 Studio - command module, rotating sprites for the lunar lander, and some mockups for the surface, astronaut and alien!
Test explosion sprite - need to get sprite switching working for animated sprites like this
Getting the LM and CM sprites loaded into the game
As pictured above, LM (Lunar Module) and CM/SM (Command & Service Modules), which are currently loaded in with BASIC. Next up I'll re-introduice the main game logic again and get them parented and moving around as needed. Id also soon like to get the overall game-loop working better - it still needs some kind of intro menu which kicks into the game and the landing sequence, then the end of level screen and the ability to progress on to the next level. Then its probably time to look at landing mechanics and a few more features for the descent component of the game.
Theres another larger component I want to work on that involves what the Command Modlue goes off and does during its orbit, but Im not sure how far into that I'll get during this challenge. An easier goal would be to aim to flesh out the descent part into its own mini-game, so I'll see how the next month goes, it really just depends on how much spare time I have (never as much as I want!)
Also pretty certain I'll need to switch to assembly, which Im really avoiding at the moment. Ive learnt enough now to see the advantages, but at the same time I'll have to scrap all the basic code and learn assembly. The only thing that will really push me to do that early is if I get far enough with the descent part of theg game, and work on the command module part - which will need sprite multiplexing and is likely when I'll need to rewrite it all in assembly, but until then I'll keep looking at this as a 'prototype' of the full game in BASIC, with an assembly conversion happening later on.. potentially post-jam.
Hard to say what the game code size is now, since its broken up between a bunch of different file but currently for the game itself its looking like its gone from about 1537 bytes to 7335 (7.35kb), from 70 to around 250 lines of BASIC. (Only including images and sprites that are currently loaded in the game loop itself)