25/04/13 Update

Sorry I’ve been away for a while guys, I’ve been very busy with school work, and unfortunately that means I’ve been unable to get much done in the way of game development. This does mean I’m not doing the April Challenge I set out to do as such, however development on my game will continue until it’s completed and I feel that people will be satisfied with the final product. I may not be able to update the game very much in the next few weeks, as I have rapidly approaching AS modules, and I need time to work on revision for them, but I will do what I can, and the game should be officially released at some point in the future, maybe next year depending on how fast progress is. I have tried to add an options menu into the game, and it works how I want so far, albeit lacking features, which I will add later on. unity_platformer_7

 

Again, the player can be moved along with the WASD keys, as a little bonus feature. The current features on this screen are buttons to increase and decrease the graphics setting from Fastest to Fantastic, which is very noticeable on the terrain texture as you go from low to high quality, and our current graphics setting is shown below that. There are also a few computer specifications in the corner, just to give the player a little information about their computer. There’s also a button to return to the main menu, as this screen is accessed through a new button on the start screen. Yay. A really bad FPS counter is also at the bottom- I say it’s bad because it’s very very wrong, so you may as well ignore its existence. That’s all I have to show at the moment on my game, I will have more time later on to update it, so keep reading and come back often to see my progress. The download for the game has also been updated, as ever you can check it out here. Thanks for reading.

-Daniel

Advertisements

Day 13 Progress

This is the download link to the latest version of the game:

https://www.dropbox.com/sh/0o38di2thg3x9za/N_CvcxejXT

I’ve been working on making new terrain for the levels in my game. The levels are a bit basic at the moment, and they don’t have many features, but they are much more interesting than what I had before. I have been experimenting with heightmaps and the Unity terrain generation to get better level terrain, and I am happy with the result. I had a few problems initially because using heightmaps in Unity requires .raw files, which are basically image files with very little formatting, and I am using GIMP, which cannot save to a .raw file. I found a program that can convert png files into raw files though, so I got it working eventually. Here’s a tip: if you have Photoshop, use that, it’s as easy as just saving to a .raw file…  hub_world_1

This is the heightmap I used for my hub world. I got this through a quick Google image search but you may want to create your own, like I did for my other levels.

A heightmap is basically a top-down greyscale view of your terrain, with white areas highest up and black areas lowest down, and grey in-between. When this is imported into Unity using the Terrain feature, it automatically creates terrain to match your heightmap. That makes it much easier to create your levels. You can then ‘paint’ your terrain with any texture you want, and bam! You have your basic level. Then you can just add objects in, like scenery, enemies and collectibles, and you have a game. I need to add some enemies and scenery, but I’m happy with my current progress.

I have also been working on getting my character to pick up gems, and it finally works! There is no counter to actually keep track of how many you’ve picked up and they have no function yet, but this will be implemented soon. The way I fixed it is by adding the ‘Rigidbody’ component to the box collider my gem pickup script was attached to, as this allows the ‘OnTriggerEnter’ function in the script to work. Basically this function is activated when any object with a collider component enters the collider of the object I’ve attached the script to, in this case the player. When activated, the script checks for any objects with a “Gem” tag, and destroys it from the game completely. So now you can pick up gems. Yay!

unity_platformer_3

This is the GameObject that handles all the gem grabbing.

I have also made a very simple start screen with two buttons, one to enter the game and another to quit the game. This is made with Unity’s built-in GUI creator. In this title screen, you can also walk around with the player, a feature I want to keep in the final version. It looks like this: unity_platformer_4

When you press the “Quit Game” button, the application will simply close. But when you click the “New Game” button, it will enter the game, starting with the hub world. This has had a few minor changes too: unity_platformer_5

The terrain for this world was made with the heightmap above, and it made a level with a couple interesting mountains as well as a large flat land in the middle. The textures are just default textures provided with Unity, but I will change them to something I like a bit more at a later date. I’ve also added a skybox, which is basically an imitation of a sky, but the camera angle doesn’t let you see it very well. There is a portal in this world leading to “Level 1”: unity_platformer_6

This is supposed to be a desert-like level, but I haven’t had much time to work on it so the textures aren’t complete. The heightmap for this one was entirely made by me though. I’m very happy with the progress I’ve made here, and I hope you will all have fun playing around with this, and if you find any problems or anything you would like added, please don’t hesitate to comment below. Thanks for all the support.

-Daniel

Day 4 and 5 Progress

I’ve been having a bit of trouble getting the player to pick up the gems, as there must be some kind of error in my scripts or something, and I had hoped to show you that today but unfortunately it’s not yet working. However, I do at least have something to show you: I got the warping between levels partway implemented! There still needs to be some kind of animation and model for the actual portal, and a transition between the two levels, but the actual warping works and that makes me happy enough. platformer_test_2

