sinshu / managed-doom

A Doom port written in C#
408 stars 59 forks source link

Asset / World / Geometry / Sprite hooks #29

Open IceReaper opened 1 year ago

IceReaper commented 1 year ago

Just an idea:

I've been throwing managed-doom into godot. took me 30 minutes to get it to work in the godot engine. Then i started to actualy hook in at the points where the map is loaded and generate proper geometry. It would be cool if managed doom had an interface which allows people to throw in an implementation to react on graphics creation, manipulation and deletion, so that it can choose to not use the software renderer, but instead react by updating a 3d scene, without the need to implement a 3d engine into the core classes.

image

sinshu commented 1 year ago

It's amazing that Doom can run on the Godot Engine 👀

I have very little knowledge about modern 3D graphics, so defining an efficient interface is difficult. In fact, while I do use OpenGL in Managed Doom, I have no experience handling anything more complex than a single polygon covering the entire screen...

In the early days, I wanted to implement a polygon-based renderer as well, but I unexpectedly found that the software rendering engine of the original Doom is tightly coupled with the core part of the game, so I gave up on that 🥺

IceReaper commented 1 year ago

No need to dig into graphics for Godot. It has a full Vulkan renderer and c# scripting (Godot 4). It's pretty easy to simply set the geometry. Basically all it need is an interface which has several methods which get called when