Architecture

Pretend I don't know the first thing about making games

Recommended Posts

Where is the best place for a person like me to start? I think I would like to toy around with 3D games. I'm currently downloading the non-commercial version of Cryengine, but I expect it to make my head explode. I would say that from what I can glean, the design process appeals to me the most, and programming the least.

 

But yeah, if you were going to put a person on the path to make his own games for fun, what would be the first step?

Share this post


Link to post
Share on other sites

I would download and start messing around with UE4 or Unity sooner than Cryengine. I reckon CE to be relatively user-unfriendly and, in my experience, unstable, and with a relatively small community and probably not amazing documentation.

Even if you turn out not to want to stick with Unity i reckon going through the v official video tutorials in order is an excellent way to introduce you to making things generally

Share this post


Link to post
Share on other sites

I've tried Unity, Ren'py, Kodu, Twine, and Game Maker.
I really like Unity because it seems like anything is possible to make. As I get more familiar with not just scripting, but with the Unity-interface itself, I feel like my options are widening; that is the opposite of what it was like to use Ren'Py or Kodu. Unity is free unless you make $100,000 and the amount of tutorials and resources that are made available by Unity themselves is no small matter. When you are examining Unity, I recommend going to the "learn" section of their webpage and looking through it a bit. I spend a lot of time there. I watch the live-learning archive regularly, I use the 5-minute tutorial videos for refreshers and the scripting-reference has saved me a lot of time. Initially, I wasn't interested in scripting; I could do a lot in Unity without opening MonoDevelop (importing assets, terrain-building, adding and adjusting components, and using the provided character-controllers) but when I started having opinions of how I wanted stuff to work, the scripting tools were available. Another massive boon for Unity is the web-player distribution ability. I'll be honest, if I'm looking on freeindiegam.es and I see a game that I have to download a .exe for and a game that I can play in the web-browser, I'm going to play the one in the web-browser.

I spent some time going through the Game Maker tutorials that come with the Steam download. The free-version has a limit to how many pictures and sound files and such that you can use. It's about $50 to unlock that. I managed to get a little guy walking around and that was a really encouraging moment. There are people on this forum who can do a much better job selling Game Maker to you than I. You did say "3D" though, I don't think Game Maker does 3D very well if at all.

If you've never made anything game-related and these engines seem too intimidating, try playing around with the Far Cry 2 map-editor or Kodu. Kodu is free on PC (I used it on the Xbox360) and it really opened my eyes to how much fun it was to give 3D objects instructions. Your results won't be easy to distribute though.

Ren'Py is a visual-novel engine that will require some scripting. The community there is pretty awesome though. I'd recommend Twine over Ren'Py for someone who is just wanting to play around with branching narratives. I suppose that isn't 3D either though.

 

If I was to send a letter to myself that would arrive on January 1st 2014 in response to myself asking the question "How should I go about being able to make games that have character-movement and that I can share with other people?", my answer would be this:
 

Start with this tutorial. 

http://unity3d.com/learn/tutorials/projects/space-shooter

 

Make it a priority to watch at least one  of these videos a week, IN ORDER.

http://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/editor-basics

Whenever you get overwhelmed with the tutorial, just watch some more of these videos.

 

I just assume that time-traveling letters have a character-limit.

 

You may also want to browse the Unity Asset store. For some cash, you can find templates for many existing genres. Many of the packages have web-demos. I haven't really used the asset store yet, so I don't know exactly how it works (Do you just import the package when you start a new project? Or is the package a permanent part of the editor?) but I will probably start using some of my gaming budget to gain a collection of tools. 

Share this post


Link to post
Share on other sites

I suppose I'll take a look at Unity. Does the free version have enough of the toolset available to make it worthwhile? I can't imagine shelling out for their licensing in light of how cheap the alternatives are.

 

