In the past month, I have:
- Learned the Unity engine to the point where I can use it,
- Coded basic platform controls/physics,
- Coded a 2D level editor, which runs in Unity's game editor,
- Created a basic tileset and background,
- Designed the main character (WIP, shown in prior post),
- Fixed a few bugs I found (tile map graphical errors, screen stuttering),
- And coded basic parallax and animation scripts.
It won't be a demonstration of overall gameplay, however. I have some good gameplay ideas, but I don't yet know which ones will make it into the finished game.
Before I release the proof of concept, I need to:
- Finish creating the level,
- Finish animating the main character,
- Finish drawing and animating the main boss,
- Code a projectile system so the character and boss can fight each other.
Why Unity is the best game engine:
First off, if I were making this game using an engine of my own design, none of the above would be finished yet. I would probably be in the middle of coding the level editor, and if I am lucky, I would be able to display tiles to the screen. Now, that's somewhat a reflection of my own skills, but it's also somewhat a reflection of the troubles of creating your own game engine. You have to make early design decisions of how the engine will work before you can start work on the game, and if you need to change something later on, it could require re-writing most of the engine.
Now you might say, "but that's if you wrote your own engine, what about other commercially-available engines?" First of, I don't have tens of thousands of dollars to spend on buying the unreal engine or renderware or gamebryo or any of the other engines that AAA games can afford to use. I don't have a 10 million dollar budget, and I don't yet know how much my game will make. It's a waste of my time to even learn from an evaluation version of one of them, because I wouldn't be able to release my game without eventually buying the engine.
On the other extreme, most of the free engines I've seen lack necessary features, or have serious performance issues, and are usually locked to a very limited set of platforms.
But that's only why Unity is better than the other engines. Here's why it's great:
The interface is very intuitive. It's trivial to move and find objects in a level, and it's trivial to see and modify an object's properties. Object behavior is straightforward to code, and it's easy to make scripts to communicate with each other. All scripting is done in microsoft's CLR, which means that you can code using javascript or C# or boo, and that your scripts have very low performance overhead. Also, every time you save a script, it automatically recompiles in a fraction of a second so you can test the changes immediately.
Everything about it is great (including its pricing model), and all the praise it gets from the internet is wholly deserved.
Anyhow, enough of that, back to the grind.
No comments:
Post a Comment