Sunday, 31 August 2014

Game 1 design process (Part 7)

Okay after another day's work this game is done. Yay!

In Friday's class I spoke to Mark and quickly sorted out the issue with the UI not loading new levels. The issue turned out to be operator cause, naturally *rolls eyes*. For future reference, don't drag the script onto the on click area, drag the game object with the script attached onto it.

Mark also helped with getting the countdown timer working with text, and I adapted that to get the health counter working too.

For prettiness, I added a particle effect to my tar pit so now it's really obvious it's the destination point.

I added sounds as well - a random array of "ows" for when the bubble hits the thorn bushes, and a looping piece of background music. The background music I found on Freesound.org and played with it until I got it sounding more or less how I wanted it to. Credits page was updated with the details, and all is good.



I am currently considering adding some PlayerPrefs to the game. The game is finished as it stands presently, however. Yay!

Now onto the next one!

Thursday, 28 August 2014

Game 2 design process (Part 1)

So I don't have to do a massive catch up for this one, here's the details on my second game of the semester.

The game is required to be of a steampunk genre and with a theme of "rescue". Everything else seems to be up for grabs.

I was actually a bit disappointed by the change as I had an awesome idea for an underwater game. Oh well. It's in my ideas book, now.

Anyway. I've been playing a lot of Bioshock Infinite lately so I had the idea of airships stuck in my head. So I thought it would be kind of cool to do a flying airship game.

I was warned by Mark that having it in an open world would be difficult, but me being stubborn as I am, I really want to go open world!

So, steampunk. Steampunk is essentially stuff that is Victorian and sci-fi at the same time. The thing with steampunk is that it's both grand and grungy simultaneously. There is steam, yes, but there is also gilt. It's a challenge, design wise.

So, steampunk airships, and have to rescue a thing. I'm loathe to do the typical "rescue the girl" because steampunk typically has strong women characters who don't really need rescuing. Also it's been done to bits. Rescue the "thing" though sounds okay.

Anyway, I started concepting a level:



The idea at the moment is to have a massive airship where the player starts, and they need to get to the tower to "rescue the thing". The tower is set in the middle of an endless ocean. The player will be in their own mini airship. The red balloons are enemy turrets. The turrets have a reasonable amount of fire power, but are slow and only have a very limited range of movement. The mini airship will be quite fast and manoeuvrable, and I'm undecided yet as to whether it will have weapons. Once the player has reached the tower, they will pick up the "thing", and then have to return to the massive airship to win.

At the moment I'm leaning towards steampunk airship pirates, most likely as the player (you must go to the tower to "liberate" the booty, arrrr) and the enemy turrets being those of the "establishment".

I'll probably set it in a massive terrain, build the sides right up so the player can't fly out of them and a cap on the top as a roof, put in an island, build a nice tower on it, and add water for the ocean.

Hopefully it won't be too bad to make!

Game 1 design process (Part 6)

As a brief update.

My game is having issues with the new UI system and loading levels. The very first one I added worked, the rest of them don't, and they've come up with funny naming conventions. I've tried deleting them and re-creating them, but that didn't change anything. I'll show the experts tomorrow.

I got the bubble health working, now he has 10 health and every time he hits a thorn bush he loses one. When he hits 0, the game is over.

I made a flat cylinder in Max and deformed it a little for my tar pit, imported it to Unity and added the tar pit texture. Set it up with a rigidbody and a collider and now when my bubble reaches the tar pit, the game is over.

GUIText doesn't work in the new version of Unity. Am trying to figure out how to get my countdown timer which asks for GUIText to work asking for the new UI text. Again, leaving that one for the experts tomorrow.

However, build levels are set up and it's otherwise ready to go. I hate how this takes forever to get anywhere!


Game 1 design process (catch up post - Part 5)

After that I went back to revisit my map and game flow, and cut it right back. After discussing with Paul, he recommended adding an extra path to "home" for a bit of variety. One path is free of obstacles but narrow, which makes it hard to bounce through. The other path is fairly wide but has obstacles which can make the tar bubble bounce around and get stuck.

The updated map etc looked like this:



Once that was done it was kind of obvious that the original plans for motive decay really weren't going to work, but the timer would. It looked like it would have to be a race - get your bubble to "home" as quickly as possible. I may even put in a high score tracker, if there is time. For my second GUI element I'll probably add a health bar.

