Sunday 18 December 2016

YEAR 3 - BA3a - SpaceNinja - NEW menus

I'm  in the process of creating new menus that can be controlled with keyboard/ controller because when testing the game at the NIGD it was annoying to have to constantly stand up to use the mouse every time I wanted to manually make a change to the level (or change the debug options like changing the number of double jumps or hover time) (If you want to test this yourself, it's just the number keys on the right hand side of the keyboard when numlock is turned on)

It's proving more difficult than I originally thought but I've figured out a way to get it to work pretty well now.
Essentially, I make all the menu buttons into the same class (called 'menuButtons'), and place them into the room from top to bottom. I then have a piece of code that counts the number of menuButtons in the room, creates an array of that length and orders them in the array in the order that they were created. Then, I make the up down controller/keyboard buttons move forwards and backwards through the array and 'activate' which ever button is at the current part of the array. Then when the player presses 'A' (controller)/'Z' (keyboard) it 'uses' the currently activated button.

However, it's taking quite a while to do this for each room so I only have it fully working on the first room. It gets even more complicated when I want menus within menus because I have to change the array that is currently being edited by the player . Essentially though, this is the first thing I'm going to finish off once we start the new term.


Wednesday 14 December 2016

YEAR 3 - BA3a - Reddit Secret Santa Gecko Fencing

I signed up for Reddit's yearly secret santa this year and my matched participant was into videogames so I decided to make them one.

2 of their main interests were their pet Gecko, and Fencing, which they'd been competing in for 5 years. So I made them a 2 player game about geckos fencing.

I used a different code structure to what I normally use in these kind of games because I wanted to test it out for use in my end of year project. I used a state machine which essentially locks the character to whatever action they're currently performing until it's finished. This allows me to get fluid animations in because I know exactly how long any action will take to complete. It does cause the game to feel a bit stiffer though because I have taken some of the control away from the player.


It was important that I got the proper fencing technique into the game since the person I was making for is such an expert in the sport. I used THIS video guide to fencing as a reference and tried to emulate the way they walk and lunge in the game. I programmed it into the game that the character should make a full step before they're allowed to stop moving so as to mirror the way fencers do it in real life.

I added a few more moves like the jump and roll to give the players a bit more variety in how to approach the enemy.



I used a few reference images when pixeling the character. The defining features of the crested gecko are the shape of the head, the eye and the lighter mouth as well as the webbed toes. I was going for a minimal atari style for the game but I tried to get as many of these features across as I could with the resources I had.

This project has been useful so far as testing the new programming style. I'll think I'll apply it partially to SpaceNinja for specific actions that I want the player to have to commit to; those actions will have nice animations.

Saturday 3 December 2016

YEAR 3 - BA3a - SpaceNinja - NIGD testing

I brought my game to the most recent NIGD meetup partially to see what everyone else had been working on since last we met but also to show off the game in its current form.

The feedback was... great.

People seem genuinely impressed with the state of the game. Here's some feedback I got:

1. One major thing I noticed was that I do have to explain how the game works in a fair bit of detail before people really start to get the hang of it.
2. People are hesitant to use the 'hover without jumping technique' (hold down the shift key/ left bumper).
3. I asked whether people considered the controls too complex and whether adding a second 2 block high character would be too much. Everyone said the game currently was easy enough to control.
4. People said it was ambiguous why the map was switching on its own.
5. "It feels like you should press down for shield. Down feels like a defensive button"
6. It's difficult to tell between the bullet tiers sometimes

Response:
1. I should definitely include some kind of quick tutorial that explains what all the UI means and what all the controls/ moves are. I could even bring back single player mode but make it far smaller in scope than the previous one. Interestingly, younger people (10 - 21; my target audience) tend to pick up the game quicker which is good because the game is already relatively difficult and having a skilled player base suits that demographic. Obviously I can't rely on everyone being immediately skilled though, hence the tutorial/ single player etc.

2. To be fair, it is not an essential technique for the majority of moves. I don't think people not using this is a problem as most testers are still getting the hang of the main set of controls. Some players go years with fighting games before learning all the techniques. I know I didn't use the shield in SSBM for a really long time and it took me even longer to learn to use more technical moves.

3. I suppose adding in this 2nd character potentially just acts as a higher skillcap for very technical players. I could possibly even make the 2 block high characters into a second game mode?... It does seem unnecessarily complex to do that though. The game was never built with lots of game modes etc in mind so adding lots of new ones now is quite difficult without revamping the whole system.

4. I need to make it clearer then what a round actually constitutes as. I could put player 'lives' at the top and exaggerate each kill so as to say 'look, you're closer to winning'. I should also extrinsically reward the winning player with a big 'player X wins' at least. This should make it feel better and also clearly seperate the rounds from one another. I think I should also give players the choice of player another round or not, although this does break the fluidity a bit.

5. I considered it but I think this is a really bad idea. Being able to constantly shield incentivizes defensive play which isn't really what I want as it's less exciting to watch. It also compromises the system of reflecting bullets as the bullets tier becomes less relevant. I suppose if I made the bullets just have 2 tier it could kind of work but again, this works in favor of the person not shooting; not engaging which is the opposite of what I want. It does help with issue 6 though.

6. Clearly the solution to this is to just make the different tiers more visually distinct. I could even add a different sound effect when a bullet turns into tier 3 just so as to warn players of the danger/ increase excitement.