Monday, 31 March 2014

Day Thirty-Three: Change Of Perspective Release

Game 3 took awhile because I was trying out a new game mechanic and I really liked it. Development time for Change Of Perspective took 13 days in total and I've learned quite a lot of things, on of those is to leave time for level design. After making sure that the gameplay works properly as intended, It took me almost 5 days to create the levels and make sure it solvable and challenging at the same time.

Here's the release links of the game.

Game Title: Change Of Perspective
Standalone DL link:

Change from first person to top down perspective in order to solve and complete the levels. Move around in first person and change the level layout in top down to suit your needs. Instructions are shown in-game but here's a list of instructions for the game:

- WASD keys to move
- LMB to shoot energy
- Space bar to change perspectives
- (while in top down) LMB to rotate and move level layout
- Press P to Pause

- Connect the tiles to reach the next level
- Be careful of sentry guards, they'll shoot you without notice
- Preserve your energy, it depletes when in top down perspective
- Your health depletes by 3 when you run out of energy



Thursday, 20 March 2014

Day Twenty-Two: Game 3 [Design]

I finished Game 2 and I'm starting on Game number 3 now. Here's the design for Game 3.

Game Title: "Change Of Perspective"
Genre: Maze game

The idea of the game is that the player will be controlled through either a first person perspective and a top down perspective. The perspective can be changed anytime with a press of a button and the main perspective of the player will be first person. Refer to the images.

The player will be able to control it both top down and first person but when in the top down perspective a timer will be displayed as to how long the player can stay on that perspective giving them a sense of having to memorize the maze before the timer runs out.

There will be a limit on how many times the player can switch to top-down perspective on each level and a timer is present on how long it took the player to finish the level. Enemies will include patrolling guards and traps which will not be shown on the top down perspective but will be seen on first person.

That's about it for the design, I better start on making a project. I have 8 days left.

Tuesday, 18 March 2014

Day Twenty-One: Game 2 Release

The release for my second game was a day late, to be exact its 3 hours late. I didn't have much time for the second game as I was preparing for a job interview this past week but I still followed my plans for the development of game 2.

Skipping over writing development blogs and here it is, I was able to complete the game and release it a day late.

Game Title: Stay Away From My Tree

Standalone DL link:

Control Kuwalio and defend your eucalyptus tree from parachuting ants that wants to have a piece of your tree, from birds that wants to nest on your tree and crabs that wants to try eating your leaves. An endless tower defense that implements a simple difficulty balancing system. If the wave proves to be difficult then the difficulty will go down as long as you don't get a game over.


Sunday, 9 March 2014

Day Eleven: Game Number 2 [Design]

It's now Day 11, and this is Day 1 for my new game. For the next game I'm upping the challenge a bit to see how far I can complete it. I'm going to try to put more content. Here's a simple design document on what the next game will be.

Title: "Stay Away From My Tree"
Genre: Endless Tower Defense

The Idea:
The game will be a simple tower defense game where the player will be stationed on the left side of the screen while the creeps will be coming from the left side. The creeps will arrive by parachutes and when they fall down the ground they will start to walk towards the tree. Refer to the image. I know I'm not a good artist but it conveys what I have in mind.