The local community college offers game design degrees, so I started looking into the curriculum. I'm thinking it wouldn't hurt to take some classes just to get brought up to speed on proper nomenclature and accepted design philosophy.

Share this post


Link to post
Share on other sites

I know that the free version of the water is supposed to be unimpressive and that you can't use the render viewports as textures? So like, jumbo-trons and active-camo are out until you pay.

I assure you that there is plenty in the free-version to make it worth your while. It does not look like, act like, or taste like a free program.

Share this post


Link to post
Share on other sites

Quite frankly, while unity is a great resource and something you can totally explore, I would be hesitant to suggest you make your first few games in a 3D engine. The complexity of development far surpasses that of 2D games. I assume you have some level of programming ability, in which case look into some simple Java game libraries (I think libGDX is popular but not really sure) or if you're less confident about your coding then maybe Actionscript or Python to start.

Share this post


Link to post
Share on other sites

But yeah, if you were going to put a person on the path to make his own games for fun, what would be the first step?

 

My main (and somewhat broad) suggestion is to start out by making browser games. These can be in Unity or Flash or Javascript or whatever, but I think it helps for a few reasons. You don't have to worry very much about compatibility or distribution, and I at least find it easier to keep a game simple & straightforward when I imagine it being loaded in a Firefox tab. =P Also, from the emotional gratification side, you can be reasonably sure at least a few people will actually play the thing. ^_^ Results may vary, but for me seeing the "plays" counter of Kongregate pass 50(!!!) players on my first Flash game was very motivating even though nobody liked it. :D

Share this post


Link to post
Share on other sites

Decide what it is you want to do. There can be a world of difference between making a game and experimenting with some game related tools. If I may politely suggest it - it sounds like you don't know what it is exactly that you want, but rather the systems themselves interest you?

 

Rather than 1 size fits all you might just try fiddling around briefly with an engine such as unreal or cry engine - even in their older/free incarnations. Just get a taste of working with 3d games... When I say briefly, on a casual basis, we're probably talking 10-20 hours of videos/reading overview plus then whatever you want to do/learn. This should help firm up what aspects you are interested in and what you are not, along with teaching you some general principles behind 3d games.

 

Then decide what it is you want to make. Produce a design and decide what parts of it you actually want to learn and create, and what parts you want to just to adopt (if any). Use this information to then either line up the right tools or ask more specific advice before doing so.

 

It's a long road, but filed with firsts; the first time you make a room, light something, material something, run around it, make something move ... these are the little victories to savour and any one of these engines should at least get you there quickly. If any particular part of it is for you, then concentrate on that and the best route for letting you spend your time doing that.

Share this post


Link to post
Share on other sites

This suggestion shouldn't at all replace any of the others here (I'll join the chorus of people suggesting Unity, if only because of the massive number of tutorials you can find on it), but something additional to try: make board games! Or card games. Seriously, they are so much fun, and a lot of great video games start as paper prototypes. You can learn so much about mechanics and how to guide certain player experiences, without the enormous overhead making video games often incurs. I mean you should still try and make video games, cause they're great. But for real! Board/card games.

Share this post


Link to post
Share on other sites

This suggestion shouldn't at all replace any of the others here (I'll join the chorus of people suggesting Unity, if only because of the massive number of tutorials you can find on it), but something additional to try: make board games! Or card games. Seriously, they are so much fun, and a lot of great video games start as paper prototypes. You can learn so much about mechanics and how to guide certain player experiences, without the enormous overhead making video games often incurs. I mean you should still try and make video games, cause they're great. But for real! Board/card games.

 

This, this, this...

 

Seriously though, I teach game design, and I can't reinforce how helpful paper prototyping is. Jumping straight to electronic proto is a recipe for disaster, especially for beginning designers. And, yeah, if you just want to start tinkering with an Engine Unity is a good place to get started.

Share this post


Link to post
Share on other sites

