Tank Battle 3D
description
Transcript of Tank Battle 3D
Tank Battle 3DTeam: Something Soft
Kevin Clow & Matthew Vaughan
Roles and ResponsibilitiesKevin Clow:• Artificial Intelligence Programmer• Physics Programmer• 3D modeler
Matthew Vaughan:• Project Manager• GUI Programmer• Audio Engineer/Programmer• 3D modeler
Gameplay Features• Dynamically generated, maze style maps• 3D, 3rd person gameplay with hovering
tanks• Multiple ammunition types at player’s
disposal• Point system for added replay value• Control tank using Xbox 360 controller or a
keyboard
Target Market• Players who enjoy
• 3rd person shooting games
• strategy style gameplay
• maze style maps
Marketing• Free and low-cost advertising
• dedicated website for player’s to view, comment on, and download the game• domain will be through GoDaddy.com• links to social websites on game website
• social networking websites• Facebook, Twitter, Google+, etc.• be able to reach about one billion people
Competition• Introducing our competitors
• Wii Tanks for the Nintendo Wii
• Crazy Tanks for mobile devices
• Tank Recon 3D for mobile devices
We aren’t the only ones to think of this!
Competition: Wii Tanks
Image courtesy ofmonstersandcritics.com
Competition: Wii TanksSimilarities:
• Different types of enemies• Point system
Tank Battle 3D has:• Dynamically created maze maps• Much larger maps• Pickups & Power-ups • More types of enemies• Difficulty setting
Competition: Crazy Tanks
Image courtesy ofitunes.apple.com
Competition: Crazy TanksSimilarities:
• Large maps• Pickups & Power-ups• Point system• Difficulty setting
Tank Battle 3D has:• Differing types of enemies• Dynamically created maze maps• More types of power-ups
Competition: Tank Recon 3D
Image courtesy ofitunes.apple.com
Competition: Tank Recon 3DSimilarities:
• Large maps• Pickups & Power-ups• Point system• Difficulty setting
Tank Battle 3D has:• Differing types of enemies• Dynamically created maze maps• More types of power-ups
Development Methodology• Core development is done in parallel
• Kevin works on A.I., Matthew works on menu• A.I. and menu system integrated together
• Unity game engine (free version)• C# used for script development
• Most art assets are created using Blender• some projectiles created within Unity
Development Methodology cont.• Iterative Use Case Driven Development
• 23 cases total• 2 - 3 life cycles for each case• requirements • development • testing
• Weekly Updates• Senior project instructor: Professor Duncan• Technical advisor: Professor Bahrt
Version Control• Google Code
• cloud storage
• Tortoise SVN (Subversion)• version control system
• WinMerge• manual file merging
Testing
• Testing occurred during each feature implementation
• Play testing using multiple subjects for feedback
Unity!• Compared to Unreal Engine 3, Unity gave
us:• ability to layer objects for collision
• on the fly variable changes using the Inspector
• on the fly compilation when executed in the editor
• rapid implementation of the game
Graphical User Interface• Link menu system to empty Game Object
• developed using Unity’s stock GUI system
• switch between menus using a delegate • a data type that references a method• behaves like method once assigned one
• HUD (Heads Up Display)• also uses Unity stock GUI system• textures used for health & power-up meters
and for ammo and power-up type icons
How we designed our maps
Example layout created with MS Paint
Layout of maze when generated within Unity
Artificial Intelligence
• Enemy tank
• Enemy turret
• Enemy mobile mine
• Group level behavior
Procedural Maze Generation• Given the dimensions of the space, structure
of existing rooms, the start point, and end points.
• Based on available space from unconnected Doors to edges determine all possible rooms to place
• Remove rooms from possible rooms that conflict with others
• Select room from possible rooms.• Create, and place selected room.
Lessons Learned• Developing the game using C++ and DirectX
• integration• knowledge
• Procedural Room Generation
• Explosion SFX• one reference script for each explosion
• We overcame each other’s differences
Demonstration
Q&A