Last week wasn’t super exciting in my game development world, but there are still some cool things to talk about; the coolest of those things is that my Science Fiction project for school now has a name and I am calling it…
Last Stands!
New game has a name, Time Assassins hasn’t changed one bit, and a few tidbits about my progress and plans for Last Stands. Oh yeah, and you can play the current version of Last Stands
Here’s the video for the pleasure of your eye holes.
Dirty Rotten Details
Last Stands is going to be a game where you are one of the few human survivors on Earth after a brutal attack from stupid aliens who are really good at destroying things(read planets).
You have given up all hope and want a few laughs before you die, so you decide to pick up a rifle and start picking off the alien dirtbags in their own spaceships.
Each time you clean out a spaceship you will get to read a bit more of the story and the character of this story will loot the ships for food and weaponry so that he can continue on his rampage.
Right now the aliens are spawned on a random floor, with a random state (either walking or standing), and will walk around the ship in random intervals. AI is super easy when all you need is Math.random().
In the current build of the game you can move your scope around the screen with the mouse cursor and you can pan up/down/left/right along the spaceship in search of the green-skinned meat shields.
Oh, and soon the aliens will teleport between floors via the red telepads on the floor.
As of right now, clicking anywhere on the alien will remove them from the game and they are all oblivious to their kin’s destruction. Later, each type of alien will have a weak spot where you are required to shoot, and they will be alerted whenever they notice something has gone wrong. Don’t let them set off the alarm!
Not Too Many Hurdles This Time
Usually when I work for a week on a couple features for a game I run into some obnoxious bug that I have to fix or I’ll run into something I’ve never done before and I’ll have to find a way to program around it.
This time, the hiccups were relatively simple and not numerous. The one that did give me a bit of trouble was clicking on aliens to make them die. It seemed simple enough…
There are still some issues, the main one being that you can kill two aliens with one bullet (I might keep this one in there), but it does what it needs to do for now.
Since I have my own InputHandler class, I need to manage clicks and keystrokes all in that class to preserve good OOP and all that. One thing I had to fix was that I only want the alien to die when the mouse is clicked and released. Otherwise, you can just hold down click, sweep the cursor across the whole ship and murdevate everything in your path.
With a couple simple functions I fixed the problem. First, I made a function that would set a Boolean within InputHandler called clicked that was true after the mouse was clicked and released. The second function I made is called clearMouse() which would set clicked back to false after it was checked. Without the second function I could click once and just mow down the aliens since the boolean was always true.
Quick and easy fix which may have a better solution, but ya know what? It works dammit
The Excitement is Over… For Now
I would have loved to made some progress on Time Assassin, but Last Stands has a tentative deadline of Mar 1 so that I can submit it for 1GAM. I am just going to put my head down, grow a beard, and knock this bad boy out before I get back to TA.
On the positive side of ignoring TA, I get more time with Haxe which is going to help my future game jams and Haxe is a lot of fun, so no complaints there.
Oh! One more thing before I send you back to your mancave to hack out more code. You should consider checking out One Game a Month because it is amazing for keeping you motivated and productive. I definitely believe in the essence of 1GAM and I hope to contribute something valuable to the cause soon (shhhhh, it’s a secret).
As always, you stay classy interwebs, catchya later.