Hey cemetech! xcelxiao here. I've been lurking these calculator forums for a long time. I've always done a bit of programming on the side, but never did anything too serious. I took a half semester of "Game Programming" when I was in high school, but the class was a lot less using creativity and problem solving skills to create new original material that you could be proud of and a lot more of here's how to copy and paste prefabs, and oh don't worry about creating any ideas or in fact do any actual coding, as we will simply give you a template and you can fill in the 20% of the code that's "empty". I found some game programming courses online, but they are not cheap, and I have this hunch that they will resemble my previous experiences in "Game Programming" courses. So like any sane human being armed with the knowledge of 6 months of C# code from a bygone era in my life, I decided to create my own game. I tested out SDL2, but quickly got overwhelmed. My knowledge of C is shaky at best, and I had 0 experience in C++. So I thought moving to a calculator might lower the barrier of entry. I've played around with the toolchain for the 84ce before, and remember how pleasant it was importing oiram sprites to my calculator and moving it around on the screen.
TLDR; I have no idea what I am doing, which somehow still puts me in a better place then where I was a month ago.
So after hundreds of hours of blood sweat and tears over the past month, I have successfully written... an Entity Component System. That and a hello world program. Not having access to the STL library was my first barrier. So I tried - well, I tried rewriting the entire thing. And looking at back at what I had, I'm amazed at how stubborn I was attempting to write it. It was a nightmare - just an endless rabbit hole of dependencies until I got down to the compiler level and realized I probably had bitten off more then I could chew. But while I was down there, I learned a lot about how memory works. And that got me thinking. Why do I need this vector class from "X" youtube tutorial, when I can store "pods" of data that point to each other in a chain within memory. Then just reimplement vector's member functions, with a slightly less efficient (ok, maybe very inefficient) allocator and list transversal methods. So that's what I did. Also, I learned half way through writing my very own "Pods" class, that these were called linked lists. Turns out pods are something entirely different.
Buuut, I do have a video game in the works. Learning c++ was like being surrounded completely by dirt, and shoveling bits of it around until you have a tiny living space, and pretending life is ok in an indefinite squatting position, writing inefficient and dangerous code. You have no idea how far the dirt goes, or if it even goes infinitely, but you live a simple life, subsisting on worms of StackOverflow questions. Anyways bad metaphor over.
Here's my code :D
https://github.com/xcelxiao/Entity-Component-System/
The game in the works is relatively complex in its own right. It's a smash brothers brawl-eque fighter game. I wrote a lot of its code between STL-rewriting stints. Now I can refactor the code into my ECS. The ECS isn't very robust, doesn't support templating, potentially has memory leaks, and certainly isn't efficient. Buuut, if you do have any advice... on well... anything, I'd love to hear it. :D
TLDR; I have no idea what I am doing, which somehow still puts me in a better place then where I was a month ago.
So after hundreds of hours of blood sweat and tears over the past month, I have successfully written... an Entity Component System. That and a hello world program. Not having access to the STL library was my first barrier. So I tried - well, I tried rewriting the entire thing. And looking at back at what I had, I'm amazed at how stubborn I was attempting to write it. It was a nightmare - just an endless rabbit hole of dependencies until I got down to the compiler level and realized I probably had bitten off more then I could chew. But while I was down there, I learned a lot about how memory works. And that got me thinking. Why do I need this vector class from "X" youtube tutorial, when I can store "pods" of data that point to each other in a chain within memory. Then just reimplement vector's member functions, with a slightly less efficient (ok, maybe very inefficient) allocator and list transversal methods. So that's what I did. Also, I learned half way through writing my very own "Pods" class, that these were called linked lists. Turns out pods are something entirely different.
Buuut, I do have a video game in the works. Learning c++ was like being surrounded completely by dirt, and shoveling bits of it around until you have a tiny living space, and pretending life is ok in an indefinite squatting position, writing inefficient and dangerous code. You have no idea how far the dirt goes, or if it even goes infinitely, but you live a simple life, subsisting on worms of StackOverflow questions. Anyways bad metaphor over.
Here's my code :D
https://github.com/xcelxiao/Entity-Component-System/
The game in the works is relatively complex in its own right. It's a smash brothers brawl-eque fighter game. I wrote a lot of its code between STL-rewriting stints. Now I can refactor the code into my ECS. The ECS isn't very robust, doesn't support templating, potentially has memory leaks, and certainly isn't efficient. Buuut, if you do have any advice... on well... anything, I'd love to hear it. :D