New To Devmaster

Dc05f07b0e1cf013e1e050f94e1694da
0
Sanemon 101 Dec 21, 2012 at 05:16

Hi, I am new to the community and wanted to say hello to everyone (Wait for it mods, I do have something related to this Sub-Board.) and say thank you for having such a clean mature website.

I am trying to break into the world of game development and I figured I’d go ahead and join this community in the hopes of furthering my knowledge.

Now I hope everyone will take me seriously and not think I am one of the thousands of kids that is trying to make a game and does not understand the challenge that it poses. (Actually that is why I am here, I am in constant need of information and I figured it’d be nice to actually be able to ask questions.)

I have several years of your basic IT experience, you know, fixing printers, imaging machines, fixing minor registry problems and so on. Doing this I picked up writing basic scripts in Batch and later decided to learn how to code in Hypertext, do style sheets and some basic PHP. I also dabbled in C++ as a hobby. I have a basic understanding of programming so I’ll just list concepts I am familiar with so that others may better be able to help me.

Programming Concepts

  • Difference between scripting and programming.
  • The understanding of in basic terms what compiling and interpreting does.
  • Functions.
  • Arrays.
  • I/O and file I/O.
  • Variables, constants etc.
  • Preprocessor directives and header files.

Things I “Feel” Shaky On

  • What the hell is a pointer?
  • Classes differ from functions.
  • How to load the contents of one .cpp file into the code of another and call functions from it.

Other than that list I am clueless on what I don’t know or what I should know.

So I can do basics in C++. Am I ready to jump into actually making a “real” game, rather than spending boring hours making exercise programs in C++?

Long term, I and a group of friends would like to get into making Indie Games, we have several RPG ideas. I would suspect I should not start out trying to make our RPGs as it seems like that genre is really hard to do in the beginning,

If we are interested in doing more 3D games, should we still start with 2D engines?

What other things will we need to learn?

I am in the process of learning Blender, a mapping program, The Gimp (Too poor for Photoshop or Fireworks.). Long term is it ideal to do sound in or out of house?

What Engine do you guys recommend picking up? I am sure this is one of the most common questions, so I’ll elaborate below.
We are looking for something cross-platform that will work long term, something that it is only necessary to learn once, something that is versatile. I wouldn’t mind learning multiple engines for different applications if the extra learning is warranted by a better or more complete game. EG) A different engine for 3D and 2D projects. So far we like Unity3D and UDK for 3D games, but favor Unity3D because there is a free version and the lack of royalties.

My problem so far is that Unity tutorials tend to either be more advanced or very basic and I am having a hard time jumping that gap. I understand the basics of scripting and have a great understanding of the interface and hierarchy. But I need something that is either Novice to Pro, or something that can bridge the gap. A lot of the scripting tutorials give a lot more hows that whys. By that I mean, they tell you to do something (EG: Call a premade function without telling you that it is a premade function or what it does.) So either they expect that you already know this or they don’t think it is prudent information. I am looking for something that explains the concepts in scripting without simply saying, “Use this now and we’ll come back to it later.” or :Use this, this is how you put something in the GUI.) And this causes me to keep going back to the basics and spending way more time scouring the net than actually learning.

Also when I am reading I have the tendency to get bored quickly, or get really twitchy when I am trying to comprehend a strange concept and end up wasting a lot of time pacing. Any strategies on how to say seated and reading?

So to summarize.
Engine?
Where to start?
2D first then 3D, or can I just start in 3D?
Is my programming knowledge sufficient to start making games with the help of tutorials?
Tips on how to continue reading even when I get fidgety?
Other tips?
Complete tutorials on Unity or other program.

Thanks guys and I hope I can get into this scene and get started making games with this crowd soon.

Edit: We aren’t complete newbies to the design process of games, we are set to demo, advertise and release an Pen and Paper Role Playing Game, sometime in the first quarter of next year.

9 Replies

Please log in or register to post a reply.

A3c652c6832b95ef5c3e63e60527e1ab
0
Albertone 101 Dec 21, 2012 at 08:09

