Tutorials, talks, engine design, and more...

Recorded and posted my 6 tutorial post on writing a game engine withe MonoGame. This is probably the biggest post so far with a short video showing the final render.

Void Engine - Tutorial 6

Hope you find it useful.

Still not perfect, but I think I am getting animation blending working in my game engine written with MonoGame :smiley:

Going from “Idle” to “Walking” then “Running” and back to “Idle”
As ever, the forum won’t let me post the gif, so here is a tweet I did with it in.


Now we have some framework in place in my engine, it’s time to look at 2D, once in place, we can look at UI. This image uses same 2 cameras in the 3D scene, but with basic 2D elements.
If your’e into game engine dev, check my Patreon page here

A bit of progress this lunch with the 2D elements of my engine written with MonoGame.
Left camera attached to the sprite, right camera is static. Ship and it’s text is rendered with the cameras screen space matrix, the info text is rendered with the cameras overlay matrix.


Alas, you will need to see the gif on my twitter feed to see it in action.

Sprite animation and render is well under way now, lost to tidy up yet for the MonoGame engine Patreon post, but getting there. Created a key frame system similar to the skinned mesh animator. Might add to the extended content pipeline to import sprite sheet animations. You could have multiple animation clips for multiple sprites too.

Have a look at the twitter post I did with a gif showing the animation.

Just opened up a Patreon tutorial post on a refraction shadre to the public, if you like it and find it useful, then feel free to become a patron to get more of this sort of thing :slight_smile:

Check it out here.

Now working on the next engine post regarding the basics of SpriteBatch rendering.

1 Like

Finally got around to posting the 7th post on my Engine written with MonoGame, this post covers the 2D basics I have created, 4 ways to render our sprites as well as sprite sheet keyframe animation.

Patrons can check it out here.

If your not a Patron yet, but would like to be, or you would like to support my development efforts, then you can sign up here.

Started to work on a bit of Audio in the MonoGame engine I am writing. Sourcing audio from here, thanks to this awesome post by @EricMatyas.

1 Like

Another Patreon post regarding the engien I am writing in MonoGame, this post coveres the audio manager.


Check it out here.

OK, I have had a bit of a shit month, wont go into it all, but November has been filled with me job hunting. Thankfully I start my new role on Monday, so I have been able to get back into some hobby development.

Today, I have started to bring in all the components I have written so far and unified them under a GameBase class, I have also started work on the Coroutine framework, this means I will be able to run co routines just like Unity does :slight_smile: So, far it works well.

In this code snipet I am running a coroutine to change the color of a texture rendered to the screen, the color flips between white and red every 1 second.
image

As ever I can’t upload a gif, so have a look at it runnign on my twitter feed here.

As ever, if you would like to become a patron, then you can find my page here.

1 Like

A productive evening. My MonoGame engine now supports Cooutines, similar to Unity, it also can now use Roslyn to compile C# scripts, add them to components, and have those scripts run coroutines too :slight_smile:

Hope to have a Patreon post on it at the weekend



1 Like

C# Scripting & Coroutines

This post covers the Roslyn compiler I have added to the engine as well as the coroutne framework.

Void Engine - Tutorial 9
https://www.patreon.com/posts/44854439

Double post weekend!

Another quick post and video covering the engines BaseGame class, how it brings the current components I have written together, Asset, Input, Audio, C# Scripting, and Coroutines. Next Ill be looking at Scene management, and then once we have that, we will start writing the scene editor :slight_smile: https://www.patreon.com/posts/44963508

I think this will do for tonight, scene is serialized, saved, then re loaded at a later date.

Getting there :slight_smile: Three cameras in this scene, each running a runtime compiled C# script, one for me to translate and rotate the top camera, the other two follow the top camera.

Bit of holiday engine code, my current Patreon post has me thinking about render pipelines, but I think I will get the scene management done and covered frist, then do render pipelines, then, work on the scene editor :slight_smile:

My god, I actually got around to making my first Patreon post of 2021… I have had a hectc few months… back on it now though :smiley:

This post covers the scene managemtn code I added to my engine back before Xmas.

https://www.patreon.com/posts/47237761

Think I might add a few more bells and whistles before I move onto the creation of the scene editor :smiley:

1 Like

UI!

For the editor, but baking it into the engine too so it can be used in game if you want to, trying to make it easy to style too :slight_smile:

Having to re qork what I wrote the other week, had an idea, it didn’t pan out, but this is looking better now https://patreon.com/NemoKrad

Nice. I did my ui using viewpoirts for containers. And you can nest containers inside containers. Each container also uses a backing camera for scrolling etc.

It was a bit tricky to get flawless but basically I needed to translate the draw and the input for each container.

Getting the draw and update order was interesting too

1 Like

Cool, I am nesting controls in controls here, in the window, the title bar is a control, as is the button. Each has its own scissor rectangle so they can’t over flow,

They can be camera specific too, and it should be possible to render them as billboards and use them in world space oo, but not tested that yet.

I thought I would do a bit of a round up post on where I am with my MonoGame Engine. Doing this post made me realize, there is quite a bit in here :slight_smile:

Void Engine Interlude