A Language for Game Design and Coreography

Total Page:16

File Type:pdf, Size:1020Kb

A Language for Game Design and Coreography Masters in Informatics Engineering Thesis/Internship Final Report A Language for Game Design and Coreography Nuno Barreto [email protected] Professor Adviser: Licínio Roque Date: July 3rd of 2013 A Language for Game Design and Choreography Abstract This final report details a proposal approach to model concurrent actors’ behaviors and choreographies in the context of video games and simulations, using Petri Nets as a base for its modeling language. Petri Nets have already been used to model some video-game aspects such as game design because they provide a simple and easy way to learn to model interactive systems as well as a means of model validation, through simulation. This proposal is complemented by an architectural conceptualization that allows the run- time editing of said language, alongside its execution on a pre-existing game engine. As such, it involves a visual editor application, a Petri Net simulation/execution mechanism and an interoperable communication structure that permits linking the editor, and execution module, with an arbitrary game, or simulation, engine. To validate this proposal, a proof of concept game prototype and usability tests were conducted issuing positive results. Keywords “Complex Systems” “Behavior Modeling” “Game Design” “Simulation” “Software Architecture” “Petri Nets” “Visual Language” i A Language for Game Design and Choreography Table of Tables Table 1 SDL Specs .............................................................................................................................. 3 Table 2 XNA Specs ............................................................................................................................. 3 Table 3 Flash Specs ............................................................................................................................. 4 Table 4 HTML5 Specs ........................................................................................................................ 5 Table 5 Scratch Specs .......................................................................................................................... 5 Table 6 Havok Behavior Specs .......................................................................................................... 6 Table 7 Box2D Specs .......................................................................................................................... 6 Table 8 AgentSheets Specs ................................................................................................................. 7 Table 9 ToonTalk Specs ..................................................................................................................... 7 Table 10 UDK Specs ........................................................................................................................... 8 Table 11 Ogre Specs ............................................................................................................................ 9 Table 12 Flixel Specs ........................................................................................................................... 9 Table 13 Unity Specs ......................................................................................................................... 10 Table 14 CryEngine Specs ................................................................................................................ 11 Table 15 RPG Maker XP Specs ....................................................................................................... 11 Table 16 Kodu Specs ........................................................................................................................ 12 Table 17 Stencyl Specs ...................................................................................................................... 12 Table 18 Little Big Planet level editor Specs .................................................................................. 13 Table 19 Petri Net Editor Comparison .......................................................................................... 19 Table 20 MMO Architecture comparison ...................................................................................... 22 Table 21 Network Middleware comparison .................................................................................. 23 Table 22 Language Grammar ........................................................................................................... 29 Table 23 Average Resource Usage per Test Scenario .................................................................. 60 Table 24 Demographic information of the test subjects ............................................................. 78 Table 25 Time per Task per User .................................................................................................... 78 Table 26 Difficulty per Task per User ............................................................................................ 79 ii A Language for Game Design and Choreography Table of Figures Figure 1 A simple Petri Net ............................................................................................................. 17 Figure 2 Design Science Research steps ......................................................................................... 24 Figure 3 Project Timeline ................................................................................................................. 25 Figure 4 Prototype Iterations ........................................................................................................... 26 Figure 5 Project's Milestones ........................................................................................................... 27 Figure 6 Effective Work Schedule .................................................................................................. 28 Figure 7 Representation of a Game Model according to the language’s spectification .......... 30 Figure 8 Mockup of the petri net editor's GUI ............................................................................. 31 Figure 9 Communication among Editor components ................................................................. 32 Figure 10 Petri Net Editor Class Diagram. .................................................................................... 33 Figure 11 Petri Net Engine Architecture Diagram ....................................................................... 34 Figure 12 Petri Net Engine Class Diagram .................................................................................... 35 Figure 13 Communication between Animator and Petri Net Engine ....................................... 36 Figure 14 Communication between Game Context and Petri Net Engine .............................. 36 Figure 15 Communication between Input and Petri Net Engine .............................................. 37 Figure 16 Communication between Pathfinder and Petri Net Engine ...................................... 37 Figure 17 Communication between Renderer and Petri Net Engine ........................................ 38 Figure 18 Communication between Sound and Petri Net Engine ............................................. 38 Figure 19 Deployment Diagram of the Architecture ................................................................... 40 Figure 20 Static Perspective on the Architecture of the Application. ........................................ 40 Figure 21 Messages' XML syntax in XSD ...................................................................................... 41 Figure 22 The system in a P2P environment ................................................................................. 42 Figure 23 The system in a client/server environment .................................................................. 42 Figure 24 System startup sequence diagram .................................................................................. 43 Figure 25 Sending a token from Unity to Input Place sequence diagram ................................. 44 Figure 26 Sending a token from Output Place to Input Place sequence diagram ................... 44 Figure 27 Invoking a script in Unity sequence diagram ............................................................... 45 Figure 28 Update the editor with available channels/scripts sequence diagram ...................... 46 Figure 29 Orphibs screenshot .......................................................................................................... 47 Figure 30 Orphibs' behavior model during the simulation’s execution ..................................... 47 iii A Language for Game Design and Choreography Figure 31 Screenshot of the test game “Spheres of Steel” as created by one of the subjects 52 Figure 32 Total Time per User ........................................................................................................ 53 Figure 33 Average Duration per Task ............................................................................................ 53 Figure 34 Average Difficulty per User ............................................................................................ 54 Figure 35 Average Difficulty per Task............................................................................................ 54 Figure 36 Frequency of issue types ................................................................................................. 55 Figure 37 Issue Frequency by Task ................................................................................................
Recommended publications
  • Vysoke´Ucˇenítechnicke´V Brneˇ
    VYSOKE´ UCˇ ENI´ TECHNICKE´ V BRNEˇ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMACˇ NI´CH TECHNOLOGII´ U´ STAV POCˇ ´ITACˇ OVE´ GRAFIKY A MULTIME´ DII´ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND MULTIMEDIA GAME FOR TEACHING VERY BASIC PROGRAMMING BAKALA´ Rˇ SKA´ PRA´ CE BACHELOR’S THESIS AUTOR PRA´ CE MARTIN RONCˇ KA AUTHOR BRNO 2015 VYSOKE´ UCˇ ENI´ TECHNICKE´ V BRNEˇ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMACˇ NI´CH TECHNOLOGII´ U´ STAV POCˇ ´ITACˇ OVE´ GRAFIKY A MULTIME´ DII´ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND MULTIMEDIA HRA PRO VY´ UKU U´ PLNY´ CH ZA´ KLADU˚ PROGRAMOVA´ NI´ GAME FOR TEACHING VERY BASIC PROGRAMMING BAKALA´ Rˇ SKA´ PRA´ CE BACHELOR’S THESIS AUTOR PRA´ CE MARTIN RONCˇ KA AUTHOR VEDOUCI´ PRA´ CE doc. Ing. ADAM HEROUT, Ph.D. SUPERVISOR BRNO 2015 Abstrakt Hlavním cílem této práce je vytvoøení hry pro výuku úplných základù programování. První èást této práce se zabývá studiem a analýzou souèasných her pro výuku programovaní a soudobých principù užívaných ve výukových hrách. Na toto navazuje návrh a implemen- tace rozhraní pro vizuální programování v Unity3d a následná integrace tohoto rozhraní do jednoduché hry, která bude splňovat principy sepsané v první èásti této práce. Výsledek práce je poté vyhodnocen jak z hlediska technického tak uživatelského, s cílem zjistit efek- tivitu rozhraní pro vizuální programování a hry samotné jako nástroje pro pøedstavení programování. Abstract The main goal of this thesis is to create a game for teaching very basic programming. An analysis of current programming education games and education principles takes up the first part of this thesis.
    [Show full text]
  • I Pengembangan Game Edukasi Matematika Berbasis Guided Inquiry Pada Materi Segiempat Dan Segitiga Sebagai Media Pembelajaran Untuk Siswa SMP Kelas VII A
    PENGEMBANGAN GAME RPG (ROLE PLAY GAME) SEBAGAI MEDIA PENGEMBANGAN GAME RPG (ROLE PLAY GAME) SEBAGAI MEDIA PEMBELAJARAN BERBASIS GUIDED INQUIRY PADA MATERI PEMBELAJARAN BERBASIS GUIDED INQUIRY PADA MATERI SEGIEMPAT DAN SEGITIGA UNTUK SISWA SMP KELAS VII SEGIEMPAT DAN SEGITIGA UNTUK SISWA SMP KELAS VII UDUL SKRIPSI Oleh: Ahmad Akrom Nur Fuqoha 11313244018 Diajukan kepada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Yogyakarta Untuk Memenuhi Sebagian Persyaratan guna Memperoleh Gelar Sarjana ABSTRAK Pendidikan Penelitian ini bertujuan untuk mendeskripsikan pengembangan media pembelajaran berupa game edukasi berbasis guided inquiry pada materi segiempat dan segitiga untuk siswa kelas VII SMP, dan untuk mengevaluasi kualitas media pembelajaran yang dikembangkan dalam hal kevalidan, kepraktisan, dan keefektifan. Pengembangan produk mengacu pada model pengembangan ADDIE yang terdiri dari tahap analysis, design, development, implementation, dan evaluation. Media pembelajaran yang dikembangkan diujicobakan kepada 30 siswa kelas VII B di SMP Negeri 4 Purbalingga. Penilaian instrumen yang digunakan, berupa lembar penilaian kevalidan game, angket respon siswa dan guru terhadap kepraktisan media pembelajaran, tes hasil belajar, dan lembar observasi. Kualitas media pembelajaran yang dikembangkan dalam hal kevalidan baik, berdasarkan data yang dikumpulkan bahwa game edukasi memperoleh skor rata-rata 4.17 dari maksimal skor 5.00. Dalam hal kepraktisan, dikategorikan sangat baik berdasarkan respon siswa dan guru terhadap angket memperoleh
    [Show full text]
  • Luminosity | a Re-Imagining of Twilight | by Alicorn
    Luminosity by Alicorn You don't have to make a hundred mistakes for everything to disintegrate around you. One will do. One wrong risk, one misplaced trust, one careless guess is enough to destroy the one thing you can least afford to lose. But I'd never had any reason to imagine that my disaster would befall me at the time when I was most unexpectedly safe. pg. 1 1. Forks 2. The Cullens 3. The Reveal 4. Matchmaking 5. Vampires 101 6. Edward 7. Souls 8. The Future 9. Witches and Werewolves 10. Coven 11. Volterra 12. Norway 13. Newborn 14. Self-Control 15. Honeymoon 16. Ambition 17. Rachel 18. Clearwater 19. Denali 20. Europe 21. Hybrid 22. Maggie 23. Sue 24. Delivery 25. Expectations 26. Little Witch 27. Scatter 28. Ashes 29. Things Left Behind pg. 2 Forks Here is how I decided to live with my father in Washington. My favorite three questions are, What do I want?, What do I have?, and How can I best use the latter to get the former? Actually, I'm also fond of What kind of person am I?, but that one isn't often directly relevant to decision making on a day-to-day basis. What did I want? I wanted my mother, Renée, to be happy. She was the most important person to me, bar none. I also wanted her around, but when I honestly evaluated my priorities, it was more important that she be happy. If, implausibly, I had to choose between Renée being happy on Mars, and Renée being miserable living with me as she always had - I wouldn't be thrilled about it.
    [Show full text]
  • Michał Domański Curriculum Vitae / Portfolio
    Michał Domański Curriculum Vitae / Portfolio date of birth: 09-03-1986 e-mail: [email protected] address: ul. Kabacki Dukt 8/141 tel. +48 608 629 046 02-798 Warsaw Skype: rein4ce Poland I am fascinated by the world of science, programming, I love experimenting with the latest technologies, I have a great interest in virtual reality, robotics and military. Most of all I value the pursuit of professionalism, continuous education and expanding one's skill set. Education 2009 - till now Polish Japanese Institute of Information Technology Computer Science - undergraduate studies, currently 4th semester 2004 - 2009 Cracow University of Technology Master of Science in Architecture and Urbanism - graduated 2000 - 2004 Romuald Traugutt High School in Częstochowa mathematics, physics, computer-science profile Skills Advanced level Average level Software C++ (10 years), MFC Java, J2ME Windows 98, XP, Windows 7 C# .NET 3.5 (3 years) DirectX, MDX SketchUP OpenGL BASCOM AutoCAD Actionscript/Flex MS SQL, Oracle Visual Studio 2008, MSVC 6.0 WPF Eclipse HTML/CSS Flex Builder Photoshop CS2 Addtional skills: Good understanding of design patterns and ability to work with complex projects Strong problem solving skills Excellent work organisation and teamwork coordination Eagerness to learn any new technology Languages: Polish, English (proficiency), German (basic) Ever since I can remember my interests lied in computers. Through many years of self-education and studying many projects I have gained insight and experience in designing and programming professional level software. I did an extensive research in the game programming domain, analyzing game engines such as Quake, Half-Life and Source Engine, through which I have learned how to structure and develop efficient systems while implementing best industry-standard practices.
    [Show full text]
  • Mymwiki Documentation Release 0.0.1
    MyMWiki Documentation Release 0.0.1 MyM Community Sep 25, 2021 Contents 1 MineYourMind 3 2 F.A.Q. 7 3 KnowledgeBase 13 4 Performance Guide 41 5 Modpacks/Servers 55 6 Server IP’s 167 7 Automatic Farmworld Resets 175 8 Launcher 179 9 Credits 185 10 Indices and tables 187 i ii MyMWiki Documentation, Release 0.0.1 Contents: Contents 1 MyMWiki Documentation, Release 0.0.1 2 Contents CHAPTER 1 MineYourMind 1.1 Introduction MineYourMind is a modded Minecraft server network founded in early 2012. Hosting all major and up to date modpacks which are suitable for a big multiplayer experience. Over the years a lot of experience and custom solutions (mods, plugins) have been developed. The servers are monitored and hosted on multiple state of the art dedicated servers optimized for Minecraft. With dedication over years we have built the probably biggest heavily modded Minecraft server network, based on a friendly and helpful community including many long-time players. 1.2 What we stand for • Good Stability, Uptime and Performance • Working (Grief) Protection • Friendly Community and Staff-Team • Natural Modpack Experience • Major and latest Modpacks • Around for Years 1.3 Performance and Stability We know how much people rely on our servers. This is why staff do their best maintaining the network to keep downtime and lag to a minimum. As our main focus is a lag-free and reliable gaming experience we build many fixes and monitoring tools such as AE2 profiler which does announce the worst performing systems on the server. 3 MyMWiki Documentation, Release 0.0.1 We also monitor all servers live and get barked at by our Watchdog when something goes terribly wrong.
    [Show full text]
  • Jak Videohry Vyprávějí Příběhy Analýza Aktuálních Klíčových Videoher Hlavního Proudu
    Masarykova univerzita Filozofická fakulta Ústav hudební vědy Teorie interaktivních médií Bc. Jaroslav Kolář Magisterská diplomová práce Jak videohry vyprávějí příběhy Analýza aktuálních klíčových videoher hlavního proudu Vedoucí práce: Mgr. Zuzana Husárová, Ph.D. 2013 1 2 Čestné prohlášení Prohlašuji, že jsem práci vypracoval samostatně. Všechny prameny a literaturu, které jsem při vypracování používal, v práci řádně uvádím. V Brně, 4. ledna 2013 3 Narativní potenciál videoher byl na konci 20. století podceňován nebo zcela přehlížen. Vzhledem k rychlému vývoji na poli videoher je nutné přezkoumat aktuální situaci. Objektem této práce jsou klíčové videohry hlavního proudu vydané mezi lety 2010-2012. Podrobným vnímáním ludické a narativní podstaty vybraných videoher hledá tato práce odpověď na otázku „Jakým způsobem videohry vyprávějí příběhy?“ a to z perspektivy nahlížení na příběhy jako na transmediální fenomény. 4 První kapitola – Úvod ............................................................................................................................. 7 Cíl této práce ....................................................................................................................................... 9 Jak budu postupovat ............................................................................................................................ 9 Druhá kapitola – Uvedení do problematiky .......................................................................................... 10 Sjednocení důležitých pojmů ...........................................................................................................
    [Show full text]
  • The Search for the "Manchurian Candidate" the Cia and Mind Control
    THE SEARCH FOR THE "MANCHURIAN CANDIDATE" THE CIA AND MIND CONTROL John Marks Allen Lane Allen Lane Penguin Books Ltd 17 Grosvenor Gardens London SW1 OBD First published in the U.S.A. by Times Books, a division of Quadrangle/The New York Times Book Co., Inc., and simultaneously in Canada by Fitzhenry & Whiteside Ltd, 1979 First published in Great Britain by Allen Lane 1979 Copyright <£> John Marks, 1979 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the copyright owner ISBN 07139 12790 jj Printed in Great Britain by f Thomson Litho Ltd, East Kilbride, Scotland J For Barbara and Daniel AUTHOR'S NOTE This book has grown out of the 16,000 pages of documents that the CIA released to me under the Freedom of Information Act. Without these documents, the best investigative reporting in the world could not have produced a book, and the secrets of CIA mind-control work would have remained buried forever, as the men who knew them had always intended. From the documentary base, I was able to expand my knowledge through interviews and readings in the behavioral sciences. Neverthe- less, the final result is not the whole story of the CIA's attack on the mind. Only a few insiders could have written that, and they choose to remain silent. I have done the best I can to make the book as accurate as possible, but I have been hampered by the refusal of most of the principal characters to be interviewed and by the CIA's destruction in 1973 of many of the key docu- ments.
    [Show full text]
  • Nanoscience Education
    The Molecular Workbench Software: An Innova- tive Dynamic Modeling Tool for Nanoscience Education Charles Xie and Amy Pallant The Advanced Educational Modeling Laboratory The Concord Consortium, Concord, Massachusetts, USA Introduction Nanoscience and nanotechnology are critically important in the 21st century (National Research Council, 2006; National Science and Technology Council, 2007). This is the field in which major sciences are joining, blending, and integrating (Battelle Memorial Institute & Foresight Nanotech Institute, 2007; Goodsell, 2004). The prospect of nanoscience and nanotechnology in tomorrow’s science and technology has called for transformative changes in science curricula in today’s secondary education (Chang, 2006; Sweeney & Seal, 2008). Nanoscience and nanotechnology are built on top of many fundamental concepts that have already been covered by the current K-12 educational standards of physical sciences in the US (National Research Council, 1996). In theory, nano content can be naturally integrated into current curricular frameworks without compromising the time for tradi- tional content. In practice, however, teaching nanoscience and nanotechnology at the secondary level can turn out to be challenging (Greenberg, 2009). Although nanoscience takes root in ba- sic physical sciences, it requires a higher level of thinking based on a greater knowledge base. In many cases, this level is not limited to knowing facts such as how small a nano- meter is or what the structure of a buckyball molecule looks like. Most importantly, it centers on an understanding of how things work in the nanoscale world and—for the nanotechnology part—a sense of how to engineer nanoscale systems (Drexler, 1992). The mission of nanoscience education cannot be declared fully accomplished if students do not start to develop these abilities towards the end of a course or a program.
    [Show full text]
  • Apple IOS Game Development Engines P
    SWE578 2012S 1 Apple IOS Game Development Engines Abstract—iOS(formerly called iPhone OS) is Apple's section we make comparison and draw our conclusion. mobile operating system that is used on the company's mobile device series such as iPhone, iPod Touch and iPad which II. GAME ENGINE ANATOMY have become quite popular since the first iPhone launched. There are more than 100,000 of the titles in the App Store are A common misconception is that a game engine only games. Many of the games in the store are 2D&3D games and draws the graphics that we see on the screen. This is of it can be said that in order to develop a complicated 3D course wrong, for a game engine is a collection of graphical game, using games engines is inevitable. interacting software that together makes a single unit that runs an actual game. The drawing process is one of the I. INTRODUCTION subsystems that could be labeled as the rendering With its unique features such as multitouch screen and engine[3]. accelerometer and graphics capabilities iOS devices has Game engines provide a visual development tools in become one of the most distinctive mobile game addition to software components. These tools are provided platforms. More than 100,000 of the titles in the App Store in an integrated development environment in order to are games. With the low development cost and ease of create games rapidly. Game developers attempt to "pre- publishing all make very strange but new development invent the wheel” elements while creating games such as opportunity for developers.[2]Game production is a quite graphics, sound, physics and AI functions.
    [Show full text]
  • Mbk-Game Engine Lecture
    Game Tools MARY BETH KERY - ADVANCED USER INTERFACES SPRING 2017 2 person team 3 years ART 300 person team GAME DESIGN 10 years ENGINEERING Final Fantasy 15 PRODUCTION/BUSINESS TECHNICAL CHALLENGES OF VIDEO GAMES 1. Video games are real time complex simulations, and must be efficient. TECHNICAL CHALLENGES OF VIDEO GAMES 1. Video games are real time complex simulations, and must be efficient. 1999 Roller Coaster Tycoon written by one guy in x86 assembly language TECHNICAL CHALLENGES OF VIDEO GAMES 1. Video games are real time complex simulations, and must be efficient. Today, more flexibility in language Typically Object-Oriented Use development tools like Visual Studio or Eclipse TECHNICAL CHALLENGES OF VIDEO GAMES 2. People have high expectations for interactive worlds with lots of content TECHNICAL CHALLENGES OF VIDEO GAMES 2. People have high expectations for interactive worlds with lots of content Lots of content on tight deadlines. Glitches and crashes are BAD. TECHNICAL CHALLENGES OF VIDEO GAMES 3. Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of objects to compute and render at a time. TECHNICAL CHALLENGES OF VIDEO GAMES 3. Real time 3D graphics simulations 2016 graphics Pixar - Piper Final Fantasy 15 Gregory, Jason. Game engine architecture. CRC Press, 2009. Game Engines Tools that fit the pieces together Game Engine GAME ENGINES: HISTORY 1990s First-person shooters: Doom by id Software GAME ENGINES: HISTORY Architecture separates core software from game- specific assets ASSETS “ENGINE” SOFTWARE Art assets 3D graphics rendering Game Collision detection map/environments Audio system Rules of play GAME ENGINES: HISTORY 1990’s Separation of game engine allowed “mods” by replacing assets ASSETS “ENGINE” SOFTWARE Art assets 3D graphics rendering Game Collision detection map/environments Audio system Rules of play Not okay mod.
    [Show full text]
  • Sof Desi Inst Ftware Comp Doc Ign of I Tructi E Devel
    DESIGN OF INTERVENTIONS FOR INSTRUCTIONAL REFORM IN SOFTWARE DEVELOPMENT EDUCATION FOR COMPETENCY ENHANCEMENT Thesis submitted in fulfillment of the requirements for the Degree of DOCTOR OF PHILOSOPHY By Sanjay Goel Department of Computer Science & Engineering and Information Technology JAYPEE INSTITUE OF INFORMATION TECHNOLOGY A-10, SECTOR-62, NOIDA, INDIA April, 2010 DESIGN OF INTERVENTIONS FOR INSTRUCTIONAL REFORM IN SOFTWARE DEVELOPMENT EDUCATION FOR COMPETENCY ENHANCEMENT Thesis submitted in fulfillment of the requirements for the Degree of DOCTOR OF PHILOSOPHY By Sanjay Goel Department of Computer Science & Engineering and Information Technology JAYPEE INSTITUE OF INFORMATION TECHNOLOGY A-10, SECTOR-62, NOIDA, INDIA April, 2010 ii Copyright JAYPEE INSTITUE OF INFORMATION TECHNOLOGY, NOIDA March, 2010 ALL RIGHTS RESERVED iii DECLARATION BY THE SCHOLAR I hereby declare that the work reported in the Ph.D. thesis entitled “Design of Interventions for Instructional Reform in Software Development Education for Competency Enhancement” submitted at Jaypee Institute of Information Technology, Noida, India, is an authentic record of my work carried out under the supervision of Prof. J.P. Gupta and Dr. Mukul K. Sinha. I have not submitted this work elsewhere for any other degree or diploma. (Sanjay Goel) Department of Computer Science & Engineering and Information Technology Jaypee Institute of Information Technology, Noida, India April 9th, 2010 iv v SUPERVISOR’S CERTIFICATE This is to certify that the work reported in the Ph.D. thesis entitled “Design of Interventions for Instructional Reform in Software Development Education for Competency Enhancement”, submitted by Sanjay Goel at Jaypee Institute of Information Technology, Noida, India is a bonafide record of his original work carried out under our supervision.
    [Show full text]
  • Continuous Collision Principle Software Engineer, Blizzard
    Erin Catto, @erin_catto Continuous Collision Principle Software Engineer, Blizzard Expert Lego Set Number 952, 315 pieces, 1978 Games are fancy flipbooks Games are just fancy flip books. We draw discrete frames that are snapshots of a moving world. Of course the difference is that in a game, the player can influence what is drawn in each frame. Physics engines usually operate in the same way. The engine executes discrete time steps, usually of a fixed size, that march the simulation forward in time. When we do this, the physics engine can miss events that happen in between frames. Discrete steps lead to missed events Consider a bouncing ball. Discrete time steps are good enough for most of the simulation. However, suppose the discrete time steps skip over the time where the ball hits the floor. How can the ball bounce if it never touches the floor? Well it won't and this is a big problem for physics engines. Solution #1: Ignore the bug Bye! If you ignore the missed collision you can get tunneling. In this case the ball falls out of the world. Many physics engines don’t address this problem and leave it up to the game to fix (or ignore the problem). In some cases this is a reasonable choice. For example, if two pieces of debris pass through each other quickly in a game, you may never notice and it doesn’t effect the outcome of the game. Solution #2: Make the floor thicker You can prevent missed collisions by using more forgiving geometry. In this case I made the floor thicker to catch the ball.
    [Show full text]