The defender will be a koala, pictured below. His name is Kuwalio given to him by the artist where I got the free art from. Credits again to Vicki Wenderlich ( I will do some editing to Kuwalio so that he will be using a rocket launcher to fire at the creeps.

Kuwalio's movement will be limited to only going up and down the tree so that he can shoot down the creeps falling from the sky before they reach the ground. The game will be and endless wave of creeps and it will only be over when the tree is destroyed. It will be an endless defense. How long can the tree be defended.

To add more content, upgrades will be available for Kuwalio and the Tree. Points from shooting down the creeps will be used for upgrades. The upgrades will not be carried out on the next play through so that means if you fail to defend the tree you lose everything. This will be the difficulty of the game. A perma-lose-everything when you fail.

That's about it for the design of the game. I will start now to develop a core mechanics prototype so that I have something to start with.

Friday, 7 March 2014

Day Nine: Web And Standalone Release

skipping through day 7 and 8 development write ups I am able to finish the game and release it to the web and a standalone. All the screens are complete with the credits screen, main menu, game over and hi score screen. I'll be porting the game to android (google play) if I get some time because I need to start on the next game.

Here are the links for the game:

DDL [Standalone]:

The one in Newgrounds is still under judgement by the players who visit the site but it can be played but they won't show it to the latest games section yet. If anyone do play the game let me know what you think and rate the game too on Newgrounds.

Thanks a lot, and onward I go to the next game.

Tuesday, 4 March 2014

Day Six: Crunch Time

Nothing much of an update for Day 6 except the algorithm for the local hi score table which works as fine as it needs to be. It shows top 5 high scores and names just like a classic arcade hi score table. It took me some time to implement it but it works now.

The difficulty levels are almost half way but I need this done quick if I need some time to polish up the game. I have days 7 and 8 left before I prepare the game for release that's why it's time to CRUNCH!... after day 7 I'll feature freeze so that I have day 8 to polish up some things.

Monday, 3 March 2014

Day Five: Game Over

Day 5 is over and I have all the needed screens for the game except the credits page. I want to wait until 7th or 8th day to do the credits page. Not much has been done today, I was busy sending out job applications online. Updating my CV and writing a cover letter was mostly what I did today. 

What I've done for day 5 are the different screens of the game. I now have a main menu screen (although it's not much of a menu) - it has press enter to play and control instructions. I also implemented a game over screen where the player can input in their name using 3 letters. I followed the classic arcade format of allowing only 3 letters to input your name.

After a player inputs a name and presses enter the hi score table will appear showing the top 5 players of the game. I'm still on the process of implement the algorithm for the hi score table and it will be done by next day. It's almost a complete game now but it's still doesn't have the much needed challenging difficulty. I only have a few more days left.

The list that really needs to be checked for the next day are:
- difficulty changing
- hi score table
- sfx and bgm (this is really important)

Here's a video of the update:

Sunday, 2 March 2014

Day Four: The Lady Frog

Not much has changed for day 4 but I made sure that I have the list checked for me to know that I'm moving on. Checklist for day 4:
- Frog home activation for difficulty setting
- Increase difficulty up to a level of 5 then repeat
- Game over screen?
- Land snake moving object.
- Extra score objects - lady frog and flies.
No game over screen yet or any other screen than the main game one. It should be by day 5 or 6. Frog  home activation is done for triggering the difficulty increase but the difficulty is yet to come. Difficultly comes with balancing the game so I need to make sure I have all the needed components of the game first so I can focus on balancing. 
I created a LevelManager script to manage the increasing of difficulty or in this case just the triggering of the next level of difficulty, making sure that the needed variables are carried over to the next one. PlayerPrefs comes in really useful but I need to be careful on its usage as if there's something wrong with my PlayerPrefs setting and getting it can get confusing to know whats wrong. for example, setting the var as an int and getting it as a float will be hard to track down.

A land snake in the middle area that activate only on certain levels of difficulty is also implemented. I reorganized my Spawner script so that I have a different spawner for the upper part and lower part of the game. Both spawners have different behaviour on how to spawn moving objects but they have a lot of similarities so I just have them inherit from a base class SpawnerBehaviour then I scripted the individual needs on each script (SpawnerUpper and SpawnerLower).


Extra bonus point have also been implemented. The lady frog that needs to be escorted and the flies that pop-up in the frog home from time to time. The flies give a score of 600 and the lady frog give a score of 1000. The lady frog scores only if you have her until you reach the frog homes, she dies when you die which is the same in the classic. The flies spawns on the open frog homes, if there is already a frog in the home then they won't be able to spawn there anymore.

That's about it for Day 4. The next thing might be the difficulty balancing which will take time or maybe I should start with the different interface screens - main menu, game over, hi-score table. I'll think about what should come first in the morning but for now here's the next checklist:

