[Design] Game.Build();

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”

Stay tuned, more to come!

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.

1 Like

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.

Modular blocks that can be used in any game is pretty much the definition of a game engine…

1 Like

I guess I have a different understanding of the game engine concept.
What I envision and according to the wiki a “game engine” holds these concepts…

  • Rendering engine
  • Physics engine
  • Sound
  • Scripting (Area I’ll develop in)
  • Animation
  • Artificial intelligence
  • Networking (Area I’ll develop in)
  • Streaming (Area I’ll develop in)
  • Memory management
  • Threading
  • Localization support
  • Scene graph

My goals only include a few of them. = \

Tell you what… I’m making blocks. =) Yeah, blocks…

So are you making a game?

There will be a small “game” that will pretty much illustrate the items I’d like to build.

  • Master server
  • Matchmaker
  • Direct connect
  • Inventory Systems
  • Weapons
  • Chat, Mail, Ticketing system
  • World/Player manipulation via in-game admin controls
  • Etc.

Basically, I want to be able to walk around in the world with a few testers and run tests and give examples of Unity subjects.

What kind of game?

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).

You got my moral support and I’ll test if you want.

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”.

1 Like

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.

1 Like

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.

2 Likes