We are in playtest!
App Hub Playtest - Platform Hack
Platform Hack is a game in development using XNA, for release on XBox 360 Indie Game Channel. This blog will explore various concepts and algorithms used to build the game.
Thursday, June 2, 2011
Sunday, May 29, 2011
Crunch Time
Things are coming together. I've built some full levels with enemies, keys, locked doors and chests.
The XP system is also in place, so killing enemies will get XP for both the main player (HitPoints) as well as weapon (Sword, Gun) power.
The game still needs tons of balance, not only with the XP and advancement system, but also the level design.
And of course the graphics are pretty blugh.
Hopefully I can have a playable build (that works on the XBox) in App Hub playtest by the first of June!
Thursday, May 26, 2011
We have HUD!
We have a rough HUD, with Health and XP Bar, Items, and Mini Map!
Now just need to wire up everything in the game to the HUD (character level, leveling up weapons, etc).
Thursday, May 19, 2011
New Enemies, Miniboss
The latest build has some new enemies. In the forest, there will be 5 standard enemies:
1. Spider - paces back and forth between walls / ledges. Hits with touch.
2. Jumping Spider - Moves towards player, constantly jumping. Like the flying turtles in mario.
3. Throwing Bandit - Paces. Throws a dagger.
4. Slashing Bandit - Paces. Slashes his sword if you get too close.
5. Flying Birds. These "home" in on the player. I'm thinking of having these continually spawn from "nests" that must be destroyed.
I also added the miniboss that was alluded to in the previous post. The mini boss is the bandit king, and will "drop" the pistol when he's killed (probably early on in the game, lvl 2 or 3).
Basically, he'll try to maximize his distance between himself and the player, and if he has an open shot for half a second he'll start firing. The only way to beat him is to corner him and bash him down with a sword.
Next step is designing the HUD!
I'm still unsure whether I'll get the lvl/power up system working for DBP. Procedural levels are also looking doubtful for the DBP build, especially since the worst case scenario would be if the judges got a non-functional map and couldn't play. It's probably better to invest dev time in polishing the pure gameplay, animations and graphics.
Thats it for now!
Saturday, May 14, 2011
Update - Boss Fight
So the goal for today was to get a basic boss fight up and running. Here was the "design document":
Here's the end result:
Lots of work still to do polishing everything up, but the boss can kill the player...and the player can kill the boss.
Also, got 4 directional parallax scrolling working, and locked doors with collectible keys.
The mini-boss (Bandit King) will be next.
Only 1 month left!!
Here's the end result:
Lots of work still to do polishing everything up, but the boss can kill the player...and the player can kill the boss.
Also, got 4 directional parallax scrolling working, and locked doors with collectible keys.
The mini-boss (Bandit King) will be next.
Only 1 month left!!
Monday, May 9, 2011
Platform Hack Alpha Progress
The build is coming together. Here's a quick playthrough I put together that shows the latest features.
Wednesday, April 13, 2011
Grapple Hook Revisited
There was a request to go into some more detail for the grapple hook. Original Post
So what I've done is taken a fresh copy of the Platformer 4.0 solution and added only the Grapple Hook stuff. The ZIP of the solution is attached below.
Basically, there are 3 new classes and some changes to Player.cs
The three new classes are in the GrappleHook Folder:
Collision.cs - This contains the core functions used "under the hood".
DrawPrimitives.cs - This class contains some functions used to draw various shapes. The main method used is DrawLine2.
Grapple.cs - This class contains the guts of the grapple hook logic outlined in the initial blog post
Changes to Player.cs:
There are some new member variables and a few methods. I tried to comment everything that was new with "GRAPPLE HOOK"
I also added WhitePixel.bmp to the Content/Sprites/Test folder. This is used to draw the line. (Also removed the music to cut down the size of the zip)
A few changes to the logic and style of the Grapple Hook:
1. The grapple hook "rope" will now shoot out 500 pixels at a rate of 2000, which is pretty much instant.
2. The grapple hook will stay extended as long as you hold the button (instead of collapsing back to 0). This makes it easier to attach.
3. You can't shoot the grapple hook if isOnGround = true. This makes use a little more natural and prevents the odd bug where you would attach and then the grapple curve would force you under the world or the tile below you.
4. The swing itself is slightly slower (using 2000 as the gravity constant).
Places for Improvement:
1. Some games have the grapple hook continually "shrink" while it is attached (Hook Champ, etc). This gives the player the feel that the grapple is "elastic". You could implement this by moving the player slighly "up" the rope every tick, and then re-calculating the Swing Curve. The hard part is getting the velocities right so the swing is smooth, since we're not using actual angular velocities / momentum, but the path of the pendulum curve.
2. Prevent the Grapple hook from attaching to horizontal walls. This would require a change to the GrappleCollision function (and the getLineCollision function), to only attach if the Grapple "hook" is colliding through the lower X plane, instead of the Y plane.
3. Better formulas for angular velocities entering and exiting the swing. Right now I'm using some cheap hacks (delta position -> velocity) to determine the initial and launch velocities when starting or exiting the grapple swing. Some real physics might make it feel a little smoother.
Download: GrappleExample.zip
So what I've done is taken a fresh copy of the Platformer 4.0 solution and added only the Grapple Hook stuff. The ZIP of the solution is attached below.
Basically, there are 3 new classes and some changes to Player.cs
The three new classes are in the GrappleHook Folder:
Collision.cs - This contains the core functions used "under the hood".
DrawPrimitives.cs - This class contains some functions used to draw various shapes. The main method used is DrawLine2.
Grapple.cs - This class contains the guts of the grapple hook logic outlined in the initial blog post
Changes to Player.cs:
There are some new member variables and a few methods. I tried to comment everything that was new with "GRAPPLE HOOK"
I also added WhitePixel.bmp to the Content/Sprites/Test folder. This is used to draw the line. (Also removed the music to cut down the size of the zip)
A few changes to the logic and style of the Grapple Hook:
1. The grapple hook "rope" will now shoot out 500 pixels at a rate of 2000, which is pretty much instant.
2. The grapple hook will stay extended as long as you hold the button (instead of collapsing back to 0). This makes it easier to attach.
3. You can't shoot the grapple hook if isOnGround = true. This makes use a little more natural and prevents the odd bug where you would attach and then the grapple curve would force you under the world or the tile below you.
4. The swing itself is slightly slower (using 2000 as the gravity constant).
Places for Improvement:
1. Some games have the grapple hook continually "shrink" while it is attached (Hook Champ, etc). This gives the player the feel that the grapple is "elastic". You could implement this by moving the player slighly "up" the rope every tick, and then re-calculating the Swing Curve. The hard part is getting the velocities right so the swing is smooth, since we're not using actual angular velocities / momentum, but the path of the pendulum curve.
2. Prevent the Grapple hook from attaching to horizontal walls. This would require a change to the GrappleCollision function (and the getLineCollision function), to only attach if the Grapple "hook" is colliding through the lower X plane, instead of the Y plane.
3. Better formulas for angular velocities entering and exiting the swing. Right now I'm using some cheap hacks (delta position -> velocity) to determine the initial and launch velocities when starting or exiting the grapple swing. Some real physics might make it feel a little smoother.
Download: GrappleExample.zip
Subscribe to:
Posts (Atom)