Sunday, August 22, 2010

The juicy stuff

Made some great progress on writing my own tile engine and random dungeon generation system for use in my RPG. So far it is automaticaly generating small, medium or large rooms.  Next will be randomly creating exits for the room, and randomly generating corridors to connect the rooms.  I am considering creating several different kinds of corridor objects and randomly selecting them from a list to be added to the level. 

Something that occured to me earlier is that an interesting problem of random level generation is ensuring that you dont create an "unwinnable' level - I will need to find someway to ensure there is always a clear path of progression to the next level.  I'm looking forward to the challenge :)

A Great Weekend

I had a really good weekend.  Went to dinner with our friends Amy and Greg, Joe and Holly, John and Angie.  It was really good seeing everyone.  I watched Star Wars and an Animanacs movie for a lazy Sunday afternoon with my family.  Meli got 'The Seeker' title in World of Warcraft - thats 3000 quests completed!  She is well on her way to getting her LoreMaster title, she is determined to complete it before the expansion launches.  I love my gamer girl :)

I made some great progress on the tile engine for my RPG today.  Meli, I'm about to go balls deep into the technical theory behind my game, so here is a pic of Justin Furstenfeld to keep you occupied while the rest of us geeks skip ahead to the juicy bits.

Saturday, August 14, 2010


I have been able to spend a little more time on my battle system today, and I have made some great progress!  The mob is now able to fight back (and the hordes of test subjects cheer), combat takes place in a turn based matter.  I still only have one attack type, but different mobs will do differing amounts of damage.  Mobs will also award XP and gold upon death.  I also wanted to test having different mobs appear based on your current XP level, when you hit level 5 a stronger mob appears.  The player now has the ability to use healing potions and the mob you are fighting has a 33% chance to drop one upon death. 

A productive day :)

Links to Snippets

AutoScroll a C# textbox/richtextbox -

MagicStones (Puzzle/RPG Game) Postmortem

Tuesday, August 10, 2010

Whats next?

Next on the list is the ability to load in different kind of mobs.  I'm pretty confident on the rest of the basic functionality of the system, but creating new mobs with different values is going to be a challenge for me.

As long as none of the mobs look like this, we'll be just fine.

Very basic battle system implemented

Finally got some time to sit down and start work on a battle system.  As a novice programmer it is a daunting task - not so much the logic of the program but really trying to embrace OO concepts so I can easily resuse this system.  When I learnt to program it was 10 Print "Ado is awesome" 20 goto 10. Simple, linear stuff. 

Before I start rambling, I've put together something very basic, a simple UI that will let me spawn enemies.  I thought it would be a good exercise to understand instantiation.  It works well so far - the player is a static class (because I will only ever need one of them) and a new instance of "mob" is created when the "Spawn Enemy" button is pressed.  Right now it just creates a fearsome Giant Mushroom of Doom, but I would eventually like it to randomly pull from a list of Mobs.  Mob HP is a random number between 1 and 100.  My plan is to have Mob HP calculated based on a range that is dependant on the Mob Name/Type.

Finally we have just one attack in place.  It performs a simple hit roll by generating a number between 1 and 20 - if the number is higher than 10, it's a hit, and damage to the mob is calculated.  Right now damage is just a random number between 1 and 6, but that will change when different weapons and modifiers are in place.

Poor old Giant Mushroom of Doom cannot even fight back at this point.  Mob's will be able to take their turn soon enough, but until then, it's open season on every single monster that lives in my head.

Monday, August 9, 2010


I sat down to code full of good intentions, but I ended up getting distracted, first while playing around trying to figure out a good way to send data from one form to the other (there are loads of ways!) and then work caught up to me.  I'm going to try and get a basic battle system in place tonight - depends if my little girl will stop giving me love long enough for me to code. 

Today is a new day

How long can I keep this cycle up?  I dont hate my job, I just dislike it.  It doesnt suit me. My days of changing my career on a whim are over - I have a family to support now.  Only I can change my situation, only I can make my life be the kind of life I want to live.  Today I make those changes.  Today I start being the person I want to be, doing and making the things I want to do and make.  I already changed my attitudes on love and monogamy, and I did it for my Meli.  Next I need to change what I do - and I will do that for my Cariad.  One day she will want me to pay for her perfect wedding and I better be able to do it.

I'm a novice programmer and today I am going to make a battle system.