Anyone else run into the "idk what programs to make" issue?

Started by
33 comments, last by Anri 11 years, 2 months ago

Someone told me the order I should work on things is as follows:

1. c++ basics (types, functions, classes, pointers, includes <iostream> <fstream> <sstream> <stdio.h>)
2. sdl with the posted tutorial and/or sfml
3. opengl

thing is, i have no idea how to use those libraries. Letalone what programs to make using them.

Advertisement

I can honestly say I've never had that problem.

I got into this to make games like the games I love to play. I never worried about doing things or learning things in the right order, following some kind of schedule, or asking to be told what to do. Back when I was learning how to make games, everyone else was, too. There wasn't an internet to go to if I ran into a little bit of trouble. There were a few books I could buy, some of which helped me a good deal, but the vast majority of my learning came from trying to make games. If you worry too much about doing things in the proper order, let yourself dwell too much on how big the job is, etc... you stand the very real risk of total paralysis. Just figure out what game you want to make, then figure out what you need to do and learn in order to make it. If it turns out to be too big for you, try again or try a simpler one. But you'll learn far more from even failing at a project than you ever will lurking around on forums fretting about what to make or what order to learn things.

Programs are made to fulfill some need, not the other way around. If you have no idea what programs to make it means you have no need to fulfill. In this case, your need is education. You want to learn, therefore, you need programs which address this, and that means simple code that is easy to conceptualize but is still challenging to write.

OK, that sounds very unhelpful, but for the sake of education, you could always try writing a Pong clone or something, which will use most of what you cited above while giving you a clear goal in mind (I assume you know what Pong is, if not, google it). Libraries are "learnt" by reading through samples, tutorials and documentation, it doesn't just come magically. You need to work on it.

Once you succeed at making something that sort of works, self-satisfaction should power you through your next project. And so on..

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

I can honestly say I've never had that problem.

I got into this to make games like the games I love to play. I never worried about doing things or learning things in the right order, following some kind of schedule, or asking to be told what to do. Back when I was learning how to make games, everyone else was, too. There wasn't an internet to go to if I ran into a little bit of trouble. There were a few books I could buy, some of which helped me a good deal, but the vast majority of my learning came from trying to make games. If you worry too much about doing things in the proper order, let yourself dwell too much on how big the job is, etc... you stand the very real risk of total paralysis. Just figure out what game you want to make, then figure out what you need to do and learn in order to make it. If it turns out to be too big for you, try again or try a simpler one. But you'll learn far more from even failing at a project than you ever will lurking around on forums fretting about what to make or what order to learn things.

I want to make games too but you have to crawl before you walk, walk before you run, etc.

I have a LOT of books, a very good one in C++ Primer, but I get sick of reading so quick that I am not really going anywhere.

And it doesn't help the only games I can think of making are 3D.

AKA big projects that I shouldn't be focusing on as someone who hasn't really programmed squat in the 4-5 years I have been on/off programming.

There are plenty of 2D games you could 'clone' for experience purposes, like Pong (as Bacterius said), Tetris, Dig Dug, Galaxian, Asteroids, or just a simple platformer.

They may not be the awesome, huge 3D projects you want to make, but they're much more realistic.

Hell, if you really can't make a 2D game whatsoever, just start programming for your 3D game ideas, and get as far as you can get with them. You'll learn a lot, even if you fail to finish the project, and you'll probably feel more motivated because they're your little babies you're working on, not just clones of other games.

[twitter]Casey_Hardman[/twitter]

There are plenty of 2D games you could 'clone' for experience purposes, like Pong (as Bacterius said), Tetris, Dig Dug, Galaxian, Asteroids, or just a simple platformer.

They may not be the awesome, huge 3D projects you want to make, but they're much more realistic.

Hell, if you really can't make a 2D game whatsoever, just start programming for your 3D game ideas, and get as far as you can get with them. You'll learn a lot, even if you fail to finish the project, and you'll probably feel more motivated because they're your little babies you're working on, not just clones of other games.

That last paragraph is the most important thing in this thread.

Just start trying to make what you want to make. You'll learn so much from doing that. I piddled around learning stuff in the way I was "supposed" to, and then just started trying to make a game I really wanted to make, even though I wasn't "ready" for it. I learned more than I ever learned previously by doing that.

And it doesn't help the only games I can think of making are 3D.

So? Go for it. You learn by doing. 3D games are only harder for people who only think in terms of code, which is an epidemic on forums like this.

Go grab the Blender Game Engine, Unity3D, or any other toolkit and start prototyping it. Don't worry about their scripting languages not being C++, if you understand programming, you can pick them up quickly enough to hammer out your required logic in them.

Just make it sloppy as hell and keep refining it. Don't worry about code, focus on design, and use whatever tools you can get your hands on to make it easier.

Once you have something to show, and something that somewhat works, you can get show it off, and get feedback, and then if it's a good idea, it will take on a life of it's own.

I think any game designer runs into this problem on a regular basis!

First, there is good advice given by the previous posters about "just go for it". Expecting too much of yourself is usually counter-productive so you do have to just see what you can currently do and go from there...

Second, if you want to learn 3D then I recommend starting with a ray-caster engine. If you're using C++ then I'll assume you are a windows user and suggest you forget about all these game libraries and just use the WindowsAPI. So long as you can draw a single dot on the screen, get keyboard & mouse input, then you can do 3D programming. Its then a question of how good your maths and software development skills are! happy.png

Third, whatever you do - good luck - but just start off small. Make a simple game in 3D and see it through to the end. As already said - it doesn't need to be perfect, just a start and something to show to others. You will get some who say its shit, but hey, we can't all be Elves from Rivendale, can we? happy.png

"Brother, I would spare you that pain..." Ramirez, Highlander

When I first started out, I spent about six months learning C and skimming over C++. After a quick command-line RPG game, I went straight into the bells and whistles of DirectX. There was something called WinAPI and GDI along the way, which I spent a few pages on, and went charging into API-madness like a bull in a china shop. To be honest, I really didn't have a clue what I was doing and it was painful, and whilst I managed to make a 2D blaster or two, I came away with the conclusion that I needed to go back and learn C++ PROPERLY, and even then, a few games later, I realised that skimming WinAPI and GDI was a mistake. So, don't be in a rush. Spend time learning your language first, then whatever you need next. You don't need to do everything all in one go...

Languages; C, Java. Platforms: Android, Oculus Go, ZX Spectrum, Megadrive.

Website: Mega-Gen Garage

WinAPI and drawing dots with GDI? Sorry but I think that might be some of the worst ways to start with (3D) programming. If you start with a really high level toolkit like unity, then you can do things in minutes for which you might need years (if you have the endurance) going the way you have mentioned. Yes you won't understand what is going on in the background but you can learn that later or don't bother at all and continue making games.

This topic is closed to new replies.

Advertisement