WebGL RPG In Unity - Part 00: Starting Up
Introduction
     I really enjoy making games. If you are reading this, I'm sure that at some point in your programming career --of whatever length it may be-- you had made some sort of console based game. Perhaps a number guessing game? Maybe something more complex like a choose your own adventure RPG! Whatever your poison, I too enjoyed the art of the text game.

     Eventually, however, you begin to hunger for bigger and better things. You begin to yearn for graphics. Big and shiny colors and lights to add pizazz to your world. I had gone through a great many different mediums via which to implement this: GameMaker, XNA, Unity, etc. Each differed greatly in complexity and usefulness, but each got me a little bit closer to my goal of making an actual finished playable game.

     Still, making a standalone game is one thing but being able to put your game online for everyone to play instantly with no hassle... Now that was attractive. Previously, there was no simple way to do this. You could make a Flash game but then your would have to use Flash; how unfortunate. You could make a Java applet but then nobody would ever touch it. Not so long ago Unity Web games starting getting popular but with them being phased out, that option is gone as well. There is, though, still a shining light of hope. That is the Unity WebGL game.

     So why not try about make a fun, simply RPG for everyone to enjoy online with WebGL?

What is WebGL?
     In order to start answering that question, we have to go back and ask another question: "What is OpenGL?"

     As this is just a simple blog about the development of a web game, I won't go into detail about OpenGL itself or the graphics pipeline. Rather, a simple overview. OpenGL stands for Open Graphics Library; you can think of it as a graphics drawing API, because that's what it is. When you attempt to draw something to the screen in any capacity, you must call forth the raging power of your video card. Doing that manually is kind of difficult though. Thus, some kind and possibly frustrated people in the past had created APIs for us which interact with system we are running on to help describe to the hardware how to handle the scene we wish to create.

     You may have extrapolated from that the idea that WebGL is a version of OpenGL for web applications. You are correct! WebGL is a graphics API that renders through the fancy HTML5 canvas element, allowing you to make super fancy looking games all in a web browser. The best part is, Unity now supports this vector for games and allows you to built directly for it. That's what we will do. Because it's really cool.

The Idea
     So what is it exactly that we will be working towards? Well, I don't really know. It's a bit more adventurous that way, don't you think? There are, however, some general bounds for the gameplay we have to put down or we will never get anywhere.

     Let's begin with movement and camera. We want to have a top down camera, making the game a 2D tile-based top down game. We will allow the player free movement, a bit like the Pokemon games; perhaps this will keep the player from feeling too boxed in (hehehe). What about the purpose; what is the plot? I think it would be fun to play as a healer, so let's do that. The gameplay will center around the offensive and defensive use of a variety of healing, buffing, and manipulation spells in order to overcome battles and change the world around you. A fairly generic item system would be nice as well. We will also need a pretty hefty dialogue system, so we'll add that to the checklist as well.

     With a really fast and loose framework for our project down, let's start doodling.

Part 01: Organization & Movement >>