A Virtual Reality Platformer With an In-Game Level Editor
Shreyas NISAL
Software Development
A Virtual Reality Platformer With an In-Game Level Editor
My thesis explores the development of a VR platformer game with an in-game level editor, supported by instructions and a polished UI system available via computer and VR headset. To accomplish this, I integrated VR support in my custom C ++ game engine, implemented a reusable engine system to allow any game developed in my engine to integrate VR support, and made VR versions for two previous games. Game developer testers created levels on both computer and in VR, and enjoyed being able to make their own levels in VR. I implemented several features in the level editors, including:
• The ability to create, clone, delete, move, rotate and scale objects
• Quick switch between edit and play modes with an option to change whether play starts from a movable player start or from the current camera position
• Snapping objects to grid, drop shadows to indicate position and height, and dropping to the ground
• Undo and redo stacks, maintained separately for each controller
• Saving and loading maps using a custom binary file format
• Support for connecting to perforce within the editor to automatically check out maps while editing
I’ m passionate about the applications of emerging technologies in games and wanted to work on a VR project. VR and communitygenerated content are popular in the game industry today, and my project allowed me to gain an understanding of how VR systems work on a fundamental level and the challenges associated with developing a designer-friendly level editing system.
Implementing a robust UI system with VR support was an interesting and challenging problem to solve. Across these different features, I learned a lot about gameplay, engine and tools programming— especially for VR— and about creating designer-friendly tools for level editing.
80 SOFTWARE DEVELOPMENT