Deepps's Projects

Projects I've done

SDL Framework

Introduction

This was a piece of software I've had a bit of history with. Where it was merely me finding a graphics library to use with C++, it then grew into an easier way to manage media, to then working bit by bit into a game engine of my own, with a chance to implement some engine ideas I've had in mind for some time. Still, it has a long way to go before I turn it into an engine.

Earliest (2017)

For this time, it was mostly me fiddling with downloading it, and going through tutorials to use it. While I was downloading to learn how to use it, it was all around not a fun time, and the dumbest part about it was I was doing this for a writing class assignment. In fairness to the assignment, I did not want to make some video pretending the internet gives a crap about only I would care about (and if there was, I'd post on a forum anyways.) That aside, the entire process was me ramming my head into a wall for about two weeks getting it to work, and I stopped until the summer because I had other errands to worry about.

Into the summer, I went through a series of tutorials, and when I was confident enough with it, I tried making a very basic puzzle game about placing bridges for a shrimp. While I was working on it however, I realized I had to be careful about memory, and since this attention would be tedious, this was where I planned a class to manage all these images to make loading them and unloading them easier for myself, and it took a bit of careful planning to make it work by the end of the year.

Into DLL (Spring 2018)

By then, the handler was very primitive, but it did the basic of what I needed to do since I was able to create a functioning version of that shrimp game. Wanting to expand a little more, I tweaked the framework more and more based on ideas I had at the time, like an image stretcher, a loading function, and so forth. Not a lot of these survived, but it lead to some of the surviving ideas down the line, like the function loader leading to the procedure vectors. Still, the biggest one around then was shifting the framework to a DLL file instead of some code executables work off of. None of this was fun either, and it took quite a bit of problem solving and other chaos to fit it into a DLL format.

There were games I wanted to do to test it, but the most I really did was a basic point-and-click system and between not wanting to draw and some memory errors, that got canned fairly quick. I'm not proud of the result, and I don't like looking at the code. However, it gave me more to think about in terms of making a more stable framework to handle.

Making Things Easier (Fall 2018 - Fall 2019)

From before, I decided to move from a single DLL file to multiple DLL files to practice a more modular approach to software (which unrelated: it probably makes it a candidate for DLL injection, but that's okay for now.) Alongside, there were other major shifts, like moving the renderer to classes only, having a main controller class, and shifting to a safer handling of the framework. It was all quite a bit of work, and looking back, I keep forgetting how far I came.

There weren't any games to this point, and any tests here looked the same as before, but with much more readable code.

Until Now (Fall 2019 - Summer 2021)

To now, although it's not powerful yet, it is a workable framework, and most of the updates and ideas are seemingly small. So the file reader class has its own functions to interpret binary files as needed, managing media now uses a room and panel pointer instead of passing parameters, and so forth. Again, it's all seemingly small, but it's pushing more priming towards a far stronger framework.

The big project here is the tower defense, and that has its own article. For what is relevant here though, I'm glad the framework is workable enough to this point, and there are some definite improvements to be made with how simple the appearance of the game turned out to be anyways.

Into the Future

It's hard to say much of an overall reflection since it's still something I plan on continuing, so instead, I'll mention future plans:

To code: https://github.com/dprefontaine/deepees_framework_v2

Go back