7DRL 2014: Conscripted

On March 8th, I shall begin work on a 7DRL.

Conscripted: A noble house has recently discovered a previously closed tunnel in their cellars, which leads down into the underdark.  Fortunately for you, you no longer have to serve out your term in prison.  Unfortunately for you, armed guards are forcing you through some gates in a dark cellar.  Come back when you’ve got something worthwhile!

 

Servitude – Day 1 – Report

Well, my seven days are up.  Too much time was spent debugging the same silly problems, hours on end each day.  Yesterday, it was just not being able to get my indexing into a given piece of allocated memory to work correctly.

  • As a challenge to write some reusable game code which I can build on in future, SUCCESS.
  • As a challenge to write a game, FAILURE.

Servitude – Day 2 – Report

The code is still writing itself, it just isn’t doing it fast enough.  I haven’t programmed this much C for a long time, so I tend to make all the standard mistakes.  Forgot to put a break; statement after a switch case clause?  Check.

What did I actually accomplish yesterday?

  • The beginnings of an area generation system.
  • Polishing the turn-based action system.
  • In-game messages.
  • Killed a lot of flies with one of those metal tennis racket things that have a button which electrifies the metal “netting” so caught flies roast.

Can I add enough gameplay in the final day?

2013-03-15 - Servitude - 01 - Screenshot

Day 1 begins!

Servitude – Day 4 – Report

Again, I didn’t spend half as much time on this as I would have liked.  But I did get big bang for my bucks out of the time I did spend, from the generic code I’ve already written.  Doors now have two flags, locked/unlocked and open/closed.  The player can no longer walk through a closed door.  Walking into objects pops up a context menu based on the type of object.  The turn-based action system is begun.

Move into something, context menu appears.
Context menus.

Sometimes I think I would be making more progress, if I didn’t take the time to perfect my code.  Other times I find that “perfected code” enabling me to build other things with minimal effort.  Or lending itself to easy extension.  Whatever the case may be, things are pretty much writing themselves so far.

On to day 3!

Servitude – Day 5 – Report

The day started off well, I got everything working after the “improvement” that gave a global coordinate space.  But that’s about it, due to a more pressing programming task which I couldn’t afford to delay.

2013-03-12 - Servitude RL - 01

 

I guess I look at the challenge as a way to see what I come up with, without much in the way of planning or pushing myself to do anything but see where it goes when I feel like working on it.  In the long run, it’s all code in the bank.

Servitude – Day 6 – Report

Sunday was a day of lackadaisical work, where I was supposed to be watching Alaska The Last Frontier and Gold Rush Alaska while programming, but was really programming while watching them.  A big difference, unfortunately.  What should have been interesting and educational television, was ruined by reality TV overproduction.  The editing was so bad it was hard to understand what was going on, either they were reshowing the same things over and over, or they seemed to lose track of the interpretation they were trying to show and didn’t show enough to build a clear picture.  Wait.. writing this is more procrastination of a different sort!

My game received absolutely no gameplay improvement.  All the work was rewriting things to be done in the best way.  Some of these were necessary, but most of these I could have lived with and built a game on.

Necessary:

  • Doors are now reclassified as in-game objects, rather than a fixed part of the background
  • There can be multiple objects at a given coordinate, rather than just one.

Not necessary:

  • The UI now deals with in-game coordinates in the absolute world coordinate space, and no longer has an “area id” that it passed around with any area coordinate space coordinates.

Today I have to finish the world coordinate space debacle, which is almost working.  Then more world generation is next on the cards.

Day 5 begins..