So with the assets pretty much done, it was time to return to the dreaded coding side of things. Now I'll freely admit here that coding is not my forte, at all. I'm really not good at it. At all. I'm okay following tutes and stuff, but making it up on my own is where I fall down. So anything I do has to be really simple and easy.

Because I played around in Unity a lot making things that could possibly work for the game, I ended up with about five different project files, all called similar things. Which was as confusing as hell, so I ended up deleting them all and starting a new one, giving it a sensible name.

That was also good because I could remake everything from scratch.

The base plane for the ground was done and textured, I added a background plane and textured it, and that was my basic environment done.

After that I started dropping in boundary bushes to make a path. Which was pretty tedious. Once I had a basic path shape done, I added in the obstacles: thorn bushes and logs. Then I added the hero sphere and played with his settings to actually get him to work properly. Eventually that was done.


Once all that was set up, I started on a basic GUI, making a title page. I looked up various ways of making interactive buttons that would fit the design. However as it turned out the previous day version 4.6 Beta of Unity was released which has inbuilt GUI options. Yay! So that's what I'm implementing. So far it seems to work okay...

I made my title screen and added in the hero prefab with a simple animation to bounce him up and down. I made a credits screen and added a help screen for the controls. I made text images for the GUI buttons and set those up.

Essentially at this stage most of the game is done - for a prelim web build at least. I haven't added in the timer yet or the health bar, I haven't made any sounds yet, and I'm yet to do a win/lose screen, but the vast majority of it is done.

Game 1 design process (catch up post - Part 4)

Okay so now I had some basic movement, some design elements, and that sort of thing. I started looking at the things my game would need physically - in other words, the object assets.

Being a fairly simple game it doesn't actually have too much in the way of assets. Unfortunately, all of them ended up being high priority because of that.

Game Object Asset List V1
       High priority
Mid priority
Low priority
Bubble (hero)


Boundary bushes


Thorn bush


Log


Stomping dino foot


Biting dino head


Water puddle


Home tar pit


Textures (terrain, bushes, bubble, backgrounds)









Time to go back to the map and gameplay mechanics, and see if I could figure out a way to simplify it down.

If I cut down the game map drastically so that terrain sliding wasn't required, it would also cut out the need to make enemies for the bubble to avoid. That would make things much easier. Removing the motive decay for baking and just having it timed would make it simpler still. I also probably don't need to have an object for my home point, maybe just a textured area would work. Maybe.

Game Object Asset List V2
       High priority
Mid priority
Low priority
Bubble (hero)
 Home tar pit
Stomping dino foot
Boundary bushes

Biting dino head
Thorn bush

Water puddle
Log


Textures (terrain, bushes, bubble, tar pit, backgrounds)









That's looking much more manageable. 

After that I started working on making the objects, textures, and stuff; a fairly simple exercise using Photoshop and 3DS Max.

My hero is a sphere, with a texture applied. Easy as. I started playing with Max materials to texture him, specifically the "splat" option on Mark's advice. It worked pretty well, but unfortunately the material wouldn't import to Unity, for some weird reason. So I went with a texture I made in Photoshop.

My thorn bush is a deformed geosphere with a Photoshop texture applied. It imported into Unity perfectly and worked exactly how I wanted it to:


My boundary bushes I had some issues with initially as I couldn't get them to look the way I wanted them to look in Max. I wanted them to be blobby sort of forms which could just kinda sit together to make a row, but not actually slot into each other, so they're technically not modular. I played around in Max for a bit and ended up going with capsules that were deformed into various shapes and sizes, and applied a texture to them which I made in Photoshop. I ended up making three different sized and shaped bushes for variety. The texture is the same base, only with the colour values changed and the layers rotated a bit. Because the capsules were deformed, the textures didn't apply so well in Max. They ended up a bit better in Unity, though.

My log was the most complicated asset to make. It's essentially a cylinder, tapered out at the ends, and has had noise applied to deform it. A little branch was extruded off one side. It was modelled from this base image:

  

After that the fun part started with texturing it using UV mapping. I found a suitable bark texture, and log ring image, and played with both until they fit the style of what I'd already made. After a lot of swearing at it and help from Mark, I ended up with a suitable log:


It's not 100% perfect, but I think it looks pretty good.

After that I played around in Photoshop some more and made a background image, a ground texture, and a tar pit texture. That's pretty much everything I need.


Game 1 design process (catch up post - Part 3)