I would strongly recommend that you start out using level editors for preexisting games like the ones that come with Bethesda games or valve source engine products, they will allow you to explore the possibility space of working in a 3d game engine without needing to worry so much about the finer technical detail or being overwhelmed by options. I'll add that prior to the advent of programs like gamemaker and unity level editors were where almost all game designers started out so they  aren't an untested resource.

Share this post


Link to post
Share on other sites

I think Construct 2 is a perfect tool for someone starting out:

 

https://www.scirra.com/construct2

 

Super simple, well designed, and abstracts programming in a very easy to understand way. Exports to html5, so you can share and iterate on designs rapidly. I started with construct and will probably always use it for quick prototyping at the very least, though it is a viable engine in it's own right as well.

Share this post


Link to post
Share on other sites

I think Construct 2 is a perfect tool for someone starting out:

 

https://www.scirra.com/construct2

 

Super simple, well designed, and abstracts programming in a very easy to understand way. Exports to html5, so you can share and iterate on designs rapidly. I started with construct and will probably always use it for quick prototyping at the very least, though it is a viable engine in it's own right as well.

 

I've only heard about construct 2, and from what i've heard it's really easy and fun.

Anyway, If you really just starting out I would agree that looking into a

level editor of some kind is a good place to start.

 

Share this post


Link to post
Share on other sites

With absolutely no experience in gamedev (although I was a PHP developer at my dayjob for several years at the time), I picked up Unity 4 years ago and never looked back. The learning resources available then were excellent; today they are stellar. I've never shipped a game, but I've made countless prototypes, done some freelance work, and have been working on my own personal "hotrod" of a game in what little spare time I have for several years now.

 

Component-entity development is really easy to pick up, but easy to get overwhelmed after a project starts to grow, as there's no "standardized" way to organize a Unity project. Existing code paradigms like MVC could be adapted to it, but in most cases doesn't make much sense.

 

If you're new to unity, the easiest way to get started I'd say would be to dig right into the tutorial modules they have right on the site now. I'd say start with the interface set, and then scripting.

Share this post


Link to post
Share on other sites

What in particular are you looking to do?  If you are interested in scripting I can't recommend XNA or Mono enough.  XNA isn't supported any more, but it is a great place to figure out how games work under the hood without the need for a lot of programming/computer science knowledge.  Any sufficiently advanced engine won't really expose you to the more basic concepts like rendering, World vs Screen vs local space, physics processing, etc since they are all handled internally by the engine.  If you are interested in design-type things I would recommend picking up Shadowrun Returns and playing around with it's scenario editor, or any other game with mod tools for that matter.  Mostly because those kinds of tools start out where you have a bunch of things to play around with, as opposed to say an empty scene in Unity.

As far as for what to do goes, just pick a mechanic or simple game you like and make a clone of it.  That kind of exercise really helps you understand just how complex seemingly simple elements of games can be.  Also the suggestions so far are all fantastic.

Share this post


Link to post
Share on other sites

XNA and Mono are pretty great, but you'll quickly run into the problem that they don't have any sort of editor and you'll have to find one you can slot into your game or make your own. 

Share this post


Link to post
Share on other sites

If you know how to code:

LIBGDX is really nice if you know anything about programming. It lets you get knee deep in the code and really mess around and see how to implement all the fun things.

 

If you don't:

I would recommend learning how to code so you can be able to script in engines like Unity.

For learning I would recommend something like Scratch so you can figure out the basic ideas. Then play around with something like Javascript(Note: Javascript has nothing to do with Java). Try creating a webpage with some fun Javascript in it. JS is nice because it doesn't require any compilers and if you are using it in a browser it is easy to create a UI if you know HMTL.

 

 

The Most Important thing ever

​Always plan out your programs on paper or with an outliner(I use Fargo). This allows you to get the general idea of what you want to do, and then figure out how to do it. This is especially critical when you are creating a larger project like a game, not planning ahead can end up in situations where you write half the game and then relize your structure is shit(I learned the hard way).

 

