• Modifying Entity Component System for Turn-Based Games

    This article describes my modifications to the Entity Component System (ECS) architecture pattern to better support a turn-based game loop. This involves implementing game logic in actions which describe changes to the game's state, and rules which prevent certain actions, and trigger additional reactions. The combination of actions and rules replace the traditional idea of systems.

  • Programming Languages Make Terrible Game Engines

    This is the first of a series of posts I'm writing to explain the inner workings of the game engine I used for my 7DRL: Apocalypse Post. It motivates one of the problems I set out to solve with the engine - how to represent the types of game entities.

  • Apocalypse Post

    Apocalypse Post is a procedurally-generated, turn-based tactical shooter set in a post-apocalyptic future, where you carry mail between survivor camps in your trusty delivery van, all the while fending off attacks from bandits and zombies. Between each delivery run, buy weapons and armour to upgrade your van to cope with ever-increasing numbers of enemies.

  • 7 Day Roguelike 2017: Success

    I spent the night polishing, play-testing, balancing and fixing some minor bugs. I consider the week to have been largely successful. The game turned out roughly like what I imagined at the start of the week.

  • 7 Day Roguelike 2017: Consumables

    I added many features today, most notably consumable items that can be used while stationary in the field to repair the engine or replace a burst tyre. These items can be bought from the shop in the survivor camp. The shop also sells repairs that happen immediately.

  • 7 Day Roguelike 2017: Procgen and Explosions

    Today I implemented a procedural generator. Levels are relatively simple, compared to say, dungeons. Levels have a straight road, with acid generated using Perlin Noise, and various enemies, obstacles and items placed randomly, with different probabilities for each entity starting in a cell for road cells and off-road cells.

  • 7 Day Roguelike 2017: Mechanics and Descriptions

    Today I implemented lots of small mechanics to add some depth to gameplay. I also added descriptions to many actions which are printed in the message log.

  • 7 Day Roguelike 2017: Vehicles

    Today I added cars and motorbikes. Cars are equipped with shotguns and can shoot to the left and right. Bikes are equipped with a pistol and can shoot in all directions.

  • 7 Day Roguelike 2017: Shopping

    The main feature I implemented today was a set of menus that are displayed between levels. These include a shop for buying items (currently just guns), equipping guns to weapon slots (which can't be done in the field), and inventory management (just removing items from the inventory to make room for more items).

  • 7 Day Roguelike 2017: Day 1

    After a day of development, I've implemented some of the basic functionality and created some of the artwork. You can control the speed of the van, and steer it provided that its speed is above zero. Zombies can be run over which insta-kills them, or they can be shot if they are directly in front of the van.