Discussing the map issue with Mark and Paul we figured we could compromise a bit by sliding the terrain under the bubble when it reached certain points, leaving the camera fixed. It would be tricky though. Not sure that's how I want to go, let alone what I'm capable of doing...

Leaving the map stuff aside for a bit I started working on movement scripting for my bubble.

The bubble as a character is simplicity itself, being essentially just a sphere. Being a bubble it needs to pop around fairly easily. Most of that can be achieved using gravity, mass, drag, etc.

The actual movement originally planned for the bubble, being just explosive force, wasn't that difficult. The difficulty happened when the bubble was moved off a plane and onto a terrain and the camera angles were changed. The bubble plopped around just fine on a plane using point and click left mouse button triggers, with a simple perspective view from a natural angle on it. Change the camera angle, and all of a sudden the bubble wouldn't move. I'm presuming from the fact that raycasting was working from the camera's perspective and that got all messed up when the camera angle changed. Whack the bubble on a terrain and the same thing happened, I have no idea why. So I left the bubble on a plane.

My original movement script for the bubble was pretty much how the tutorial made it. When Mark had a look at it, it varied somewhat so that now the bubble could turn on its axis to change its forward direction and angle of bounce, and also added a bounce using the space bar. I kept in the mouse click bounce as well. That seemed to work fairly well on a test plane.

After that I added in some obstacles for my bubble to bounce into. From my map I knew I wanted thorn bushes for the bubble to bounce off, and logs for the bubble to jump over, as well as the bounding bushes which would keep him on his path.

A physic material was added to the thorn bushes to make them bouncy, and that worked quite well. I had to fiddle with the settings a fair bit to make the bubble have an appropriate amount of reactive force from running into the thorn bush, but it ended up looking quite nice. The logs are basically just static, immovable objects; so they were easy.

So far so good.

With that sorted I started working on the design of the game. I wanted to keep things simple and clean, not quite cartoony, but definitely stylised. Using the reference images I found a colour palette that I liked and put together a default background image. Oh I also at this point thought of my game's name: "prehisTARic". Get it? Get it???

Sigh. As Death said in The Hogfather, "I don't know if you noticed, Albert, but that was a pune, or play on words."

Anyway. I had fun finding some suitably tarry looking fonts, played with some photoshop tutorials to make an iridescent effect for my bubbles, and put some shapes and gradients together.

Here's what my title page started looking like:


The idea is to give the bubbles some animation so they bounce around. Although I'm not really a fan of how the bubbles are looking - not really fitting the theme. I'll work on that later. Everything else I'm liking though.

Game 1 design process (catch up post - Part 2)


     

Once I had some reference stuff set up for my game I went to work thinking of a story for its background.

Keeping it fairly simple, the idea was that there was a little tar bubble happy in his home tar pit, when a passing dinosaur stomped into it and sent the tar bubble flying off into the distance. Now you have to get the tar bubble back home.

I started thinking about GUI elements that could be added into the game, the most obvious one being a timer. Then I thought in addition to a timer I could add a motive decay. Searching around on the net for things that could affect a tar bubble negatively I found the concept of "baking". Baking is what happens to a viscous material when it heats up and dries out too much. In other words, don't leave your tar bubble out in the sun for too long. Perfect! So my tar bubble's motive decay is "baking" and in order to stop it from baking you need to direct the tar bubble through a water puddle to re-wet it.

I also wanted to give the tar bubble some difficulties in getting back home, so some obstacles to avoid or jump over would work. I liked the idea of having a prickly thorn bush which would physically bounce the bubble back if he hit it.

And of course there are the ever present dangers of dinosaurs in the area - both from stomping feet which would squish the bubble, and biting dino heads which would pop him. Maybe he needs a life counter as well?

Anyway here is the original concept stuff for the game:


After that I started working on some maps for the game. The original idea was to have a series of maps starting with a very simple one and ending up with a very complex one to reach home, and along the way the different mechanics are introduced - motive decay, obstacles, and enemies.

Here are the original maps:



Now, what I didn't take into consideration with these maps was the fixed camera aspect. The maps, when joined together, are super long and it would have been next to impossible to get a fixed camera to see the entire thing, and still make out the bubble and his movement. This was made painfully apparent when I put all the maps together and started blocking out the path.


It started looking even more impossible when I took it to 3D.

Version one of the scene was a mass of spheres everywhere (being the bushes that bound the path) however I did learn how to drop things on an array in 3DS Max, so that was good.



Version two of the scene I started removing the spheres to make a modular bounding path instead using an extrusion. I gave up at this point because all that took me well over an hour to do.


The end result being: map most likely not workable in this format with a fixed camera.

Dagnabbit!

Game 1 design process (catch up post - Part 1)

I have been remiss and haven't posted anything about our first game for the semester, so here's a catch up post to start it off.

The task was to create a game with the following:
  • a prehistoric theme, 
  • using Unity's inbuilt physics engine for movement, 
  • have a fixed camera,
  • at least two GUI elements on screen,
  • simple sounds (at least one of each environmental and dynamic),
  • using C#
  • incorporates 3D models, textures and lighting.
We got the brief in Week 3, I think, or possibly Week 4. A web build was due in Week 7 (last week), but that didn't happen, so it will now be due in Week 8 (this week). The overall product is due in Week 11.



Design Process

As soon as we got the brief I knew immediately that I wanted to use physics from this Unity tutorial which I had looked at while doing our little 2D shooter game last semester:  http://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/fun-with-explosions

The prehistoric theme was not too difficult a concept to work with. It was more difficult thinking of something suitably prehistoric that uses that kind of physics. Obviously things that walk were out, I needed something that bounces... like a ball... or a bubble. Oooh, prehistoric tar pits!


And there was my character and basic concept.

Then I went and looked at general "prehistoric" art and images, trying to get a feel for colours and styles. I really liked the colours in this one:


And I liked the feel and style of images from The Land Before Time movies:


So that was my starting kind of point.

Sunday, 17 August 2014

Week 4 Homework

Ch 3 – Paper Design creating the level blueprint

Part A - In Class Exercise (Rapid Prototyping):

1. The process used, likes and dislikes, etc.

The idea was to create lists of word associations around a prehistoric theme for 6 different areas (scary things, friendly things, verbs, ways to die, words related to prehistoric, and words related to no. 5). 

Answers were written on a piece of paper divided into 3 sections and then passed around to different people (cue first group difficulty!). 

I personally found the brainstorming enjoyable, it took us out of the box and made us think more, and more laterally. (Or me, at least.) I would have preferred to collaborate in a more open forum, ie throwing ideas around a table, whiteboarding concepts, that sort of thing; but I recognise the limitations in a classroom setting. 

What I didn't like was everyone thinking the same thing and writing the same answers down, which I think is an issue when it's not an open forum as ideas can't flow through as quickly. The aim is just to think of things super fast and get them moving, not to dwell on the same point. Also the misconceptions over what actually construes "prehistoric" were annoying.

I also didn't like that there were an odd number of people in my group so my bit of paper didn't get passed around *sadface*. 

The end result is to gather the ideas on your piece of paper and create a basic game concept from them.

2. How was your game idea thought of, in what order, etc?

Here is my page with the word associations:

And here is the page with the game idea based on the words:

The concept I came up with was a caveman (not prehistoric, I know, but we work with what we've got) who has to run around gathering berries for food, while also avoiding a fire in the forest and attacks from predators (like t-rexes).

From the list of words a couple of things were repeated - food, berries, plants, gathering - so there is a theme already: gathering food (berries from plants). Who would do the gathering? Most likely a caveman, I can't see a t-rex gathering stuff (itty bitty arms and all). A game just gathering stuff is a little boring so we need a bit of excitement to add to it which is where the t-rex comes in. And just to add an additional gameplay mechanic to it, there's a fire in the area so there's a time limit for our caveman to gather his food. 

So caveman, being hungry, leaves his home cave to go to the forest to find berries (because caveman needs his antioxidants and all). However once in the forest he discovers there's a fire in the area which adds a time constraint - gather as many berries as possible in the shortest time before the fire burns them and him as well. Also there's been a time-space continuum warp and a hungry t-rex has been let loose in the area and is on a rampage. Avoid Rexy, beat the fire, grab those berries, and go home to your loving cave-wife and demanding cave-kids. Awesome sauce.




Part B - Weekly Questions:

1. Building on the original concept you developed in Chapter 2, create a blueprint for your level. Make sure you begin with a series of rough sketches until your blueprint begins to take shape.



2. Create at least three gameplay mechanics for your level. How do these objectives relate to your original story idea?

  • Racing. This one is obvious. It's a series of races. You need to beat the competitors. You also need to better your overall times in order to make it to the grand finals and hope to win your freedom. The other competitors are also trying the to achieve the same thing, and will try to obstruct you in some way. Which leads to:
  • Risk and reward.  You need to drive your chariot skilfully and take some risks in order to win. Maybe you can cut off that other competitor but to do so means you need to take that turn more aggressively, which could mean that your chariot overturns and you are out of the race. Is it worth it?
  • Victory points. You need to progress by winning as many races as possible in order to reach the ultimate race at the Circus Maximus and get the chance to race before Caesar in order to win your freedom. There are also additional "style" or "daring" points for particularly well-executed manoeuvres made during races.


3. Come up with five level objectives that correspond to your gameplay mechanics. How will you identify these objectives in your level blueprint?

  • Complete your first race.
  • Win a race with a 2 horse chariot.
  • Win a race with a 4 horse chariot.
  • Win a major race.
  • Win the ultimate race.



Sunday, 3 August 2014

Week 3 Homework

Ch 2 – Conceptualization spawning your imagination


1. Using some of the techniques discussed in this chapter, begin developing a concept for an original game idea. Discuss the central theme of your idea, and the methods you used to bring your idea into existence.

Chariot racing in Rome. You are a slave and the aim is to buy your freedom by winning chariot races.


2. Create a backstory, environment, and three character descriptions associated with your original game idea. How are these elements integrated and linked through a central theme?

It is Rome in the time of Julius Caesar, about 50 BC. Yesterday you were a free, if impoverished, young man, the son of a potter. Today your father's debts have been called in and you have lost your family and your freedom. Bought at the slave markets by a wealthy noble, Quintus Ovidius Buteo, your new life now revolves around racing your master's chariots in bigger and bigger races. Pit your luck and skill against other racers in order to win the coveted golden wreath, and eventually your own freedom. 


The game is essentially a series of races tied together with a loose, minimal story, being the young slave's progression to freedom. The races progress in difficulty and complexity throughout the game; starting with a two-horse chariot race on a simple open circular track and progressing through to a six-horse chariot on a difficult track complicated with obstacles. In addition the competing chariot racers provide more complexity by actively trying to hinder the slave.

The environment of the game is a series of racing tracks with an 'ancient' Rome feel. All tracks are paved with packed dirt. Simpler tracks have a wooden palisade surrounding them. The first tracks are located outside the city itself, in the countryside where Quintus Ovidius has his estates. As the slave wins more races he will progress through to the grandest race of them all, the Circus Maximus, in front of Julius Caesar himself and a screaming horde of Roman citizenry. The Circus Maximus is a grand open stone race circuit, several stories high, with tiers of seating which can accommodate up to 150000 people. 


The two main characters of the game are the young slave, and his owner Quintus Ovidius Buteo.

The slave is a young male in his mid teens, fit and healthy, with short cropped brown hair. He is normally dressed in a simple, short tunic style garment which is belted at the hips with a length of cord, and sandals. For races he wears a slightly more elaborate tunic in the colour of the faction his owner is representing (red, blue, green or white). In a race he also has a small dagger called a falx which is used to cut the reins of the chariot should it be overturned while racing. As most of the game occurs from the slave's point of view, the player will rarely see him. He is not a voiced character.

Quintus Ovidius Buteo, on the other hand, will be a familiar face to both the slave and the player. Quintus Ovidius is a mature man, heavy set, with swarthy skin and dark curly hair cut close. He is clean shaven, as is the fashion of the time, and wears a full citizen's toga and soft leather shoes. Being quite a wealthy man, Quintus Ovidius is very used to his own authority, especially over his slaves. Normally he speaks in a loud, hearty voice and is generally quite genial. 

In addition to these characters, the player may become familiar with rival charioteers from the different factions. These will likewise be young men, slaves, all around the same age as the player's character or possibly a little older. 

If the player manages to win the golden wreath and his freedom, he may also meet Caesar. Caesar is a tall man, richly dressed, with black eyes that take in every detail. He carries himself with dignity and power and is very used to defending himself. He does not speak to the slave himself, but rather directs his own retainers to address him if so required. He presents the golden wreath with all the ceremony it is due.

3. Document your concept with reference material and original sketches. How did you capture your reference images? Create thumbnails and silhouettes. Compile these images into an art “bible” to help guide your vision.

Roman noble clothing:

Roman slave clothing: 

Depiction of what Julius Caesar may look like: 

Chariot racing:


The Circus Maximus: