Sunday, 15 July 2012

Nearly done!

Not quite though...

There is still no stopping the timer, I cant quite work out how to stop the timer on trigger at the end of each level. I have tried multiple different coding approaches but nothing seems to fix it. 

Scoreboards are not in place yet either, I might put this in at a later date and get some other functions working to the way they should.

Fixing the movespeed, turnspeed and jump height for the player character is really easy using the unity game engine. You just select your object and change the slider vars on the side bar. It is really that simple... I was fiddling with these settings for a little while to get the character to behave properly for the levels.


The Is Grounded option is to say whether or not the player is on the ground. If the player is on the ground, the player may use the jump key. This was to fix an issue where the player could continuously jump throughout the levels without the need to use the platforms. 

The moving platforms were greatly slowed down so that it was easy enough for beginner players. If more levels were to be added, the speed of which the platforms moved would vary greatly and offer difficult resistance. 

A problem I cannot get rid of, is this: 


Whenever the player jumps onto the moving platform in the third level at a weird angle or lands funny, this happens.. It stretches the character model along some axis by some amount. I have no idea what causes this, I have no idea how to fix this. :(



Fallout catcher!

Lerpz... Helped a lot here. 

In the 3D adventure game tutorial, which was for weeks 1-5 of this module there was a section on the fallout catcher. Now, what this fallout catcher does is when the character falls off the level, it will trigger something and the player with spawn again in a safe location on the level. 

You have to make an object trigger underneath the level, that covers all sides and is big enough so that if the player decides to run off somewhere and jump to hell they spawn back up top without hassle. 


Now when you fall off the level, you get spawned back at the start.



Connecting the levels

Lets get to it... There is only three

This is theory should have been really simple, considering there are only 3 levels in my game, plus a start menu and end menu perhaps. Still, nothing too crazy. 

I started off creating a menu screen for the game, only a simple one but enough to serve its purpose. In the coding for the buttons, it is relatively easy to change level using a button. So once this was set up time to test! But it didnt work, why oh why, the code im sure was correct. You need to build the project, or at least set up the build properties if you want multiple levels before you can go testing the multiple level functions of unity game development. 

This was easy to over come and here is the menu:


The Play Game button is highlighted because if you hover over the block with your cursor, it will change the colour of the block to indicate you have selected. This is such a simple way to make an effective 3D main menu for any game type. 

Connecting the other levels together after the main menu, was not as simple as I had hoped. As before I had used triggers to set up hint boxes for the player, I was going to use this approach to make a trigger that would pop up a message box telling the player the level had been completed and they may advance. Once the player clicked the button to advance, I could initiate the level transfer. It could have been done so that the player instantly went to the next level upon completion of the level, but this gave the user limited input in deciding how long to play for. 

The info boxes with buttons in are only active if the player steps onto the trigger, the minute the player leaves, the box saying the level is completed with disappear. This allows players to complete the level, then roam about it for future hi-score attempts. 

Bugs!

Maybe not all bugs, but stuff that needs improving!

Ahh noooo. So far here is what is not currently working to the standard I want it to.

- Moving platforms are moving way too fast for the player to be able to land safely on them.
- If the player manages to get on the platform, sometimes it bugs out majorly and adds another cube on top or another side.
- When the character falls off the level, they just fall and fall. Not good.
- The levels are too easy because of the player variables, will need tweaking.
- Once you complete a level, it does not go to the next level. I must sort out the finish level trigger pad.
- There is still no menu or end screen.
- There is no timer for the levels, to see how quickly you managed each one.
- There is no scoreboard at the end of each level.

Over the next few weeks I will be fixing these issues one by one and reporting back here to inform the web of my wonders.

GUI

This part of the exercise I found quite difficult and took me quite a bit of time to work out how to place the boxes and such precisely where I wanted them on the screen in-game.

I wanted 4 stationary positions for the players HUD, 1 in each corner of the screen. Then for the info boxes, I wanted them to pop up where the player would be able to read with ease and not interfere with anything else going on that was needed to look at.

This was achieved by using small GUI components on the screen, tucked away in the corner to give the player a feel like they are really in the game, yet still in a game. The info boxes were done by placing trigger pads on the floor where the info was meant to be accessible, using a script to detect whether the player was in the trigger or not would display the message or not.





I managed to re-use the code that I built and learnt from this in each of my levels with little problems, it was a great task.


Level Design!

Now for my levels...

For this project, I decided that I would build 3 levels. On the first one it would be a simple tutorial-like level, with instructions on how to play the game when you first start using pressure pads or triggers of some sort. 


The second level would then introduce the moving platform idea to the player, with another help box on the start of the level indicating that yes the platform is moving and you must account for this.


The final level I did was going to then incorporate a higher level of difficulty to the moving platform, speed and area to land on plus have the challenge of moving around a full level instead of some blocks placed in front of each other. 






Character design!

Creating my game character

I made a cube to be the player controlled character. I attached a simple move script that I wrote. The script at first was basic WASD functions, forward, backward, turn left and turn right. Getting the jump to work correctly took a little bit of fiddling with code but it was delt with in no time really. 



After I had the basic movement functions down, I decided that I wanted a way in which to look around the character like you have in many of games now a days. This was quite tricky to code for me, I have never attempted anything like this and thus thought it would be a great addition to my game. There were a few problems in setting it up but once it was done it really gave the player a better advantage to judge gaps and moving platforms.

Jumping seems a bit too easy on the player but I can change the variables at a later date. 

Planning my GAME!

Whats the plan?


This week I started on my game, planning everything that is needed to get each stage built. My game is going to be a game involving many a cubes, one of which being the player controlled cube and you must get the cube to the end of the level by jumping and moving over ledges and what not.

There will be:

- Moving platforms of different variety.
- Pressure pads to determine whereabouts in level.
- Information boxes at the start of each level.
- Pick-ups for the player controlled character.
- A counter to see how many times the player falls off the map.
- A timer to see how long the player took per level.
- A scoreboard at the end of each level for high scores or a-like.

3D Adventure tutorial - WEEK 2

Tutorial continuation


This is the second week of doing the tutorial and I actually managed to complete it. I did get stuck at a few points along the way, but going through the tutorial again and checking each stage got me through.

The only problem with doing this tutorial is you only really learn how to use the game engine, it is not so good at learning the techniques used when developing games, however I guess this is good because it makes me think about how I am going to implement everything into my game and make it run.




3D Adventure tutorial - WEEK 1

Setting up


During the first week or two I was familiarizing myself with the unity game engine and how it all works. It is a great engine to use for game development, really quite easy to pick up and get going. 

Once I was comfortable moving around the editor and found a nice guide for the hotkeys I started the tutorial on the 3D Action/Adventure game. At first, this was really easy to follow along and I felt like I was actually learning something from following the tutorial, which is lovely.

Saturday, 14 July 2012

Colossal Cave Adventure and Nethack!


The first task given to me for my blog was to download and play two console based games, and then to answer questions about my experience of playing them.
The two games I chose were Colossal Cave Adventure and NetHack.

Colossal Cave Adventure

Q 1. Which elements of the game did you find enjoyable?
A. I found that the depth of this game was good- each situation you were given, you were allowed to write any answer you wished. This gave a good impression of the freedom within the game. This was creative and a good show of story depth.
Q 2. Which elements of the game did you not find enjoyable?
A. trying to find the right answer for each situation became mundane, as often the game wouldnt comprehend what I typed.
Q 3. For those elements of the game which you did not enjoy, why do you think the
game has been designed in this way?
A. by allowing the player to answer as they wished, it evaded the problems surrounding linear games. This gave the player a better gaming experience in terms of context and storyline, as it felt much more personal. The possibility of the developers not being able to customise the answers quite so interactively due to memory storage limitations may also have influenced the restrictions on which answers would be accepted.
Q 4. At the time this game was originally released why do you think it was so popular?
A. the creativity of this game outdid most of it's competitors, as it allowed the player to converse within the games atmosphere.
Q 5. How does the game attempt to compensate for the lack of graphics?
A. by having such freedom in answering and responding to situations, the game's lack of visual images was easily replaced by the imagination of the player. Scenes are described very in-depth, too, which gave a creative gaming experience.
Q 6. In terms of the ‘player experience’, does Colossal Cave Adventure offer any advantages over modern adventure games? Describe your views on this.
A. by focusing so much on the context, scenery and story, the game outdoes many popular mainstream games of today's generation, which are aimed at making lots of money with less effort and costs.

NetHack
Q 1. Which elements of the game did you find enjoyable?
A.this game introduced the idea of having a companion (a cat) which followed your movements and actions. This was probably a new idea at the time, which impressed me. The movement features in the game were impressive too, as they made playing feel more free and open-world. The character choices were semi good, too.
Q 2. Which elements of the game did you not find enjoyable?
A. lack of guidance wore me down whilst playing this game. Within just a short while I became bored and frustrated, as I had barely any explanation for why things had happened.
Q 3. For those elements of the game which you did not enjoy, why do you think the
game has been designed in this way?
A. the game assumes the player to explore and use initiative to reach each next stage, giving a different sense of achievement to that of a game guiding it's players.
Q 4. At the time this game was originally released why do you think it was so popular?
A. for it's time, the graphics used were impressive. The battles were interactive, and the game in general was fast-paced.
Q 5. Are there any elements of gameplay within NetHack which are not used in
modern role playing games? Describe your views on this.
A. not that I could tell.