January 2013

It’s a brand new day, and the sun is high

New!
New website design!
New upload!
New game engine!
I spent 4 1/2 hours the other night designing the top-down waking level, and when I was finally satisfied with it, I clicked save, just like I do any other time. The Torque Game Editor decided, however, that the last 4 1/2 hours of my life were completely unjustified, and it promptly resized the tile map into a 10 x 10 pixel square. And THEN it saved. All my work was lost.
This isn’t the first time that the editor has acted buggy on me. For a while, every time I saved the title level, it would move one of the buttons over to the center of the screen. And sometimes it would try and save the level as a particle effect file, instead of a Torque game level.
That was the last straw, though. I decided that a re-imagining was necessary. The next morning, I sat down and started writing an isometric game engine for the waking portions of the game, like you’d see in the old Fallout games for PC, or Diablo, or XCOM. I’m extremely satisfied with how it’s turning out, and I put a link to the Isometric Test executables on the Download page. The Download PAGE! The little tab up there takes you to a page where I’ll keep the most recent builds of the game for testing. The site design still needs a little work, but it’s better than relying on an incorrectly-named blogspot. The blogspot will redirect here, in case anybody still has bookmarks they need to change.
I also went digging around last night through my old game stuff, and found some really early builds from way back when I was still experimenting with different engines and game design. For amusement’s sake I’ll upload them here, and you can see how far I’ve come.

early1
My first attempt was in Adobe Actionscript, and while it did a great job of introducing me to serious game programming, it just wasn’t what I needed to be able to create the sort of game I intended. It’s still buggy- I seem to remember realizing as I was trying to fix the bugs that the scale of my ideas just wouldn’t fit into something like ActionScript. Attempt 1

early2
My second attempt was more of a test than anything else, and I’m really only including it because I love the cookie sprite I was using as a test character. This was my introduction to Scirra’s Construct, which uses minimal coding and is a very visually-oriented programming style, where you create actions, behaviors, and triggers and attach them to objects. Attempt 2

early3
This is also a Construct program, and you can see that I actually made a lot of progress with it. It still looks very unrefined, and I’m glad I gave up on it when I did, else I probably wouldn’t have done a whole lot of legit programming over the last couple years. Working on this is actually when I started this blog, two-and-a-half years ago. Attempt 3

early4
This is what I spent most of my last deployment working on. I was using Python 2.5 with the Pygame libraries for importing graphics and sound. It was very rough, but then I also didn’t have access to any sort of online forums or searches. All I had was the Pygame documentation and a Python phrasebook, so I’m pretty proud of what I managed to accomplish. You can read about it in the older entries, starting here. In the end, my laptop just gave up the ghost, and again, I’m glad that it did because it forced me to look into other options. By the way, this game is inside a folder; the executable is named ball5.exe, and it won’t work if you change the name. Don’t ask. Attempt 4

You can head over to the Downloads section and see how far I’ve come- it’s pretty amazing. I like that I still have all my old builds; it’ll be amusing to look back on them when I have a fully functioning, distributable game.
That’s still a long ways away, though.

Hey, Beaver, come on

In an effort to avoid making any progress on the “waking” portions, I’ve been scouring the Japan Dream level for issues.  I’ve found that the best way to find things it so watch someone else play, and the list of bugs that I’ve fixed over the past few days has grown immensely:

