How to create a basic game?

Varine

And as the moon rises, we shall prepare for war
Reaction score
805
There are plenty of games made by small teams that are immensely successful (ever hear of Runescape?). We've only got two people now, both of us are mostly self educated, and we're making plenty of progress. Our alpha version should be done this summer, which means it's done except for art assets as bugs.

And I am still going to say: Minecraft isn't that complex. I don't see why everyone thinks it is. id Tech 5 is complex. A VCR is complex. Minecraft's is like a pet rock.

Who cares if it takes a long time, or doesn't even get done? Half the fun is thinking about what you want the game to be like.

If you're dedicated to it that's all that really matters. You can focus on what you want to do and forget everything else. Work on systems that you want to have, look at tutorials and examples of things relevant to what you need. That's how I did it, and admittedly I haven't got much completed but at the very least I was doing what I wanted to. Not doing something that I couldn't care less about to 'learn'. I don't wanna make Pong, and I doubt you do, so why bother doing it? You can learn other ways, maybe it's harder but it's more interesting and it'll let you keep your dedication and it'll be a hell of a lot more fun.

As Azareus said, Python is fairly easy, quick to write in, and it is pretty flexible. Not as much as lower level languages like C/C++, but technically those are pretty high languages as well. However it's unlikely you'll want to build your own game engine for a while. Well you might want to, but once you look at what you're going to be doing you might change your mind.

And technically you're right in how you're thinking about 2D and 3D. Your screen is clearly 2D, and does not display three dimensional objects. The renderer adds depth with the concept of parallax and draw distances. So say we have a square with vertices at (1,1), (1,0), (0,0), and (0,1). Which is a 1x1 square. In order to add 'depth', you add to that. So instead of (0,0) being the origin, it becomes (0,0,0). Likewise, that square would be (1,1,0), (1,0,0), (0,0,0), and (0,1,0) in 3D space. To make a cube you would add (1,1,1), (1,0,1), (0,0,1), and (0,1,1). Doing so means that there are six possible squares in that cube: left, right, top, bottom, front, and back. The rendering engine takes that data, and does math to determine where those points are, and what you see on the screen is the result of that (in 2D), with the depth, the extra dimension, basically simulated because the renderer converts all of those numbers into an array of pixels. Some model formats are human readable, so what you would see if you opened a file like that in a text editor are a series of (x,y,z) coordinates for every vertex. It's a lot easier to explain in person, but yes Minecraft is 3D because you can go in six directions (6 Degrees of Freedom/DOF): left, right, up, down, and then front and back.

And I have approximately 6 hours a day free, during which I don't like working because I need to relax according to my psychologist, and so I honestly have nothing better to do. Plus people have always taken out a lot of time to help me, so I need to do the same to ensure and encourage others to help contribute to technological advancements. Which to me is everything.

Did I cover everything you asked or did I miss something? I'm not exactly sober right now and can't remember if I was going to cover something else. If there is anything else, just ask.
 

codemonkey

Code monkey not crazy, just proud.
Reaction score
66
Varine, play through the latest 1.2 Minecraft. The lighting is insane. Code wise it's extremely complex.

And multiplayer Minecraft is demon magic.
 

Lyzet

New Member
Reaction score
6
There are plenty of games made by small teams that are immensely successful (ever hear of Runescape?). We've only got two people now, both of us are mostly self educated, and we're making plenty of progress. Our alpha version should be done this summer, which means it's done except for art assets as bugs.

And I am still going to say: Minecraft isn't that complex. I don't see why everyone thinks it is. id Tech 5 is complex. A VCR is complex. Minecraft's is like a pet rock.

Who cares if it takes a long time, or doesn't even get done? Half the fun is thinking about what you want the game to be like.

If you're dedicated to it that's all that really matters. You can focus on what you want to do and forget everything else. Work on systems that you want to have, look at tutorials and examples of things relevant to what you need. That's how I did it, and admittedly I haven't got much completed but at the very least I was doing what I wanted to. Not doing something that I couldn't care less about to 'learn'. I don't wanna make Pong, and I doubt you do, so why bother doing it? You can learn other ways, maybe it's harder but it's more interesting and it'll let you keep your dedication and it'll be a hell of a lot more fun.

As Azareus said, Python is fairly easy, quick to write in, and it is pretty flexible. Not as much as lower level languages like C/C++, but technically those are pretty high languages as well. However it's unlikely you'll want to build your own game engine for a while. Well you might want to, but once you look at what you're going to be doing you might change your mind.

And technically you're right in how you're thinking about 2D and 3D. Your screen is clearly 2D, and does not display three dimensional objects. The renderer adds depth with the concept of parallax and draw distances. So say we have a square with vertices at (1,1), (1,0), (0,0), and (0,1). Which is a 1x1 square. In order to add 'depth', you add to that. So instead of (0,0) being the origin, it becomes (0,0,0). Likewise, that square would be (1,1,0), (1,0,0), (0,0,0), and (0,1,0) in 3D space. To make a cube you would add (1,1,1), (1,0,1), (0,0,1), and (0,1,1). Doing so means that there are six possible squares in that cube: left, right, top, bottom, front, and back. The rendering engine takes that data, and does math to determine where those points are, and what you see on the screen is the result of that (in 2D), with the depth, the extra dimension, basically simulated because the renderer converts all of those numbers into an array of pixels. Some model formats are human readable, so what you would see if you opened a file like that in a text editor are a series of (x,y,z) coordinates for every vertex. It's a lot easier to explain in person, but yes Minecraft is 3D because you can go in six directions (6 Degrees of Freedom/DOF): left, right, up, down, and then front and back.

And I have approximately 6 hours a day free, during which I don't like working because I need to relax according to my psychologist, and so I honestly have nothing better to do. Plus people have always taken out a lot of time to help me, so I need to do the same to ensure and encourage others to help contribute to technological advancements. Which to me is everything.

Did I cover everything you asked or did I miss something? I'm not exactly sober right now and can't remember if I was going to cover something else. If there is anything else, just ask.

Ok so, lets say if i wanted to make a game like runescape, what engine, and what requirements would it be? and how long would it take for 2 persons?

Any approximately...?

Its kind of hard to know where to start, since when people say "Read guides on www...com" its easy to say, but its harder to know wich guide to start with, from the bottom, and wich guides to go trough to actually be on ur way to have made a fully completed game.

Thanks once again for helping.
 

GetTriggerUnit-

DogEntrepreneur
Reaction score
129
Runescape is made of Java and a java.awt.Applet/javax.swing.JApplet. You could download the applet and check the code if you want. Use Java Decompiler.
 

Varine

And as the moon rises, we shall prepare for war
Reaction score
805
I played it a few weeks ago after someone talked me into it. Still stupid, still makes me feel autistic, and I'm pretty sure my IQ was lowered. Minecraft has not, and I would be willing to bet a significant amount that it will not, make much of a positive impression on me. It is in no way complicated. I can make some arbitrary guesses at most of the functions it uses (and feel like I'm right since there is no reason to make it any more complicated than I have in my head). It is not a feat of impression on any level.

For something like Runescape you need an MMO engine, which is just a game engine but allows for a lot of network connections. UDK has a limit of 64 people per game instance (we're considering possible ways to circumvent this, just to see if we can mostly as I have no use for it, but no one's done it yet). You would need a server array for anything multiplayer like that, especially MMO's. Some things you can probably just use listener servers for, but MMO's need a dedicated system, which can be expensive depending on how much data they have to deal with. Various engines have web deployment as I said (Shiva, Unity, etc), and plenty of others.

I don't understand why you're so caught up on finding a series of tutorials that walk you through the creation of the game. There may be some available for smaller games, with engines designed around educational use, but they won't be very good. There isn't a standard workflow to follow, people like to do things differently. And I mean the majority of the game is based around some story, regardless of how shitty of a story it is, with a few systems that repeat over and over again. Reload, shoot, move, change weapon, jump, etc. You can make a list of most of them off the top of your head probably. The game is basically developing those systems and putting them in a place where it's fun to play.
 

Varine

And as the moon rises, we shall prepare for war
Reaction score
805
http://3dbuzz.com/vbforum/sv_home.php
3DBuzz has a lot of video tutorials on modeling, programming, Unreal, Unity, and iPhone development. Check some of those out for a decent introduction to it. They have some game design videos for programming, and obviously the game engines are also centered around that. Altogether, pretty easy to follow, they're entertaining (they have a few guys talking in most of them that I've watched that argue a lot and are pretty funny, as opposed to someone just giving an hour long lecture), and covers a lot. And of course if you have trouble, you can ask for clarification on the forums.

http://www.cplusplus.com/
This is a very good reference for C/C++. They have a lot of articles on the language, sometimes they aren't as clear as you'd want them to be, there are forums if you have questions and a lot of really knowledgeable people who are usually quite helpful.

http://www.cgsociety.org/
CGSociety is dedicated to art. It's a pretty good place to get help for modeling and textures and whatnot.

http://www.devmaster.net/
This is mostly about game engines. They have lists of most all of them that I can think of, with reviews, prices, feature lists, etc. You can get pretty good general information about pretty much any engine you can think of.

http://www.blender.org/
This is a free, open source modelling tool. There's a lot of support, and a lot of plugins and extensions for it. Probably the best free option.

There is also Gmax, Maya Mod Tool, and XSI Mod Tool which are free to use, but not for commercial use. They're not supported by Autodesk anymore, but they are around. I think Turbosquid has them.

If you're a student you can also get noncommercial editions of a lot of software. Autodesk has their full line available for free to students.

http://www.gamecareerguide.com/features/411/game_design_an_introduction.php
Here is a general introduction to game design. It'll give you a bit more of an idea of what's involved in the process.
 

Lyzet

New Member
Reaction score
6
I played it a few weeks ago after someone talked me into it. Still stupid, still makes me feel autistic, and I'm pretty sure my IQ was lowered. Minecraft has not, and I would be willing to bet a significant amount that it will not, make much of a positive impression on me. It is in no way complicated. I can make some arbitrary guesses at most of the functions it uses (and feel like I'm right since there is no reason to make it any more complicated than I have in my head). It is not a feat of impression on any level.

For something like Runescape you need an MMO engine, which is just a game engine but allows for a lot of network connections. UDK has a limit of 64 people per game instance (we're considering possible ways to circumvent this, just to see if we can mostly as I have no use for it, but no one's done it yet). You would need a server array for anything multiplayer like that, especially MMO's. Some things you can probably just use listener servers for, but MMO's need a dedicated system, which can be expensive depending on how much data they have to deal with. Various engines have web deployment as I said (Shiva, Unity, etc), and plenty of others.

I don't understand why you're so caught up on finding a series of tutorials that walk you through the creation of the game. There may be some available for smaller games, with engines designed around educational use, but they won't be very good. There isn't a standard workflow to follow, people like to do things differently. And I mean the majority of the game is based around some story, regardless of how shitty of a story it is, with a few systems that repeat over and over again. Reload, shoot, move, change weapon, jump, etc. You can make a list of most of them off the top of your head probably. The game is basically developing those systems and putting them in a place where it's fun to play.

Yeah but lets say i wanted to create a MMO game like runescape, with goals to archieve, but singleplayer ? i guess that would decrease amount of work/costs?
 

Varine

And as the moon rises, we shall prepare for war
Reaction score
805
That would just be an RPG. You'd want to spend more time making a fun single player experience, maybe something like older RPG's like the Legend of Dragoon, Chrono Cross, Final Fantasy, etc. There is a lot of differences in the gameplay styles of an MMO and a single player game.
 

Lyzet

New Member
Reaction score
6
That would just be an RPG. You'd want to spend more time making a fun single player experience, maybe something like older RPG's like the Legend of Dragoon, Chrono Cross, Final Fantasy, etc. There is a lot of differences in the gameplay styles of an MMO and a single player game.

wich engine should i use for such a game? etc:p?
 

Varine

And as the moon rises, we shall prepare for war
Reaction score
805
Whatever one you want. I still recommend the UDK.

For what I'm saying, the technique will vary depending on how you go about it. If you want to model everything out in 3D (i.e. mold the terrain out), it'll play like a normal game, and may be the best (it'll give you the most experience with the editors probably), only with a semi-fixed camera and you will likely want to limit where the players can walk (i.e. so players don't walk off the path).

If you wanted to do it semi-2D and not form the terrain, you could use a 2D painted background like they used to, and you just angle it and draw the character model appropriately. This is where geometry comes into play (there are equations to determine the apparent size of an object - look up angular diameter).
 

Lyzet

New Member
Reaction score
6
@Varine

Okay! i will try the UDK and read some guides, hopefully i can get started with the outburst of my imagination :)

I have no idea where to start with the engine, i mean i guess the first step would be to build the world the game resides in, the terrain etc, and oh heck i have no idea.
 

azareus

And you know it.
Reaction score
63
You should learn to use terrains. They are way more dynamic than brushes, and they support for heightmaps. That's not the hard stuff though, that begins with the coding and modeling.
 

Jindo

Self
Reaction score
460
If you have no math, you can't make a game. Period.

Not entirely true, the level of mathematical ability depends entirely on your game concept, if you start simple you should be fine (but then of course if you start with a Minecraft clone...)

Basic knowledge of algebra, and by this is I mean very basic - simply understanding the idea of variables representing values is enough really.

