Need help to keep motivated.

hello alright ill start off by saying that im 29years old. I have bought countless programming books and always seem to give up after a little while.
I love programming and love the vast optiona that programming can bring to a human.

Here is my problem: i love programming but im sick of coding in a console screen the blackboard text games. I was wondering if there is a tutorial somewhere or a book that can help me learn peogramming witout being stuck in the console window for the whole book something game oriented. Im not a kid trying to write the next big hit game. I just want to learn to program games out of the black board. Something easy like pacman or What Ever.

I just need something to popup on the screen to keep me motivated.


Things that keep me motivated:
- game oriented programming
- programming that aint stuck in console window

Looking for advise and help. I really want to learn programming its something i need to learn.
Is Godot a good thing?

Thx
DoNotReaist
Last edited on
This is a good motivation video.
https://www.youtube.com/watch?v=mvK0UzFNw1Q
Hi there. I have the same itch to do something non-trivial. CPP and C are incredibly flexible languages.

Here are some cool things I discovered:

ASCII FPS Shooter: https://www.youtube.com/watch?v=M2F-KTrT_0E

ASCII Texture mapping, 3D Transformations:
https://www.youtube.com/watch?v=IEbFwDv1RHU

You can also look into learning how to output games onto LED displays (Google "Parola" library), OLED displays, and portable HDMI screens (e.g., those that people use with a Raspberry Pi).

There's also a "visual" language called Processing that is an offshoot of Java. You can draw lines and easily prototype games using it.

I'm currently learning about CPP language features and how to implement common algorithms and data structures in C. No lie, it's dry stuff but you gotta learn how to stand up before you can walk, right? I think of it as learning how to use the tool of the trade - in the same way that a wood worker learns how to maintain and sharpen his tools.

Best,
ET

Write a game of pong using SDL2. Start now.
https://www.libsdl.org/download-2.0.php
As you already wrote many black screen games, I assume you're already familiar with C++.

Maybe you can take a look at Cocos2dx, it's a pretty easy game engine to play around.
I would recommend you look at Unreal Engine 4. Its free, and powerful. 3D/2D capable. Using c++ and has a marketplace for 3D/2D assets as well as many free ones you can find online. Theres a decent tutorial by Ben Tristam I can link you when I'm home. Meanwhile:

https://docs.unrealengine.com/latest/INT/Programming/index.html

https://docs.unrealengine.com/latest/INT/Programming/Development/CodingStandard/

https://docs.unrealengine.com/latest/INT/Programming/Introduction/index.html
Last edited on
I think the root of your problem is that you don't find programming challenging anymore which is why you find game programming more interesting. You probably learned the basics very well - but now what? Your lack of challenge makes programming unsatisfying which is evident from the fact you're focusing on the end result (i.e the console screen) rather than the process to get to the result (i.e programming).

This is why I highly suggest you to get into algorithms.

Start collecting as many algorithms as you can and figure out how they work.
Don't confine yourself to one class either - instead diversify your collection as much as you can
Sorting, Searching, Pathfinding, Cryptography, AI, Graphics there are so many to choose from.
A good place to start is here: https://en.wikipedia.org/wiki/List_of_algorithms
Try to understand every part of the algorithm.
Try to tinker with every part.
Try to break it.
Try to fix it.
Try to write it in different languages.
Try to figure out its complexity.
Try to write worse algorithms.
Try to write better algorithms.
Not only will this be a great learning experience and something incredibly useful but it'll be great fun! You'll completely forget about trivialities like only getting a console screen (you'll be thankful you have any output at all) because your mind will be completely focused on understanding an abstract concept!

Second thing I'd suggest to get big and start working toward what you want.

"What is it about my computer that's bugging me?"
"What is that I always wanted to make?"
You want to make a video game?
You want to make a GUI program?
You want to make a networking application?
You want to make a driver?
Then go for it.
It doesn't matter you don't know where to start.
Search around, read books, try this, try that, try everything you can.
Don't give up just program.
You will earn a lot of experience this way and learn how to deal with unfamiliar situations + you'll have a meaningful goal to look forward to!

Just remember that programming isn't about knowing.
It's about learning.
It's about solving problems.
It isn't about knowing every function and solving a problem which already has a solution.
It's about finding yourself in unfamiliar situations yet persisting in finding a solution.
Last edited on
yanevsky: this is an excellent reply and a very unique, meta way of looking at things. I commend you
https://www.amazon.com/Programming-Windows%C2%AE-Fifth-Developer-Reference/dp/157231995X

Around page 50 you'll be super confident creating windows, then learn how to build wathever you want on top of it.

Do something 2d, maybe a top/down shooter or a software, then maybe move to 3d and direct X :P
I've just suggested you my current plan of action xD
Last edited on
Thx for the great comments. The book you mentioned is it codded in c++?
Yes it is, though...well, old c++ I guess, but probably doesn't matter since the point is to focus on the win API and all its functions (thousands), though personally I find it to be a bit boring after it teaches you how to create a window... xD
It fails in challenging the users, no exercices and stuff like that, so if you are self thought and rely on challenge like I do, then that's a negative.
Last edited on
he book you mentioned is it codded in c++?


The code in the book is C, not C++, although that shouldn't matter much to you since the Windows API has a C interface.
@cire: I hardly find distinctions, since everything he uses (from a struct to an array to a printf) just works fine in C++, so I don't see why not call it c++ code xD
What I meant with " old c++" is that you probably won't see cool stuff like "auto", "vector" and the like, but I guess that is what it means to be C code, and anyway @DoNotResist in the first post you said you know C++ already, so you will know what to use when it is the time :D
Like the book might tell you you need to pass a char* array[] to the TextOut() function, but you can just create a wstring ws; fill it like you usually do and then pass ws.c_str() as I do, so you can just follow the book and implementing your C++ as you go along.
Last edited on
@cire: I hardly find distinctions, since everything he uses (from a struct to an array to a printf) just works fine in C++, so I don't see why not call it c++ code xD

Because it is not C++ code and what is legal in C is not necessarily legal in C++, indeed, some good practices in C (such as not casting from a void pointer on assignment) will not work in C++. It is even possible for the same code to behave differently depending on whether it is compiled as C or C++ code, even though it is legal in both languages.

That's not to say it should be much of a stumbling block for the OP, because it should not.

May want to check out:
https://isocpp.org/files/papers/N0007.pdf
Topic archived. No new replies allowed.