Idiot's Guide to Program/Engine Design

Recommended Videos

j0z

New member
Apr 23, 2009
1,762
0
0
Cavouku said:
j0z said:
Cavouku said:
j0z said:
Cavouku said:
j0z said:
I can't offer anything on the engine side, but for texturing:
GIMP
www.gimp.org

For Modeling:
Blender www.blender.org

Both are free, and very powerful. Have fun!
Hm, I'm not sure, not even sure what I'm looking to make. Basically, I was thinking of making a program, or engine, again, I don't even know the difference, where you can easily make 3D graphics.

Though I'm not sure exactly how to go about it is the thing.
Ah, I'm sorry, I can't help you with actual programing/engine design. But I do know that you need to learn how to program normal programs before you do anything as major as writing a whole game engine. Learn some Python, or C++, but you will probably want to write the engine in C++, but I know from experience, that C++ is not an easy language.
The guy above gave me a link to Python, and a book about it. That should help. Also this thing called Notepad++, but I'm not sure what that is or how to use it.
NotePad++ has syntax highlighting for a variety of different programming langauges, which means that it makes the code you type different colors depending on what it does. Python has its on IDE, called IDLE. It has syntax highlighting, and it will compile your code and run it. If you want to do C++, try DevC++ http://www.bloodshed.net/devcpp.html or Microsoft Visual C++ Express Edition. Both are free, but the DevC++ is a much smaller download, and is okay if you want a lightweight IDE.
...I have no idea what I want.

Alright let me try and explain; I want to make something that lets you do this... hold on I have it written down here somewhere. Ah, here it is-

Programmer sets up bumping and terrain structure, location, area level, climate, terrain and soils, and ranges for differentiation. Programmer designs or selects structures, randomizations and ranges of similarity for structures, structures age ranges and range of number for structures, structure material differentiation ranges. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects foliage, levels of foliage growth, foliage locations, range for clusters, range for foliage differentiation (i.e., color, length, age), and possible over/undergrowth locations. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects wildlife or civilization and enters random range. Programmer enters age and differentiation ranges for randomization. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects any other options and repeats the process. (Other notes can be added)

Though I don't know if this is how it works, or how it even can work.
Uh... so you want a random terrain generator? I think that is what you said... just a WALL O TXT!

that would be very complicated to do (I think) and you would need a very good grasp of C++ to do it. Hate to burst your bubble, but there is no way you can do that just starting out. I suggest learning C++, and then start doing that.
Also, you have to remeber that you have to create the engine to display all of that on the screen, the lighting, everything. It is a lot of work.
If you got VC++, get the DirectX dev kit, and the DARK GDK. It will take care of many of the tedious getting the object on the screen tasks. But don't expect it to look very pretty.
 

Scrythe

Premium Gasoline
Jun 23, 2009
2,367
0
0
Middle school? At your age, I started to learn using the RPG Tookit [http://www.toolkitzone.com], M.U.G.E.N. and a program that I THINK was called simply "Game Maker", but I can't remember anymore. Start with those, and you'll be good. Grab some books on programming/design/3d modeling. As far as 3d modeling goes, the cheapest you'll ever get is probably 3DS MAX. The programs I use (Mudbox, zBrush, etc) are very expensive and definitely not for beginners.

Also, join a few modding communities. I've been in and out of the Unreal modding community, but you could also try modding for Half-Life, Unreal Tournament, Quake, Oblivion/Fallout 3 (same engine) or whatever has a relatively strong mod community. Start with skinning, then try making maps or meshes (objects or characters). By then you should be set for whatever college throws at you.
 

Cavouku

New member
Mar 14, 2008
1,122
0
0
j0z said:
Cavouku said:
j0z said:
Cavouku said:
j0z said:
Cavouku said:
j0z said:
I can't offer anything on the engine side, but for texturing:
GIMP
www.gimp.org

For Modeling:
Blender www.blender.org

Both are free, and very powerful. Have fun!
Hm, I'm not sure, not even sure what I'm looking to make. Basically, I was thinking of making a program, or engine, again, I don't even know the difference, where you can easily make 3D graphics.

Though I'm not sure exactly how to go about it is the thing.
Ah, I'm sorry, I can't help you with actual programing/engine design. But I do know that you need to learn how to program normal programs before you do anything as major as writing a whole game engine. Learn some Python, or C++, but you will probably want to write the engine in C++, but I know from experience, that C++ is not an easy language.
The guy above gave me a link to Python, and a book about it. That should help. Also this thing called Notepad++, but I'm not sure what that is or how to use it.
NotePad++ has syntax highlighting for a variety of different programming langauges, which means that it makes the code you type different colors depending on what it does. Python has its on IDE, called IDLE. It has syntax highlighting, and it will compile your code and run it. If you want to do C++, try DevC++ http://www.bloodshed.net/devcpp.html or Microsoft Visual C++ Express Edition. Both are free, but the DevC++ is a much smaller download, and is okay if you want a lightweight IDE.
...I have no idea what I want.

Alright let me try and explain; I want to make something that lets you do this... hold on I have it written down here somewhere. Ah, here it is-

Programmer sets up bumping and terrain structure, location, area level, climate, terrain and soils, and ranges for differentiation. Programmer designs or selects structures, randomizations and ranges of similarity for structures, structures age ranges and range of number for structures, structure material differentiation ranges. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects foliage, levels of foliage growth, foliage locations, range for clusters, range for foliage differentiation (i.e., color, length, age), and possible over/undergrowth locations. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects wildlife or civilization and enters random range. Programmer enters age and differentiation ranges for randomization. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects any other options and repeats the process. (Other notes can be added)

Though I don't know if this is how it works, or how it even can work.
Uh... so you want a random terrain generator? I think that is what you said... just a WALL O TXT!

that would be very complicated to do (I think) and you would need a very good grasp of C++ to do it. Hate to burst your bubble, but there is no way you can do that just starting out. I suggest learning C++, and then start doing that.
Also, you have to remeber that you have to create the engine to display all of that on the screen, the lighting, everything. It is a lot of work.
If you got VC++, get the DirectX dev kit, and the DARK GDK. It will take care of many of the tedious getting the object on the screen tasks. But don't expect it to look very pretty.
Ah well. At all these, I'm confused at what to start with, what I have to do, and what I need to do first. I don't understand probably half of what's being said.

So first step period, learn programming language, right?
 

j0z

New member
Apr 23, 2009
1,762
0
0
Cavouku said:
j0z said:
Cavouku said:
j0z said:
Cavouku said:
j0z said:
Cavouku said:
j0z said:
I can't offer anything on the engine side, but for texturing:
GIMP
www.gimp.org

For Modeling:
Blender www.blender.org

Both are free, and very powerful. Have fun!
Hm, I'm not sure, not even sure what I'm looking to make. Basically, I was thinking of making a program, or engine, again, I don't even know the difference, where you can easily make 3D graphics.

Though I'm not sure exactly how to go about it is the thing.
Ah, I'm sorry, I can't help you with actual programing/engine design. But I do know that you need to learn how to program normal programs before you do anything as major as writing a whole game engine. Learn some Python, or C++, but you will probably want to write the engine in C++, but I know from experience, that C++ is not an easy language.
The guy above gave me a link to Python, and a book about it. That should help. Also this thing called Notepad++, but I'm not sure what that is or how to use it.
NotePad++ has syntax highlighting for a variety of different programming langauges, which means that it makes the code you type different colors depending on what it does. Python has its on IDE, called IDLE. It has syntax highlighting, and it will compile your code and run it. If you want to do C++, try DevC++ http://www.bloodshed.net/devcpp.html or Microsoft Visual C++ Express Edition. Both are free, but the DevC++ is a much smaller download, and is okay if you want a lightweight IDE.
...I have no idea what I want.

Alright let me try and explain; I want to make something that lets you do this... hold on I have it written down here somewhere. Ah, here it is-

Programmer sets up bumping and terrain structure, location, area level, climate, terrain and soils, and ranges for differentiation. Programmer designs or selects structures, randomizations and ranges of similarity for structures, structures age ranges and range of number for structures, structure material differentiation ranges. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects foliage, levels of foliage growth, foliage locations, range for clusters, range for foliage differentiation (i.e., color, length, age), and possible over/undergrowth locations. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects wildlife or civilization and enters random range. Programmer enters age and differentiation ranges for randomization. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects any other options and repeats the process. (Other notes can be added)

Though I don't know if this is how it works, or how it even can work.
Uh... so you want a random terrain generator? I think that is what you said... just a WALL O TXT!

that would be very complicated to do (I think) and you would need a very good grasp of C++ to do it. Hate to burst your bubble, but there is no way you can do that just starting out. I suggest learning C++, and then start doing that.
Also, you have to remeber that you have to create the engine to display all of that on the screen, the lighting, everything. It is a lot of work.
If you got VC++, get the DirectX dev kit, and the DARK GDK. It will take care of many of the tedious getting the object on the screen tasks. But don't expect it to look very pretty.
Ah well. At all these, I'm confused at what to start with, what I have to do, and what I need to do first. I don't understand probably half of what's being said.

So first step period, learn programming language, right?
Yes, learn programming. Start with a simple language. Maybe Python. When you have a good grasp of it, move on to C++. Then you will need to learn that, and then you can start your engine. Just be patient, and stay at it. Rome wasn't built in a day you know.
 

Nutcase

New member
Dec 3, 2008
1,177
0
0
Cavouku said:
Ah, interesting stuff, thank you. Where do I go to install the Notepad++? Somewhere on the website? (I checked Downloads, but a bunch of stuff came up, I'm not sure which to choose)
http://sourceforge.net/projects/notepad-plus/files/
npp.5.4.5.Installer.exe is the package you want.

Notepad++ is a plain text editor and you need it to write code. You could use Windows' Notepad but it lacks key features that make your life easier. Seeing how there are much better editors like Notepad++ that are equally easy to use and free, there is no reason to use Notepad.
Alright, I'll get started on some of this stuff. Downloading Python. And I'll keep that book on tab. So it'll tell me what to do with this language stuff, and all that?
Yes, it's a book on how to learn basics of programming using the Python language. There are many other books, this one just happens to be free and looks to be decent quality. There are also many different languages, but Python is easy to get started with and probably the quickest one to do a simple game with. It is used in many universities as a first language. It's also used for scripting in Civilization 4, Mount & Blade etc.
I don't necessarily know much about computers, or programming, I just have ideas.
Programming is the practice of putting ideas into computer-usable form.
 

vampirekid.13

New member
May 8, 2009
821
0
0
Cavouku said:
w-Jinksy said:
it would probably be wise to take a class in this and go get a few books on coding and graphics, that would be youre best bet also you need to build up a graphics engine before you make a physics engine.
Alright, so start with graphics. Oh, and as a 14-year-old only inspired by the kind words of 40-year-old balding, large men, I have no options for classes, as far as I know, the Junior High isn't offering, but I can check in a few weeks.

Any other ideas? I might be able to get books, but if there's anywhere I can start here from home now.
you actually definately do have choices. and this is where you start, at 14 you are about to go to highschool....so once you get to highschool stack math and computer classes...you generally have at least one class that covers programming, such as C, C++, java. take it when ur eligible for it. also make sure to take a lot of math classes, up to calc2 is the best option. the rest will come in college.
 

Cavouku

New member
Mar 14, 2008
1,122
0
0
vampirekid.13 said:
Cavouku said:
w-Jinksy said:
it would probably be wise to take a class in this and go get a few books on coding and graphics, that would be youre best bet also you need to build up a graphics engine before you make a physics engine.
Alright, so start with graphics. Oh, and as a 14-year-old only inspired by the kind words of 40-year-old balding, large men, I have no options for classes, as far as I know, the Junior High isn't offering, but I can check in a few weeks.

Any other ideas? I might be able to get books, but if there's anywhere I can start here from home now.
you actually definately do have choices. and this is where you start, at 14 you are about to go to highschool....so once you get to highschool stack math and computer classes...you generally have at least one class that covers programming, such as C, C++, java. take it when ur eligible for it. also make sure to take a lot of math classes, up to calc2 is the best option. the rest will come in college.
*shakes head* Sorry, I'm in Junior High for another year. Around here its Elementary: Primary - 5th, Junior High: 6th - 9th, High School: 10th-12th.

No courses in the Junior High. Not really.
 

Cavouku

New member
Mar 14, 2008
1,122
0
0
Nutcase said:
Cavouku said:
Ah, interesting stuff, thank you. Where do I go to install the Notepad++? Somewhere on the website? (I checked Downloads, but a bunch of stuff came up, I'm not sure which to choose)
http://sourceforge.net/projects/notepad-plus/files/
npp.5.4.5.Installer.exe is the package you want.

Notepad++ is a plain text editor and you need it to write code. You could use Windows' Notepad but it lacks key features that make your life easier. Seeing how there are much better editors like Notepad++ that are equally easy to use and free, there is no reason to use Notepad.
Alright, I'll get started on some of this stuff. Downloading Python. And I'll keep that book on tab. So it'll tell me what to do with this language stuff, and all that?
Yes, it's a book on how to learn basics of programming using the Python language. There are many other books, this one just happens to be free and looks to be decent quality. There are also many different languages, but Python is easy to get started with and probably the quickest one to do a simple game with. It is used in many universities as a first language. It's also used for scripting in Civilization 4, Mount & Blade etc.
I don't necessarily know much about computers, or programming, I just have ideas.
Programming is the practice of putting ideas into computer-usable form.
Thank you, your help is very appreciated in this endeavor. If there's anything else you think I should know or use, please, I'm all ears.
 

Cavouku

New member
Mar 14, 2008
1,122
0
0
j0z said:
Cavouku said:
j0z said:
Cavouku said:
j0z said:
Cavouku said:
j0z said:
Cavouku said:
j0z said:
I can't offer anything on the engine side, but for texturing:
GIMP
www.gimp.org

For Modeling:
Blender www.blender.org

Both are free, and very powerful. Have fun!
Hm, I'm not sure, not even sure what I'm looking to make. Basically, I was thinking of making a program, or engine, again, I don't even know the difference, where you can easily make 3D graphics.

Though I'm not sure exactly how to go about it is the thing.
Ah, I'm sorry, I can't help you with actual programing/engine design. But I do know that you need to learn how to program normal programs before you do anything as major as writing a whole game engine. Learn some Python, or C++, but you will probably want to write the engine in C++, but I know from experience, that C++ is not an easy language.
The guy above gave me a link to Python, and a book about it. That should help. Also this thing called Notepad++, but I'm not sure what that is or how to use it.
NotePad++ has syntax highlighting for a variety of different programming langauges, which means that it makes the code you type different colors depending on what it does. Python has its on IDE, called IDLE. It has syntax highlighting, and it will compile your code and run it. If you want to do C++, try DevC++ http://www.bloodshed.net/devcpp.html or Microsoft Visual C++ Express Edition. Both are free, but the DevC++ is a much smaller download, and is okay if you want a lightweight IDE.
...I have no idea what I want.

Alright let me try and explain; I want to make something that lets you do this... hold on I have it written down here somewhere. Ah, here it is-

Programmer sets up bumping and terrain structure, location, area level, climate, terrain and soils, and ranges for differentiation. Programmer designs or selects structures, randomizations and ranges of similarity for structures, structures age ranges and range of number for structures, structure material differentiation ranges. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects foliage, levels of foliage growth, foliage locations, range for clusters, range for foliage differentiation (i.e., color, length, age), and possible over/undergrowth locations. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects wildlife or civilization and enters random range. Programmer enters age and differentiation ranges for randomization. Programmer locates any unnecessary clusters or deprevations and re-randomizes. Programmer selects any other options and repeats the process. (Other notes can be added)

Though I don't know if this is how it works, or how it even can work.
Uh... so you want a random terrain generator? I think that is what you said... just a WALL O TXT!

that would be very complicated to do (I think) and you would need a very good grasp of C++ to do it. Hate to burst your bubble, but there is no way you can do that just starting out. I suggest learning C++, and then start doing that.
Also, you have to remeber that you have to create the engine to display all of that on the screen, the lighting, everything. It is a lot of work.
If you got VC++, get the DirectX dev kit, and the DARK GDK. It will take care of many of the tedious getting the object on the screen tasks. But don't expect it to look very pretty.
Ah well. At all these, I'm confused at what to start with, what I have to do, and what I need to do first. I don't understand probably half of what's being said.

So first step period, learn programming language, right?
Yes, learn programming. Start with a simple language. Maybe Python. When you have a good grasp of it, move on to C++. Then you will need to learn that, and then you can start your engine. Just be patient, and stay at it. Rome wasn't built in a day you know.
I walked into this expecting it to take a year to make something decent, so I'll make sure I take my time to get the basics covered.
 

911 fox

New member
Jun 11, 2009
75
0
0
instead of making an engine use the source engine its free

also if you dont want to learn programming you can dowload a free video game creator like adventure games studio or game maker 7
 

Cavouku

New member
Mar 14, 2008
1,122
0
0
911 fox said:
instead of making an engine use the source engine its free

also if you dont want to learn programming you can dowload a free video game creator like adventure games studio or game maker 7
Nah, I'll stick to this. Maybe if I get lost I could use that as a practice, and thanks, but I'm going to try with this whole programming thing.
 

Proteus214

Game Developer
Jul 31, 2009
2,270
0
0
911 fox said:
instead of making an engine use the source engine its free

also if you dont want to learn programming you can dowload a free video game creator like adventure games studio or game maker 7
If you've never made a game before, start here. Creating an engine from the bottom up is a soul-crushing experience if you don't have an incredibly badass idea motivating you to do it. This can be extremely frustrating depending on how low a level you start. If you are building a DirectX engine in C++, you're looking at quite a bit of time before you can actually effectively draw and manipulate textures and models. I would actually recommend downloading Visual C# Express, XNA, and taking a look at some XNA tutorials. XNA is great middleware for quick game development.
 

911 fox

New member
Jun 11, 2009
75
0
0
Cavouku said:
911 fox said:
instead of making an engine use the source engine its free

also if you dont want to learn programming you can dowload a free video game creator like adventure games studio or game maker 7
Nah, I'll stick to this. Maybe if I get lost I could use that as a practice, and thanks, but I'm going to try with this whole programming thing.
then all i have to say is be patient cuz learning programing for the first time can be fustrating
 

Cavouku

New member
Mar 14, 2008
1,122
0
0
Proteus, Fox, thanks, but I've got motivation enough to go through with it. I'm continually breaking down my ideas as we speak, reorganizing them, and so far have picked up the basics of a few of the language things. I'll start with some things using Python, and then move up to C++. I've got the patience and motivation, so I should be set.

I guess other people can come into this thread if they're on the same track as me.
 

Cavouku

New member
Mar 14, 2008
1,122
0
0
stinkychops said:
I would recommend starting with 2D to prevent a massive need for money and graphical knowledge. Focusing on programming first. May I suggest Actionscript or python?
Am currently working with Python, thank you for your support none the less.
 

Cavouku

New member
Mar 14, 2008
1,122
0
0
EDIT: I should specify about the what here. Here's a link, but it's a PDF.
http://www.greenteapress.com/thinkpython/thinkCSpy/thinkCSpy.pdf

Alright, came across a problem, whether it's small or not. here's what the book says:

The first couple of functions we are going to write have no parameters, so the
syntax looks like this:
def newLine():
print
This function is named newLine. The empty parentheses indicate that it has
no parameters. It contains only a single statement, which outputs a newline
character. (That?s what happens when you use a print command without any
arguments.)

I was thrown off by it not having the ">>>"'s, that it had been including until now. But I figured this wasn't much of a problem. Here's what I did

>>>def newLine():
...

That "..." threw me off for a minute, but then I noticed it was the "statement" part. I put in "print" like the book said, that was a syntax error, but then I realized "duh, two indents"

>>>def newLine():
... print
...

I wasn't sure what to do here. The book said this:

The syntax for calling the new function is the same as the syntax for built-in
functions:
print "First Line."
newLine()
print "Second Line."
The output of this program is:
First line.

Second line.

I decided to just enter "print "First Line.", but that was an error, because it was on the "..." part, the statement. so I did it differently.

>>>def newLine():
... print
...
(I hit the enter key, it brought me to the more familiar ">>>")
>>>print "First Line."
First Line.
('Alright' I though. 'This seems to be... working?')
>>>newLine()

>>>print "Second Line."
Second Line.

(Alright, that was it... something went wrong, I think. Sure the function worked. It made a space, but... was it supposed to be something along the lines of:
First Line.

Second Line.
(?)

Am I doing something wrong here?
 

Cavouku

New member
Mar 14, 2008
1,122
0
0
And yes, I did this too:

>>>def newLine():
... print
... print "First Line."
... newLine()
... print "Second Line."
...
(It was here that I thought it was all part of the one function, so...)
>>> newLine():
(Trust me, it errored like hell, and I can't fit it on the page because the whole error was that it went on and on... and on.
 

Cavouku

New member
Mar 14, 2008
1,122
0
0
But, I CAN do that stuff:

>>>def newLine():
... print
...
>>>def WTF():
... print "First Line."
... newLine()
... print "Second Line."
...
>>>WTF()
First Line.

Second Line.
>>>

But it didn't mention that in the book... is this the part where it wants you to think for yourself? I can understand that, but it could've given you a heads up that it would do that at some point...
 

Nutcase

New member
Dec 3, 2008
1,177
0
0
Cavouku said:
And yes, I did this too:

>>>def newLine():
... print
... print "First Line."
... newLine()
... print "Second Line."
...
(It was here that I thought it was all part of the one function, so...)
>>> newLine():
(Trust me, it errored like hell, and I can't fit it on the page because the whole error was that it went on and on... and on.
Consider what this function does, step by step.
It prints an empty line
It prints "First Line"
It calls itself
It prints an empty line
It prints "First Line"
It calls itself
...

So you accidentally wrote an infinite loop. The newLine() call inside a definition of newLine() is no longer whatever you might have defined newLine() to be previously, but the newLine() you are in the process of defining.

The error occurs because Python sees your stack of function calls is getting too high to handle and stops it. In some other situations, like if you had an infinite "while" loop (you will encounter this stuff shortly in the book) the program would just run forever until you manually stop it.

Everything else you've done is business as usual. Your last post shows you've understood.