You only require trigonometry if you involve a lot of physics; yes, most good games will take advantage of this and in that sense you're right, but there are many game concepts and even trigonometric concepts that can be worked around without a full understanding of trigonometry.

Geometry it will obviously depend, the more advanced geometric concepts will be required for many game concepts but not all.

---

If we're still talking about making a Minecraft clone (I appreciate that you may have changed course since the part that I read up to so disregard if you have), I can assure you that recreating this is no easy job if you're intending to go all out and make a random world generator to go with it, the 3D alone will be very difficult as it's been said if you have limited knowledge of math, and especially if you have limited programming knowledge.
 

ertaboy356b

Old School Gamer
Reaction score
86
Before making a game, maybe start by learning some simple scripting language like javascript for example, or maybe vjass in warcraft III. This will give you an introduction to what functions, variables, conditions are.. after that, try to move on to VB, to Java, to C, and so on as they have shared syntax that your might find familiar..

I've once wrote a simple game in javascript called "scratch the box" where you scratch a box at the center of the page and your score goes up... As the level goes up, the box shrinks which will make it harder for you to gain scores..

Oh and if you want to make an RPG, use RPG Maker.
 

s3rius

Linux is only free if your time is worthless.
Reaction score
130
Aww :( well first of all i want to correct you there.

1 guy made minecraft, only 1 and after the breaktrough he hired 3 people to work for him.

I didnt expect any game to be out in a couple of months, i were thinking if we started researching and learning a bit now, we could have a game out in a couple of years, atleast before im done with my education.

But i guess your right, maybe it is hopeless.... arg :(

I'll have to affirm what SerraAvenger said.

You asked how long it would take for you two guys to make a game like runescape?
The answer is: never. You probably wouldn't even be able to make a broken, half-finished alpha.

Making games isn't easy. Only after you actually started running head-first into development you'll notice how much (complicated) work it actually is.
A game like Minecraft isn't as sophisticated like a AAA game, but it still is far above what an amateur could churn out.

But not all hope is lost. But you should reduce your expectations.

I'd start with a 2D program like Game Maker. Getting something to work with this (especially if you're scripting with it) is a nice challenge, but isn't too hard. You can learn a little bit of the basic principles and create games like side-scrollers (a.k.a. mario or space invaders) with relative ease.

Once you're done with that I'd recommend starting with a real programming language. Either Java or C++. The latter being harder to learn, but in my eyes more rewarding.
You can start with 3D development, if you're pretty good at 3d math (e.g. calculating collision of objects in 3d space).
If you're not that good at math I'd strongly urge you to start out with a 2D game instead. Trust me, you'll have so many new things to learn that you don't also want to learn math.

I haven't worked with the UDK yet, and I only know little about it. So I can't really say if it's a good entry point to begin. But since you have no experience in programming I'm fairly sure you'd only fall on your noses if you tried.

You can try if you are ready for a real programming challenge by trying to follow this:
http://lazyfoo.net/SDL_tutorials/index.php
It's a website that walks you through SDL (which is something like a small 2D engine for C++ which you can use to make games). You do need to learn a fair share of C++ for it, of course.
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
Once you're done with that I'd recommend starting with a real programming language. Either Java or C++.

Please, do not make games using Java. Just because Minecraft (Notch) did it doesn't mean everyone should.
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
Java, while almost always as fast as C++ / C, isn't nearly as optimized as it could be for certain things that games tend to use (I recall hearing somewhere that floating point operations are slow in Java, for example). There is also the fact that C++ has a lot more developers, has much, much more resources, and is overall just more powerful than Java (among other things. Those are just what I'm listing.).

I don't have anything against Java, I think it's great. I just think it shouldn't be used anywhere that speed is a concern (like gaming).
 

s3rius

Linux is only free if your time is worthless.
Reaction score
130
Please, do not make games using Java. Just because Minecraft (Notch) did it doesn't mean everyone should.

No, if you're serious about game making you wouldn't use Java. But it works. Java is more than enough you need for smaller games. And Java is easier to learn that Cpp. You don't need to know about bothersome stuff like pointers and memory management.
At this stage one shouldn't really strive to make good games but to learn the tools.

Oh and speed-wise Java isn't so bad actually. It's a myth that languages like Java or C# are abysmally slow.
For example, that's a Link to a 2010 news. A java program sets new records in sorting speed.
Of course this is outdated already, but it shows that the language in itself is rather fast if it can compete and even outrun other "faster" languages.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top