– The boss no longer turns toward the player on dying- he just shows the “stunned” animation until disappearing
– Checkpoints now leave the last checkpoint’s worth of level behind, so there are no more disappearing enemies when colliding with checkpoint trees
– Occasionally when mounting a ladder, the player would walk towards it, miss the ladder, and then walk endlessly in the same direction.  Instead of saying “mount the ladder when within x pixels of the center” I used “mount the ladder when within x pixels or past the center”
– I decreased the distance to change an enemy from “roving” to “tracking” if you’re behind him, so you can essentially sneak right up on them now, or sneak past if they’re looking away
– When I got rid of mouse aiming with melee weapons, it made it so that if you were standing right next to an enemy but were facing away, you couldn’t turn to face him using the movement keys.  I disabled collisions with the enemy so you can now walk right past them, though you’ll still be stopped when you first contact them to take damage.
– When you hit the phase 2 boss with the pitchfork, it would toss him in the air, changing his animation back into phase 1 until he landed.  All pitchfork use has been disabled with the phase 2 boss now
– The knives that the guard at the very end threw were hard to notice against the background while you’re busy focusing on the boss; I changed the knives to be Knives On Fire using particle effects, and made the guard dude wear a red shirt for gits and shiggles
– When you knock an enemy that wasn’t a seagull into the water, they would pause at first, but then fall down through the water at the normal falling rate, instead of floating down gently like the gulls do.  I simply forgot to change their mode to “drowning” so it was an easy fix
– The miniboss fight was made a little easier- I decreased the window in which he can hurt you, lowered his roll speed, and added a splotch of red to the samurai-getting-hit animation to make it more obvious when you’ve hit him.
– I couldn’t figure out why I’d added a 1 second delay on loading the starting checkpoint, so I removed it.  Then later, I realized that it was because I wasn’t giving enough time for the flames that the dude sets to your house to delete themselves when you reload that checkpoint.  Instead of adding it back in, I set the flames to invisible (which occurs instantaneously) and then deleted them (which takes a second or two for particle effects).
–  Originally, when using melee weapons, you can only damage an enemy if he’s standing in the same direction you’re facing.  However, when I changed it so that you can walk onto enemies, if you’re standing right on top of him, he might be a few pixels to the right when you’re facing left, even though it looks like you should be able to hit him.  I increased the damage area to include the area behind the player, as far as half of his collision radius.
– It looked to be too hard to jump over the boss, both phase 1 and phase 2, so I decreased the speed of phase 2 and decreased his radius for doing damage by a third.
– The fire-knife guard’s projectiles seemed to be timed (accidentally) almost exactly with when the boss is vulnerable, making it hard to get behind him and strike without being hit, so I changed the frequency of thrown knives from 2 seconds to 2.5 seconds
– The door to Emily is loaded both in the second-to-last checkpoint, and the last checkpoint, but was only deleted from the last checkpoint after you kill the boss, meaning that you could never get to Emily.  I added an if statement to only add a door there if there wasn’t already one from the previous checkpoint.
– Whenever you exit the pause menu, it reenables player movement.  If you use the menu during a time when you’re not supposed to be moving, it reenables it anyways, so I made it instead restore the ability to move back to what it was when the menu was brought up.

I’m done saying “I’ve fixed all the bugs.”  I’m pretty sure that there’s simply no such thing as bug-free.  Even if you think about some of the AAA game titles out there, I’m sure you can come up with bugs and glitches that you’ve seen, and they have thousands of people playtesting and adjusting code.  I’m toying with the idea of putting this up on reddit, or Steam Greenlight Concepts just to try and get more people to play around with it.  I don’t like the idea of doing that while still relying so heavily on Braid, Samurai Jack, and Street Fighter, though, so I guess I just need to wait it out.
Anyhow, I’m still counting on you guys to play through and give feedback.  What parts are too hard, what parts are too easy?  What isn’t obvious enough, what sorts of changes do you want?  If you have the ability to record yourself playing, that’d be extremely useful.  I’ll take whatever I can get, guys.

Closing In

