Due to my time in the games industry, I still occasionally receive questions around it. Today I received an email from a college student with some questions I feel are more broadly applicable and am therefor writing an article which can be shared to that broader audience.
So you want to write your own shaders do you? OK, I agree, custom shaders really changes the way the game looks. You can quickly and easily stylize your game to look very different from all the other games with a few simple shaders applied to your models and sprites. But you have to write them well. I have helped port a few games over to windows the past few days (5 I think). Anyways, all 5 games had issues with their custom shaders on windows.
So I wanted a really cool menu scene where I have actual characters from the game and a 3D world as the backdrop. You can see the image above for an example. When you click New Game, the camera zooms in on a single character with the others slightly out of view on either side but still visible. Swiping left or right takes you to the next character you can choose. While you are on a character, you can interact with the character via normal input, switch between attack and spell phases, create a minion etc. These characters are powered off of the same state management system that centrally controls the state of my game. This same system also includes my event management system, which is also persistent.
So you want to have constant explosions, hundreds of rockets, bullets flying all over the place and general insanity in your game. Great, so do I! But this insanity comes at a cost if you don’t manage your resources properly. When you instantiate and destroy an object, you have to allocate memory, it sits there for a while and eventually the garbage collector comes by and releases it, IF it meets all of the requirements. Well that’s the sliced down version anyways. If you are interested in more reading on the whys, here are some links to additional reading.
This article discusses one technique for helping manage those resources for objects that might quickly go through that cycle. The article is three sections, what is object pooling, what to pool and how to implement object pooling. Continue reading →
So I am working on porting the Skeleton Dude starter kit I built to Windows Phone from Windows 8 Store and ran into the following problem…
“Error building Player: Exception: Error: method `System.Byte System.IO.File::ReadAllBytes(System.String)` doesn’t exist in target framework. It is referenced from Assembly-CSharp.dll at System.Byte NGUITools::Load(System.String).”
This is a continuation from part 1. If you have not completed part 1, please go back to part 1 and complete it as this is an addative series where each part builds on the previous part. Part 1 covered the basics of creating a character controller that supports keyboard input and touch. Part 2 will primarily cover animation. Continue reading →
Many of you know I have been waiting for the final stars to align so that I could write this article. I am pleased to announce that all issues technical and legal have been resolved, and I have been able to complete my game “Skeleton Dude”. The completed version of this game is published to the Windows 8 store and is available for download for FREE! This link will take you to the final version. So lets get started!
On Monday, 4.15.2014, Gregory Avery-Weir of the Charlotte Game Dev Group did a really great talk on how to design a game. He presented a fantastic step by step approach and broke down into manageable pieces how to design a game from concept to polish. This article is a summary of his talk such that the world may have access to this extremely valuable knowledge.
So the NCSU Video Game Development Club has finally published their first game to the Windows 8 Store!!! This is a huge milestone not only for the individuals who now have a permanent piece to their gaming portfolio and a shipped piece of software, but also a milestone for the club. They have legitimized the club as a club that not only acts as a central hub for aspiring developers at NC State, but also in shipping real product to the world.