Is your programming knowledge sufficient to start making games? No.
…with the help of tutorials? Tutorials are useful when investigating a circumscribed topic - they don’t substitute text books.
2D vs 3D? In game development the devil lies in the details. Consider a simple game i.e. snake/nibble: cloning it is not that hard, but then, when the basic elements are in place, you start seeing all those decisions that need to be made and that you didn’t envision. Example: what do you do when the snake needs to grow but the end of its tail is right against a wall? Do you code a way to make it bend in a free direction? Do you accept that the tail, for some frames, appears overimposed to the wall? A bunch of simple, well executed 2D games will gain you so much knowledge!
Tips on reading. Well, you don’t simply read programming books - you type and compile their listings, then you do exercises. You didn’t mention math, yet it has to be your best friend (from elementary to calculus, linear algebra, etc): when you study a math book you redo the examples on paper and after every major piece of knowledge you do a good number of exercises.
Engine. I’m probably too old school yet I don’t think you can use an engine with success without a good knowledge of graphics&physics programming.
Where to start? From the basics: a good book on computer systems, a good one on C/C++ programming, and a review of your high-school maths knowledge, filling the gaps you’ll find.

Dc05f07b0e1cf013e1e050f94e1694da
0
Sanemon 101 Dec 21, 2012 at 09:03

I don’t think I’ll need to be reviewing math or physics outside of strict gaming/programming terms for a while. I am a physics major and already get enough of that stuff :). And reading the above I may have undersold myself a wee-teensie bit on programming. I “understand pointers” and classes and functions in a practical sense, but really no more than that. I am still quite the newbie, I guess that’s what I get for being pampered with Python. So my question is can I learn what I need to by programming/scripting in a game environment? Or even with that do I still need to go back and work on the basics?

A638aa42130293f319eda7fa4ba121f4
0
fireside 141 Dec 21, 2012 at 13:45

I think you are more or less going in the right direction. There are some advantages to starting in 2d, and I think that’s why you get the feeling you are missing something, but it’s probably all right to jump into an engine like Unity. Everyone wants to kind of jump ahead to the good stuff, but you need to start with those basic tutorials and then experiment and expand on them. When you do that, your questions will be answered by finding things out and re-writing and making changes to many of the scripts provided.
You sound like you have most of what’s needed. It would be better to move into c# rather than using javascript in Unity because it’s not quite a developed enough language, but there’s no rush. Check out unity cookie for some pretty good beginner tutorials.
http://cgcookie.com/unity/
There are a million tutorials around and youtube is also a good place to find them. RPG’s are a team project that can take years and every individual I know that tried one ended up never producing anything. That’s the kind of thing where a mod works better for most people but they can’t seem to get their head around how much work a game like that can be. Unity, though, has a lot of assets that you can easily buy and add to your own project, so it’s probably the closest you can get.

46407cc1bdfbd2db4f6e8876d74f990a
0
Kenneth_Gorking 101 Dec 21, 2012 at 15:24

@Sanemon

I “understand pointers” and classes and functions in a practical sense, but really no more than that. I am still quite the newbie, I guess that’s what I get for being pampered with Python. So my question is can I learn what I need to by programming/scripting in a game environment? Or even with that do I still need to go back and work on the basics?

I can recommend the C++ FAQ if you want to dive in deeper with C++. It has a lot of small-but-effective examples of all the in-and-outs of C++, including classes and memory management. Also, its tagline is ‘Not just how - also When and Why!’, which I think you might appreciate :)

Dc05f07b0e1cf013e1e050f94e1694da
0
Sanemon 101 Dec 22, 2012 at 11:02

@Kenneth Gorking

I can recommend the C++ FAQ if you want to dive in deeper with C++. It has a lot of small-but-effective examples of all the in-and-outs of C++, including classes and memory management. Also, its tagline is ‘Not just how - also When and Why!’, which I think you might appreciate :)

This site looks excellent, I will definitely be looking into this deeper!
@fireside

I think you are more or less going in the right direction. There are some advantages to starting in 2d, and I think that’s why you get the feeling you are missing something, but it’s probably all right to jump into an engine like Unity. Everyone wants to kind of jump ahead to the good stuff, but you need to start with those basic tutorials and then experiment and expand on them. When you do that, your questions will be answered by finding things out and re-writing and making changes to many of the scripts provided.
You sound like you have most of what’s needed. It would be better to move into c# rather than using javascript in Unity because it’s not quite a developed enough language, but there’s no rush. Check out unity cookie for some pretty good beginner tutorials.
http://cgcookie.com/unity/
There are a million tutorials around and youtube is also a good place to find them. RPG’s are a team project that can take years and every individual I know that tried one ended up never producing anything. That’s the kind of thing where a mod works better for most people but they can’t seem to get their head around how much work a game like that can be. Unity, though, has a lot of assets that you can easily buy and add to your own project, so it’s probably the closest you can get.

