Friday 18 December 2015

LD34 - StarNinja vs SpaceHydra


This was my entry for LD34.
The game was based on Ninja/Cowboy; the game I've been working on for the past 2 weeks.

I incorporated both themes, 'Growing' and '2 Button Controls'. Because of this the way the character moves is slightly different from Ninja/Cowboy. You are only 1 block tall and cannot crouch, and instead of different height jumps, you have a double jump. You can hover at both levels but not jump again mid hover and because of this I think some people struggled with the controls.

Normally I excel in 1 or 2 areas and do badly in a couple of areas. This time however I seem to have done just okay in all categories (It's actually my second most successful LD based on scores alone). I would really have liked to have been in the top 50 for a category though.

By the comments on my game it seems people are quite split. Some people love it and others had trouble getting the hang of it. In hindsight, the game is probably too difficult. It has finicky controls (which I actually quite like) and the only people that tested the game (Me and 2 other friends) had also been testing Ninja/Cowboy; the game this was based on, so they already had a feel for how to play.


I spent longer juicing the game with particles and animations than I normally do in Ludum Dare and I think on a subtle level it connected with people but overall I don't think players were entirely impressed with the art style.

I am happy with how the audio turned out though. I used a similar method to what we used on out teams gamejam game 'Alien Deception', where the audio overlays different instruments based on what's happening to the character. I made all the music myself this time.

I'm tempted to use this same type of movement in Ninja/Cowboy for the ninja character (and the other movement for the cowboy). If I do though, I've learned that I need to give people some time to get used to the intricacies of the movement before I start throwing loads of bullets at them.

Saturday 12 December 2015

Ludum Dare 34 - 2 Button controls/Growing

It's a tie theme: 2 button controls & Growing
I voted for both so I'm happy but my primary theme will be 2 button controls I think. It suits my style of game well. I'll attempt to do both themes though if I can.

I sketched 12 themes but for a variety of reasons I think I'm going to try theme 2. And if it doesn't work out maybe theme 11 or theme 12. A lot of these ideas I really like so if I have a free week or so I might make some more of them.

I know how fun gun game is already so I'm using that as a base for a variation. I know I can make it quickly so I should have a lot of time to work on visuals, audio and juice.

Also, 2 birds with one stone right? Maybe it'll give me something to work off for GunGame (Now called Cowboy/Ninja)

I'm not reusing any assets or code by the way. I'll be making this version from scratch. It'll be it's own game that plays differently.

Friday 11 December 2015

3 Week Prototype - Story Mode

This gif shows a potential tutorial level that introduces the player to the majority of movement (I haven't put any instructions in the level yet because it's actually not that good yet).

I think it introduces too many things too quickly with too much risk.

I feel like the things introduced in this level might be better introduced over 2 or 3 levels.

The only other change is the scrolling camera for longer rooms.

This second gif shows a few enemy types I've been working on.
Some enemies only shoot and reflect red bullets so have to be beaten with your own, double reflected bullet.
You can also beat these enemies if they land on or jump into a bullet that they don't have time to reflect.

There's something about this version of the game that isn't as fun as the others.
It could be the high difficulty and long stages, but Super Meat Boy had that towards the end and it was still fun.

It's satisfying when you struggle against an enemy and then pull off a skillful move to beat them.
But it's less fun when you fluke your way through a fight. Like when the enemy lands on a bullet and it feels similar when they happen to jump over a red shot (maybe only because I know that it's random when they jump).

So I think the reason this version isn't as fun is because the enemy ai is mostly randomized (shooting and jumping) and it would feel better if it was more reactive and maybe a little less hectic.

I also think if I were to shorten the levels a bit or add checkpoints it would feel less punishing to die (by what is currently RNG).


Finally, the game has and has had an annoying quirk I've been unable to fix where when you land after a jump you lose all of you're horizontal momentum. It's subtle but it makes the game feel a lot stiffer as a result.

Thursday 10 December 2015

3 Week Prototype - Menus

This is what I currently have in terms of menus.
This version of the game contains 2 player deathmatch mode, a recreation and variation of some of the arcade modes I prototyped earlier and the start of a single player story mode.

I imagine the story mode, when the text is clicked would pan upwards into a mario-esque map.

I think my menus need a rework at some point to be honest. Personally I remember the location of the different 'areas' of the menus rather than the name if that makes sense. So I often click on the wrong text and have to go back.

Instead I think it would be better if I had the text to the left or right with an icon.

