Forum Thread
by member
  Posts  
How do i Begin? (Forums : General Banter : How do i Begin?) Locked
Thread Options
Nov 11 2012, 7:00pm Anchor

I have been wanting to develop games for a very long time, but have never found a good source to learn from. I don't know what is easier to use, Java,C++,C#,Python,ect. I am also a complete beginner at programming, so I have no idea what i'm doing. I want to develop games without using a game engine such as Unity or UDK, and develop my own from scratch. I realize that it takes a lot of work to do this and I am prepared if I could ever find a good place to learn how to program and develop games. I have been everywhere asking this question and have never got a good, clear answer. I appreciate the help on this subject a lot. -Thanks-

awesome2430
awesome2430 The General McBallsey
Nov 11 2012, 7:57pm Anchor

The most used programming languages are C++, Python, Java then C#, I would suggest learning c++ because it is the most well known one and easiest one to find help with. I would suggest my project if you would want to join one since if you would want to become good you would need to practice programming. The game is an RPG with basic characteristics for a nostalgic effect. Therefore the game should be quick to create and program and you can learn while doing. If you are interested pm me or email me at swcanner@gmail.com

Nov 16 2012, 10:44pm Anchor

I don't think anyone could give you a single right answer. Instead, we could have an productive conversation, what do you think?

I've been programming software for five years now, and I'm starting to develop games. As you see, I'm new to games, but I've got some experience in code crafting and I can say I really know where I'm steping when it's about programming.

So... What king of games you want to make? You want to develop an engine for general use, or an engine for your own game? You'd like to build 3D game from scratch?

Tell me more, so we can talk. :)

Smallchange
Smallchange GDI, 101st Airborn Division, Firehawk Pilot
Nov 16 2012, 11:25pm Anchor

Well jman, I honestly can't say much - except I've often suffered from the same problem. But I do like awesome2430's offer and 'really' suggest you take him up on it. There's no experience better than hand's on :)

Edited by: Smallchange

--

Mod DB - Game Mod Manager
Mod DB - Game Mapper

Nov 16 2012, 11:44pm Anchor

Game engines are under appreciated and with a few triple A titles being produced from them its ill advised to just dissmiss learning a good game engine.
UDK and UNITY are from what I think about your best starting points .. though I'd personally opt for UDK as they have a c++ code generation within its workspace showing you what the material instances do when you change them in its material editor.
C++ may well be the way forward to creations of wonderous proportions however used within a game engines existing frame work will save you about 5-9 years of hard work.
They also have the additional benefit of existing support centers with forums and places that have many tutorials on them.
A word of warning though any decent game will take alot of time.. though Id suggest you go into helping a crew Id strongly suggest you checkout their project before committing your word to helping them.

Nov 17 2012, 5:41am Anchor

I started out programming with C++, but it was a rocky road. I suggest picking up Python. It's fairly straightforward and intuitive and I think learning how to program using Python makes it easier to grasp the basic concepts of programming. If you really wanna roll your own engine, do yourself a favor and really learn how to program before trying to make a game. The best place to learn how to program? Books, books, books, practicing, and more books. Tutorials are good for specific topics once you've got a solid foundation, but I find that many of them gloss over things. Pick a language, get a good book for it, and dig in.

Nov 17 2012, 5:17pm Anchor

Some people like to create games, but some people really enjoy to develop engines.

Nov 17 2012, 6:20pm Anchor

Here is some more info to what I would like to accomplish. I want to develop a engine for my own game, I would prefer not to use one like UDK or Unity, but that is still a option. I haven't really decided on what type of game I want to do, but I like the 8-Bit style survival type games, so that's what I was learning on. I do not know anything else than this, and that is why I am asking. I need some tutorials to get me going and how I should go after it. Keep in mind I am completely new to programming of any kind, and that is why I am here asking for help. -Thanks-

@awesome2430- I really appreciate the offer, it's nice to know that there are people wanting to help complete noobs like me out there lol, but like I have said, I am a complete beginner to this and am just wanting to do this as a hobby that I have always wanted to do. Thanks for the offer though, it means a lot!

Edited by: jmanrocks44

Nov 18 2012, 2:02am Anchor
jmanrocks44 wrote:Here is some more info to what I would like to accomplish. I want to develop a engine for my own game, I would prefer not to use one like UDK or Unity, but that is still a option. I haven't really decided on what type of game I want to do, but I like the 8-Bit style survival type games, so that's what I was learning on. I do not know anything else than this, and that is why I am asking. I need some tutorials to get me going and how I should go after it. Keep in mind I am completely new to programming of any kind, and that is why I am here asking for help. -Thanks-

