Hi guys so I just finished all the basic tutorials on C++ on this channel Click Here. I don't know if its any good but it started me off. But now I have watched everything and I am wondering where to continue and I decided to ask here. Any good sugestions for advanced cideo tutorials, and even some that are not video if they are really good. Basically anything I need to continue learning on programing with C++ ^_^
Try to make a maze solver, will keep you busy for a bit and you'll get quite some experience with it I hope ( Should be able to do after watching those vids) such as , S = start position, G = goal , X = no wall , W = wall and in a maze like this
and print out the correct path :) Also be more creative on the maze once you get it right :D
Well I'm kind of creating a text based adventure game , which im not certain if it qualifies as simple or complex. I'll upload my game file if anyone wants to check it out and comment it, and also give any ideas on what to learn next. (also its still a work in progress so there might be spelling and punctuational mistakes) ...(attachment doesn't work I uploaded it to another site) Click Here
Can't run it on Linux; but if the games like zork then it's probably a good project.
which im not certain if it qualifies as simple or complex
In all honesty, what does it matter if it's simple or complex? A good "thing" is a good "thing". Some good "things" are simple. Some good "things" are complex. Some bad "things" are complex. If you're interested in it, then you're good to go.
I'm guessing that the storyling is a series of if statement type questions (like how a visual novel might be programmed), branching into a tree-like fasion (it's a shot in the dark). You might be able to get something a little more interesting by keeping track of a few "hidden" values based on the players decision and have that effect some events in the story (for example, a player who never chooses the "brave" options might be required to be brave for the final stage). You can also implement a simple inventory and things like that. If you ever get towards a sequal, perhaps make it a little more interesting with an actual "grid" or structure of zones, and making the story progress as "events" that happen at the zones (giving the player a little more freedom to do "side-quests", gather supplies, explore other zones, etc).
You hit it right on the spot.It has a branching tree line with mostly if statements to determine which answers was given and what response to give. Later on you get to chose to pick a crystal and depending on your choice there are other paths revealed on how to use it if you have it and another path if you dont. I even implemented a letter color system which you are gifted after saving a Stone Golem from death. And you get to chose which color is the text said by the main story teller. And still I wonder if I can get it a little more complex. You are absolutley right about the complexity thats why my main goal is a good story but still I want to learn C++ so learning new complex tuff is good :) So any idea of where I can continue my study? :D
C++ so learning new complex tuff is good
I donno about that. I mean, there are "advanced features of the language" and then there are "advanced programming concepts". I would say that alternating between learning the two is a good strategy.
And still I wonder if I can get it a little more complex
Well, if the story arcs are pretty much the form of a tree-like thing, you can make it more "complex" by addming more content - but that's not really increasing the difficulty because after a while it just becomes systematic.
If you want to make it more interesting, try to deviate a little bit from the if-statement style story (or in a sequal).
Make it so that it has some state to it (inventory, levels, hidden values effecting the story), and make it progress such that the player has some nagicational capabilities (as in there is some kind of grid of places the player can be - like a 2D array, and the story only progresses if the player is at the right zone and does the right "action"). And instead of simply asking the player questions, you can make it so that at each zone the player can perform various actions (like "check ground", "check tree", "use item", etc...)
You don't need to follow any of the ideas above (or you can do a subset of them), but they should at least give you an idea of how more "dynamically acting" programs work as opposed to a series of if statements.
Yeah those are pretty nice ideas thanks :) Just one last question or two... I was wondering how are the real games made I mean with the visual and everything, I am not thinking of big and complex games but for example, how can I add some images to my game or put buttons instead of choices. I know it will be pretty hard , and I'm not sure if it is possible the way I started making my game but still I'm curious how it's done.
Sounds like you just want to do some widget based graphics.
Just use some GUI libraries for C/C++. Windows has a native API you can probably use from your compiler. You can also use FLTK (this draws things itself) or WxWidgets (this uses your platforms widgets) for something more cross platform. Qt is an excellent cross-platform framework that extends C++ itself and provides libraries for a lot of things.
Another approach would be to use a higher lever language for the GUI portion (and keep the core in C++ if you wish). I kind of like using Python for that.
That sounds pretty interesting, but i hardly ubderstood anything sorry.Could you point me to any tutorials or something. Or atleast tell me what to search for because im not even sure which of those things is from c++ and which is an entirely different thing. Sorry again for my incompetance but I started learning C++ 5 days ago :/
C++ itself doesn't have many capabilities without help. You add capabilities by using libraries which are not "a part of C++ on default". You cannot make a GUI in C++ without using a library.
Windows API, FLTK, WxWidgets are all useable with normal C++. Googling any of the terms will bring you to their website.
I personally like FLTK since it's lightweight, simple, and it looks the same on all platforms (which is both a good thing and a bad thing).
Most library you with with will have good official documentiation. For example, here is the official documentation for FLTK.
Ahaaa thanks a lot for all the info, well I'm going to start learning how to use FLTK now. Thanks again :)