/
Ogre Golf Ogre Golf

Ogre Golf - PowerPoint Presentation

min-jolicoeur
min-jolicoeur . @min-jolicoeur
Follow
382 views
Uploaded On 2016-06-09

Ogre Golf - PPT Presentation

Members Zach Howard Clayton Snyder Jeff Ridenbaugh Dan Wagers Golf Party Game Minigolf on a large scale course Ninjas Robots Fire Hydrants Castles Warlocks etc Powerups Good lose strokes ID: 354157

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Ogre Golf" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Ogre Golf

Members:

Zach Howard

Clayton Snyder

Jeff

Ridenbaugh

Dan WagersSlide2

Golf Party GameMini-golf on a large scale courseNinjas, Robots, Fire Hydrants, Castles, Warlocks, etc.Powerups

Good – lose strokes

Bad - gain strokesParticle SystemWater hazards all around holeAlso small pond in the middlePlay against CPU or against friends16 total possible players

OgreGolf OverviewSlide3

OgreGolf Technical OverviewCreated with the Ogre Game Engine

Implemented using

GameState ClassesMainMenuState, CreditsState, TurnState, etc.Third Party Software

HydraxCaelumArtifex TerraToolKitsBullet physics EngineFMOD Sound ToolkitSlide4

EnvironmentThird Party Software

Caelum,

Hydrax, Artifex TerraFeatures:Trees, Sky, WaterStatic ObstaclesPaged GeometryCoverage Map for grass

Also acts as fairway/rough boundarySlide5

The GreenArtifex is bad since it isn’t precise enough for a hole

Modeled in Maya

Hole at the originCarved out terrain in ArtifexLots of back and forth between gameHole given particle effect to be visibleSlide6

Ogre Heads Up DisplayCreated using Ogre OverlaysScripted .overlay and .material files

Mini Map, Golfer Info, News Feed

ProblemsGetting it all lined upScaling meters to pixelsCoordinate systemTexturingSlide7

AI: If Then ElseSimple, but effective

Aims straight for hole

Probabilistic offsetAngle based on hole distanceUses close to appropriate power levelClamped based on terrainProbabilistic varianceNo obstacle detectionSlide8

PhysicsBullet Physics Engine Overview

Simulates real-world physics with rigid bodies

Light btOgre Wrapper (MotionStates)Links Ogre SceneNodes to Rigid BodiesTweak physical properties such as gravity, friction, restitution, etcSlide9

Physics in Ogre GolfBall, terrain, obstacles, etc, are all rigid bodies

Use

ApplyImpulse() to simulate striking the ball with a clubVary friction/restitution based on whether the ball is on the rough, fairway, or green, and whether the ball is bouncing or rollingSlide10

Obstacles

Obstacles are placed in the terrain editor provided by

Artifex

Made into rigid bodies and Ogre entities when loadedSlide11

Player ControlPlayer turn divided into phases, hit spacebar to advance to next phaseDirection phase – use mouse/keyboard to select direction and arc of the shot

Power phase – the arrow contracts/expands

Curvature phase – the arrow swings back and forth to simulate curvature of the shotOnce all inputs are locked in, the ball is hitSlide12

Player ControlControl varies, based on location of the ballFairway

High maximum power, medium amount of control

RoughMedium maximum power, low amount of controlGreenLow maximum power, high amount of controlObstaclesVery high maximum power, medium amount of controlSlide13

SoundSound levels adjusted in options menu, accessible from main menu or pause menu

Sound Effects

Sound on swing of clubSound on ball’s impact (different based on object hit)Volume dependent on force of impact“Wah-Wah-wahhh” sound on hitting the ball in the water or into a bad power-upMario “1-up” sound on hitting the ball into a good power-upSlide14

SoundAmbient soundWater sound

Based on how close player is to water

BirdsRandom bird sound played at random node above playerCrickets/RoosterCrickets play at night, Rooster plays when the sun comes upBackground MusicSlide15

GameplayGame ends when everyone has sunk their ball into the holeFinal strokes are recorded

Player standings are then displayed

Hit “done” to return to main menuSlide16

Game ModesOriginal idea:Single-player and Multi-player modes were separate, with only the single player mode including AI.

How it actually turned out:

Consolidation of the two modes and allowing up to 16 of both human and AI playersSlide17

Player AvatarsOriginal idea:Have a few different avatars for players to choose that allow them to distinguish each other

How it actually turned out:

Models with animations are expensive. Ninjas with psychic powers are cheap!Slide18

Mutators and PowerupsOriginal idea:

Lots of “power-ups” to mess with the other players,

mutators to change the game mechanicsHow it actually turned out:We have a few power-ups. “Good” power-ups remove a stroke, “bad” power-ups add a stroke.A robust mutator system probably would have taken too long to implement, and had too many variables to take into account.Slide19

ClubsOriginal idea:Simplified club inventory, with a driver, putter, and a variable-arc iron.

How it actually turned out:

We changed the system to instead use a single 3D arrow, which simplifies the system even further and gives the player a visual representation of his/her shot.Slide20

ObstaclesOriginal idea:Interactive obstacles such as fire breathing clowns, trolls, windmills, etc.

How it actually turned out:

Getting the physics engine working with static objects was an animal in and of itself. Animated objects would have taken another few weeks.Slide21

ScriptingOriginal idea:Do as much as we possibly can with scripting. Serialize everything, make an easy to use script binding framework.

How it actually turned out :

Scripting wasn’t fully implemented until Timebox 4, leaving us with an already-in-place game structure and little time to bind everything.Slide22

ManagersOriginal idea:Implement “managers” to handle game state, game objects, game logic

How it actually turned out :

Pretty well! Our managers act as factory objects and overseers of the objects they create.