Aesthetically I quite like the idea of the menus being underground and you scroll up to overground to play the story mode.

I won't include a build in this version since menus don't really have 'gameplay' that you might want to test.

The next thing I'll work on is enemies and maybe a tutorial for the single player version.

Other things to do include:
- Reworking menus and making them work with gamepad and keyboard (rather than just mouse)
- Adding more arcade versions in (make them unlockable at some point through story mode progression)
- Art
- Remaking the entire game in UE4???

Monday 7 December 2015

3 Week Prototype - 2 Player Deathmatch Mode

The best version so far

I know it's only been 2 days but 2 player mode has undergone quite a few revisions.
But so far things are looking fantastic.
Whenever I turn on the game for playtesting we normally spend at least an hour because it's just too damn fun to stop.

I've made a fair few subtle tweaks to the movement and collision detection. You have to program all the collisions yourself in GameMaker which can be a real pain when it doesn't work as intended. Especially since movement is so important in this game.

I had to change the bullet bounce slightly to a maximum of 2 bounces because otherwise it would become far to hectic.

GAMEPAD SUPPORT - The game now supports both a single gamepad and keyboard for the different characters OR 2 gamepads, 1 for each player.

The gamepad controls went through a few revisions where initially crouch was the X button and right bumper was shoot.
I made it this way because I figured that it would be difficult to move horizontally when trying to push the joystick down too.
However when testing quickly realized how difficult it is to play with this layout and very regularly was I jumping when I meant to crouch, letting go of the wrong button when trying to uncrouch mid-air etc.

I tried the game where crouch is down on the joystick and against my expectations it actually works quite well.

sounds are back in ^^

There are NEW WALL TYPES in the 2 player version that I'm testing out for the single player version too:

- Grey blocks don't reflect at all.
- Red Blocks kill you instantly.
- Glass Blocks reflect all bullets except for red ones in which case they are destroyed. I think they'll have a lot of potential in the single player version and for use in puzzles potentially.




I made 14 different stage variations to test out 2 player mode. You can switch between them with 'O' and 'P'.

ALSO, the player has a NEW WAY TO KILL THE OPPONENT by landing on their head.
It works very well. In playtesting I found that it caused players to risk getting closer to their opponent and it can be used for map pressure too (threatening the player back).
It's a good mechanic because it can take you by surprise but it can also be countered quite easily by moving to the side and shooting point blank.

Sunday 6 December 2015

3 Week Prototype - Horizontal Movement

In this single player mock up, the players goal is to get to checkered door

I made the game again from scratch to more easily work with the new movement and shooting/reflecting both left and right 

I've done as much as I can to make the transition from 1D movement to 2D movement as easy as possible for the player

For example, if the player jumps whilst standing and their head would hit the ceiling, the game automatically makes them crouch until their is room for them to stand up again. Obviously if the player holds the crouch button during this time they will say crouched until it is released (and there is room to stand up)

I'm quite proud of what I've made so far. With a bit of practice it becomes very easy to make the character do exactly what you want.

I had to make the character smaller relative to the size of the screen so the player can see more of the level and plan accordingly. It allows me to make harder challenges without them getting frustrating.

I also made some challenge rooms with endlessly bouncing bullets to test quite how well the movement holds up in a sadistic kind of platforming environment. It works very well. I think this game has a lot of potential.

Download this version of the game HERE

Also I made a version where you could charge the shots to make them go faster like in 'Towerfall' and honestly it wasn't as fun so I scrapped it. 

Saturday 5 December 2015

3 Week Prototype - SwordGun


In this version of the game, the player has the ability to shoot and reflect

Both actions are mapped to the 'X' key but the game figures out whether you want to reflect or shoot based on whether there's a bullet in range of the player

Only Red (3rd) tier bullets damage the enemy.
In this version the player will never encounter a red bullet first hand because the enemy only reflects up to orange (2nd tier).

This version of the game feels a bit more varied and there's some level of deeper strategy to it.
The sword/gun mechanic is surprisingly intuitive which is good because I hope to include it in the full game.

I have also made a version where the enemy reflects the bullets up to red (3rd tier) which essentially makes bullets that the enemy shot first impossible to use against them. However the player can still defend themselves whilst the bullet is yellow (1st tier).

To damage the enemy in this version the player must fire a bullet, wait for it to come back at them as an orange (2nd tier) bullet and reflect it back as a red (3rd tier) bullet.

Both versions are fun. As I add more complex interactions to the game, the game starts to acquire more strategy but it also gets more difficult as the player has to try and figure more things out at once.

