Reality check

So i am getting pretty into C++ and i would say im not exactly good at it. but skilled enough to accomplish most anything i have put my mind to. but as i am looking through different tutorials and questions other people have asked i am starting to get to a dead end with my skills. i have been spending most of my time on putting together a text based rpg and that is going (as far as i am concerned) fairly well for my skill level. it is complete with fighting with item drops, 5 skills, leveling up, and complete inventory~~~extremely basic inventory i am not fantastic with using classes so well. i didnt its a bunch of if statements and for my needs it works out well.

Could some one please point me in the right directions to learning classes? i have found a bunch of tutorials but none that really show me how to think of them for myself to use as i want. they give me one use and its hard to see how to apply them to different areas. that is one of my biggest problems ive come up with.

secondly i read somewhere that it is not a good idea to program games using the cmd console as it doesnt teach how games really run or something along those lines. but what ever it said it said it was bad to do. why is that? and also if not in console then how? by using a windows app or something?
could someone point me in the right direction for learning to make a "proper" text based game?

and finally i was wondering if someone knew of a page where someone has posted the code of a large project. something with several thousand lines of code. i know that most big games can have upwards of a few million lines of code but i want to see something relatively big that i can read through just for the sake of seeing "How much of this do i actually understand?"

i am in no way going to be capable of doing something like that any time soon but i just want to see what does it take to be a programmer? i am seriously considering software engineering for a career. i dont think i would want to go into the gaming industry for work later in life but its still fun for me to do on the side. just as a hobby i might make games.

Thanks for all the help.
You can use SFML for drawing the game (2d) instead of the console. It's actually pretty easy. (2.1 would be best)

As for classes/structures these may help: --chapter 8
closed account (iAk3T05o)
My advice would be don't make a text based game anywhere (console, api, engine etc.). DON'T. Next to no one plays them and they are different from games that are played today.
Rather, make a 2d game. With SFML (C++) or 2d/3d with unity (C#) when you're ready.
well im not looking for anyone to play my games. im doing it because its fun for me to do. i will get to making games with graphics later on. but im not there yet with my skill. but i will look into sfml. thanks for the help
also im using dev-c++ i dont see sfml for dev c++ should i be using a different ide? dev c++ just seemed most basic for me to start with.
closed account (iAk3T05o)
Get visual c++ or codeblocks
First off - I recommend you getting Code::Blocks. It's really good IDE, and it's cross-platform.
Make sure you have version with GCC 4.8+ - it will allow you to use latest features of C++(C++11/14).

Secondly, go for a tour on SDL - e.g. lazyfoo tutorials. He's describing SDL 1.2.15, which is old and not hardware accelerated, but there's nothing wrong with it really - you are new to programming, new to graphics; you have to learn first before being able to choose.

After going through tutorials, you can either decide to switch to SFML, which is written with C++ in mind(therefore, its code looks more like C++ code), but it's also less mature.
Personally, I stick with SDL. It has everything I need.
If you stick to SDL and decide that you want to use SDL 2.0(the "new" SDL), then you should probably be already fluent enough in setting up external libraries that you will not need any assistance.

For simple games, I strongly recommend SDL. 1.2 has nice database of tutorials, and you can find some open source games that are using it. SDL 2.0 is newer, a bit better, hardware accelerated, so a bit faster.
Anyway, it will not matter too much if you choose SDL or SFML; you're the one writing code, am I right? :)
Just grab Code::Blocks, SDL/SFML, and GCC 4.8+, and you're good to go. If you want to have more functionality, consider getting Boost library. It's almost non-official standard library. If you ask for some functionality, then most of the answers would be "Boost has it; And if it does not, write it and add it too boost.".
With these tools you can make games.


Oh, and I would not be myself if I wouldn't say few thigns about learning how to make games. Just remember that your focus is to learn how to create games, and write a good code - you do not want to sell AAA games, so if you feel that your code isn't okay - don't hesitate with rewriting it.

Some useful links:

Also, you may want to learn how to use Git - it can help you with experimenting with code and making your projects available for world.

Good luck!
Topic archived. No new replies allowed.