Another thing to remember when programming is you should never have to type the same thing out twice, instead of copy and pasting the same code, just make a function.

 

IDE's

IDE's are text editors, but with a bunch of coding functions stuffed in.

 

I would recommend using Android Studio for Java and Android programming(It has all the nice build systems pre configured)

If you are not doing java stuff use Atom, its like Sublime Text but free.

Share this post


Link to post
Share on other sites

I switched from Unity to Unreal when they released UE4 and have no regrets. More features, prettier graphics, better performance, and the new visual scripting language significantly reduces the learning curve if you have no programming experience. Epic is also very transparent and communicative, which has not been my experience with Unity.

Share this post


Link to post
Share on other sites

I'm also having a good time with Unreal Engine 4. The blueprint scripting language has made things sooo much easier for me get things done (what with having no real programming skills). I came from Unity3D with Playmaker, and UE4 just feels like the natural extension of that. The $20 price tag has been well worth it.

Share this post


Link to post
Share on other sites

I'm going to assume that you are have little experience with programming (only because you mention that is the least interesting to you). I have some steps to suggest to you.

 

First I want to echo the paper prototyping idea, write down your ideas. Scope is the biggest killer of games design, keep your ideas small, come up with a single core interaction for your game. This will constrain your creative process, but it really helps. By limiting yourself to a single input, you'll work really hard to make that one idea as interesting as possible. Canabalt is an excellent example of how a single method of interaction can really create an experience bigger than it appears.

 

Secondly, I would recommend not going 3D to begin with. Unity is great, but you need to have a decent grasp of a range of concepts that may be a bit overwhelming to you. I've whipped up prototypes in Game Maker quite quickly, and was pretty happy with the results. I've also heard good things about Construct 2.

 

3D game have endless possibilities, it makes no concessions in what the game can turn out to be. 2D games however, have a bunch of inherent limitations to them (and this is good!). A Mode 7 racer like Super Mario Kart can only emulate vertical movement in a rudimentary way. So the game is more about getting a good racing line and avoiding/knocking opponents into obstacles. The limitations of the technology spawned interesting gameplay. My attempts at scripting and programming have progressively gotten more ambitious as I'm comfortable with attempting new techniques or coding practices.

 

So I would suggest that you acknowledge your skillset and make the best damn game that your skillset allows. Don't think that the well of simple game ideas has been tapped out because we continually see new takes on previously seen mechanics. Picasso wasn't very good at realist art, I think he ended up doing pretty well for himself.

Share this post


Link to post
Share on other sites

Relevant to this thread's interests: Zoe Quinn has created a tool to help people decide how to go about making their first game. It has what I'm sure would be an Idle Thumbs approved URL: http://sortingh.at/

Share this post


Link to post
Share on other sites

Ah, that's a handy guide, thanks tberton. Plus it has a Time Gentlemen, Please! plug in it, and it linked me to a good Twine game hosting site!

Share this post


Link to post
Share on other sites

So I'm finally following up on this thread.  Only took me about 10 months!

 

Downloaded Unity. I'm going to go through some of their tutorials. Construct 2 looks interesting, I'll probably download that as well.

 

I've had this idea in my head for a Road Rash clone for some time. It seems like if I can iterate on some sort of proof-of-concept for a similar game, I'd be in heaven.

Share this post


Link to post
Share on other sites

I got a F in computer science 101 first time around and got B- second time.

 

And I'm coming very close to creating strategy-action hybrid in Gamemaker.  I got basic hexagon movements down, unit frameworks are in place and combat AI is done and can be adjusted based on multiple variables.  Most difficult part in this current project had to be just trying to understand how to write A* (it has built in A* but only for built-in square grids) but besides that it's been pretty straight forward with how well the darn thing is documented.

 

So yeah, Gamemaker is pretty freaking easy to get a grasp on.  Highly recommended for those who have no idea how to start.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now