I find the more complex versions are less fun initially but have the potential to get more fun once the player starts to feel comfortable in the environment.


This tells me that I should take a similar approach when making the game as a linear adventure.

I should introduce the player to maybe just the gun or sword first before combining them into one weapon.

The first enemies I introduce the player should be unable to reflect or maybe only non-lethal reflections until a bit later into the game.


If you'd like to play these 2 versions of the game you can download them both

Friday 4 December 2015

3 Week Prototype - BounceBulletDefender

I've made another version of the game that doesn't really add any mechanics so it isn't directly relevant to the 'full' game but it's potentially an interesting idea for an enemy and as an arcade game it's much better.

I fixed the problem of having to wait for the right height bullet to progress

In this version any reflected bullets earn you points but the player can still not cheat the game by waiting for bullets at the lowest (easiest to reach) heights because any bullets that the player misses deducts 25 points.

The other change I made is to increase the speed after every single reflected bullet

The fire rate in this version gets very high very quickly. It definitely the most fast pace version of the game so far and arguably the most fun.

The short play time of this version makes for a VERY 'one more go' feeling.
And it never feels unfair because it controls well and the goal is simple.

I also made a version like this that uses the 3 tier bullet system again.

It's more difficult because it often puts the player in a situation where they have to make a snap decision of which bullet is better to try and reflect.

The player has to take into account the colour of the bullet as well as the height of the bullet relative to themselves and relative to other bullets which could potentially hit them mid jump.


These 2 versions of the game are very fun but my favorite is the one without the 3 tier bullets. The quick acceleration just feels really good. 

However the 3 tier bullet version has a lot more near misses and quick maneuvers so it certainly feels like a positive step up from the 1-tier bullet version.

Download the 1-tier bullet version HERE 
Download the 3-tier bullet version HERE

It's a small difference but they feel quite different to play

Thursday 3 December 2015

3 Week Prototype - Sword gifs and arcade games

Each of these prototypes are made to test out or explain a mechanic or enemy that's intended to be in the final game but they are all very addictive and fun arcade games by themselves. You should download and play them if just for 10 seconds so that you understand how they work.

Even though though they just represent part of the full game I'll still be talking about them as if they were their own game since they can be played as such.
The gif above shows an initial test of the sword in action. In this version the player cannot shoot but they can reflect bullets with their sword. I'm just testing out the reflection mechanic here. The enemy represents an enemy which could only be defeated with reflected bullets.


This gif is another variation and shows the bullet bounce mechanic in action alongside the reflection mechanic.
As you can see, it is the same as the previous version except the enemy has the ability to reflect bullets back at the player (but not increase the rank of the bullet).

Only red bullets cause the enemy to take damage.

This second version of the enemy is more difficult that the first because it often put the player in a position where they have to figure out how to react to 2 (and sometimes 3 if the player hit a non-target) oncoming bullets at once rather than just the one.

I also think it's more fun because it requires more thinking on the players part.

The biggest problem with these 2 versions of the game is the downtime when waiting for a bullet to spawn at the right height for a target. I'd like to address this issue in my next variation.

Download the 1st version (without bullet bounce)  HERE
And the 2nd version (with bullet bounce) HERE

3 Week Prototype - Bullet Bounce and reflecting bullets

I have been experimenting with a new mechanic where instead of shooting, the player uses a sword to reflect bullets back at the opponent.

The reason I'm adding bullet bounce to the game is for consistency above all else.
Although it's a new mechanic, it simplifies the rule set overall.

How it works:
Bullets have ranks: Yellow, Orange (blue in the diagram), Red
The bullets rank represents whether it can be reflected or not

Yellow bullets can be reflected and become an orange bullet
Orange bullets can be reflected and become a red bullet
Red bullets CANNOT be reflected but they can be dodged

These rules are consistent throughout the whole game
An enemy hit by a red bullet will ALWAYS get hit
But they still give me a lot of freedom when designing enemies

In other words, after being introduced to the 3 bullet types at the start of the game, the player never has to run into more weird attacks later on.

Therefor, the player will never be in a situation where it feels unfair to die because of something they haven't been taught yet.


What I intend to do is to allow the player to shoot at will except when a yellow or orange bullet is in front of them in which case they reflect the bullet instead.






This system allows me to create enemies that:
- Enemies that never reflect bullets and therefor die from any shot

- Always reflect bullets (but not red) and therefor require a shot followed by a reflection to kill

