Development Log

Written and conceived by Matt Lloyd 2018


A Knight's War - 06th of October, 2018

A Knight's War

A website I visit regularly has game competitions quite often. As a result I decided to enter one when the theme was of interest. In this case there was a choice of theme which were either:

Open world arcade

Endless puzzle

Retro strategy

I liked two of the themes but in the end settled on the retro strategy theme.

Over the past year or two I've created various sprite graphics from traced images and some originals. I wanted to make a fantasy strategy game and decided on an idea.

I hadnt touched my web game code for some time but I decided to go web based for the following simple reasons.

My languages of choice that I have skill in are:

Blitz - a dead language

Java - not game stuff though except Android

Javascript - I like web based especially that it can run on any device.

So my choice was made based on being able to run on either desktop, phone or tablet.

So I broke out my framework I wrote for a few other games over the past few years and stripped it back and enhanced it.

As you will see with each game I write for the web my framework is becoming more and more fully featured and also more and more capable. The next iteration will handle image animation strips hopefully. That's the plan in any case.

So...with a knight's war I first thought I wanted to have four factions fighting in a simple hotseat mode game style. But it soon became apparent I was best off keeping it as two factions, which became Order vs Chaos.

It was early on I had the look of the battle field pretty well planned out.

Originally my faction choice screen and entire interface used this ugly brown appearance. See below.

In fact the whole thing used this ugly brown look.

I then started playing around with painted backgrounds based off reference images drawn over and modified.

I was also given the idea of using an advisor to give the player instructions.

Soon the brown theme was being replaced with rounded buttons with a pleasant gradient effect.

I also added hills in to the game as a gameplay feature to give defensive bonuses to the units in combat.

At this stage the two player hotseat mode worked but it seemed a single player campaign mode was needed. Using map generation code I wrote in 2017 for an Android app I applied that to A Knight's War.

The map went through several iterations before settling on one I liked which involved painting over the map as generated in code by hand.

I added boats for the invading force as markers and army markers and food markers. The object was to drive off the invading force and show your progress by eliminating the boats one by one.

I also built in several modes to the single player battles now including a mode where you are outflanked by the enemy (deploy centrally with enemies surrounding) and a mode where you have to defend a wagon (deploy behind a stationary wagon filled with food supplies).

At this point I decided to add an online multiplayer mode. With my webhost I can't really have fast paced multiplayer so what I did was build a system where you capture castles on the campaign map that belong to different players and it updates the map every 12 seconds with an updated ownership of the castles. This uses php and a database backend. The main scripts handle joining a game, taking a castle and listing the map castles owners. This required some decent debugging especially around end of game victory defeat parts.

With only myself to test it wasn't easy to test multiplayer but I did it and it works. So far only one user has even tried the multiplayer mode...but it is there.

With a fully functioning ai player I was then able to add a demo mode that runs like on the old arcade cabinets. The computer plays itself until a key is pressed or the battle is won or a timer elapses.

I also added special characters to the game. Two. Male and female. They are highly powerful hero characters who help out in the campaign at random.

In the online multiplayer mode there are times when you have to wait. In these times I gave the player a minigame where they could explore a dungeon and find treasure to boost their army's ability in battles. It was a precursor to my next two games.

As the competition closing date approached I drew and painted some flyers and dropped them around town. They didn't achieve much. In fact not a single local person played the game from distributing these.

Text in the form of hit and miss bubbles were added along with screen shake when a unit dies.

After about 4 weeks the game was complete and much more polished than it was originally.

I learned a lot of useful tips about interfaces and gui appearance from a couple of other users. I also developed a skill in painting my own backgrounds based on reference images.

The game was submitted to a number of portals but as of yet few have played it. I'm quite thrilled at how my development work has been going with each of these three games.

Thanks for reading my development log.