What to master to build a text based RPG?

Hey guys. So first I need to declare that the sole purpose for which I'm learning C++ is to build an RPG game (and maybe because I want my resumè to say 'guy knows C++' when I want it to). So I'm thus a little deep into C++ (or maybe still scratching the surface) and I want to know what remains pending till I can actually make my own RPG!

So what I want to do is lay a foundation is to first make the RPG as a text based game with all the functions and everything I want in the final game and then build upon this milestone. You get me, right? I'll first make this game as a Text based RPG with all the functionality and story and whatnot I want and then I would expand upon it with Unreal Engine 4 (good thing that UE scripts solely in C++). But its still a long way off. The purpose of this thread is that I want to know from you guys what of C++ must I master (or atleast know) to build an RPG. The functions I want in that Text based foundation are as follows:

1. Inventory system. I'm still deciding between the 'rule of 99' system, the 'inventory by item weight' + 'dynamic carrying capacity', and the 'classification by item type' + 'limited items per class' system. So if you guys can help me with this too, it would be much appreciated. Also ofcourse I would want to actually make it!

2. Random. I think
1
2
srand (time (0))
rand ()
system is great. But if there is a more awesome or effecient system, I would like to learn it! Also because I need to handle loot occurence for every enemy, friendly, and chest and other random spots by rarity system. Plus random things found in the wilderness. Not to mention enemy spawn and damage calculation for every weapon, enemy, etc. AI I would tackle later. But there is a book called 'Game AI with example'. Is it a good book? Opinions anyone?

3. Character Info. That is pretty simple I guess. Just cout << every stat. But how to make a command by which player can access it anytime seems difficult.

4. Character stats. Stats ofcourse! Every single object that isn't a consumable or vice versa is going to have stats! Creatures (friendlies, enemies, etc) will have their stats too. And weapons will ofcourse have attack stat. Heck, even a book will have an attack stat. Players and living things will have a strength stat and vice versa. How to actually make a stat and link it to an object is still a mystery. Also how would I link strength and attack of an object is out of my mind. Help appreciated!

5. Level up system. First I thought of assigning specific exp to every enemy and friend or attackable thing and using it with if loops. It seems obsolete now. Help?

6. So many creatures. Except the player, there are over 80 classes of creatures (and counting). I may need to make multiple files for each class. As they contain an average of 10 creatures each and an average of 4 sub classes with an average of 3 creatures each. Thats huge :o

7. Battle system. Still deciding... Help needed.

8. Bluffs. Like poison. And like weapon bluffs like 'Undead slayer' that deal more damage to all creatures that have the 'undead' class. How to do it is still outta my mind.

9. And other RPG and Gameplay stuff.


Now what I know about C++:

1. Basic input output.

2. If, While, Do, For loops. Working on them.

3. Variables and constants.
1
2
3
4
5
6
7
8
9
10
11
12
13
const int something;
something = 5;

short int newthing;
newthing = 6;

long int morething;
morething = 7;

int thing = 8;
//And so on

//btw why do we have long int or short int stuff?  


4. Chars. WIP.

5. Strings. Just know that they are like int values that can hold alphabets too. And hence names.

6. Want a replacement for markers. To make menu loops.

7. Operators.

8. Srand (time (0)).

9. Boolean values.

10. Switch statements. WIP.

I just realized how little I know. So what more should I learn to make a working RPG as stated above. After I make that RPG, I will advance on clearing everything else and hone my skills. Thanks for reading!
In this tutorial (chapter 12) they develop a text-based RPG game:
http://home.earthlink.net/~azraelle/CPP/CPPLIST.HTM
Topic archived. No new replies allowed.