Setting Up C++ Programming Environment in Windows 10 Is a Pain

Yesterday I was excited and ready to start getting to programming with C++. I thought that it would be nice to learn and to refresh my memory. I have some years ago completed a programming basics course in C++. The idea of having an executable that could be run on a wide range of devices was the idea that was so fascinating to me. I use Windows 10 a lot. So I decided that it would be easiest to just install some IDE and also a compiler.

I was so wrong with my decision. I tried to install Cygwin. During the installation you would have to select all the components that you definitely need for C++ development. There are hundreds of them. If you would like to install all of them that would take days to download and install. So that basically wasn’t an option.

I have been around Java from 2010. I am very familiar with setting up programming environment for it. It is just way easier than with C++. I wanted to code in C++. I just think there are so many options if you learn and use this programming language. What was my solution?

While I was going through the material I found online I figured that it might be easier if I would start with Linux instead of keep hitting my forehead to Windows 10. I know that Microsoft has been trying to make it a bit easier to use Linux’s software on Windows. That however wasn’t the solution for me. So I swithched to my laptop that has a dualboot install of Windows 10 and Ubuntu.

I had already Visual Studio Code installed. All I had to do was to install the extension inside VS Code. That was almost it. I had to look up how to run build inside the IDE but that wasn’t a hard thing to do. So I got to programming quickly.

It was my goal to just write something that would work and refresh my memory on the programming language. As I got my programming environment to work I got to the actual programming. I had to look up some tips on how to present text and read it in online. I am serious as I say that any programming experience in any language makes it way easier to switch to a language that you aren’t already familiar.

C++ is used widely and still in 2022 for programming games and other software. Aside it being a tough to install in Windows it really is a dynamic programming language. There basically aren’t many limitations in what it can be used for. Even websites and desktop applications with a GUI can be build.

What I build yesterday was just a tiny application. Actually it is a personality test with a lot of humourous edges on it. You answer in five questions which give you points for a type of a person you are. There are three types. The personality type that you are is the one that gets most points based on your answers. Yes. And the types are (translated since the application is in Finnish) “a talented model citizen”, “an alcoholic” and “loser”. So you are one of these. I know, there aren’t much of a choice.

Anyways, I had fun all of the about three hours I spend developing this funny or stupid app.  I had fun. It was nice. The program managed to fit into about 150 lines of code. So you can imagine that it wasn’t so complex. It had some basic text that was read in and also printed out. It used different variable types, some loops and decision making with if-else structures and that was basically it.

If you would like to program with C++ yourself I highly recommend using a computer that has Linux installed. I also like Visual Studio Code which is a free text editor or even an IDE (which stands for Integrated Development Environment).

Game Inside a Web Browser

As I first started getting into modern personal computers back in 2000s I first learned HTML. I eventually learned also some CSS. I didn’t learn JavaScript or PHP back then and it seemed like a tough deal for me. I didn’t get into “real” programming in years. It was 2010 when I coded my first tiny applications with Java.

Java is hard to combine with HTML and CSS but learning to code with it helped me to get into JavaScript and also actually PHP later. During my studies I also learned something about MySQL and about databases in general. JavaScript is a versatile language. It can be used in backend (Node.js) or frontend (for example React. You can also use plain JavaScript for frontend).

I actually wasn’t able to combine as effectively as possible my studies and my experiences with HTML and CSS in 2000s. But now it’s 2022 and I can’t help to still be curious about how these things called web browsers handle themselves (or actually, how do they work).

I have been reading a lot about different techniques of how to produce a web application. I don’t have currently a project that I could showcase in job application. I am still learning. I want to learn as much as possible and go through in my mind all this theory that there is. Working with solving different end users problems also helps me to achieve this. It can in best case bring some new knowledge for me. It definitely helps me to develop myself.

But how do things really work inside the browser? Basically you have ways to display shapes that have different colors, texts and images. You can read in the users input from a keyboard or a gamepad. You can ahve commands and buttons that make the user to interact. The possibilities are almost limitless. You can even bring 3D graphics to your web browser.

What can you do, if you find these sorts of things interesting? I would say that building website or two will help you to get started. Don’t set your goal too high. I for example have come up with several different prototypes of games and some of them have been based on JavaScript and HTML and CSS. Start with something small and keep building. It might help if you team up with some talents that can help you with the game, like for example a 3d modeler or a musician.

I would have started to write a paragraph about techniques that you can use when developing a game to be played in a web browser but I think I have already introduced all of them. Having a game inside a browser enables you to play and deliver the game for many platforms. Is there a device, that cannot run a website on it? I think there actually isn’t.

You have so many ways to start building your game that runs on for example Firefox. This might not be your future profession but it sure is a nice hobby. I am saying this because I’ve myself had a ahrd time in trying to be employed as a Full Stack Developer. The competition is tough. But start with HTML, CSS and maybe even JavaScript, and soon you will understand how these things work.

I Don’t Mind That a Game Is a Bit Old

Sometimes I don’t realize how fast time keeps moving. If you consider that Colin McRae Dirt 2 was released thirteen years ago you probably get my point. In my opinion this rally game has aged beatifully. It is still a very good game. Maybe not the best of this series but you have to consider the quality of the games that you compare it to.

As you might think already I started going through all these games that I haven’t had enough time to try to complete. It is nice to understand that when you spend some time playing a game it kind of reveals itself and you can really get into the game you are playing. It takes time, doesn’t it.

Colin McRae Dirt 2 has a specific style of driving that you’ll have to adapt to. It isn’t a simulator racing game. Driving in this game differs a bit from some other racing games that I have recently played so it takes some time to adjust to it. It isn’t so difficult after all. You can also in this game adjust the difficulty level if you find driving too easy or even too hard.

There’s lots of visual detail in this rally game. You get to know some actual persons that are driving the vehicles. As you have probably figured you get to drive rally cars and you also have many more types of cars that you have to drive. I think that’s where the “dirt” in the games name comes from.

Some other racing games that I have recently played are, of course, Burnout 3 Takedown, WRC 10 and Forza Motorsport 6. If we compare this game to these other racing games I can say that Colin McRae Dirt 2 offers a very good, maybe a bit easy, experience for the player. There is a challenge also if you adjust the difficulty. You can also set damage on or completely off. It is common, at least for me as I drive these driving games aggressively, to bump in to another racer.

Colin McRae Dirt 2 is one of those games that I have thought about playing for a long time. As other Dirt / Colin McRae rally game titles are very familiar to me I like this game. I still have a lot to play. I am hoping to complete this game and it looks good so far. I have now put six hours to playing this game.