310 likes | 418 Vues
This presentation outlines the development of the Karo Engine and its front-end, integrating powerful algorithms such as MinMax and Zobrist hashing with a focus on low memory usage and fast evaluations. Key challenges addressed include bugs in the algorithm, memory leak issues, and design misunderstandings. The project involved two human players and features static evaluation functions, communication protocols, and an interactive demo. A detailed breakdown of the development process, architecture, and solutions provides a comprehensive overview of the Karo project.
E N D
Group B Maciek, Ewout, Marvin and Wim
Table of the presentation • Karo Engine • KaroFront-End • YASTG
Basic Concept • According to requirements • No multi-threading • Powerfulevaluationfunction • Fast • Lowmemoryusage
Importantaspects • MinMaxdepth • Number of killermoves and terms of replacement • Size of hashtable • Method of storing data
Project Growth • Design • Twohumanplayersgame • Staticevaluationfunction • MinMax – Alpha Beta – Moveordering – KillerHeuristic – TranspositionTable – ZorbistHashing • Rulesfixing, bugfixing and communication
Problems and Solutions • Communicationprotocol • Algorithmbugs: • Problem withzorbisthashing • Problemswithmemoryleaks • Problemswithrules • Design mistakes • Misunderstandings
Demo Time to seeitin action ;)
Work • Ewout: main structure, communication • Wim: Transposition Table, Zorbist hashing, rules, main structure • Marvin: Zorbist hashing, Transposition Table • Maciek: engine’s algorithms, static evaluation function, rules
Table of contents • Image of the GUI • Architecture • Class Diagram • Problems • WorkStructure • Demonstration
Architecture • XNA Components • XNA Services • FactoryPattern
Class Diagram http://karowiki.marvinkauw.nl/images/c/c9/KaroFrontend.png
Problems • VertexBuffersGrid • Communication
WorkStructure • Maciek: Architecture, Communication, Environment. • Ewout: Architecture, Communication, Raytracing, Board Render. • Marvin: Architecture, Menu, Sounds • Wim: Architecture, Camera
YASTG Yet anothershitty tilescrolling game!!
Table of contents • Developmentprocess • Design • Problems and Solutions • Final result (DEMO)
Development process • Who did what ? • How did we work ? • Use review as input for design • Write code based on the design the next week • And change design while building the game
Table of contents • Developmentprocess • Design • Problems and Solutions • Final result (DEMO)
Table of contents • Developmentprocess • Design • Problems and Solutions • Final result (DEMO)
Problems and Solutions • Performance • Collision • a fighting Marvin and Ewout
Table of contents • Developmentprocess • Design • Problems and Solutions • Final result (DEMO)
Questions? • Karo Engine? • Karo Front End? • YASTG?