Monday, April 28, 2008

Small progress is progress too!

Here's a list of code changes I did since the last post

  • Created a Monster class
  • Changed a variable playername
This Monster class is nearly identical to the Player class and will hold all the information about any monster you're currently fighting.

So not a lot of changes code-wise. I have however already thought out every other element needed to set up a battle scene. I've figured out what I need for the monster data structure, the AI attack data structure, the spell data structure, the weapon data structure and the move data structure. (A move is choosen in conjuction with a spell or weapon to produce varying effects with strategic advantages and disadvantages)

In short, I've figured out what I need to make and how I need to make it. Now all that remains is making it.

This week and next week are vacation weeks for me, and I might or might not do anything then (with the likelyhood of second week productivity being higher) but I'll make sure to at least post something here at the end of my vacation with a schedule and/or new deadline.

See you then!

Thursday, April 24, 2008

Fail due to gaming

Alright, so Wednesday passed without notice. I did think of updating with the current state of affairs yesterday, but wouldn't you know it... the moment I decided to do that is the moment blogspot/blogger decides to update and disable the creation of new posts.

I missed this time's deadline. I realize, after the fact, that it may have been a bit too optimistic to think I could have some basic encounters ready already, mostly because the following needs to be in place before an encounter can be had (this taking into account the order of things in which I choose to do them to avoid too much rewriting of code due to bad design choices):

  • There need to be monsters (I don't even have a monster class yet)
  • Encounter areas need to be defined (Location, which monsters you can find there)
  • Encounter areas need to trigger encounters on set intervals (or random intervals, haven't decided yet)
  • The encounter needs to trigger the new battlegrounds to be made (and trigger random monster creation)
All this is probably a good indicator for me to think through my deadlines better. Now I could attribute my failing to that entirely (and you wouldn't be the wiser) but I admit that there was something else that kept me from my work... that being Trackmania. This litte (well...little...) game is just too addicting... and I don't even LIKE racegames...

So the coming days will be geared towards setting up the monster class and trying to get an encounter going on. I won't be having a deadline this time around, but I'll be sure to post a progress update around the weekend to keep you informed, and myself motivated to keep this all up.

Until then!

Monday, April 21, 2008

Deadline met!

Woohoo! I made my own deadline!

The Sidebar is now complete as it shows the players current stats, keys, cash and all that crap. I made it so that you can specify which 'section' of the sidebar needs to be redrawn and everything else will remain as it is. This will hopefully have a positive inpact on performance as the sidebar doesn't need to be drawn every time the screen has to... and when one of your stats changes, only the relevant piece will be redrawn.

I hope I won't get such a boring task in the near future... because this hasn't exactly been the most exciting portion to write.

So my next step is: Combat!

I've been doing some thinking about how I want to do combat and I think I'm going to do something that combines Final Fantasy's "real-time turn-based" system with the whole "walk around on the battlefield" bit from Megaman battle network. I think I can come up with something that depends partly on your characters skills and traits but also requires a degree of strategy and forethought. I want to avoid a "encounter, instant-kill, rinse, repeat" method of playing so that combat won't become a bore as you become more and more powerful.

The levelling system has also been planned out now (although you can probably make out something already from the screenshot in my last post) and from here on in it's just a desiging and building process. I'm not quite sure how long this'll take, but I intend to have the "encounter a monster, get battlefield" done by Wednesday and a bit of actual combat by Monday of next week.

Progress is well, and I intend to keep that up! :)

Thursday, April 17, 2008

Progress Report for SDL-Rogue

Well, I said I would have the HUD done by thursday, and it's thursday so logically that would mean the HUD work is done right? Well... not exactly. I've made significant progress in setting everything up and writing all the procedures, but it's a lot more time-consuming then I figured it would be... not to mention the fact that it's BORING AS FUCK!

I'm not sure if that's the reason for my killer head-ache or some other, currently unidentified, reason, but whatever the case may be... I'm done for today.

I took the liberty of uploading a screenshot of SDL-Rogue to imageshack for your amusement... and to show that I have indeed been doing the work I say I've been doing... to clarify... that sidebar was pitch black at the time of my previous posting, and all the things you see in it now reflect the players actual stats (which are new as well)

So work will proceed on this and my current goal for getting the HUD done has been set for thuesday. That way, if my weekend ends up being surprisingly fun, I still have a whole day to work on it and get it done at the last minute.

I take these "deadlines" pretty seriously... so until then!

Oh, and check out this screenshot of the work in progress.

Tuesday, April 15, 2008

Current progress on "SDL-Rogue"

This is simply a repost of my own "Roadmap" that I have with the source code. Essentially it's my current achievements and goals document... if it isn't in here, I don't intend to implement it. Naturally I might decide to add stuff as I go along, but I usually plan them somewhere I feel it makes sense.

Anyway, the details.

Accomplished:
  • Tile rendering
  • Player rendering
  • Player movement (+ smooth movement)
  • Player collision
  • Camera implementation (+ border limiting)
  • Teleports (= visible or invisible staircases)
  • Upper layer (purely aesthetic drawing layer on top of player)
  • Performance increase + FPS Limiting
  • Doors
  • Popup Menu allowing player to "open door" and "unlock door"
  • Keys (with which locked doors can be opened)
To do:
  • Add stats to the player, render them in the sidebar
    - Name
    - HP & MP
    - STR, INT, DEX, CON, CHA, LUC
    - Keys
    - Money
  • Add Combat (with basic hardcoded weapon)
  • Add "Level up" functionality (stats change dynamically as you level)
    *Not sure how to do this yet, don't want to stick to generic experience/levelling system
  • Add carryable items
  • Add 'treasure chests'
  • Add item usability
  • Add carryable weapons (replacing the hardcoded one)
  • Add Spells
  • Have the following load from a file (instead of being hardcoded)
    > Specific objects (object[#][#])
    > The level (all the rooms)
    > Which tiles are collidable
    > Performance Optimization variables
  • Create a Main Menu, functioning as the program 'home'
  • Add Save/Load Functionality
  • Add ingame Config editting for major functions
  • Create "Random Level" routine to make it a true Roguelike game
  • Create a sepperate level editor to create rooms/levels/worlds
  • Create conversation system
  • Build a Singleplayer campaign
Obviously, there are a few things missing from this list... for instance... I have no idea where I will stick the 'different types of monsters' yet, I'm not even sure how I want to do that (computer generated, hardcoded, from a file) so that, among other things, is something I'll decide on when I feel it becomes necessary.

Everything else just outlines some things I want to do with this game, like a sense of direction. I want to have a singleplayer campaign at some point (because it's cool, and I get to show off my 'comedic conversation making') as well as being able to load a lot of crap from files instead of having that reside inside the program executable.

So it's by no means a complete list of all the things I'm going to do, and in what order I will do them, but it's a decent indication... especially when I'm going "Well... what should I add next?!?"

That's enough for today. I hope to have the stats rendering done by thursday, so that's what I'll be aiming for... now here's to hoping I can motivate myself to get off my ass and go and do that!

Until then!

Game Development, here I come!

So I figured that, in order to motivate myself, I should probably talk about my progress in developing games and all that, so here is the Blog associated with my own personal game developer company thing; Backyard Interactive.

This was originally going to be the name under which I and a few others would create a First Person Shooter as sort of a tribute to the Duke Nukem series... but that all got canned and since I still had the logo (and the name hasn't been taken by anyone else yet) I figured I might as well call it that.

So henceforth, you'll find updates on my developing for Backyard Interactive here.

--

Now let's talk games!

I'm currently working on a top-down 2D RPG game using C++ and SDL. The original purpose of this was to show how I can do this as well... but then after 3 weeks I wasn't quite there (features features features), so I figured I might as well toss the time table out the window and do a proper game with everything I'd want to see in it.

So at the moment, I have something that's probably more akin to a tech demo than an actual game, but I'll be hammering away at it trying to make it into something fun and (hopefully) entertaining to play.

I will post up a list of features implemented as well as features planned soon... it's been a few weeks since I worked on it and I need to review the featurelist again. I'll post about it under the name of "SDL-Rogue" as that's what the project name is at the moment :D

So, see you next time!