My post for the Echoes of the past event
Hi everyone, I will talk to you about my journey in programming, a rather chaotic one.
First, let's put on my background. I am a Cameroonian, I suffered from depression since I was 9, I always had the feeling to be useless and unworthy so I was shy introverted child, that built me some reputation, sometimes seen as a weird guy, but there was one place were I didn't feel useless, and it was in front of video games, a place where you don't have to question the world, a world made for you were you are really important, so I was passionate by video games and I always dreamed about making games. At 15 I was full into Undertale fangames so my first objectives was to make an Undertale fangame so I choose to use Gamemaker studio, the same engine Toby fox used to create Undertale. When Gamemaker actually ran on my old dual core with 2go for the RAM, I was so happy. I learned how to use it and create a little Undertale engine with a video of a youtubeur named Sil UT. But Gamemaker wasn't free, so I was forced to search another game engine if I wanted to make my Undertale fangames. Then I choose Godot, I feared at first that it wouldn't run on my computer but it actually does, even if I couldn't use all the graphic features. I then search for an existing Undertale engine for Godot but found all were abandoned, unfinished or incompatible with my computer but there was one that I choose, the Undertale engine made by Demo-Cesar (he actually stopped working on it and removed it from th web). His engine was monolithic, not really documented and full of bugs. After being forced to use it because of my computer, I decided to upgrade it. I took weeks to understand his code, then I started correcting bugs, adding features, and features and I made fangames with it like Shifted Society, ULB, Outertale(I was a bit sad and angry while making this fangame because I passed Christmas without friends, so the game is really hard, I don't even know if it's beatable), etc. But the most features I added, the more I felt overwhelmed, bugs were getting hard to track, adding features was like just trying to glue something in that big ball of features. Then one day, while trying to upgrade the text writing system, the whole engine crashed with tons of bugs everywhere. I was forced to start a new one from scratch. After 2 weeks, the new engine was operational, modular, each subsystem was independent from the other, and games objects were all manageable resources. I made my best fangame with it Fallen Stars(the fangame reflect my mood at the time, a bit depressive)
After some times, I watched a YouTube video about getting started in Gamedev, the YouTuber talked about making a game engine as something possible. Since then, I was no more satisfied with my Undertale engine, I was greedy, I wanted more. So I decided to make my own game engine named Cruise, aiming to be better than all the existing one. His name is about the cruise gamedev was for me and how I want other dev to also experience this cruise. I choose the Julia for the job, it was a new language, meaning my project would be seen faster, it's performant and as an intuitive syntax. I learned for months with trial and errors since there was no real tutorial or books about it at the time( or I didn't knew about them). I tried reading existing packages and try reproduce them to fully grasp their concepts, that's how I learn best programming practice. I then started making packages for my game engine, I identify problems then make a full package just to address it (Notifyers.jl for event driven management based on the Observer pattern, NodeTree.jl for the scene tree or graphs, etc.) and I am already made the app manager Outdoors, that name reference a house's window that allows us to fully see the beauty of the outside, it's a abstraction layer for windowing APIs allowing to change API without changing the source code, and I am working on the rendering engine Horizons, the name is about the beautiful scenery and views in our world, it's a multi backend rendering engine.
Actually, my pc stopped working so I can't continue working properly, plus I been through a really hard time in my social life (break up, self doubt, depression), programming had became like my escape of reality, running away from a world were I could control nothing, people's feeling, my parents's diseases or financial problems, etc. I had always felt like I was one more problem for the people who care the most about me. I started programming not just as an escape but because I thought that I could finally be useful, I could finally help. My programming journey now last for 1 years and half.
I just wish I could continue programming some day, finally create my game engine and share my 'Cruise' with everyone.
Thanks for reading.
Top comments (2)
Hi! You've come a long way from where you were. From what I have learned in the past few years, life always finds new ways to deliver lemons, all you have to do is to figure out a way to make lemonade. So, do whatever you need to get a new PC and get back to it. Just don't give up on your dreams.
Thank you for your support, it means a lot