The small red cuboid in the middle is the player, and the larger red cuboid to the right is a portal. Walk into it, and it will take you to another level I’ve constructed: platformer_test_3

This is “Level 1”, as it’s called in the code, and yes, it is really shiny. Currently it only has loads of gems in it, which you still can’t pick up. Damn it. I will try to find the error that’s preventing that from happening, then I will get back to you with the result. I know this doesn’t look like much work for day 5, but I’ve tried to spend as much time as I can on it, and I am new to this so don’t expect a triple-A game after the end of the month. I’m still learning while doing this, and hopefully my future projects will take off quicker too.

The next step is to fix the scripts, and try to make them more optimised, and then I will make better models for the gems, and some scenery. Maybe soon I will also get some enemies or NPC characters in the game, although that’s likely to come later rather than sooner. I may also do more drawings of possible enemies and characters and show them here.

The download link to the practice version of my game hasn’t changed, here it is:

https://www.dropbox.com/sh/0o38di2thg3x9za/N_CvcxejXT

Also, my friend kindly asked me to promote his blog, so here it is. He does game reviews and the like, so check it out!

http://www.epsilongaming.wordpress.com

Thanks for the support.

-Daniel

More ideas, planning, modelling and programming (Days 2 and 3)

Today I’ve been working more on the plans for the game, and I have a bit more detail done. I also have a little test version to give you: this is in no way representative of the final game, rather just a test for the player movement and collisions.

https://www.dropbox.com/sh/0o38di2thg3x9za/N_CvcxejXT

There are two versions here, for 32- and 64-bit windows, so make sure you get the version that will work on your system.

platformer_test_1

My updated plans are thus far:

-Each level will have a few hundred gems to collect (eg. 100, 200, 300…)
and each level has a certain number of gems you must collect in order to unlock it. For example, level 1 could have 200 gems in it, and then level 2 could require about 150 gems to unlock. I will aim for each level to require the player to have around 70-80% of the total number of gems available in the previous levels for it to be unlocked.

-Enemies will have variable levels of health, so some will require 2 or 3 hits to defeat rather than most enemies, that will require 1. The player will also be able to upgrade their health after defeating each boss, starting with 4, for example after defeating the first boss, the player will have 5 health.

I have yet to write a backstory for the game, but I will do that in the future. Right now my target is to make sure all the basic game concepts work, such as respawning, warping to other levels, picking up gems and defeating enemies.

The progress I have made so far is:

-Designing basic models and textures for some gems (ruby, sapphire and emerald). There will also be diamond and amethyst. I figured out the problems I had last time with importing textures and models from Blender, which is rather helpful.

-The player (currently a red cuboid) can be controlled with the WASD configuration, or using a game console controller (confirmed by a friend using a PS3 controller in their laptop). The right mouse button snaps the camera so it faces forward.

-There are some gems scattered throughout the level, and they are affected by gravity, and are solid (they have a collision box, and therefore can’t be walked through). They are also slightly shiny, which I like the look of. They cannot yet be picked up, but this will be implemented soon.

-There is some scenery, in the form of some cubes you can jump on, just to test jumping.

-If you fall off the level, you will respawn at one of the three respawn pads on the level. The last pad you walked over will become the active pad, so you respawn at that pad if you die.  I will improve these pads later.

My next plans are:

-Improve the textures and models of some of the objects, and put some proper scenery in place.

-Add another level, along with a portal to allow travel between these levels.

-Allow the gems to be picked up, and then add some kind of system to count your gem totals per level and total throughout the whole game.

-Add a GUI to sow the player their remaining health, number of gems etc.

It would help greatly if you could keep coming back every so often to test these updates, and give feedback or bug reports. Also, feel free to tell me anything you would like to see in the game. Thanks for reading!

-Daniel

Current Progress (Day 1)

I’ve been working on my game for a few hours today, and the progress I’ve currently made is:

-A small plan of what’s going to be in the game, and the game objectives. The structure detailed in yesterday’s post is basically what I’m going to use, in other words a hub world with levels accessed through this. The levels will be accessed through electronic teleporters, and to power these you need to collect various gems found in the game’s levels.

-The gems will come in various colourful varieties, and some varieties are more expensive than others. The gems will be things like rubies, emeralds, sapphires, diamonds etc, with diamonds worth the most.

-The enemies will be very varied; some will look like normal animals, and some will be strange unearthly creatures. Bosses will be more spectacular than normal enemies, such as an awesome dragon thing I drew.