- difficulty levels and balancing
- different screens and scene transitioning
- research hi score table for arcades

I'll leave a screenshot of the current development:

Saturday, 1 March 2014

Day Three: Core Gameplay

I'm 3 days in on the challenge and it seems to be going well. I now have a working core gameplay for a frogger game. At the moment it seems to be a complete gameplay for a frogger but with no difficulty setting yet. Here's what the game has now:

- The frog can move around the level with no problems so far
- The frog dies when it hits a badger or a snake
- The frog can hop on the lilypads and dies if he falls over
- The frog can go to his home now
- The frog respawns
- The GUI elements are set with the number of lives decreasing, the score goes up and the timer goes down. I give credits to codeman38 for the nice arcade style font:

There is no game over screen yet but the hi score is working as it should be. The checklist for day 3 are:
- Frog home
- Frog lives
- Respawning
- Additional moving objects - snake, bunnies with arrows, a rock

I have added a new moving object - the snake. It spawns in the river but as it is a snake it may as well be able to spawn in land but I didn't implement that yet. for now since there's no difficult setting yet, I've set it so that every 1 in 10 a snake is spawned instead of a lilypad. I'll do another snake for land and the middle land too on the next day. Recolouring and resizing should give it a different feel.

For the respawning of the player frog, I scripted a FrogDeath script and put it as a component of the player object. Everytime there is a collision triggered when the player collides with a moving object the Die function is called, this is only for the bad guys because when a collision is triggered with the player and lilypad the moving platform behaviour is called. When the player dies there is a 1 second delay to play the death animation before respawning the player which is the same on the original frogger. I'm also resetting the camera position after the death animation. The ways that a player can die now are:
- when the player collides with any bad moving object
- when player/frog falls off to the river
- when player hits the bushes that separate the frog homes
- when the player moves away too much on the side of the screen on the upper/river section

The frog homes we're simple enough to implement, although I am not tracking the number of homes activated yet which will be a job for the next day. I placed a trigger on the position home, one for each and when the frog collides with the trigger, the frog is removed (not killed), the trigger is replaced with an image of the frog to signify that the home is activate, and after a 1 second delay I respawn the player frog at the bottom to start for another round and another home to activate. This implementation is the same as the FrogDeath script, it is called FrogWin.

After doing the frog home and respawning of the player, I went on and did the GUI elements. There are four main GUI elements in classic frogger game and these are the score, hiscore, lives and timer. The way I did the GUI is by creating another camera on the scene and named it GUI Camera and positioned it on a separeat coordinates than the main camera. I then position all the needed GUI elements on the second camera (GUI Camera) and making sure that the depth of the GUI camera is higher that the main one.

This implementation of GUI works great for the setup of this type of game since the main camera never really moves much and you can see everything with this and not on a separate GUI layer which is only seen when you hit play. To access all the needed variable in the scene for the GUI, I created a GUIParameterManager which manages all the needed variables for the GUI and of course of the scene. The Manager script handles the increasing and decreasing of lives, increasing of score and recording of hi score and also handles the timer. Basically, all of the variables that's needed for the gameplay is managed in the script.

This is so that I don't lose any of the important parameters of the game especially later for difficulty setting. If any event happens on the scene, i.e. the frog dying, this script is called and updated. Singletonizing the script might be a good idea since there's only ever gonna be one copy of the said script. I need to implement this later.

With all that done in Day 3, I have now a playable game, albeit still a boring repeated play but it's a start. I still have 5 more days or rather 5 days left before the release. I decided to have the last 2 days as the release day for PC and Android since I still need to prepare the game for me to release them on each platform. Additional features of the game will now be added from here on.

- Frog home activation for difficulty setting
- Increase difficulty up to a level of 5 then repeat
- Game over screen?
- Land snake moving object.
- Extra score objects - lady frog and flies.

Here's a link to a playable web version of the game. NOTE: it will be removed when a new version is up.