Prep & Day 1 - Getting Started


Lessons Learned from 2017

Day 1 didn't really feel like day 1 to me; it felt more like day 8 a year after 7DRL 2017. I wasn't happy with the finished product I created last year, for the simple reason that I thought I could do better in a week than the buggy mess I achieved.

That said, I learned a lot from Genergy last year, and one thing I planned to put into practice this year was avoiding the huge, pointless cost of doing everything from scratch using ncurses. There was also a cost I'd paid by using C++ last year - I'm pretty experienced in the language but my day job calls for Python and Go, making C++ a pretty huge context switch for me. I'm using Python this year to avoid that.

The Theme

My theme was easy to decide, because it's the same as last year - inspired by the equation E=mc2 and all about energy. My vision is that every item can be converted to an equivalent amount of energy, and that energy can be used for everything from lighting the room to attacking enemies.

That idea didn't come through in "Genergy" last year, but that was mostly from spending an age implementing the most basic features. One thing I did learn from last year was to abandon realism - being strict about mass-energy equivalence just makes choices about items ridiculous - the heaviest item is always best because it'll translate into loads of energy.

Day 0: Prep Work

I didn't actually do any work for the game itself before I started: all code was written after the start time below. But I did spend some time looking into packaging a Python application for distribution on Windows, macOS and Linux, both on Friday the 2nd and Saturday the 3rd before I started. My day job is server-side Python which is great. Client side Python is less so.

In short, it's a nightmare to package as properly as I'd like and is a huge risk to the project... I'm sure I'll lose a lot of time towards the end of the jam getting the packaging right.

Getting Started

I suppose my official start time was 18:05 2018-03-03 UTC. After a day of errands and tasks, I settled down to get cracking from an example using the python-tdl library and to watch the Ro12 and Ro8 of StarCraft 2 at IEM Katowice.

Most of the few hours I had on Saturday were spent refactoring the FOV sample from the TDL examples. I had promised myself not to spend too much time on refactoring, and I don't think I overdid it too much.

Another important piece of progress was deciding - amazingly quickly - on a name: ARDOR. It feels roguelike-y and, given its meaning of "fiery intensity of feeling" could definitely be seen to be related to my idea of a game about energy, and specifically about characters storing energy in "themselves".

First Commit of the Day

18:05 UTC - "Initial Commit" - a967aa2693f6e0940955b26fce804ce21f405br

Last Commit of the Day

23:15 UTC - "Initial commit of game" - cd99f8097f547eb9ab72d026e5b205c1768864ac

Get ARDOR