@awesome2430- I really appreciate the offer, it's nice to know that there are people wanting to help complete noobs like me out there lol, but like I have said, I am a complete beginner to this and am just wanting to do this as a hobby that I have always wanted to do. Thanks for the offer though, it means a lot!



Being a beginner, there's one thing you should understand: You don't need to write an engine to make a game from scratch, and in fact it's not the best idea to start developing an engine first. It's completely possible to write a good game without an engine. Once you've written or cloned a few games, and develop your programming skills, then you'll start to see functionality common to all games and will be able to start working on an engine, or framework of sorts.

Because I'm new here, they won't let me post urls, but please google "write games not engines" and read the first page that comes up, it really explains what I'm talking about.

As far as getting started as an absolute beginner, I have the most experience with Python and C++ so I'll list some good assets for getting started on each.

Books:
C++
Beginning C++ Through Game Programming by Michael Dawson
I think this is a good introductory C++ book. All of the programs you will write here are text based, but the author does a good job of connecting the concepts to game programming. I think it's a pretty easy read, especially for beginners

Python
Python Programming for the Absolute Beginner by Michael Dawson
Another book from the same author as the above book. I just think this guy really has a knack for explaining programming concepts in a way that someone with no experience can understand easily. This book is a complete introduction to Python and starts with simple text based programs, moves on to GUI forms apps, and actually shows you how to create a couple simple graphical games by the end of the book.

I really suggest getting some books, but if you must go the online tutorial route, I find TheNewBoston video tutorials to be pretty good and comprehensive. They can be found at thenewboston.org

Again, I can't post urls yet, but everything I've mentioned can be easily found by flexing your Google-Fu =)

Final advice: Stick with it, learning programming isn't the easiest thing in the world, and can be frustrating at times, but with dedication you'll get it. Also, don't rush into graphical game programming, take your time and really learn the language, and THEN look into game programming. Good luck!

Nov 18 2012, 2:09am Anchor

I think your need to create a game engine from scratch is a premature one especially because you have no programming experience. You also didn't specify if you want to go into 3D or 2D?

Here's my advice in no particular order:
1. Start modding games you like: This is how some game developers started out and be quite fun too. You can learn quite a bit about level design by modding existing games as well as using script if they support one.
2. Start using a game engine. Since you don't know programming yet it's probably not a good idea to think you should create your own game engine at the moment. There are several existing game engines that should be enough for beginners. There are even some free (or free for non-commercial use) game engines which means you can start using them without forking out any cash. Don't forget to register and use their respective forums too. You can try out several game engines so that you can get a feel for them. There are even some that game engines that 'don't need programming' which while a great idea for beginners will ultimately limit what you can do with them and sometimes quite severely.
3. Start small and start with 2D, its easy to think that you could make the next FPS but that's a little too ambitious when you are just starting out. You need to start with something simple then move on to bigger things, try creating a simple arcade game then making it more complex then make something bigger and better. 2D is a good place to start when you are new to game development , there are many aspects to 3D game development that can overwhelm newcomers.
4. Fake it till you make it: Game development can be complex and require quite a lot from the developer especially if they are in a small team or the loner developer. It may mean you have to create music, sounds, textures and more which can be quite a task, but luckily for you if you are just starting out you may not need to create your own resources, the Internet has a wide variety of resources such as free sounds, free 3D models, free textures etc.. Just make sure you follow the license that comes with them. You will probably have to create you own resources in future (or get them made by someone else) but lack of resources should not slow you down.
5. Take a game development course: This is highly recommended, you will get to learn the many aspects of game development in a learning environment, if you can take a game development course do it. (cost and time restrictions permitting of course) When you start out in game development you may not be able to see the big picture or see all the 'moving parts', this is where a game development course would be a great idea, from the outset they will give you the big picture and set about showing you how all the 'parts' work together to create your game. You will also be able to query you course instructor when you get lost and get to work with others who are also into game development.
6. As mentioned before do lots of reading that related to game development and programming in general. Learning about game development can be quite a humbling experience when you see just how much work is involved in making a game. Its easy to say 'this game sucks I could make a better one if i wanted to' but its never that simple. Here are some free online and downloadable ebooks related to game development listed on gamedev.stackexchange.com

That's my 2 cents worth

I also compiled a list of Game Engines (including some that don't need programming) that could be useful to you:Game Creation Tools It also has a list of free game development tools like 3D modellers, sound effect makers, texture generators and more.
And don't forget Indie DB game engine List

Edited by: TenaciousXL

Nov 18 2012, 2:55am Anchor

Thank you all for the help and advice. I looked into a few books on C++ and even some game programming courses. I think modding and then slowly learning as I go is the right way to go since it will teach me how to program. I also read the page on write games not engines. That makes things a whole lot more clear for me. Thanks again to all of yall who have posted! If anyone else has any tips I will always be open to suggestions! :)

