Had some time to myself this morning after a few days without internet access. Got TMX maps loading and drawing, and fixed a bug with collision. For the curious, setOrigin(float, float) does NOT accept a value from [0, 1] which determines the centerpoint. It takes a value IN PIXELS. Also, getX() and getY() do not subtract out the origin, so you've got to do that yourself when calling draw().
Game Jam Time!
libGDX is doing a game jam from December 18 to January 18th. (http://itch.io/jam/libgdxjam)
Nearly a year ago I prototyped a game called Metal Sky Arena wherein players would float around and use gravity guns to launch each other into spikes. After a few minutes of play, the entertainment value disappeared. Given the time I've spent playing Super Smash Brothers and Towerfall, this came as a bit of a surprise. Perhaps gravity only is too feeble a mechanic. That's why I'm going to dust off the idea and begin with Metal Sky Arena II, similar in mechanics, but instead of gravity guns, we'll give everyone shotguns! Let's do it!
Game Design Document!
The theme is Life In Space. A regular part of life in space is probably the eradication of hoards upon hoards of carnivorous extra-terrestrials. Is there a more appropriate weapon than the trusty shotgun? I think not. Our bold crew of Russian and American astronauts must keep their vessel safe for as long as possible while they careen towards a celestial body of unknown origin!
Ivan Robotovich: The Russian Robot.
Neal "Flint" Swaggerty: Playboy Captain.
Levels are square, minimally dynamic. Designed to look like the interior of a futuristic space ship. Hazards like floating explosive barrels may drift through some.
Smash TV meets Duck Game meets Super Smash Brothers in zero-gee. Enter a room. A wave of aliens or some hazard enters. When cleared, move to the next area. When you've cleared the ship, you win! Single-player pits a person versus waves of enemies. Coop and competitive if time allows.
Aiming for 960x540 devices with 16x16 characters. Need to experiment with how close the camera should be to a player.
Sound and Music
Keep it simple. Short jam.
User Interface, Game Controls
Touch to fire in a given direction. Tap on player to curl up, release to spring out. If touching a wall, this allows the person to spring quickly, slightly gaining speed, otherwise the player slightly loses speed on wall-bounce.
20 - Project built on my machines + running on phone. Design doc done. 21 - Travel day. 22 - Character on screen + shooting. 23 - Enemies on screen + moving towards player. 24 - Holiday 25 - Holiday 26 - Level loading + display. No interaction. 27 - Travel day. 28 - Travel day. 29 - Travel day. 30 - Interaction with level (collisions + environmental) 00 (31) - Holiday. 01 - Holiday. 02 - Player damage + destroyable entities. 03 - Start game screens + game over screen. 04 - Advance to next area. 05 - Victory condition. 06 - Replace placeholder art and sound with better sounds. 07 - More placeholder replacement. 08 - Test public beta. 09 - Bugfixes. 10 - Bugfixes. 11 - Soft launch deadline. 12 - Buffer 13 - Buffer 14 - Buffer 15 - Buffer 16 - Buffer 17 - Hard deadline. 18 - Buffer
Ken Silverman's BUILD engine has to have one of my all-time favorite map editors.
As far as we've come with graphics and modeling software, I've not found anything (not even Sketchup), which is quite as satisfying to use. I started writing a piece of software called ReBUILD, which is nothing more than a top-down map editor which exports Obj files that can be imported into Unity. I have, at long last, something worth showing. It's a far ways away from a release, but at least at this point it's visually interesting. I've got my fingers crossed this won't fall to the wayside.
Yesterday I finished the 'fade to black' on player death and the health system, as well as level restart. I also started modeling the first of a few different kinds of enemies.
This is the cannon fodder, the redshirt robot:
I finished modelling and rigging and unwrapping it yesterday morning. It's going to be the robot which doesn't attack, but gets in your way and takes hits when you've got no other choices.
The grunt is going to be a slightly meaner enemy, low accuracy, low fire rate. Chances of taking a hit are going to be nonzero, but small, and it will have low damage. The reasoning behind this is I don't want the player to be able to linger too much. Prolonged exposure to this enemy means it's more likely to hit you and chip away at your health. Pretty close to the redshirt, really, but it's a way to coax the player on.
The tank-dude is going to shoot slow, heat seeking missiles (the kind displayed in the previous video). They'll take a lot of punishment, but it's easy enough to avoid them, and the missiles will be useful in accessing places that normally wouldn't be accessible via rocket jumping.
The rocket dude is going to shoot fast, dumb missiles. This kind of enemy will be great in clearing out a whole room if you understand strafing. Lots of damage from this, though. Don't get caught in a hall.
The sniper dude is going to have a laser sight and take a minute to lock on. Once locked, there will be a brief pause before the shot. Good for targeting one-off enemies.
That's all I've got for now. Stay tuned.