- pirate airship (bloater/cutter)
- order tower (with a few modifications)
- order turret
- terrain and model textures
- custom skybox
So as a quick re-design process, I started with redoing the layout of the game. Since full 3D was not working for me, I decided to make the new game as "faux" 3d, so the player will only be able to move in two dimensions, not three. For this, I decided to make a heightmap of the level to import into Unity.
Markers were added to the heightmap to show the flow of the game:
The updated asset list now looks like this:
Game Object Asset List
|
||
High priority
|
Mid priority
|
Low priority
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We also have to create a texture list so here it is:
Game Texture Asset List
|
||
High priority
|
Mid priority
|
Low priority
|
Cutter:
|
Skybox:
|
Sunflares
|
- sailcloth
(balloon)
|
-
skybox textures
|
|
-
rigging
(rope)
|
-
clouds for
skybox
|
Water texture
|
-
balloon
trim (copper)
|
|
|
-
boat
planking/deck
|
Bullet texture
|
Background animation
textures (birds, etc)
|
-
boat
trim
|
|
|
-
fins
|
Terrain:
|
|
|
-
rock (x 3)
|
|
Order tower:
|
|
|
-
roof tiles
|
Pickup item texture
|
|
-
bricks
|
|
|
-
piping
|
|
|
-
vents
|
|
|
-
supports/fencing/floor
|
|
|
|
|
|
Order turret:
|
|
|
-
sailcloth with
cog (balloon)
|
|
|
-
rigging (rope)
|
|
|
-
gun barrel
|
|
|
-
gun body
|
|
|
|
|
|
After that I imported the heightmap into Unity and started smoothing it to make the terrain I wanted. The import worked well, though was a little high, so I lowered it significantly. It made a good rugged, clifflike terrain, so now the player is flying through the "Cliffs of Despair" to get to the tower.
The custom skybox was then added and ended up looking reasonable. The skybox is essentially a gradient blue square large resolution picture, which was divided using a program called Cube the Sphere. After it was imported to Unity I then took the individual section images and added some clouds that I created in Photoshop. I probably could have done some more work on the clouds, but I was happy with the end result.
With the terrain after I had painted on the textures, I used the free version of Unity water to place over the base, to give the illusion of depth. The free water is not awesome, but it does the job.
I then added the structures I needed - the tower, the cutter (airship), and the turrets.
After that I started working on the code I needed. After a bit of research I ended up using a character controller for the airship, as it is quite simple and stable. The airship was soon happily zooming about my terrain. At that point I discovered a small issue: the airship, moving on two dimensions only, could not access the top of the tower in order to get the pickup object.
I took the tower back to 3DS Max and made a ramp to reach the top of the tower using lofting. I then cut out a portion of the platform so the airship could travel through it, textured it again, and reimported the tower with the ramp to Unity.
After testing it, the airship can now fly quite happily up the ramp to the top of the tower.
I then created an end point for the ship to fly back to after picking up the treasure. This was essentially a non-rendered plane with an image of the pirate logo to return to, setting off a trigger event to load the game over screen.
I then started working on code for the ship to be able to pick up the treasure, be affected by turret bullets, etc. At this point I started having issues with the ship as the character controller has conflicts with collisions and triggers, etc. I spent a fair amount of time working out some resolutions including OnControllerColliderHit (which didn't work), using layers (which didn't work), removing the character controller and reverting to normal movement with a rigidbody for the airship (which didn't work and added additional problems so I removed it again), using separate collision boxes for the end point and the tip of the cutter (which didn't work).
At this point I gave up on getting that to work and went back to adding some effects to the game. I added particle effects to the vents on the tower and one to the treasure pickup item. I had wanted to make the pickup particle effect turn off when it was picked up, but that didn't happen as the trigger event didn't happen. I also added a render fog effect, so now the terrain doesn't look quite so stark.
The final updates I made to the game was getting the UI working using the new Unity UI options. This worked perfectly first go, so I was pretty happy with that. I used the clouds I'd created as a background, made some fancy text, set up the buttons and imported a nice font to Unity for the button text, and away it went.
I did one build and realised that, since trigger events weren't working, I had no way to exit the play screen. So I added another button to go back to Start.
After that, I had to rush into class to get the game handed in on time. At this point the game had working UI, a level, and a moving player, but no interactions due to the difficulties I mentioned above. So essentially a not fully functional game, which I was disappointed about, but I think I didn't do too badly given I pretty much did it all the night and day of handing it in.
Things I would add to/ fix in the game:
- an "about" page to explain the story behind it
- get the triggers working so health was affected, turrets shot properly, pickup could be picked up, and end point could be reached
- add audio (there is none in the game at present)
- animate the UI (moving cogs)
No comments:
Post a Comment