kevin clow: artificial intelligence programmer level designer 3d modeler matthew vaughan: project...

26
Tank Battle 3D Team: Something Soft Kevin Clow & Matthew Vaughan

Upload: lynne-stewart

Post on 04-Jan-2016

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Tank Battle 3DTeam: Something Soft

Kevin Clow & Matthew Vaughan

Page 2: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Roles and ResponsibilitiesKevin Clow:• Artificial Intelligence Programmer• Level Designer• 3D modeler

Matthew Vaughan:• Project Manager• Graphical User Interface Programmer• Audio Programmer• 3D modeler

Page 3: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Tank Battle 3D!•3rd person tactical shooter with hover tanks

•Science fiction setting

•Enemy tanks, turrets, and mobile mines

•Player must fight through a maze full of enemies to reach the end goal

Page 4: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Gameplay Features• Mazes are dynamically created

• Multiple ammunition types

• Control tank using Xbox 360 controller or a keyboard

Page 5: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Target Market

• Players who enjoy

• 3rd person shooting games

• strategy style gameplay

• maze style maps

Page 6: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

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

Page 7: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

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!

Page 8: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Competition: Wii Tanks

Image courtesy ofmonstersandcritics.com

Page 9: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Competition: Wii Tanks

Similarities:• Different types of enemies

Tank Battle 3D has:• Dynamically created maze maps• Much larger maps• Pickups & Power-ups • More types of enemies• Difficulty setting

Page 10: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Competition: Crazy Tanks

Image courtesy ofitunes.apple.com

Page 11: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Competition: Crazy Tanks

Similarities:• Large maps• Pickups & Power-ups• Difficulty setting

Tank Battle 3D has:• Differing types of enemies• Dynamically created maze maps• More types of power-ups

Page 12: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Competition: Tank Recon 3D

Image courtesy ofitunes.apple.com

Page 13: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Competition: Tank Recon 3DSimilarities:

• Large maps• Pickups & Power-ups• Difficulty setting

Tank Battle 3D has:• Differing types of enemies• Dynamically created maze maps• More types of power-ups

Page 14: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

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

Page 15: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

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

Page 16: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Version Control• Google Code

• cloud storage

• Tortoise SVN (Subversion)• version control system

• WinMerge• manual file merging

Page 17: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Testing

• Testing occurred during each feature implementation

• Play testing using multiple subjects for feedback

Page 18: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

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

Page 19: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

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

Page 20: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

How we designed our maps

Example layout created with MS Paint

Layout of maze when generated within Unity

Page 21: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Artificial Intelligence

• Enemy tank

• Enemy turret

• Enemy mobile mine

• Group level behavior

Page 22: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

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.

Page 23: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Setting up for success• We have reached this point to better provide

for future implementations:

• more behavior states for the A.I.

Page 24: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

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

Page 25: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Demonstration

Page 26: Kevin Clow: Artificial Intelligence Programmer Level Designer 3D modeler Matthew Vaughan: Project Manager Graphical User Interface Programmer Audio Programmer

Q&A