How to Peel the Orange - or - How to Learn Enough to Become Engaged

Good evening, folks.

I'm someone with a novice understanding of C++ who aims to make a career out of it someday. As with many, I'm going to be an Indie Gamedev, but also hope to use it for new and useful software otherwise.

For now, it's difficult to become engaged. I've read through several tutorials, and even made basic practice programs for any example they've used.

I do have specific and tangible goals in mind, but have difficulty learning how to actually get from pointer A to pointer B. (heh)

I live with ADHD, which makes it difficult to focus on any one task for very long, but I also have Asperger's Syndrome, which means that once I become engaged in a process or skill, I begin to focus on it at a feverish pace (like when Skyrim came out and those of you who got into it Really got into it [But yet more so]).

My question is: How do I break the thick skin of the C++ Orange and become engaged to that extent? What steps have some of you taken to actually create something tangible, and feel encouraged to keep at it?

Thank you, in advance, to those of you who reply. You'll all have my gratitude as the years pass and I reach my success.

Have fun and stay safe!
Are you planning on crafting cross platform games, or for a specific OS like Windows?

Learning C++ may be long and somewhat hard because of all the details. Adding multimedia (graphics, sound/music for starters) on top of that is a whole 'nother plateau you'll have to climb up to.

Console apps are the tip of the iceberg.
I suggest just going down a S.O. rabbit hole for some C++ question. That is always interesting and you generally learn something.
@highwayman, another "stick your head in a fusion reactor" idea......spend time poking around at cppreference. Lots of examples of code that is not "hold my hand" beginner friendly.

https://en.cppreference.com/w/
@Furry Guy
For the time being, I intend to stick to Windows. I do have design concepts, stories, and mechanics that I want to work off of and ship within the next couple of years, but before that, I need to understand first.

For example, I want to be able to create a program that with a single run will give D&D Dungeon Masters a way to quickly make NPC stats for more expedited use.

However, I look at the code, and despite understanding each part in theory, I get the brain static and have difficulty staying engaged.
@highwayman

While I may take Furry Guy's suggestion, I'd still like to know what exactly S.O. is for future reference once I've attained a better level of understanding.
SO = stackoverflow. A website for asking questions, but very intolerant of most beginners.

Here's an example of a stackoverflow question (and answers):

https://stackoverflow.com/questions/10817860/c-how-to-catch-mouse-clicks-wherever-they-happen
For a quick tutorial on creating Win32 API apps using C/C++:
http://www.winprog.org/tutorial/
create a program that with a single run will give D&D Dungeon Masters a way to quickly make NPC stats for more expedited use.

Something easily doable as a console mode program using C++, no need to go GUI.

Ask a few questions, and all the resulting output could be written to a file for later perusal.

This is IMO a decent project for someone to learn from doing the structure step by step.
And if this helps, I've been self-learning (badly) C++ for over 20 years. Even before C++98 was the standard.

C++11, C++14 and C++17 really changed the language, making doing things much easier.
RG89ZERO wrote:
create a program that with a single run will give D&D Dungeon Masters a way to quickly make NPC stats for more expedited use.

oo I’m making that rn ^ ^ I agree with Furry Guy it really is much more of a console app and really you could probably do it rn if you do like 1 google search, so if that helps I suggest diving into the development of that rn actually.
For the time being, I intend to stick to Windows.

With that question answered, what compiler are you intending to use? MS Visual Studio has a free edition IDE (community edition) that can create console mode and Win32 API apps. Lots of "nice to have features" but it is more than a bit of a hog on HD space. If writing Windows-based apps, MSVC is probably the route to go.
https://visualstudio.microsoft.com/downloads/

An alternative that has cross-platform versions is the Code::Blocks IDE. For first timers I would recommend getting the MinGW bundled installer.
http://www.codeblocks.org/

For some help on installing and how to use either/both IDE(s) a tutorial website might be helpful (pages 0.6 -0.12):
https://www.learncpp.com/cpp-tutorial/installing-an-integrated-development-environment-ide/

I have a number of IDEs and stand-alone compilers on my machine. The two I use the most are MSVC and C:B. With the underlying compiler implementations being different I use both to ensure the code I write is as platform agnostic as possible.

Occasionally I dabble with the concept of command-line compilation. I realize I am very comfortable with the crutch an IDE provides. Probably too comfortable.

MSVC makes it insanely easy to compile console-mode and Win32 API GUI code for 32-bit and 64-bit apps. As long as the code is bitness agnostic.
Last edited on
@Furry Guy, @highwayman

I've actually got Visual Studio 17 installed, and have some code to get the four numbers representing the 4d6 rolls. My next step is to get the program to read and remove the lowest, and after that, add the remaining three in the series.

The hard part is the reason for the topic. I have the tools I need and the base understanding of them. However, it's difficult to focus on because it's still very technical to me and I have yet to actually create a tangible success and feel engaged enough to continue.

I do appreciate the resources, and have noted them all.

However, what I need to know is how to actually get myself to jump in.
How did you get yourselves to start actually learning the practical process of putting functions and command statements together? What was your encouragement or insight?
You might benefit with a from-the-ground-up online tutorial that deals with most of what C++ has to offer: https://www.learncpp.com/

You could go from start to finish. Or use the index page to poke around to find a topic that piques your interest.

There are examples and code snippets you could (and should) try to recreate by typing them yourself. Learning to fix the mistakes you make is a learning experience in itself.

I have both VS 2017 and 2019 installed, and I prefer 2019. 2019 is (for an app from MS) leaner and more responsive than 2017. 2019 seems to be more frequently updated than 2017.

The options to create new projects for me are a bit more intuitive, with less multiple dialog boxes to slog through.

At first I missed having the Start Page in 2019. Now I am glad that extra layer is out of my way.

I use two new project options.

1. Blank Project. Configures the settings needed to make a console mode app without adding any generic source file(s). No nonsense of using precompiled headers.

2. Windows Desktop Wizard. Allows for configuring the settings for Windows desktop apps, DLLs, static libs. I select the "Empty project" so I don't have to deal with generic source files, I add what I want.

I understand the concept of precompiled headers, but I avoid using the feature. It can be more hassle than they are worth at times.

The only real world use is with large multi-file projects that can take hours to compile from scratch when you make a change in one source file.

Learning C++ I doubt you will be running up against that "problem." Even my largest Win32 API game programs take a minute or two at most to compile from scratch.
I thought about your dilemma a little further, and maybe what you might want to do is instead copy some code and then play around with it. That way you’ll be getting results and you can study and play with the code to learn from it, maybe that will help?
Topic archived. No new replies allowed.