Supernova2 engine after the first week

Hello reader, it has been more than a week since my last post and I have the first week of work done.The plan for this week was to create a tool to generate English translation, make a basic engine and make ScummVM assign the Mission Supernova 2 game to that engine.

When I made the schedule for this Google Summer of Code, I planed to use the engine for the first game as a template. I knew the games are quite similar, but I thought I would still have to change quite a lot of the methods and accordingly to that I made the schedule. So far it looks like I quite misjudged the similarities of the games. I started slowly, copying from the first engine only the really essential parts. Then I was carefully as I needed them adding more and more methods with just some little adjustments until I basically ended up with almost identical engine except for the really specific parts (rooms, objects, …). I guess that if I started by copying the whole first engine and deleting what isn’t needed for the second game or reimplementing what’s different, I would get pretty similar result after less time and a lot less work.

The initial schedule was:

  • Week 1:
    • Make tool to generate Supernova2.dat with translated strings and images
    • Make ScummVM correctly detect MS2 game and assign it to Supernova 2 engine
  • Week 2:
    • Implement loading of game files and strings from Supernova2.dat into memory
  • Week 3:
    • Start working on the intro animation
  • Week 4:
    • Finish the intro animation
    • Start working on rendering the first room
  • Week 5:
    • Finish rendering the first room
    • Add inventory, commands and exit map to the screen
  • Week 6:
    • Implement user event handling
  • Week 7:
    • Implement the logic behind commands, exit map and inventory
  • Week 8:
    • Implement Save/Load feature
    • Start adding the rest of the rooms
  • Week 9:
    • Finish adding the rooms
  • Week 10:
    • Add the outro animation
  • Week 11:
    • Add sound

 

  • Week 12:
    • Fix bugs
    • Room to spare

The schedule didn’t work quite as planed, since in the first week, I basically completed the first 8 weeks. I started adding the rest of the rooms and right now I am at 4 rooms out of 71.

For the next week I plan to continue adding the rest of the rooms.