Thursday, September 27, 2007
Frayed Knights: Odds and Ends
More tales of developing Frayed Knights, a humorous indie Computer RPG!
It's all about the details. This is true in making computer games, as well as most things in life. You can usually do the rough stuff pretty quickly, but if you aren't careful you can get buried in details.
Take traps, for instance. I talked last week about how I got the trap-disarming interface "done." Part of me convinced myself that traps were "done-done." Or very close to it. Not hardly. All I really had was a hard-coded mini-game that popped up when I hit the "T" key. The "little" odds and ends to truly integrate it into the game were as time consuming (if not more so) than this aspect.
Some Of The Odds And Ends
* I had to actually set up the traps in the world to go off on the player when he walks into them (a trigger volume) or when he manipulates a trapped object (like a door or treasure chest).
* I had to set up ways in which the player can find the trap. I wanted the player to be able to manually search for a trap, but also have a smaller chance of detecting it BEFORE detonating it if he just walks into it.
* I had to set up persistent data for all traps, so that traps that were already set off didn't get set off every time the player passes by.
* I had to know who to have the trap go off against. If it didn't go off in a failed deactivation, I had to pick a character at random if the trap payloads only affected a single character.
* I had to make sure the UI updated to reflect the damage states of the characters after a trap went off.
* I had to put up message screens to let the player know what was going on.
* Oh, and I wanted a treasure chest to test traps on. Lacking a stock treasure chest, I had to make my own.And Then There Were Bugs
* First of all, I mapped the "S" key to search, but unfortunately it's also mapped to the alternate WASD controls for walking around the dungeon. So I had to change it to "X" for "eXamine" as an alternate keyboard command. A very small deal, but annoying (and I have to create a new stand-in button before October 30).
* Traps weren't firing when you entered their trigger zone for some reason. That turned out to be a simple fix... the code was looking at the datablock's data rather than the instances data (you Torque coders will know what I'm talking about. Everyone else is probably nodding their heads and backing away SLOWLY).
* One issue I'm still fighting with is how I've only got one trap at a time loaded into memory, but there's the potential for the player discovering multiple traps within an area. I think I'm going to opt for the easy way out on this one, and just make sure the trap density is kept fairly low.
* For a while, the traps keep targeting poor Dirk, even if he never touched the trap. That was because the shared code kept "choosing" him to be the default person to disarm the trap. But when no disarming took place, he was still the turkey.
* Then the chest wasn't appearing in the game. But that was easy to find after a couple of iterations.
More Rumblings
Incidentally, I'm contributing this chest to the Low Poly Coop, so other indies can use the same chest. And maybe if they improve it before Frayed Knights releases, I'll be able to use the improvements! The texturing on it was slapped together in a hurry (and, aside from the lack of detail on the metal bands and the difference in sizes of the boards on the lid versus the sides, ended up looking halfway decent). And I don't have any levels-of-detail on it yet, which I need to do. But just what you see here, with the animated lid, represented around three hours of effort.But you know what's REALLY cool? Walking through the dungeon, checking for traps, disarming or setting them off the way they'll actually work in the real game (albeit sans cool visuals and sound right now), clicking on chests and doors to open and close them, encountering monsters... it's all in there and working!!!! It's a fabulous feeling. As early-stage as it all is, as prototyped as it all is, I can see the vision of the complete game appearing in all its rough-edged glory now. Even though I've had the "first five minutes" demo working for a month now, I'm finally beginning to see the world come together - at least in an abstract, prototypical way.
And that is an incredibly motivating thing.
So What's Next?
My schedule is to have all principle systems done by the end of October. November is my "glue" month, where I finish yet more "odds and ends" and integration. It's also where I begin working on content. My big milestone coming up in a little over 30 days is the Utah Indie Game Developer's meeting, where I'll be showing off what I've got. It's still going to be very content-light, so only the other programmers may be at all interested in what I've got. I may violate my internal milestones a little to try and work on some content prematurely so I have a little more to show.
This week's goals: Making locks & traps work properly on doors and chests (they are there but not functional right now). Back to conversations. And putting inventory in the treasure chests that you can pick up. Drama star effects. And cheat codes (to facilitate testing of drama star effects, mainly).
THAT should keep me busy!
(Vaguely) related lame excuses:
* The First "Playable" Level
* The Black Triangle
* Frayed Knights: Trap Disarmed!
* Frayed Knights: Disarmament Treatise
* Frayed Knights: The Door Is Ajar
Discuss Here, Or On The Forum. Or Not! See If I Care! (*Sniff*)
.
Labels: Frayed Knights, Roleplaying Games
Comments:
Links to this post:
<< Home
Congratulations! Just as a reader and commenter it's kind of gratifying to see you take an idea to completion like this: I can only imagine how much better it is to actually do it.
It's still a ways from completion --- or even from seeing the light at the end of the tunnel - but it is nice to see progress and pieces falling into place from time to time.
And I really appreciate the words of support, John! Thanks!
Post a Comment
And I really appreciate the words of support, John! Thanks!
Links to this post:
<< Home

