Egoboo Development Diary – Part 5

It’s time for the fifth part of the development diary series of Egoboo! This time, it’s going to be technical.

Let’s begin with a burndown of the recent changes.

Visual Studio 2017

Visual Studio 2017 Community was shipped, consequently the recommended version of Visual Studio to build Egoboo with will be the the 2017 Community.

Automatic rewriting

Like many games, Egoboo consists of code and assets. The code defines – more or less – what to do with these assets. Egoboo’s assets are pretty normal: textures, models, sounds, maps. And also text files. Lots of them: They define in fact what happens in a level.

These script files are quite concerning, they are lexically, syntactically, and semantically awkward; yet they define the majority of what this game is. You are here presented with a problem that is

  • keep the old readers/writers
  • design a new format, define a transformation from the old to the format
  • write the new readers/writers
  • manually apply the transformation to the files, that is, do this 80 times
  • when all files are transformed, remove the old readers/writers

This is quite untractable.

  • keep the old readers/writers
  • design a new format, design a common intermediate representation (CIP)
  • write the new readers/writers
  • load (using the old readers) the old format into the CIP
  • write (using the new writers) the CIP into the new format
  • when all files are transformed, remove the old readers/writers

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *