Sunday, June 30, 2013

Another one in the can


Well, there's the sneaking game. Or, rather:

http://www.bigdicegames.com/SafetyLast/safetylast.html

there's the sneaking game. It's got 5 levels, which you can play through with one guard per level, which is pretty easy, or three guards per level, which can be pretty challenging. I'm not actually sure if you can beat the game - three guards is pretty unforgiving, especially on the big, open levels, or the tight levels.

Things I got in since my previous post (12-ish hours ago):

  • Crazy Ivan. Every now and then (between 4 and 14 seconds, or thereabouts), a patrolling guard will stop and turn to a random direction, which might be more than 180 degrees from his current facing. Assuming he doesn't see you, he'll return to his original direction and proceed with his patrol. Just like tailing a Russian sub, you don't want to get too close to a guard, especially if you can't duck for cover quickly.
  • Patrol Route Recovery. I'm not sure it feels right, yet, but when a guard decides he needs to return to a patrol route, he finds the closest waypoint that he can see, then traces forward to find the last visible waypoint after that. It feels OK, but I'd rather have dynamic patrol routes, which would make this less important.
  • Title Screen / Instructions / Credits. I ported the game into my old codebase that I've been bringing forward (code reuse!) since January. This required a certain amount of cleanup and general "paying down of technical debt". It's still a nightmare, but it's a little better than before
  • More levels. Well, it had been better - introducing more levels is a huge hack that involved duplicating code because I couldn't be bothered to do it more cleanly. That's the nature of pushing on a hard deadline.
  • Visual cleanup. The grey dots that had been illustrating the patrol waypoints are now hidden. Now, the game reminds me a little bit of Berzerk, or Armor Attack. I had thought that I'd make some 8-bit retro pixel art sprites, but not this time around.
It's satisfying that this one's "complete". There's a lot that I'd like to do, but the fundamental framework is there for me to come back to later. Or, maybe, I throw out the framework and draw from the lessons learned. I should really write down lessons learned, if I'm going to do that, because I doubt I'll remember.

I'm kind of thinking of taking bits of this forward into my next game, which if I get time and energy to get WebGL up and running, will be some sort of 3D game. Or, if I don't get that working to my satisfaction, I could hack together a raycaster and have a 3Dish sort of game, which would still be OK. I'm not sure I like the idea of trying to get perspective-correct texture mapping working in JavaScript.

Whew.

This marks halfway through the One Game A Month challenge, and I'm pleased to have made it this far. I've turned in some pretty sloppy games, but always something game-ish, and a variety of different games. I have a couple of bigger games that I want to work on after this is all done, and one of the things I was hoping to get out of 1GAM was a toolbox of code that I could reuse. I intend to be more deliberate about identifying useful technologies and working them into the next 6 games.



No comments:

Post a Comment