-
Notifications
You must be signed in to change notification settings - Fork 0
TDD
Hardware
- Physical
- Graphics card with 1gb GDDR3 and capable of DirectX 9 or later
- Input Devices:
- Keyboard
- W, A, S, D (Up, Left, Down, Right)
- SPACE (Use thrusters)
- Left SHIFT, Right SHIFT (cycle weapons left, cycle weapons right)
- Mouse
- Move camera by moving the mouse
- Left Mouse Button (Fire weapon)
- Keyboard
Hardware abstraction layer
- Unity3D
- DirectX 9 graphics API
- FMOD sound API
- Scripting in C# will be used
User interface
- Unity's input handler will monitor input and call appropriate event
- A bar across the top of the screen will show how much power is left
- A start menu will be show at the beginning
- A brief help section and credits section will be included in title menu
Graphics engine
Unity 3D
- Game Engine Overview for J.U.N.I.O.R.
- Full 3D
- Adjustable viewpoint
- GUI interface or coding
- Uses JavaScript or C# for scripting purposes
- Full built-in terrain modeler
- Custom material editor
- Core architecture built using C/C++
- Various supported file types
- Exported: .FBX, .dae (Collada), .3DS, .dxf and .obj files (J.U.N.I.O.R. uses FBX pipeline)
- Proprietary: 3DS Max, Maya, Blender, Cinema4D, Modo, Lightwave & Cheetah3D files
- Advanced features
- Mecanim
- Enhanced control over character animation
- Mocap support
- Blend trees and state machines
- Material Handling
- Import materials from 3D packages for reuse
- Built-in shaders and custom shader support
- Shuriken Particle System
- World collision functionality for particle effects
- Curve editor for fine tuning
- Adjust gradient changes over time
- Asset Store
- Thousands of pre-built assets available online
- Mecanim
Sound and Music engine
- Function of sound
- Effects to enhance reality
- Ambience
- Clues about what to do
- Clues about what is about to happen (but be careful)
- Sets appropriate mood
- Enhances immersion
- Audio File Types
- Wave (high quality, memory intensive, fast)
- Used for quick sound effects
- Weapon sounds
- Item interactions
- Used for quick sound effects
- MP3 (high quality, compressed, slower)
- Supports 2 simultaneous channels
- Music tracks
- Background loops
- Voice overs
- AIFF (high quality, memory intensive, fast)
- Similar to Wave
- Supports metadata (i.e. album/track info and cover data)
- Ogg (high quality, compressed, slower)
- Similar to MP3
- Free, open source (no licensing required)
- Better at low bitrates (64 kbps) than MP3
- Supports up to 256 simultaneous channels\
- J.U.N.I.O.R. will use Wave for sound effects and MP3 for music
- Wave (high quality, memory intensive, fast)
- Special features
- Audio listener
- Acts similar to a microphone
- Usually placed at camera to receive environment sounds
- Audio source
- Plays back audio clips
- Can play 3D sound
- Reverb Zones, applies reverberation
- Audio listener
Configuration system
- Unity automatically adjusts demand based on player hardware
- Can adjust to player preferences
- Preferences can be saved
- J.U.N.I.O.R. will not require advanced adjustments
- Playable on most systems
Online help
The online help is based on wiki system in which changes and notifications can be easily changed to streamline errors correction, changes, and player tips. The online resource also includes a forum that players can help each other and exchange notes and will be heavily monitored by the development team. Online help sections:
- Legal Requirements
- Installation
- Movement and Controls
- Storyline / History
- Reference
- Updates and Error Corrections
- Player Tip
- Forum
Game Data
Scenes include the following:
- Loading Screen
- Main Menu
- Load Saved Game Screen
- Credits Screen
- Start New Game Screen
- Are You Sure You Want to Quit Screen
- Level One Scene
- Level Two Scene
- Level Three Through Four are in the Same Scene
- You Have Destroyed Scene
- You Have Won Scene
Objects include the following:
- Loading Screen Background Image
- Loading Progress Bar
- Main Menu Background Image
- Start New Game Button
- Load Saved Game Button
- Help Button (Launches Online Help)
- Quit Button
- Credits Button
- List of Saved Games
- Load Game Button
- Return to Main Manu Button
- Credits Screen Image
- Start Game Screen Image
- Cut Scene into Level One
Objects:
- Level One Terrain
- JUNIOR Hero Robot
- Rocks
- Cave Entrance
- Skybox
- Creators
- Energy Creates (Health)
- Empty Creates
- Practice Targets
- Anti-matter Cell
- Lightning Power-Up
- Lightning
- Laser Cannon
- Pulse Cannon
- Dr. Sinister
- Super Machine
- Cannon Disc
- Energy Meter (HUD)
- Current Score (HUD)
- Weapon Selection (HUD)
- Dr. Sinister’s Ship
- Junior’s Ship
- Laser Cannon Power-Up
- Ion Cannon Power-Up
- Blaster Weapon
- Lightning Weapon
- Ion Weapon
- Blaster Bot
- Fire Bot
- Heavy Laser Bot
- Alien Bush
- Alien Tree
- Static Light Post
- Level Two Cave
- Level Two Platform 1
- Level Two Platform 2 (Moving)
- Level Three Cave
Audio Objects:
- Level One Theme Music
- Level Two Theme Music
- Level Three Theme Music
- Blowing Wind
- Hail
- Rain
- Thunderstorms
- Button Click Sound
- Blaster Sound
- Lightning Weapon Sound
- Fire Sound
- Eerie Music
- Bot Sound 1
- Bot Sound 2
- Bot Sound 3
- Footsteps
- Shield Power
- Thrust Power
- Dr. Sinister Suspense Music
- Exploding Sound 1
- Exploding Sound 2
- Exploding Sound 3
Event handler
Audio events are handled in only a few ways. Entering a scene will induce that scenes theme music. Eerie Music will be played when no other music is played at randomly spaced out intervals. Weapon audio will be played what the appropriate weapon is used, and this includes shields and thrusters. Enemy bots will make random sounds as well as sounds as when the bot moves, uses weapons, and explodes. The click sound will be used when clicking on buttons in the menus and when Junior switches weapons.
Enemy bot event handing will be very basic. The bots will roam around in a predefined area and will use the terrain mesh collider to stay on the terrain. If the player gets within the range of a bot it will fire upon the player. If the player shoots at a bot the bot will get within range and shoot at the player. If a shoot from a bot destroys the player the bot will do a victory dance. If the player destroys a bot the bot will start a death animation and then die adding a point to the player.
The player roams around using the keys and mouse, and will collide with in game objects. The player interacts with the ground terrain collider allowing it not to fall through the ground. When shields, thrusters, or weapons are used the energy is removed from the player and is reflected in the HUD. If the player is destroyed the points, energy, shields, and position is reset and the death animation is played.
Logic engine
- Game Logic
- Based on Open Source .NET platform, Mono.
- Mono
- Allows users to create crossplatform applications:
- Examples: PC, Windows, Mac Windows, Linux, Sony PS3, WII.
- Based on Microsoft.net framework, language C#
- Allows for runtime implementations.
- Mono Runtime
- Provides Just in Time (JIT)Compiler:
- This compiler improves runtime performance
- Ahead of time (AOT) compiler:
- Improves compiler performance by completing the execution prior rather than during such as JIT compiler.
- Scripting and embedding
- Allows Mono runtime to script your applications by embedding it in other applications.
Physics engine
- Unity 3D has a built in 3D physics Engine.
- NVIDIA PHYSX Physics.
- Interactive Cloths
- Assist with creating J.U.N.I.O.R. and supporting characters costumes.
- Costumes blend in with environment.
- SkinnedCloth
- Interacts with SkinnedMeshRenderer to simulate clothing on characters.
- Assist with creating life like J.U.N.I.O.R. Life like characters.
- RigidBodies
- Assist with characters interacting to physics to create life like movements
- Joints
- Allow for emergent gameplay.
Program structure
-
Initialization
- Loading
- Once the game is started:
- Intro video will be played
- Intro video can be bypassed
- Game will take you to player menu
- Once the game is started:
- Intro
- Intro video will be played to introduce the game and the games main Character: J.U.N.I.O.R
- Configuration
- User will be allowed to set up keyboard Configuration.
- Allow for user to be able to change keys for whatever they desire
- Example:
- W- Moves forward, but can be changed to any other key the user desires
- Example:
- Settings
- Once clicked will take you to different menu
- Allow for game tutorial
- Allow for input device changes
- Loading
-
Game Loop
- Handle Input
- Handle Game Actions
- Display
-
Finalization
- Saving
- Trailer
- Game trailer will be released via YouTube and other Social Media circles in order to get J.U.N.I.O.R. out there for other users to view and experience
- e is to attract a vast diverse audience
Timing
- an average 60 fps for machines with recommended specs.
- For older machines, Unity is set up to adjust graphics to speed the game up and prevent lagging
- Processing Events
- Player
- When input is detected the corresponding event will be fired on the next frame
- a machine with lower specs. may slow down during processing, adjusting graphics may help
- Enemies
- Enemies will be driven by AI
- Player
- Drawing
- Unity handles the drawing unless we bypass it's rendering pipeline
- If the graphic isn't where the camera is looking then Unity will not render it
Home | Art Assets List | Audio Asset List | GDD | Pitch Document | TDD | Team Charter | Test Plan