Yes, RPG’s seem to be something that even well known Indie Devs stay away from, unless it’s something like Dungeon Defenders or Legend of Grimrock, neither of which are particularly “Role Play” heavy, not to say they aren’t great and they are still way past my current capacity to even begin to understand the complexity of the design process.

I guess the other benefit to doing 2D is that Pixel art is a lot less time consuming that modelling, texturing and mapping.

So whatever I do in 2D will be a lot more “Playable”

I found a program called Stencyl, it allows you to script in AS and use snap-code-blocks for simple behaviors. Is this worth playing with? The snap-block feature is much like scripting only all of the resources are available. I think this might teach me a bit about organization and the general flow of a game script. Plus it is simple enough that I haven’t had to read any of the tutorials on it. I have made a platformer where you avoid spikes, collect coins and wall jump. Sound effects and animations etc are all handled and I have even figured out fixes to several bugs and had some experience fixing the engine’s XML project files. So I would have to say it’s helped me get acquainted with the process in a bit more start to finish manner. Not only that it can publish to IOS and Android via Flashes mobile platform.

So again I ask is something like this or Construct worth messing with or should I stick to a more typical code based 2D platform?

A3c652c6832b95ef5c3e63e60527e1ab
0
Albertone 101 Dec 22, 2012 at 13:15

@Sanemon: if you have some experience with Python, I’d suggest you to take a look at this little 2D RPG made with PyGame by the Rampant Coyote: http://rampantgames.com/hackenslash.html - the source code is also available.
Jay Barnson (the coyote) is a very nice guy, he is working on his second indie RPG and he frequently blogs on RPG making.
BTW: he is using Unity in his current project.
The things you have to do are heavily related to what your goals are.
In imaginary well rooted indie team making their lives selling the games they make, what role do you see for youself?
The main programmer? If so, a good knowledge of C++, and computer science in general, is still reccomended, even if you end up licensing a commercial engine.

Dc05f07b0e1cf013e1e050f94e1694da
0
Sanemon 101 Dec 22, 2012 at 21:36

My current role in our projects building Indie Role Playing Systems is leading off the team (Not something anybody can do their first time in a big Video Game Dev team, but likely will be the case if I continue to work with these people.) by that I mean, marketing, financing, editing and leading off brain storming. So if this trend of doing a little bit of everything continues I may end up needing to have a general knowledge in every aspect from design, to implementation to polish, with expertise in one or two areas. I don’t proclaim to be able to do anything all completely by my lonesome and certainly would not undertake a large project by myself, but I often end up teaching people to do things they are completely unfamiliar with or pointing them in the right direction. And as I said I often get the ball rolling. We really don’t see what were are doing as much different from the design process of video games, we have an artist, we have words and we have systems of rules. What we are really learning is the Engine and the art of programming/scripting. We see making games as the next part of the logical progression of what we do. All of us save our Artist, who can do Textures and 3D modelling already, have little experience in this arena, It’s just something we want to undertake while we are still in College so that we have the financial liberty to do it.

A638aa42130293f319eda7fa4ba121f4
0
fireside 141 Dec 22, 2012 at 21:58

So again I ask is something like this or Construct worth messing with or should I stick to a more typical code based 2D platform?

Personally, I would recommend going the traditional route, otherwise, it’s pretty much the same as using Unity. You’ll be good at that particular engine/ whatever, but not have a feel for things like game loops, simple collision, simple physics, simple ai, your own a* path finding solution … Keep in mind that learning those things may take a year or more, so it’s a question of whether you want that foundation or not. You can get by quite well without it, you just won’t have a feeling for how things are working underneath it all. Construct looks like a lot of fun, and if your focus is on game design, it’s a great short cut. You could also start with construct and then later decide to try a traditional approach if you felt it was necessary. The important thing is to write games, small games at first and then expand. Finishing them right away is also the way to go. Have a menu and levels.

Dc05f07b0e1cf013e1e050f94e1694da
0
Sanemon 101 Dec 23, 2012 at 03:22

Well, I am taking several programming classes next semester, I think they even offer one specifically related to game design. Would taking a few general Computer Science courses at the local CC. So I would assume a lot of that will transfer over, since I know for a fact that they teach C++ instead of other object oriented languages. Again, it’s a matter of taking the extra classes since I am in school that could certainly help with game design. I am located in Austin so there are plenty of internship opportunities for game design firms (small and large) here. Heck even Bioware has an office here.