- Always reflect Bullets (not red) as red bullets and only fire orange bullets. This means that a player fired bullet will never hit the enemy. The only way to win would be to reflect an enemy bullet or to hit them with your sword.

- Same as the above except they don't shoot. The only way to attack this enemy would be directly with your sword.

All these enemies still follow the rule that if they are hit by a red bullet they take damage
The player still follows the rule that they can reflect any bullet that isn't red and increase its rank by 1

In order to further explain how this works. I'm going to make a quick prototype for my next post.

Wednesday 2 December 2015

3 Week Prototype - Horizontal Movement 01

This gif shows another prototype I made for the horizontal movement. I call it DashDancer after the style of movement a lot of competitive SuperSmashBros:Melee Players use; Dash Dancing.

A gif showing competitive SSBM player 'Mang0' dash dancing
Dash Dancing is to bait an attack from your opponent by moving within their attack range only to move out of their attack range before the attack hits. This allows the player to punish the opponents 'lag' frames after the attack when they briefly cannot move or attack again.

Originally I intended dashing to be the primary horizontal movement for our player
However
It actually takes quite a lot of control away from the player making it very easy to accidentally run off the edge or into a bullet



In this gif (on the right) I've created various platforms for the player to jump between and you can see that it makes movement quite staggered.

When the player crouches it halts their horizontal movement speed.

This works somewhat but I feel that combined with the vertical movement I already have in place it could confuse the player.



I suggest an alternative 

The number of buttons the player has to press at once is already quite high but I'm going to experiment with a 'dash button' that when held makes your movements more dash like. Or maybe a button that automatically dashes you in the direction you're facing.

Tuesday 1 December 2015

3 Week Prototype - Introduction

I'm going to spend the next 3 weeks improving on a series of prototypes I made half a year a go.
The original inspiration was the first section of the 'Space Mama' boss fight from Rayman 1 where you have to jump and duck to avoid laser beams whilst trying to get close enough to the enemy to get a punch in.




BASIC RULES:
- The player can only move vertically, NOT side to side, ONLY jump and crouch
- The player has 2 different jump heights based on whether they are crouching when they hit the jump button
- The player can crouch whilst in the air
- The player can hold down the jump button to hover at their max jump height briefly
- The player can shoot bullets from the top half of their body (when they crouch the top half shrinks into the bottom half as if crouching when on the ground. Their feet don't tuck upwards)


The games I built look like this:
Regular Mode:
- Dodge random height bullets
- Shoot all the red targets
- Get points for each target hit
- Speed increases every 4 targets hit

Harder Mode: (best version)
- Bullets bounce Back if they miss a target (and can hit the player)

Hardest Mode:
- Bullets always bounce back (but still score if they hit a target)

Dodge Mode:
- You can't shoot
- Enemy bullets bounce back off the wall to your left (they are orange)
- Your score increases every second you stay alive




2 Player Mode:
- Both players can shoot at eachother
- Either player can have no more than 2 more bullets on screen at 1 time
(2 per player)
(This prevents players from creating unavoidable patterns of bullets)
- Looks fancy and has a day/night cycle




WHAT I INTEND TO DO:

- Prototype the game as an ACTION PLATFORMER with different levels and an overworld
- Add horizontal movement (I will talk more about that in a bit)
- Add a sword that you can use to reflect bullets
- I have designed a system for how bullets move up in rank/momentum/power

I believe that the core gameplay for this game (currently atleast) is solid. For such a simple looking system it provides a lot of depth in strategy and relies on player skill for its basic movement.

The long term and short term goals are clear and from playtesting I've done, people tend to pick up the controls fairly quickly.

No mechanic is unnecessary or unused, the player makes full use of everything in their move-set, often combining abilities for different outcomes

CONCERNS I HAVE FOR THE UPDATE:

- The controls might become too complicated if the player has to focus on moving horizontally too
     - The player has to be able to crouch, jump, shoot AND move horizontally potentially all at once

- I intend to add a dash mechanic (I will talk about this in another post) which has synergy with the sword HOWEVER this will require more testing as any tests I've already done lead me to believe that it does not work well with small platforms

- I don't know how the game will hold up with multiple platform heights
- I don't know how well the game will suit a longer play time (currently it's a play for as long as possible (normally < 1 minute) > Die > play again kind of game and that works well so changing that is risky

But that's the point of prototyping

I strongly urge you to DOWNLOAD and play the Jetpack Cowboy Collection HERE
and the fancy 2 player version HERE