Mapping System Complete!

It’s always a good feeling at the end of a project. For me I’m particularly happy as there was a fair amount of risk attached to this one.

I had decided to kick off this project after reviewing the state of the Ancient Armies wargame system last September in an attempt to re-boot that project. It was during the review that I had decided that I had to take that system in a completely different direction in order to allow me to deliver some of the capabilities that I wanted to see.

This was a high risk decision as part of it meant creating a brand new mapping system from scratch. What made the proposition particularly risky is that my requirements for the mapping system were uncompromising and had a number of ‘must haves’, which if I’m totally honest, I wasn’t sure that I could deliver!

However, I’m glad that I have decided to take the project in this direction. I have got to learn a whole bunch of really cool stuff during a fun journey of discovery for which the end result is a mapping system that I firmly believe is class leading within its genre.

Not just a map editor... The software that has been developed is primarily a .net library. This means that any project that uses Microsoft's .net platform can take advantage of this mapping functionality.

Not just a map editor… The software that has been developed is primarily a .net library. This means that any project that uses Microsoft’s .net platform can take advantage of this mapping system.

Just knowing that I have this system as the foundation onto which to build the rest of the game, makes me feel really excited. I couldn’t have hoped for a more solid start.

Unlike the previous version of Ancient Armies, this version was actually project managed. On the original project I kind of did stuff on the fly which resulted in a lot of scope creep and a fair bit of time being wasted doing things that were perhaps not too important.

In contrast this mapping project was built directly from a set of requirements that was determined and planned up front.

A screenshot of my requirements from very early on in the project. Each requirement is connected to a JIRA issue.

A screenshot of my requirements from very early on in the project. Each requirement is connected to a JIRA issue. (Click for a larger version)

All major decisions were documented too, so I knew why I was doing particular things.

It was a great feeling logging into the system and seeing more and more of the issues turning into green ‘Closed’ statuses as the project progressed. What is more it enabled me to determine where I was and where I was going. Having this kind of direction really makes a difference and makes one focus on things that actually matter.

However, being a home project there were no solid deadlines as this would be impractical. There were estimates though, so I did have a rough idea on how things were going.

In this project’s case, I had only used 16% of the time allocated by the estimates. In my defence I was working with a lot of brand new technologies and concepts, so I had to include additional time as I had no idea what I was getting myself into!

My home development environment is fully integrated from end to end, so as a result I have stats and stuff coming out of my ears! For the more geeky readers here are some of the more interesting ones:

  • The project was started on the 20th September 2014 and finished on the 9th January 2015
  • A total of 179 hours and 46 mins was sunk into the project actively coding. (4 weeks, 2 days 3 hours and 46 minutes)
  • 33,039 lines of code were produced.
  • The three hardest tasks by effort expended were:
    1. Line of Sight : 35 hours 30 mins
    2. Contour Rings (the triangulator being the hard bit…) : 26 hours 30 mins
    3. Load/Save : 21 hours

It has to be said that most tasks took significantly less time than the three above, so they do kind of distort the picture a little 🙂

Here are some graphs for those that are a little more visual:

This graph shows my working patterns for the project. It seems that I do most of my best work from 10 in the evening until 1 in the morning!

This graph shows my working patterns for the project. It seems that I do most of my best work from 10 in the evening until 1 in the morning!

This graph shows how much code that I had produced over time. Being a home made project it inevitably has stops and starts to make room for real life!

This graph shows how much code that I had produced over time. Being a home made project it inevitably has stops and starts to make room for real life!

I’m now going to have two days off then I’m going to look at armies and units. I suspect that I will be able to take much from the original project, but I will be performing a lot of up-front analysis so as to put together a really solid set of requirements for the next stage.

I’ll leave you with a screen shot of the finished Map Editor – the tip of the iceberg that is the mapping system 🙂

The finished map editor and mapping system. I'm quite proud of the capabilities that are encapsulated into the mapping model and can't wait to use the system in anger! (Click for full size image)

The finished map editor and mapping system. I’m quite proud of the capabilities that are encapsulated into the mapping model and can’t wait to use the system in anger! (Click for full size image)

Laters

RobP

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s