Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

[46/90] Perihelion - MonoGame Engine + Demo

Spent some time over the last few days cleaning up my button API. I now have the above system finished except for features that haven't been implemented yet, like shaders and selection cursors. I'm going to do a bit of testing and then do the XNA decoupling.
 
Straightened out the button bugs and started on the XNA refactor, which is going to be tedious and annoying. The goal is to not have any references to XNA in the engine project; instead, all the XNA-specific objects will live in a separate project and implement interfaces from the engine. It won't be too bad to redo all of the structs and add a DrawManager, but I need to make a TimeManager now to keep the GameTime and figure out how I want things to interact with it. Although on second thought, I'll probably just give it a method to return the current time and then keep everything else exactly the same, so that won't be too bad either.

Just remembered I have homework, so I'm gonna go do that now.
 

Zeriab

Sponsor

Keep it up Peri!
Refactoring in an iterative style can quite often end up with a great end result, even if the process isn't that fun.
 
Thanks! :) I'm excited to work on some new stuff after I get done with this dumb refactor. I think I'm about done with all of the core GUI functionality except for a few things like scroll windows, which I'm putting off on the basis of annoying. So I'll probably be working on adding frills next.
 
Didn't feel like programming today after doing a bunch of programming homework, so I spent about seven hours making a new background for the demo instead.
 
Oh, I guess I should post it.
9FyOYRm.jpg

That pillar by the building on the right is ugly, but I'm lazy. I'll probably tweak the textures more too.

Here's the first one while I'm at it:
l7fBE4h.jpg
 
Did some planning for my game this morning and spent the evening programming. The XNA refactor is almost done, thank god. Nothing has been tested yet, but the main game engine now builds without XNA references, and I've reimplemented most of the functionality I took out. I also made input handling much better than it was.
 
Did about two hours of programming last night. I think I'm finally (sort of) done with the godawful decoupling refactor, although unfortunately I can't test it right now. All of the content for the test game needs to be ported over to the new scripting system, which needs more work. But at least all of the projects compile now.

I think I'm going to work on the scripting system next. We're now using a superset of C# that lets you easily write dialogue and things, and my plan is to support user-defined macros that compile to C# so the scripting system is extensible. This is probably going to be a nightmare to implement well and may or may not actually work out. But the problem is interesting, so I wanna work on it. We'll see how it goes!
 
Yeah. Supporting macros period is pretty easy, since you basically just do some regexes and generate the correct C# source code, but making them easily user-defined is a lot harder if you want to avoid forcing the user to write a bunch of complicated regexes. It might come down to that, but I hope not. Another challenge is how to make sure that if the user has multiple plugins, none of them have a command with the same name. The current plan is to handle this with an aliasing system. So I'm going to need to use a lot of reflection, and we have to support three different versions of C# with different reflection APIs. :/ So it'll be a challenge. We'll see how it goes.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top