Wednesday, May 22, 2013

10: Cyclone Game Engine Menu System Update


       The following video above is a work-in-progress on the Cyclone Engine and does not represent final game footage. With the help of the Game State Management Sample, I was able to improve the menu system. Before the menu system was in the Game class and now each screen is a class of its own making the engine slightly more efficient and the menu more versatile. The menu system upon start up displays the Splash Screens which are the Studio Logo and the Cyclone Engine Logo. Then it takes you to the Title-Screen and the Main Menu following.  I am working on various transition effects as the user changes from one screen to another. I was able to get the menu system to display a credits video and I will be fleshing out the look and design of the menu system later. Other functioning screens are the Loading Screen and the Pause Menu Screen. 

       Networking functionality for online play is still in the works. The menu system displays an animated busy indicator whenever a network operation is in progress. In Multiplayer, once in the lobby, a list of players is displayed along with icons indicating who is currently talking and who has marked themselves as ready. When are gamers are ready, the menu loads the first map for now. Description text is displayed at the bottom as you scroll through menu items. I am currently improving the game's frame-rate on Xbox 360. The game currently runs at 30 frames per second on Xbox 360. I am still working on animations for the player and the gun. Soon, I will be adding the HUD since I was able to mix 2D and 3D. The Skybox displays better now in the game. Before, anyone could see the lines outlining the skybox. 


Game-State Management 


I updated my older menu system sample and added a 2D sprite-based scrolling fog effect. I am messing around with other effects for the menu system at the moment as well. 





Learning Level Design


       Understanding Level Design was one of my biggest challenges. I needed to place models and position them in such a way that would make the map dynamic and fun for the player to navigate. Level design was tough because objects in the game world needed a purpose; a reason as to why they exist and positioned in their location.









 The enemy spider beast model came from Psionic Games






9: Mixing 2D and 3D



Finally! The Skybox in the game is fixed since I have a little more time to actually work on the engine. The lines outlining the skybox would display in the game and I had to make sure they went away. Its tricky when the program is drawing 2d and 3d together on the same screen under the 'Draw Method'. Thanks to Shawn Hargreaves who provided the most efficient way to go in his blog post, I was able to fix my skybox.

When I was mixing 3D rendering with 2D objects using SpriteBatch, I noticed that my 3D graphics no longer drew correctly after I rendered sprites. All of the models triangles and polygons appeared to be disoriented and stretched leaving tons of gaps and holes. This is because the SpriteBatch changes several device renderstates to values that may not be appropriate for drawing in 3D.