KRL Backend Refactoring

Early this week I watched a video from the US IRDC with Brian Bucklew talking about component based design.

The component based module is not something that is all together new to me…  I’ve been exposed to it via a few projects in the past.. but I’ll be honest.. I just didn’t get it then.  I’m from the older school of thinking, where they taught you that object oriented programming was the solution to all the worlds problems.  With what I’ve been struggling with over the last few months, Brian’s talk spoke to me directly and really put it all into perspective.  His problems were mine… so his solution must be worth a look at.  

After some brief experimentation, the light bulb turned on and I decided to completely rewrite my back-end.  This may have not been the best idea, seeing that the 7DRL is fast approaching, and the engine has some fairly major holes (like inventory and combat systems). But, you know… you get to the point where you see the path you want to go, and you just can’t force yourself to work on anything else that would steer you away.  Yes, I could work on an inventory system that would work with the current code base, but that time would be wasted, as I’m not sure how it would interact with the new component based system…

So, that’s where the time has been spent this week.   This wasn’t my first attempt at a roguelike engine, so I knew the problems ahead.  I had already designed the base classes in such a way that they would minimize the impact of the problems I would face, without actually solving them.  This has actually helped me a lot in the transition, though there are still a lot of holes.

Long story short… as of now.. it’s not working.    It will.. eventually… but right now, it’s not in a state where I am comfortable that it will be complete by the time 7DRL comes about.  I’ve got KRL in a state where I can switch between the two backends… and will continue on the older, more tried and true approach for now.  At least until after the 7DRL.

Speaking of the 7DRL… yeah… that’s a thing…  I’ve got a lot of ideas, and not too sure what direction I want to go with it.

Since this is my first, I probably want to take it nice and slow.  Do a standard, sort of familiar roguelike idea.  Generate a dungeon… explore it… gather treasure.. kill goblins…  yes.   This will work.  Nice, simple, straight forward and easy.

Then, there’s the more experimental side….

I have an idea for an evacuation sort of roguelike.  An urban environment, where your goal is to escape the city, bringing along what and who you can, while being pursued by some sort of threat (aliens, virus, zombies.. etc)

I have an idea for an exploration based roguelike, where you are a probe on an alien planet and none of the items/terrain/creatures are known to you.  The goal is to discover as much as you can and send that data back to earth..

Then I have an idea for a roguelike where you lead a group of @’s, and teach them things.  Over time, you develop a culture that may or may not jive with the other groups in the game.

I don’t know.  The hardest part of this challenge is that you have too much time to think.  Ludum Dare is easy.  48 hours… unknown theme… do  it!  For this one, the waiting and possibilities are the hardest part.

Anyhow… off to figure this one out.  Hopefully, by the next update, I will have a concrete idea nailed down, and then, that will leave me a week to plan.

But then.. there’s this back-end programming that needs to happen…