View Full Version : what sort of edcuateion do i need to have when it comes to making a game?
bazso
10-03-2008, 06:40 PM
reason why i ask this is because i think i was dealing with kids on the panda 3d forums and it seems they recommend something else for me to try out and atm it feels no one truly knows where to start.
making a game should not be that hard to do should take common sense
starstutter
10-03-2008, 08:17 PM
Well spelling education right would be a start ;)
Seriously though, I think you're really REALLY underestimating what you're getting into here...
making a game should not be that hard to do should take common sense
eh heh... *cough cough*. If you're talking about a game like pong, then no. If you're talking about making a Mario clone, you're getting into the moderatley advanced realm (in terms of polish and mechanics). If you're talking about a current-gen 3D game, you're about to take on the most difficult task you've faced in your life thus far.
In terms of education, there's no set standard, but mostly it depends on what kind of game you're trying to make. A few questions:
1. How much general programming experience do you have? And in what languages.
2. Do you have any graphics experience, 2D or 3D?
3. What kind of game are you aiming for? A comparison to a particular game would be good. You can choose different ones (ie GTA mechanics with doom 3 graphics... as just an example)
Gaiiden
10-03-2008, 08:32 PM
http://www.sloperama.com/advice.html
Tom's a well-respected guy and knows his stuff. Read and learn.
bazso
10-03-2008, 11:03 PM
well doing this with no education at all with no modeling experience hopeing going to learn python i mean i am doing this as far as bottom of the food chain it wil go and fire was a very good help as with many others but it seems no matter where i go i am expected to know like i know what i was doing on any set given forum.
bazso
10-03-2008, 11:09 PM
its that voice if i could make it go away i would but its just something i can't make quite and with along that voice it brings with it the nerves of steel and a drive to do this its pushing me a lot and more then a pain then anyone knows
and i know that my creditability is getting shot with some people here as i am sure with some on the panda 3d forums
Lightspeed
10-04-2008, 04:50 PM
my advice to you bazso - i think you're trying to run b4 u can walk, even crawl. but drive and persistence are key elements which u will need to succeed.
if i were u i would continue to work on the coding language but look at doing some game modifications of the games that you already play - then u can start to familiarize yourself with what is going on behind the scenes (and it's a hell of a lot - that might end your drive right there, otherwise, you may find that your desire to build games grows as it has with me).
now im no game Dev and i'm only just starting to learn to code, but i do know that there is a hell of a lot to building games and usually requires a team of ppl specializing in certain fields (modellers, scripters and coders, level designers, artwork, etc etc) so u need to find your niche, study it, practice it by modding, and then at some point you might be ready to take on a bigger project.
i guess it depends how much time you're prepared to put in and how passionate you are.
good luck with it,
Lightspeed
Sol_HSA
10-04-2008, 10:50 PM
Seriously, this thread really needs more punctuation =)
Programming, in itself, is an art which requires lots of attention to detail. Including what you write. You might notice, even from this thread, that more experienced programmers tend to write 'better English'; claiming that you write "sms talk" on forums to "save time" means that you are, actually, just lazy.
Trying to write properly online is a way to show respect.
That aside, apart form very simple games, game programming is one of the most challenging fields imaginable, as it crosses so many specialized fields - logic, processes, graphics, audio, AI, network, data flow, low-level and high-level optimizations, and so on and so forth. Knowledge in all of them is not strictly required, but helps.
To answer the question, what kind of education is required, none, or a lot. If you're speaking of what kind of schooling you need, well, none (apart from learning to read, write, and do some math) is actually required; if you're talking about what kind of knowledge you need, there's a whole bunch of stuff.
I'd rank boolean logic highest, but math in general is useful. General programming skills are important, but you learn more of those along the way.
Where the 'common sense' comes in is aiming low enough. Don't try to make the next WoW, GTA killer, or a full-scale WWII simulator; start off with a tic-tac-toe, or if you really feel like taking a challenge, pong.
If those feel like a waste of time, and you want to make something bigger.. well, if you can't do the above in one evening, trying anything more challenging would be a waste of time.
Lightspeed
10-05-2008, 04:41 AM
Seriously, this thread really needs more punctuation =)
Programming, in itself, is an art which requires lots of attention to detail. Including what you write. You might notice, even from this thread, that more experienced programmers tend to write 'better English'; claiming that you write "sms talk" on forums to "save time" means that you are, actually, just lazy.
Trying to write properly online is a way to show respect.
Replies such as this 'may' also indicate a mind unfit for programming, because said mind has made a number of assumptions based on limited data.
;)
Mihail121
10-05-2008, 05:54 AM
reason why i ask this is because i think i was dealing with kids on the panda 3d forums and it seems they recommend something else for me to try out and atm it feels no one truly knows where to start.
making a game should not be that hard to do should take common sense
Although not the manifest of current research on graphics and interactive hardware (join the military if you want to really see the current state), games are complex enough to require reasonable knowledge in many domains as: artificial intelligence and planning, mathematics (linear algebra, topology....) , physics, etc. It is hard and takes a lot of time. If you start now, you might be able to do it in 3 years. Get going!
Nodlehs
10-06-2008, 08:40 AM
Replies such as this 'may' also indicate a mind unfit for programming, because said mind has made a number of assumptions based on limited data.
;)
Grammar is King, show it the respect it deserves. It was created and is maintained as a way for people to communicate effectively.
Now, on to the thread topic.
As was noted above, you don't NEED a formal education. But there is something to be said for a formal education. Your average Computer Science program won't teach you anything about real world job programming. They don't teach you how to work well in a 70 man team, they don't teach you how to deal with large scale projects.
What they DO teach you is the basics. Do you know what a red-black tree is? Do you know what a hash is and how its internals work? Do you know how the process scheduler works in your OS and how it may affect your programs performance? Pure knowledge about your craft is what they teach and it is invaluable. Implementation is a cake walk if you have a solid grounding of all the fundamentals and concepts.
starstutter
10-06-2008, 09:14 AM
Implementation is a cake walk if you have a solid grounding of all the fundamentals and concepts.
mmmmmmmm..... I'd have to disagree. I understand what you're saying and it does make it a lot easier, but (to the OP) you also need experience in full-scale implementation. Making small components of a graphics engine is fine, but it can become very problematic when you try to tie them together efficiently.
Examples:
Particle effects - fine
distortion effects - fine
elegantly using them together in a deferred renderer without visually screwing with eachother - pain in the ass
On a more positive note, there's a lot of clever high-level optimizations you can preform that only experience can show you. When combining lighting and shadows, most graphics tutorials say to apply lighting before shadows (darkening the screen), but I've found that depending on the approach you take, it's actually better to do shadows first. That way you can use the shadow information to skip light computation for certain sources, saving some major fps.
Nodlehs
10-06-2008, 09:31 AM
mmmmmmmm..... I'd have to disagree. I understand what you're saying and it does make it a lot easier, but (to the OP) you also need experience in full-scale implementation. Making small components of a graphics engine is fine, but it can become very problematic when you try to tie them together efficiently.
I skipped the whole part about practice practice practice for brevity :) Putting it all together is a challenge in and of itself I agree. But if you DO have a solid grounding in all the lower level stuff, a bit of trial and error delivers a finished product.
EDIT: By 'bit' I mean, multiple failed attempts, analyzing the failure, and trying a different approach. This could take months, yes.
SamuraiCrow
10-06-2008, 09:38 AM
Learning Python is an excellent place to start. There's a textbook at http://greenteapress.com/thinkpython/thinkpython.html that will get you started with the basics. Once you learn that you can move up to better and brighter things such as 2d game programming with http://www.pygame.org/ and later to Panda 3d for 3d stuff. That should get you started with the programming end of things anyway.
fireside
10-06-2008, 02:48 PM
You need to start with a text that is for non-programmers. This would be a good one I think:
http://pythonbook.coffeeghost.net/book1/
It's main focus is games and it's made for a non-programmer.
bazso
10-06-2008, 03:55 PM
well to address the perfect higher educated super art uber elite godly oh mighty posters that think they way is absolute and 100% right and that feel that grammar needs to be 100%.
right not all of us had that gifted opportunity to be school related material as some of you have has it ever occured that there was factors beyond ones control and that it could not be helped that failure was so massive in school
that mental disorders were running in full swing and was on such medication to control it so hopefully when one did leave school at least one would know basic under stand of how the world works.
unless you all consider that to be ones fault and that it counts against him or her but then again being super art uber eilte and perfect you would have consider this already?
oh and to cover something else i am makeing some small amount of head way of working with the panda 3d engine i am starting to gain a little bit of under standing of how it works and i am pressing on its manual to see how far i go i am useing pype to encrypt the code in order to see pictures comeing from panda3d
fireside
10-06-2008, 04:14 PM
You won't get anywhere until you learn the language. The Panda3d tutorials don't teach the language. They say that at the start of the manual. You have to go through language tutorials.
bazso
10-06-2008, 04:26 PM
yeah fire when i introduced my self to there community and right off of the bat they said i should get working on first learning how the panda engine works then learn the python language and i am in full agreement with you i should be learning the python language first but they as in a few of the posters strongly recommended that i learn how panda worked
Sol_HSA
10-07-2008, 01:43 AM
yeah fire when i introduced my self to there community and right off of the bat they said i should get working on first learning how the panda engine works then learn the python language and i am in full agreement with you i should be learning the python language first but they as in a few of the posters strongly recommended that i learn how panda worked
It hurts my eyes when I try to read that paragraph.
I'll try to decipher it.
When I introduced myself to the community there, right off the bat they said that I should first learn how the panda engine works, and only then learn the python language. I'm in full agreement with you - I should be learning the python language first, but there a few of the posters strongly recommended that I learn how panda worked.
Okay.
Assuming you already know some programming language well (for example C), it might be useful to get into another language by studying some ready project. That way you might get the sense of accomplishment faster, which is a very powerful incentive to learn more. This is what I assume they were after. I could be wrong, of course.
My adventures in pythonland were a simple decrypting software, and a blender exporter - not exactly the simplest projects to start from. I don't claim to be a guru in python, but my experience with C/C++ let me hack around and make something that, while probably not the state of the art, works.
Nodlehs
10-07-2008, 09:01 AM
well to address the perfect higher educated super art uber elite godly oh mighty posters that think they way is absolute and 100% right and that feel that grammar needs to be 100%.
I am not interested in your medical conditions. I don't care if you are a high school dropout. I don't care if your mother beats you. What I DO care about is even the possibility of seeing one of your sentences start with a capitalized letter. No one here expects 100%, no one here is 100% right, but give us at least a 10% effort. You have obviously learned how to type, use the internet, program to some degree, good job! Now you tell me you can't learn some basic grammar? yea...
Reedbeta
10-07-2008, 09:52 AM
bazso, just put a period at the end of each complete thought and that alone will make your messages MUCH easier for people to read. Commas and stuff like that can come later. Don't kid yourself, though: you WILL need to learn grammar if you want people to take you seriously at all, in the long run.
alphadog
10-07-2008, 10:30 AM
well to address the perfect higher educated super art uber elite godly oh mighty posters that think they way is absolute and 100% right and that feel that grammar needs to be 100%.
I don't need 100% accuracy.
I'd appreciate at least 66% (passing) accuracy.
I won't bother if it is below 33% accuracy.
Look at it this way. You're busy. I'm busy. We're all busy. If I have to work extra to read and re-read your post, make sure I understand what you are asking, to formulate the best reply for your benefit, it is not going to happen if you don't put time in your question.
That's just fundamental courtesy.
bazso
10-07-2008, 11:45 AM
you know what if you can't be respectfull please do us both a favor and put me on ignore if it is that bad for you and you can't handle it so much for a friendly and under standing community
and i am not going to act perfect as you all want me to so you can get some where with that thinking
bazso
10-07-2008, 11:47 AM
I am not interested in your medical conditions. I don't care if you are a high school dropout. I don't care if your mother beats you. What I DO care about is even the possibility of seeing one of your sentences start with a capitalized letter. No one here expects 100%, no one here is 100% right, but give us at least a 10% effort. You have obviously learned how to type, use the internet, program to some degree, good job! Now you tell me you can't learn some basic grammar? yea...
and you can bite me
Nodlehs
10-07-2008, 11:48 AM
you know what if you can't be respectfull please do us both a favor and put me on ignore if it is that bad for you and you can't handle it so much for a friendly and under standing community
What you fail to realize is that everyone is trying to help you. I am going to turn this around back on you. If you can't accept constructive criticism and take a real good look at yourself and maybe realize that you DO have a problem, how do you expect to get help?
No one here is trying to tear you down, dismiss you as trash, call you names, etc. Stop being offended and start reading what people are saying.
Nodlehs
10-07-2008, 11:49 AM
and you can bite me
nom nom nom
fireside
10-07-2008, 11:52 AM
When I introduced myself to the community there, right off the bat they said that I should first learn how the panda engine works, and only then learn the python language. I'm in full agreement with you - I should be learning the python language first, but there a few of the posters strongly recommended that I learn how panda worked.
That works for some people, they find out what it is they need to know and that gives them interest to learn the language so they find tutorials etc as they go along. I think it's really better to get a basic understanding of the language, though, because 3d just adds more complexity. I don't think you need to go through a big book on python or anything, but I think you need to go through some basic tutorials and write some text programs without graphics at all. That's just my opinion, of course.
alphadog
10-07-2008, 12:48 PM
well doing this with no education at all with no modeling experience hopeing going to learn python i mean i am doing this as far as bottom of the food chain it wil go and fire was a very good help as with many others but it seems no matter where i go i am expected to know like i know what i was doing on any set given forum.
Enough about the value of grammar. Back to your original question: what education do I need to make a game?
Given your desired end point of a game based on Panda3D and Python, here's my "flowchart" for you:
1. Learn the ins-and-outs (not necessarily mastery thereof) of Python syntax, ex: looping, passing data, simple I/O, etc. Online resources include http://www.swaroopch.com/byteofpython/ and http://www.diveintopython.org/toc/index.html
2. Learn (not necessarily master) basic algorithms. Get to know stacks, queues, red-black trees, binary sorts, graph traversal, etc...
3. Stop learning for a while, and do: write simple scripts in Python that exercise the above concepts. Write scripts to solve classic problems like , etc. Find puzzles online and solve them.
4. Learn (not necessarily master) about object-oriented architecture and design. See Bruce Eckel books, or the Head First Series on Java, C++ and/or Patterns. Find out what's a class, what's a method, how do you turn a problem into a set of classes, etc...
5. Pick up game development concepts and language, so that you can speak on forums like this more accurately. Study algorithms on 2D stuff like for example scrolling, isometric views, collision detection (2D), AI (mainly 2D pathfinding), etc...
6. Time to "do" again. Pick up a 2D engine like Pygame (http://www.pygame.org) and code one or two 2D games.
7. Study 3D algos. Again, examples would be collision detection (in 3D this time), mipmapping, particle systems, shaders, etc...
8. Pick up a 3D engine and make your first stand-alone 3D game. Now's the time to take Panda3D and make it your bitch.
9. Then repeat with C++. But, even at step 8, you'll always be C++'s bitch. :)
Of course, the next question is: how long will this all take? Well, that depends on you, your capabilities, your natural talents and strengths. I'd say each step is four to eight weeks for delivery, at an optimistic minimum... :)
Nodlehs
10-07-2008, 01:08 PM
1. Learn the ins-and-outs (not necessarily mastery thereof) of Python syntax, ex: looping, passing data, simple I/O, etc. Online resources include http://www.swaroopch.com/byteofpython/ and http://www.diveintopython.org/toc/index.html
2. Learn (not necessarily master) basic algorithms. Get to know stacks, queues, red-black trees, binary sorts, graph traversal, etc...
4. Learn (not necessarily master) about object-oriented architecture and design. See Bruce Eckel books, or the Head First Series on Java, C++ and/or Patterns. Find out what's a class, what's a method, how do you turn a problem into a set of classes, etc...
5. Pick up game development concepts and language, so that you can speak on forums like this more accurately. Study algorithms on 2D stuff like for example scrolling, isometric views, collision detection (2D), AI (mainly 2D pathfinding), etc...
7. Study 3D algos. Again, examples would be collision detection (in 3D this time), mipmapping, particle systems, shaders, etc...
It is worth noting that the majority of your points are what would be learned in a classical 4 year computer science degree program. Substitute the game specific stuff for more general things and there you go. That takes 2 years on average to get to what you are listing :) Obviously you are studying other things during that time, but what you listed takes a long time. The language of choice may change, but all the basics drill down to the same algorithms. Don't rush it, take your time to cement the ideas and practice them before you tackle a large scale game.
alphadog
10-07-2008, 02:11 PM
It is worth noting that the majority of your points are what would be learned in a classical 4 year computer science degree program.
Very, very true.
<voice style="infomercial: Billy Mays;">But, if you go through my eight-step "Executive MBA-style" game development program, you can be done in just one to one-and-a-half years! Then you too can go on to create buggy games that lack imagination and crash all the time!!</voice>
All kidding aside, if you learn for a specific purpose (and hopefully already know things like calculus and linear algebra), you can reduce that four-year curricula by a fair amount, which has lots of optional courses and irrelevant material.
But Nodlehs is right. I have said and will say that if you are truly serious about game development, you should seriously consider a computer science degree. You'll be doing most of it anyways on your own time... might as well get a gold-trimmed piece of paper out of it. :)
vBulletin, Copyright ©2000-2010, Jelsoft Enterprises Ltd.