Skip to main content

My Roadmap part 1


It all started with a dream...


I was playing games all of my life and was good at it so why not make them. That's what I thought when I heard for the first time that you can make your own games with something called Programming Language.
At first, It was c++ I learned it and was practicing it a lot, solving problems and automating stuff like solving math equations for assignments. I gained some confidence and It was time to make games and put some challenges.


Solving equations Cardians method, Guessing the number game
I started by making console games (x-o, Sudoku, Word Jumble). I was really proud of this *YaY* then started showing it to my friends.
The only thing they said was "what is this black box, where is the game?".after that I decided it's time to learn how to make graphics with c++.


Word Jumble, Sudoku Game
After doing some searching, I found something called "SFML( standard fast multimedia library)" which I can use with c++.
I looked for some tutorials about this and was just copy-pasting code. I couldn't actually understand anything it was all OOP(object-oriented programming). at this time I didn't even know what is that.
It was just like blocks of code ( block of drawing rectangle, block for music, block for clicking with the mouse) and I was just rearranging them. I was really struggling just to make something. I didn't care about understanding what happens in the code I just want it to work.
I made some projects with it like( Piano tiles clone for PC, Frogger clone, Weirdo maze).showed to my friends and they liked it.
Finally something playable but unfortunately, it only worked on my pc *lol* since it required some visual studio libraries. I didn't know how to make it portable at this time. but I solved this problem later when I switched building the application in code blocks. honestly, I don't remember why.


Piano Tiles Clone for PC
frogger clone,  crossing with a letter instead to complete a word
I thought I can make any game with any mechanism but I reached a limit due to lack of knowledge of OOP concepts also complex stuff to do (animation, environment, multi inputs).so I needed to find a better and easier way.
I searched and found something called "frameworks " like (coco2D, Libgdx ) it's like more advanced libraries and OOP environments I tried them for some time but just it was way more complex than SFML so I couldn't keep up with it and eventually give up on it.
Searched for more and found "Game Engines" it was made to make developers focus on making the game rather than the technical stuff behind. Finally, something doesn't require much coding. There were Unity and Unreal. I picked Unity for the start since it had many tutorials and many recommended it for beginners.
Unity Game Engine used C# as the main programming language. I thought at this time it's the same as C you know the same letter different symbols don't matter*lol*. I was completely wrong. It was like "Where is my main?! omg..".and the same pain of understanding OOP concepts.
I was doing the same as the tutorial if I just try to make a game with myself I fail terribly. At this time, I decided I can't do anything without learning the concepts first.so I stopped for a while to learn about OOP and come back to test again.
To-do list I made to be ready for unity
Finally, I started to understand it and made games in Unity (speed touch" clicking game on mobile", catch the eggs, space shooter) with a good user interface and sound with animations. and it was portable, it works on any PC, Android phones. I felt really good at that moment. I can do anything comes to my mind.


Speed touch for android
Space shooter clone, I shoot laser with my eyes instead of destroying subjects *lol*

This didn't last long*lol*, I wanted to learn more and all I was doing was 2D games only. I wanted to expand by doing 3D games but I was afraid of doing it since I know nothing about the 3D world, how can I get the models I want and it looked so complicated for me. To be continued...

Comments

  1. Very inspiring indeed, thank you for sharing, can't wait to read part 2 (honest).

    ReplyDelete
  2. Thanks. That' really supportive.

    ReplyDelete

Post a Comment

Popular posts from this blog

My Roadmap part 4

Electronics... Yikes! I told you previously that I have enough curiosity to dive into anything related to programming. Guess what, electronics and the world of embedded systems are now among them! It all started with participating in robotics competitions. The organizers told us that, to make a robot, you need to combine mechanical design with control design, and they gave us sessions on both. I barely cared for those sessions, as you know, I’m driven by a self-learning mindset (“I gotta do it my way!”). My first event was the Under-Construction competition organized by the IEEE Helwan Student Branch. I only had experience in programming and making games, and I was tutoring game-development sessions at the same time. I treated hardware the way I treat software: a trial-and-error strategy. Unfortunately, I realized the drawbacks a bit late, after burning countless components and, basically, burning money like crazy. “Let’s hit run and see.” Even when wiring: “Let’s wire and see.” I was ...

My Roadmap part 3

What is reality?... after learning programming and 3d modeling, so I wanted to make 3d games with unity. I saw some tutorials that followed it. it was kinda hard to make the transaction from 2d physics to 3d physics. I made so simple stuff. meanwhile. I was going to a competition IEEEXterme hosted in a company. and one of the participants showed us an application on his mobile. he pulled a paper from his pocket and opened a mobile application that opens the camera directly and pointed it to the paper and voila! a 3d object showed on the mobile phone. I was shocked and said "oh wow how do you do that!!", He didn't say though but later when I came back home I found it's called Augmented Reality and it's made using Unity. So basically augmented reality is an interactive experience of a real-world environment where the objects and blah blah... watch this video better After following some tutorials. I found a library called Vuforia and some videos explaining how ...