Tech
Game Technical Architecture Architecture Overview Game Scene 3D Rendering Game GUI 2D Rendering Special Visual Effects Attributes Based AI System Challenges
Architecture Overview
Architecture Overview 3D game development is hard Higher expectation More involved dependencies Design size = N 2D implementation takes N2 3D implementation takes N3
Architecture Overview Project Scale: 5584 lines of programming using C#.Net Character.cs 998 Lines Landscape.cs 719 Lines UIManager.cs 464 Lines GameModel.cs 462 Lines BootHillArena.cs 387 Lines Input.cs 362 Lines PhysicsHandler.cs 223 Lines WeaponSlide.cs 242 LInes Weapon.cs 132 Lines Bullet.cs 59 Lines BHAUtilities.cs 33 Lines Program.cs 17 Lines Camera.cs 1136 (800 Original Code) Graphics.cs 314 (Oringinal)
Game Scene 3D Rendering Multiple layers of game architecture design Using XNA game design pattern, classes from different layers communicate through consistent function calls Update() and Draw() (aka Render() ) E.g. Top Layer BootHillArena class manipulates game components of the subsequent layers Landscape, Camera, UIManager, Input, etc.
Game Scene 3D Rendering Landscape Class implements game scene Uses three phases as game flow control so that to make the game players in different level with different challenge Free Draw Shoot Free … Rounds of game with recovery and supply between duels make the game complete Player and opponent conditions are manipulated by Landscape too
Game GUI 2D Rendering Adhere with usability of UI design principles Rich Interaction with the environment Plenty of Game Cue for first time player to get familiar with the game quickly Screen tips Models: audience, arena settings Help menu Instant Feedback for all actions Player never feel to be suspended by not knowing what to do in the game
Special Visual Effects Camera Shaking Depends on the concentration of the player More focused, less trembling, more accurate Trying to simulate the trembling from the player, but rather not making the screen jittering Zooming Player finds zooming in helps aiming Slow in – fast out: concentration used up Physics Engine Adopted a free physics engine: BulletX For enhanced immersive game experience
Attributes-Based AI System Goal of BHA AI System Give player escalated game play experience Simulates challenge when played with real person E.g.: If player didn’t draw quickly, your opponent draw Fine-tuned attributes that makes the duel intense but not rush
Attributes-Based AI System Explicitly displayed attributes fulfilling features in game concept design: Health, Concentration, Bullet Left, Ammunition, Health Package, Affiliation, Rank, Name, etc.
Attributes-Based AI System Behind-the-Scene attributes implemented Goal of AI System: Character attributes that differ from opponents Affects drawing and shooting during the duel accuracy shooting skill weapon power firing speed reaction agility
Challenges Texture Mapping Collision Detection Physics Effects Time Constraint
Now We Are Going Back
Potential Future Expansion Extended game story to implement More options A selection of weapons with upgrade Choices for player character attributes and opponents attributes Multiple tasks along with new training process as the learning curve for player as the career path to help the player grow character with increased skills and upgraded gears for an extensive game experience.