-The models of all the creatures and objects such as the gems will be made in Blender. I haven’t used Blender’s animation features before, so I’m not sure how that will go, but I will try to figure out how that works. I’m having huge problems importing my Blender models into Unity though, as parts of the model’s mesh is missing and for some reason the textures don’t work. They all look fine in Blender but for some reason after importing into Unity the model is very broken, and this is frustrating me. If anyone can help fix this problem, that would be great.

-The sounds and music for the game will be made using Linux MultiMedia Studio (LMMS), although I’ve just begun to use this so sounds aren’t a priority just yet.

I will continue to draw up the concepts for the game on paper and I hope to post pictures soon. After this, I will get a basic hub world working, but this is hard to do right now because I’m unable to import Blender models into Unity, and I’m kinda relying on that working… Again, if anyone can help here it would be great.

-Daniel

The Challenge Plan

The April game challenge starts tomorrow, and I have decided to develop this game as the 3D platformer RPG I have been planing for a while, and I will see how far I can get with it in a month. This is a small change of plan, as I had originally planned to make a completely different game this month, but I decided it’s easier to just develop most of my platformer during April.

The game will be structured in the following way:

-A large hub world (there may be several of them), featuring minigames and other interactive stuff to do. I may not be able to get the minigames all programmed/implemented in time, but they will exist eventually. The hub world will feature some method of accessing levels, for example portals or doorways.

-Different levels accessed through the hub world(s). They will be clustered together. These levels will differ by theme, size and objective, for example there will be forest levels and volcano levels, small and large levels, linear and branched objectives for completing levels. I am aiming for at least 5 fully completed levels for the end of the month.

-Bonus levels accessed through each levels. These will be a fun breakaway from the level, continuing the theme of that level, and the objective here will be to collect everything without dying or before time runs out. Think Crash Bandicoot on the PS1 for this.

-Boss levels that are unlocked by completing each cluster of levels, then you have to defeat the boss in order to progress to the next cluster of levels. Some bosses are easy and some are hard, and obviously as the game progresses, the bosses get harder. This will be a challenge for me, as the AI required for a boss is so much more difficult to implement than a more rudimentary AI used for normal enemies.

As it starts tomorrow, I will be doing some planning of the game stages on paper and drawing up some concept art for the characters or enemies for a few days to begin with. I will also be making some blocky initial versions of some stages, and perhaps the character along with a 3rd person camera following him/her. I will also hopefully be implementing travelling between worlds, which isn’t hard to do.

The general aim of the game is for the main character to collect some kind of collectible. I have yet to decide what this is, but I have narrowed it down to three things (however I may think of more):

-Gems. You’re enticed by shiny things and therefore want to find as many shiny gems as possible.

-Computer chips/components. You’re making a really cool contraption and you need computer chips to finish it. However, you’re fresh out of them and you need to go find more.

-Light. In a world of darkness, you must find the light and return it to the Sun so he can shine brighter and light up the darkness, purging the world of the monsters that roam it.

It’s gonna be a busy month for me indeed, but I hope to get a nice prototype version out at the end of the month. I’ll update regularly and give links to a development version of the game for downloading and testing, so you can see what I’ve done. When I reach significant milestones I will write updates on this blog, so keep reading to see how I’m doing. Thanks for all your support!

-Daniel

April Challenge! Make a game in a month!

Hey guys, I saw a really nice idea on another blog and decided to give it a go (credits for the idea go to this blog: http://benlowden.wordpress.com/2013/03/28/1-week-challenge/ ). What is this idea you ask? Make a game in a week. This seemed like a great challenge to me, although I have a lot to do in terms of work round about now, so I decided to make it a month-long challenge for me to compensate. I will start the challenge at the beginning of April, and I will try to make a working game by the end of the month. Any ideas will be welcomed, and if your idea is used by me in the final product, your name will be featured in the credits. I will try my best to get a working game finished by the end of the month, and I hope you will help and support me in this, especially if you can give me any good ideas on what genre the game should be, what kind of characters should be on it, and what general direction to take the game in.

I will also be properly starting development on my main game project extremely soon, it will be a 3D platformer/RPG blend created using the Unity game engine, featuring a mix of open environments and more enclosed levels, as well as fun minigames and an intuitive battle system. My thoughts are for a Crash Bandicoot-like platformer, but with a rich ecosystem of creatures to battle, with a more RPG-like feel to fighting enemies, and colourful and varied environments to engross the player into the game world. The game will feature one main open hub world to act as a tutorial and a fun area to play around in, then lots of worlds connecting from it, with increasing difficulty as you progress and unlock new levels. You will have to find some sort of collectibles in order to progress to the next level, and fight bosses to reach new worlds. I hope you look forward to playing it, I will periodically update you on its progress, and any ideas are welcome and worthy of mention in the game’s credits. Thanks for reading!

-Daniel