190 likes | 336 Vues
This outline presents an analysis of the .Hype. Minigolf engine, detailing improvements made in key areas like rendering, physics, and user interface. Explore the historical context since its original release, understand core components, and discover advancements such as better lighting models and collision detection. Key issues like depth perception on nonplanar surfaces and the integration of an intuitive power bar for player feedback are also addressed. This document aims to provide a comprehensive overview for developers and enthusiasts seeking to enhance the gaming experience.
E N D
Hype Minigolf Natale Letizia IT-University of Copenhagen Engine Programming
Outline • Latest improvements • Original release overview • Core engine description • Screencasts • Conclusions
Last • Need for a better graphics – rendering issues • Impossible to perceive depth on nonplanar surfaces – need to define a different illumination setting • Gravity and slopes – physics • A ball with zero velocity on an inclined plane should roll down due to gravity • A power bar - GUI enhancements • Players need feedback for shooting
Overview of the engine • Core components • Rendering • Mathematics • Physics • Sound • DataBase • Graphical User Interface
Rendering • Improvements A different illumination setting • Ambient, diffuse and specular light set • Define a better shading model of the objects • Basics of the original • Camera and parameters setting (POV, translation, rotation)
Mathematics • Algebra, matrices and vectors operations • A vector structure is used such as to represent both vertices and vectors (norms, directions, forces, etc) • Basic operations supported, main: • Extract magnitude of a vector, or give me the square of it • Normalize a vector • Dot product • Cross product • Scaling (or vector per scalar product) • Translation (or vectors sum) • Difference between vectors
Physics • Improvements • Gravity parallel force • Basics of the original A simulation loop, which comprises the following Parts and features: • Euler integrator • Collision detection/response • Contact types
More onphysics • Eulerintegrator Basics step: • New velocity (target) = previousvelocity+(current force*(deltaT/mass)) • New position = previous position + (currentspeed*deltaT) • Collisiondetection/response • Find interpenetration • NO -> check ifcontact/collision (distance ball-plane) collisionif non restingcontact, prepare for response • YES -> reduce the deltaT of the integration step as the half of current time to target, • Contact types (basedon the coeff of restitution) • Walls bump • Betweentilesmovement
GUI – UIMS + HUD MFC menu + HUD
GUI • Improvements A power bar • Basics of the original • Microsoft MFC UIMS • On game HUD
Sound • Basic feedback Windows audio Success Collision
Database • Support for the operations • SELECT • SHOW • INSERT As to manage highscores, course loading, user profiles
Screencasts Let’s see the game on play!!
Conclusions • Further enhancements GUI: Improving usability Physics: Use RK4 (a more accurate integrator - but not as fast as Euler)