Age of Yore

A web and mobile RPG at a low resolution

Play the Game | Forums | Twitter | Dev Plan

State of Technology in Age of Yore Workflow

- Posted in Development by

It's been 7 years since I worked on Legends of Yore and the technology world has changed - especially for me. I've had to learn a lot more tech and infrastructure in my day job and as I enter into the development of Age I'm applying what I can.

  1. It's all in Typescript. I love Java, I really do, I still use it every day but Typescript is just way easier for deployment. Tooling has moved from rubbish to amazing, and the language has developed so well it's like Java in Javascript. I built a very simply game engine in a few days (something I should probably blog about) and thats made everything so very quick.
  2. VSCode - again, I still use Eclipse everyday (and even JetBrains if I have to) but VSCode is really showing it's power as I'm moving through this project. From it's inbuilt excellent typescript support to its speed, to its astounding configurability. I really can't imagine using anything else now.
  3. Art - believe it or not I'm still using GIMP. It does everything I need but I'd love to find something that is more tailored to my spritey needs.
  4. When I built maps for Legends it was long winded and time consuming. The dynamic dungeons of course are all generated but the overworld that became more and more important was all handcrafted in text files. Enter Tiled - it used to be a bit of pain to work with - now it's fantastic. Kudos to the developers.
  5. Script/Configuration for everything. VSCode lends itself well here. I've always loved a good IDE that checks content as you're typing - now I can have that for all my game specific assets. From automatic translation of all strings in the game (as I'm typing), to validation that data is consistent, to pre-checking of the JS scripts that run the quest specific logic.
  6. Server side and error catching I'm still using PHP however. I went Node for a bit and hated it. PHP is cheap, easy and very well supported these days. I've yet to feel the need to move to anything else.
  7. Release Process is very simple. Since I'm focused on Progress Web Apps (something else I should probably blog about) my process is one script - run it and every version of the game on all platforms is instantly updated. Only those running in Offline mode will have to wait until they're online again - but then immediately be cached through ServiceWorkers in the Javascript.

Generally I'm super impressed how far things have come. Developing Age is a joy compared to Legends, I'm left with the only real problems that I want - creativity and game design.