The Purpose Of This Blog

I'm writing a game engine.  That's the main purpose of this blog.  I want whoever wants to move through this process with me to do so, because this is an experience that'll be new for me just as it might be new for anyone interested in this subject.  I've told people that I'd be doing this for a long time now, possibly about 3 or 4 years.  The problem is that I keep on dropping the project and coming back to it.  What I really need is to be held accountable for the development of the engine, and I believe making myself write semi-casual reports on the progress around once a month or so will help me keep up with its development.  So please, if you're interested, give this thing a go!  I don't know how helpful it'll be, but I'm hoping for it to be fun and interesting.  

I would say more on the matter, but I've already written an entire ReadMe file on my Git repository about the situations leading up to my decision to pick this project back up and my new approach to moving through the development process.  Allow me to plagiarize...



This game engine is being created as an ongoing exercise in computer graphics
software development, a field I am very curious about and wish to pursue.

This is the third or fourth time I have revived this project.  I continually come back to it whenever I get a new wind or come across a new mental approach.  It's been a year or two since I last worked on MelJet, and at the time I stopped work on it I was attempting to start of by writing... a rendering engine.  No debugging, no input, no CLI, nothing in terms of tools.  Just a 3D rendering engine right at the beginning of the development of an entire game engine with hardly a plan in mind.  I was also using C++, compiling with the MSVC compiler, didn't have any vision for a specific game I'd be making with it, and probably a variety of other sins that don't quite come to mind right at the moment.

Did I mention I'm in college?  I'm in college.

So here's my current approach with this project:

I'm keeping my previous master branch in a separate branch as a testament to my failure.  I feel like I can compare that to how I'm trying to begin my work right now in some form of screwed-up motivation.

I'm working on this project in pure C.  I've heard plenty of talks that talk about the importance of making your own tools and effectively having full control of your system to know that it would benefit me to not rely on a plethora of built-in libraries.  This isn't to mention that C tends to run on every platform out there.  I'll also be using GCC instead of MSVC as a compiler, as some light research shows that it generally tends to compile quicker programs.

I have an idea for a game to create with my game engine.  Shocking, I know.  In my initial approach I was planning on making a general-purpose game engine that would be open for everyone to use akin to Godot, but after some looking around that is more than a hefty task that still hasn't reached perfection after a the amount of time that it has been in production.  Am I planning on creating a perfect end product?  No.  But I am planning on making an engine that is specifically good at making the types of games that I would love to make.  In this case, those games tend to be ones that do crazy visual tricks and handle RPG and puzzle systems very well.  This means less of a focus on physics and more of a focus on shaders, rendering, logic, economy, and such the like.  

In another shocking detail, I will not be working on a rendering engine right out of the gate.  I think this one can go without saying too much about why.  It's such a hefty task to start out with that I'm not sure my fragile widdle heart will be able to take it.  Instead, I'll be working on a simple I/O system and some debugging tools while I figure out the rest of the engine's structure.  This will lead into the creation of a nice and easy text-based game with some GUI development on the side, which I will be creating a debugging system with as a dev tool before I do anything else.  Whatever happens after that will be an effort to build up to a 2D game complete with tools for media loading, level editing, and object creation.  Whatever happens after this point is beyond me, but I'm not sure how much further I want to go with my plan anyways as things could go off the rails on day 2.  For now, this is the approach I'm sticking with until I have someone tell me something better.

That's about all I have for my ReadMe pseudo-rant.  I'll update this when I actually have something going on in this repository that is compilable and observable by an outside party.  I'm hoping to apply the knowledge I've gained from being at university and from my career to churn out a good product.  I'm still planning on making some archive of my progress here for future consumption, but I'm not sure if it'll be in blog form or in video form.  In the meantime, keep your eyes peeled for future updoots.  Let's hope this works this time around.

Thanks for your faith, y'all, and enjoy watching me flounder.


So yeah, that's the first post of this project.  Again, feel free to pop your head back in every once in a while to find out what's happenin'.  Not much is in there and I don't know how many people are interested in seeing the repository proper as it stands, so I'm not posting the link for it just yet.  However, if enough interest pops up, I'll consider it.  Thanks for being... uh... rivetted (?) enough to read through this whole thing.  I know it's probably a bit of a slog, but if you're sticking with me despite that slog, I hope you like what I'm able to put out there!


1 Kudos

Comments

Displaying 0 of 0 comments ( View all | Add Comment )