With the help of some playtesters, I’ve identified, tracked down, and fixed a bunch of issues since the last build (despite my assertion that it was almost “bug-free”) and added in a title screen, a pop-up pause-menu, and the ability to save the game and reload from the last checkpoint upon a separate playthrough.  God, it’s getting so close, I can nearly smell it!
I’ve removed all the warp buttons (numerals 0-5), god mode, and tweaked a bunch of numbers as far as weapon range (for both the player and the enemies), speed, and force.  There are only a few more things I’ve got my eyes on before I call the level well and truly finished:
– Upon defeat, the final boss turns towards the player as if attacking for a brief fraction of a second before dying.  Once I have a dying animation this won’t be an issue, but it still bugs me.
– When you load up a game from a checkpoint (or die and reload from a checkpoint) everything from past checkpoints gets deleted and everything in the future checkpoint gets reloaded.  This saves all sorts of memory and processing power, but I’m wondering if it wouldn’t be better to reload the other checkpoint as well.  The other issue is that it runs the same script when you run into the tree that saves your checkpoint, so if there were any bad guys following you to it, they suddenly disappear when you save the checkpoint.  I’m still working on a way to make this look smoother, but I have a few ideas.
– The final fight seems a little too easy; I’m thinking about adding a second knife-throwing guard during phase 2 of the fight.
– The “view controls” screen that comes up from the pause menu doesn’t show the mouse.  Granted, the mouse only does one thing (well, two if you include the right mouse button, but not all computers have mice with two buttons), but I should still include it for the sake of completion.

And that’s it.  That’s all I can think of that needs to be addressed before I call the first level good and move on to the top-down engine for the “awake” portions of the game.

Again, I need you guys to play the crap out of this level; look for everything you can, and please give me as much feedback as possible.  If there are any issues aside from the ones I mentioned above (or if you have any recommendations regarding them) please tell me!

Edit:
Added a feature so that if the window loses focus, it automatically brings up the pause menu, and I changed it so the mouse-aiming thing doesn’t do anything if you’re holding melee weapons (which are all there are in this level).  Now you can use just the keyboard by moving with WASD and using L to attack.  That’ll have to change when ranged weapons come in to play, but hopefully this will help a little bit.

Rico’s Roughnecks

Huntin’ bugs!
So, I think I’ve finally gotten everything taken care of.  I fixed the ladder stuff, and one small alteration fixed a couple issues I’ve been having with the boss.  I managed to reproduce that bit with the non-deleting fadeout blocks enough times to get a good idea of what was going on, and I haven’t seen it happen again since.  As far as I can tell, there are no more bugs in the level.
My sister is planning on working on graphics for the game as part of an independent study for her schoolwork, and once that’s done I’ll have a lot more work to do, as far as implementing rotating weapons and a head that looks at the mouse cursor.  Plus, once I have all the sprites for the ronin (to include the various states of his armor) I’m sure I’ll have some tweaking to do.
Until then, though, I need to start working on a menu and a title screen, to make the first level into more of a single-level game than a stand-alone program.  I’ve been running ideas on how to do so through my head for a while now, but I haven’t actually tried anything.  I think the pop-up menu will have “Load from last checkpoint,” “Save and Quit,” “Quit without saving,” and “Title screen” for options.  The title screen will have the scrolling steps I’ve mentioned before as the background, and “New Game,” “Load Last Checkpoint,” “Quit to Desktop,” and maybe a “Credits” thing.  It shouldn’t really be that hard to accomplish.
One thing I’m worried about is loading time because of the graphics.  I need to see if there’s a way to only preload certain graphics, so I don’t have to load dozens of levels of stuff when I only need enough for one.
Anyways, download the executable and give it a few playthroughs.  Any recommendations as to difficulty, placement of objects, or mention of any bugs you find would be greatly appreciated.  I don’t feel like I should be pimping myself out on Reddit or Stumbleupon yet seeing as most of the graphics I’m using have come from all over the damn place online, so I’m relying on the four or five people that look at this site to give me feedback.
Let me know what you think!

I got my swim trunks and my flippie-floppies

Since that last upload, it’s come to my attention that there are actually LOADS of bugs, a couple of which make the end boss completely unplayable.  I also forgot how easy it is for me to play since I’ve been playing for so long, in comparison to someone who just downloaded it.  I know exactly when and where to jump, and I have all the timing down perfectly- for everyone else, not that easy.  I increased the damage of the weapons, and decreased some of the enemy’s damage, in addition to removing and repositioning a couple of them to make up for it.
Chasing down bugs gets really, really monotonous, and I need something to distract myself from it occasionally.  I’ve been playing Skyrim, but I’m starting to feel guilty- surely there’s something I can be doing that will still be making progress?  So today, in between bug-hunting, I made a new ship to replace that tiled monstrosity at the end of the level.

