Welcome
Your first question is now “what am I looking at?”.
Well, as i look through the forums I see lots of threads of information here and there. All of which are “valuable” within their own context. But being that their aren’t that many pages as of yet here (14 as of 7/16/2015) I’ve decided to create my own. (Until I decide to throw my own blog up where I’ll go into detail of all the various development items.)
About what you ask? Well, that’s simple, how to build a game without the game. Basically, I want to learn about the parts that go along with every game that support it without actually having to concern myself with “the game” itself. People have lots of starry eyed moments when they have “the BIG idea” but then inevitably end up getting frustrated or as we say in development at work, “going down a rabbit hole” which just sidetracks the concept to death. (Think: Idea concepts, art, mechanics, things that are really “details” but are treated as if the world hinges on their perfection.)
So now what? Well, I’ll start developing various parts (hopefully in order but most likely not) and over time I’ll see what develops. As of yet, the only goal is to learn which really opens my options up but I’ll try to stick to a “path” of sorts and keep it updated here,. What I’ll use to develop…
Dev items and tools
Unity 5 Personal Edition
Mono development (C#)
Visual Studio 2013 Community Edition
Unity Forums and Docs of course =)
Items currently under development
The “Launcher”
I feel like this would be a good area for me to start since I can do all of it in VS and since every desktop game has a “game file” that needs to be the latest, this seems like a good place to start.
GUI (“Graphical User Interface”)
“Launch” button to launch the game file
A loading bar for current process (Think: Patching/updating)
Current news area above those with links to “stuff and things”
The problem is, the most common setup of a game applies on a genre level. That’s why there are kits to create specific genres (RTS, RPG, Flappy Bird, Frogger), and not “Video Game Easy Buttons” lying around.
Launchers are common only for games that are frequently updated, like MOBAs and MMORPGs - the point of a launcher is to force the game to the latest version. Online games rely on everyone having the same end-user assets.
Really, there already is a system that includes aspects of most possible games under the sun - Unity! Still, you might consider writing your own game engine, since you’re interested in understanding more about how games are assembled. Game Programming Patterns is a great resource written by a former UbiSoft developer that outlines general patterns often encountered in an engine.
Excellent! I appreciate the link and the info. I agree, genre does make a difference. The launcher imo also serves as the starting point for further information about the game and community. Not just an update engine. Like I said this is a learning experience, so there will be some inherent assumptions on my part (which would probably be incorrect and reviewed at a later time). To your point about building my own game engine, I’d like to start out much smaller nad basically build modular blocks that could be used in any game and go from there.
Haven’t really decided, I’d like to keep it very basic and focus on the infrastructure. Possibly a zombie apoc type game. Easy to throw up with assets from the store. Host in the cloud or with Photon… Probably the cloud since I want it all custom and free (while still being scalable).
Sounds like you want to build a set of components/modules that can be used for any game. Yeah at that level (what you identified in your list above) seems reasonable. You may want to check out the Unity Asset store as many of these “blocks” as you call them are almost certainly already available. Not that there is anything wrong with making your own. Often making something yourself so you have a deep understanding of how it all works and so it is coded according to your style for easy enhancement outweighs the negative aspects of “reinventing the wheel”.
And if your goal is game development, reinventing the wheel could really just one more way of beating around the bush. Depends on whether you’re making something that already exists and works great, or if you’re making your own tweaks to get your development environment set up for quick changes and fast content management.
Making a whole complete new block system within unity seems to fall somewhere in between.
Valid points and yes, I’m “reinventing the wheel” as they say, but that sure has worked out for the wheel and tire industry… =)
Learning is the point so there’s no reason not too. The asset store does actually have these modules already in it, i looked there first then decided to build my own.