newbie needs help with where to start

Started by
3 comments, last by Serapth 11 years, 4 months ago
I apologize if this is then wrong section. First about me, I have a certification in web development and took classes programming HTML, Java, COBOL and AS 400, so I have a tiny bit of programming back ground. I can sort of read code and understand it but I have never actually written anything, unless you count apple BASIC programs. I am a systems guy.

I understand networks and SQL databases and things on that end. My question is where I should start with programming with the intention of developing a game.

Do I start in visual studio with C# or C++ and what is the best super beginner guide you can think of? Or is there a better language for a total beginner?

Is it better to create my own engine or try to find a free engine and code off that?
What is used for level design? (Software and so forth)

My 5 year down the road hopes would be to have a game where you as a toon can run around an open world colleting items using those items to create weapons and other things while avoiding/killing enemies.
Advertisement

I can sort of read code and understand it but I have never actually written anything

This puts you at ground zero. Don't look into engines yet, because you need some more experience just writing code. Integrating other people's libraries and/or scripting existing engines can come a little later.

To gain experience in game programming, start making games. A common progression path suggested around here is
Guess the Number (user interaction)
Tic-Tac-Toe (taking turns with a simplistic AI and calculating win conditions)
Pong (collision, simple graphics, render loop)
Tetris (Builds on the previous, more complex scenarios and interactions)
Pac-Man (AI, Pathfinding, personalities and reactions)

And then probably some 3D if you want to go that direction.

These are decent frameworks for learning new programming concepts, the "guess the number" game isn't far off from writing a "Hello World" program. They're small, not that ambitious, but completeable in a short amount of time with the right focus, and gives you little victories to keep you motivated.


Do I start in visual studio with C# or C++ ... is there a better language for a total beginner?

The majority consensus (for various, often-debated reasons) is to avoid C++ and pick something like Python, C#, or Java. The more-agreed-upon followup is to pick whatever language works for you, but stick to it. The more time you spend in the same language, the more you will understand its use and the more productive you can become. The underlying goal is to be able to think like a programmer. Any language lets you accomplish that. I'm partial to C#, your results may vary.


Is it better to create my own engine or try to find a free engine and code off that?

This is down the road, but I'll answer it anyway. For productivity: find an existing engine. For learning something: use an existing engine. For learning lower level design and lots of potential frustration and stagnation: create your own. Really: don't set out to make an engine. Engines evolve out of writing framework code for a specific game, and then reusing that framework later.


hat is used for level design? (Software and so forth)

Entirely depends on the game and what it consumes as "levels". I wrote my own map editor, some people can write plugins for 3d tools (like Blender or 3DSMax or Maya) to be able to do level design in those, sometimes it's just a notepad file with numbers in a grid (for tile-based games). There's no catch-all answer.

Hazard Pay :: FPS/RTS in SharpDX (gathering dust, retained for... historical purposes)
DeviantArt :: Because right-brain needs love too (also pretty neglected these days)

There are several places that are viable to start out at. I'll recommend my route, which was to learn C#/XNA. XNA is excellent for beginners. I was able to make a few simple games with hardly any programming or C# experience, just diving it to XNA (probably not a good idea, by the way). I'm going to reinforce what BCullis said; pick something and stick to it!

There are lots of resources floating around, even several books just for XNA. C# is much easier to learn and use than C++ when you're starting out, and is very similar to Java, so that'll be there if you ever decide you want to learn it too.

With engines, you don't really want/need to write your own engine, but if you really wanted to, that'd come way later. I've been game developing for like 3 years and I haven't made/used a game engine. Just build your game and what you need for it. Game engines are very generalized to fit wide needs, which means you'll have lots of bloat that you don't need, and you won't learn as much out of it.

This article is a pretty good read on the subject:
http://scientificninja.com/blog/write-games-not-engines

Aside from all that, BCullis' post covers pretty much everything else. Good luck!
sweet thanks for the help, while i waited i started following a tutorial on you tube for C++, did the hello world and am actually doing a guess the number game now. after this tutorial is finished i'll look back to see if you guys think i should keep with C++ or switch over to C#

what is the best super beginner guide you can think of?


This. Of course, I am biased since I wrote it.

This topic is closed to new replies.

Advertisement