Nov 18 2012, 1:08pm Anchor

You want to make things from scratch?
First, choose a language and start to learn OOP (Object Oriented Programming). After that, you should learn about Design Patterns, read all you can about it. But read is not enough: you need to practice and to experiment. Start with the basics.
At the point you can say "I know how to program OOP and I'm familiar with Design Patterns" you will already know how make your own decisions about the more suitable languages and frameworks to whatever you want to accomplish. Then, get your hands dirty again and go learn and experiment.
I really belive that become a good developer is truly important before you go any further, so: OOP and Design Patterns should be a good start (that's not all, though; programming has no end).

And here is a nice book if you'd like to know how things work inside games: Amazon.com

Nov 18 2012, 1:32pm Anchor

Ok, i'll make sure to look up OOP and design patterns.Thanks for the link to the book, that is sure to help in the future. I just think I was getting ahead of myself by wanting to learn how do develop a game from scratch at the beginning. I now have a lot of practice to do before I even go near developing my own game from scratch. Thanks for the help!

Nov 19 2012, 12:34pm Anchor

Brief post on the subject of programming languages:

C++ is great and you can do anything with it. But it's not simple to learn. Python is fine but there aren't tons of game engines that use it. Don't get married to a single language. Try some online tutorials in the language of your choice and give them a test run. If it seems daunting and discouraging, try something else. If you are more of a creative person, there are languages and engines out there that cater to your needs. If you are looking for a simple 2d game, you could consider starting with Javascript and HTML5.

Just try to start small! Finishing an extremely simple game is a huge confidence booster.

Nov 19 2012, 2:19pm Anchor

I vote to Javascript and HTML5. But if you realy learn how to program using OOP, you'll be able to learn almost any language.

rbailey wrote:Just try to start small! Finishing an extremely simple game is a huge confidence booster.

Agreed!

BNG
BNG
Nov 19 2012, 2:52pm Anchor
jmanrocks44 wrote:I have been wanting to develop games for a very long time, but have never found a good source to learn from. I don't know what is easier to use, Java,C++,C#,Python,ect. I am also a complete beginner at programming, so I have no idea what i'm doing. I want to develop games without using a game engine such as Unity or UDK, and develop my own from scratch. I realize that it takes a lot of work to do this and I am prepared if I could ever find a good place to learn how to program and develop games. I have been everywhere asking this question and have never got a good, clear answer. I appreciate the help on this subject a lot. -Thanks-

I'm mostly a model maker and game development is no easy task for the average person. I would suggest joining various related forums and just start asking questions of the members on the forums. If you want to learn a bit of programming try downloading a modeling software called Anim8or 097 preview and the ASL script editor for creating script to use with the software. It'll teach the basic of working with manipulating elements in Anim8or based loosely around the C and C++ language, and it's fairly easy to comprehend because you don't need an actual language compiler because it's all written in plain text format. The scripts are all used interanlly by the Anim8or engine to do stuff like create animation controllers, customized model exporters, automated geometric object creation, and a lot of the elements used in game development. A ton of premade 3rd party scripts already exists in a data base and existing scripts can easly be modified in the ASL script editor for you to practice on at your leisure. The Anim8or.com forum is still fairly active and you you should be able to join it by emailing the Anim8or software's original creator Steve Glansville by visiting the Ulimate Anim8or forum and clicking on the email link on the site. As far as pure game devolopment try the Unreal 3D forum as this game engine is quite popular and free to use for non commercial use.

Nov 19 2012, 3:35pm Anchor

If you want a programming from scratch development, I reccomend looking at Leadwerks Engine. Leadwerks.com

I have been developing with it for almost a year and I had very little programming experience but I found it easy. It is not like some other engines like UDK because you start programming from scratch. It has a very welcoming community. Probably the best around. Take a look. I think you will find it interesting.

Nov 26 2012, 5:29pm Anchor

Allow me to throw in some (short note) of my own experience! I always dreamt of making my own Source mod from scratch once, I decided to jump right into it. However, it turned out harder than I had thought, so the whole thing crashed pretty soon. That was when I realised that "just making a Source mod from scratch" wasn't going to work out. So, I started right at the beginning, you know, the tedious little console projects written in C++, it sure helped me a lot to get the "programmer mindset". Now, sometime later, I start to get the hang of it, now able to do the small, simple projects. Currently experimenting with the Super Fast Media Library on some networking code.

In short: You could mod some aspects of an existing game, but try to start programming the simplest tasks, and then, once you feel ready to get some graphics done, try moving to some media library (such as SFML). There are chances that you won't be making your very own game engine with little or no programming skill. This may sound harsh, or rude, but I had to find out the hard way.

Best of luck,
Sub D

Reply to Thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.