New Programmer Loooking for Where to Start

Started by
7 comments, last by Tom Sloper 12 years, 11 months ago
Hey everyone,

Let me say this before I start, I literally have no programming experience. None at all. Now that you know that, here goes. I've been interested in learning several programming languages with the overlying goal of creating an RPG for a while now. I eventually would want to be able to create an RPG on Windows without the use of any game engines. I know that this is an incredibly lofty goal for somebody with my lack of experience, but I'm willing to put in some serious time to work towards my goal.

My question is this, what programming languages (starting from the VERY beginning) should I learn to eventually let me create an RPG? Also, how long would you expect the overall process to take?

Thanks for reading!
Advertisement
I'd recommend XNA using C#. There are gobs of beginner guides. All you need to find them is Google. And it's impossible not to use some engine of some sort. You need an engine to drive a car no matter what form the engine takes. ;)
Always strive to be better than yourself.
Hi,

There are quite a few ways to go here. The first thing we might use to help is your general age. If you are younger, can afford it, or have the free time, you might consider taking a couple of community classes if your town has them. If not, there's always the internet and us.

There are a lot of theories on what is a good language to pick for a first, but my opinion is that you should just pick one and go for it. Practice at it from the beginning and don't get too ahead of yourself. For instance, pick your language and learn how to write "Hello World!". Change that to "Hello Orcs!" and go from there :)

I'll let others comment on the language of choice because I'm interested in what they might have to say.
I'm sure the faq can answer this question. I'm on my iPod so I won't go copy the link but I'm sure you can find it. I started with the pygame library for python and it is great for learning concepts without worrying(for the time being) about where your memory is going and other things like that. As for how long it will take: http://www.gamedev.net/page/resources/_/reference/103/postmortems/how-to-build-a-game-in-a-week-from-scratch-with-r2259 is an example, although it depends on your budget, and how "good" you want your rpg to be.
Thanks for your responses! Anyone else?
I'd start with Python, the reasons are threefold.

1. It's easier to jump into the mechanics and applications of programming, which is far more important than a specific language. You can get started writing programs right away without all the fuss of memory management, linker settings, and such.

2. Being easier does not mean it's a "tinker toy" language. Python is powerful, much more than I first thought it would be. In fact several games and even professional graphics programs use Python for scripting purposes (don't worry if you don't know what that means, just know that any skill in Python will not be obsolete anytime soon). And really, any programs you write while learning Python will be pretty much the same as when learning another language like Java or C++. The only difference is that with Python it's easier to "see" the code, if that makes sense.

3. Depending on your game, Python might be all you need. It works with the PyGame library which handles things like graphics, sound, and input. Granted it's a bit slow, but if your RPG is 2D and doesn't need to do a million things at once it will suffice, and you get to work on the logic and mechanics of your game faster which is where the real fun is anyway.

On top of all this, Python has a very active community, so you could get help with pretty much anything as you go.

If you later decide to move on to C++, Java, or whatever and use a faster API like OpenGL or DirectX, learning will be so much easier because you'll already understand what you're shooting for and how programming works.

Hope this helps.
Any language you're likely to consider will be able to handle creating an RPG game -- I would agree with those above that either C# or Python would be good choices, as both are approachable for beginners and capable of what you eventually want to do.

How long the process will take really depends on you -- how much time you're willing to put in, how quickly you pick up programming skills, how fast you're able to solve the problems that arise, etc. I would say however that starting from scratch you're likely to take at least a year, probably longer, although there are certainly examples out there of people who have done such things much faster.


A few pieces of advice:
  1. Make decisions and get to work. Some of your choices will almost certainly be less than optimal, and if you're unlucky some may even be completely wrong -- don't let that stop you from getting started -- you will still learn a great deal even when you take an incorrect approach, and if you make choices and get started you'll be way ahead of the many many people who spend forever researching and asking for opinions to try to find the "best" or most correct approach. Many successful commercial and indie games do things in ways that may not have been the best choice, but the more important thing is that they were actually completed.
  2. Don't be afraid to make mistakes. Following on from above, you're going to make mistakes along the way. Some people let this stop them from getting anywhere, worried that they'll be wasting time or that they might be embarrassed. Successful developers get out there, make mistakes, learn from them and continue working. You are going to make mistakes; treat them as the excellent learning experience they present, and don't let them stop you from getting started or trying different approaches.
  3. Don't be afraid to ask "silly" questions. We all started out not knowing how to do anything, and in general you will not be made fun of for asking simple questions or questions about basic topics; anyone who does make fun of you for asking is probably not worth listening to, and (if it's here at GDNet) if reported to a moderator will be dealt with appropriately. Don't apologise for asking simple questions.
  4. Ask questions smartly and politely.
    • Do your own research first; see what you get with a quick search either on Google or here in our forums, or if you've got a book check to see if it has information. If you don't know what to search for just say so and we may be able to help out with that as well.
    • Provide relevant information. When asking programming questions say what language you're using. If you need help with an error, provide the exact error message. Tell us what tools you're working with. Tell us what you're actually trying to do, what approaches you've already tried, and if things are going wrong describe how they're going wrong.
    • Write properly. People will forgive a few spelling/grammar mistakes, but if you haven't tried at all it will show and people will not feel it is worth their time to help you.
    • Thank people for their time and responses, and if responses are particularly helpful you might consider rating them up (the thumbs up/down icons in the lower-right of posts). People on these forums are volunteering their time and appreciate being appreciated.
  • Practice, practice, practice. You will not learn programming purely by reading about it, so once you've picked a language make sure you get plenty of practice actually creating programs. If you get a book be sure to do all the included exercises; if you take a class do all the homework; change things around and see what happens; solve any problems that arise, and when ever possible find out why the solutions worked. Some of the programs you'll make as a beginner can sometimes feel a bit stupid and pointless, but the learning experience is invaluable, and if you're willing to do the work you'll get through the basics and on to something more interesting soon enough.


  • I hope some of that helps you, and good luck with your goals! smile.gif

    - Jason Astle-Adams

    I'm not going to be able to beat what Jbadams said, but the "For Beginners" books where always a huge help for me. There is one (Directx/C++) called Programming RPG's Direct X by Jim Adams. It's a Thompson publication, try Amazon.com. It assumes a basic knowledge of C++, but you can work your way through it by example and learn a lot by doing.

    what programming languages (starting from the VERY beginning) should I learn to eventually let me create an RPG? Also, how long would you expect the overall process to take?

    The first question is probably answered in the FAQ (above) or in the responses you've gotten. As for the second question: probably six to seven years.

    -- Tom Sloper -- sloperama.com

    This topic is closed to new replies.

    Advertisement