Basically, I found an image of a traditional japanese ship, worked for a few hours in Inkscape to make a vector-drawing that closely resembled it (the original had more sails, was slightly orthographic, and had extra rigging and whatnot) and then pulled a couple of the textures from the original and applied them to my drawing in Photoshop, before cutting out the area for the boss battle and the final dialogue with Emily.  Again, this is just for prototyping, and won’t be included in the final game, or even the official demo, for that matter.  It’s mainly so I can practice using shapes other than the simple squares that come from using tiles.

Meanwhile, my list of bugs continues to grow:
Knife Thug gets stuck in the attacking pose on death instead of disappearing sometimes
Fadeout black boxes don’t self-delete after death (only happened once, can’t reproduce)
Ronin doesn’t acknowledge being hit by the katana from behind during phase 2 of the battle (making it awfully hard to win, since that’s the only way to kill him)
When walking off of a solid block, if you turn around very quickly, you can trick it into thinking that you’re still standing on top of something, preventing the “falling” animation from playing
When jumping off of a slope or one-way platform onto a solid, the collision box isn’t changed from a circle back into a polygon until you *walk* onto a solid (doesn’t seem to affect gameplay anywhere, but I’m sure I’ll have issues with this in the future if I leave it alone)
Ladder movement is still all messed up

Unfortunately, most of these are complete mysteries to me, and will take a long time to work out.  Time is, however, one thing I have plenty of at the moment.

Functions and Facelifts

It’s been a while since I’ve uploaded a new build to show my progress; even now, I was hesitant to upload this one.  There are still a lot of things I want to fix, but every time I change something, it brings to light two other things that I want to do.  [insert nerdy Hydra reference here]  Nonetheless, it’s been more than two weeks since my last one, and it was a pretty half-assed version in itself, just to show off the collision detection methods.
So with this version, I’ve updated a few of the background graphics (you can see where I left off, I haven’t had the time to do the whole level yet) because I’m tired of staring at the built-in tiles that came with the Torque Engine.  I updated the enemy sprites- now they look a lot less japanese, but they move the way they’re supposed to (which showed me a lot of issues that I had to correct).  Fire hurts you now, and it hurts the enemies also.  I fiddled around with the level placement a little bit; it should be a little bit more fun, and a lot more challenging.
There’s still plenty of work to do, though.  Next on my list is ladders.  After the ladder reboot I implemented a few weeks ago, I’m still not satisfied with how everything works.  When you reach the top of a ladder, if you continue trying to climb up, you jump off the top of it, and then back down onto the ladder, and it looks very awkward.  This is something I actually fixed during the weird mental lapse I mentioned in my previous post, but I’ve been putting off revisiting it because I remember it being a huge pain in the ass.  Also, when climbing down a ladder, occasionally when you hit the floor, he won’t automatically dismount.  You’ll have to let up on the down arrow, and then press it again.  I haven’t figured out why it does this, since it only does it sometimes.  But it’s on the list, I swear.
Also, the executables are in a DropBox now, so you don’t have to dick around with Google Docs.  Just a minor change, but one that you’ll notice right away.

Also also, a few links to share.
The Perfect Game Follows These Eight Rules
A Kotaku article about what makes the perfect game.  It’s very broad, so it kind of has one of those self-fulfilling-prophecy kinds of feelings to it in that it’d be easy to interpret any game you like to fit (or not) those criteria.  But it’s still an interesting read, and gave me some food for thought.

How To Launch Your Game development Career in 2013
Another Kotaku article (written by Leigh Alexander of Sexy Videogameland) parodying all the ridiculous bullshit ideas that people have tried to implement as far as social gaming goes.  Very amusing.

Top 10 Events of Indie Games in 2012
An article from IndieGames.com detailing what they believe to be the biggest 10 things that helped the indie gaming community this last year.  If there’s anything in here you haven’t heard of, I recommend taking the time to read up on it.