winterhell, on 28 November 2012 - 05:12 AM, said:
Sofox in order to make the engine you need to create a game with it. There is no successful "lets do an engine first" project in the whole industry, UNLESS you have done big AAA games with proprietary engines in the past. Even the big names rarely make an engine for the sake of it. All id Software's engines came from a game- Wolfenstein3D and Doom 1, Quake 1, Quake 3, Doom 3, Rage. Same with the Epic's Unreal 1, Unreal Tournament 2003, Gears of War, etc.
What I'm saying is this project will succeed if you think about making a game first, and then distill the parts.
I have to agree with this completely, and we've seen proof of this working in the 2D arena for sonic fan games. Gamemaker, media fusion, etc., have been used extensively by the community as foundational technologies to bridge the complexity gap. I think the first checkpoint should be an API or package that sits on top of an existing game engine. Unity3D, Ogre3D, or Panda3D, or similar. ( Naturally my preference goes to Unity3D because, well, it's probably the easiest for anybody to get started with, you can create wizards for it, and custom widgets. The UI is customizable enough that you can turn it into pretty much anything you want with the right tweaks. It pretty much comes with a scene editor out of the box, and it handles all your file formats natively )
Every project I've been around that hasn't come to light has usually included some form of the phrase, "Let's create a totally custom engine from the ground up". While the attempt was admirable, unexpected roadblocks would come along and either debilitate the project or kill interest in it. Unexpectedly, even when there was an engine available, often only the developer knew how to use it!
Unfortunately often the most useful and important part of the game project is the least fun to do, working with an existing fully functional game engine and going straight to scripting the gameplay sort of steals the glitz and glamour out of working with low level GL code, UI code, what have you, there's some common aversion to working in such high level languages like C#, or Python, because of the idea that "it's too slow". I have experienced these feelings myself, there's just something about a non-precompiled language that seems to put a stain on how pure we want our piece of work to be.
However, you gain
so much from swallowing that pill and immediately thrusting your hands into the most important parts. From the very beginning you get instant feedback, instant gratification, you get to spend more time and effort on how the gameplay mechanics are supposed to function. Just getting Sonic's movement and physics right alone could be considered a project in itself, and I think with a team of talented programmers such as have been appearing here, I think that would be the best place to aim everyone's efforts.
This post has been edited by Raz: 02 December 2012 - 02:57 PM