3D game engine that works like marathon

For topics about the story, help in a certain level, game discussion, or finding/discussing content.
Post Reply
Qweasy908
Cyborg
Posts: 86
Joined: Jul 18th '18, 22:45

I want to talk about making a 3D game engine that works like marathon. The only idea I have is 3D shapes that are independent from one another can occupy the same space and are linked together on the sides only to form a map. Maybe I can do this with separate bsp trees for each 3D shape. I know I need a way to split up a wall so differently sized 3D shapes can link with no problems.
Qweasy908
Cyborg
Posts: 86
Joined: Jul 18th '18, 22:45

Thanks.
I should start with portal rendering then try to find a way to keep marathons 5D space.
User avatar
Pfhorrest
Vidmaster
Posts: 1847
Joined: Oct 12th '07, 22:08
Location: California
Contact:

Portal rendering will (or can) give you 5D space right off the bat. Marathon's 5D space is a consequence of its portal rendering method.
User avatar
Marscaleb
Born on Board
Posts: 11
Joined: Apr 1st '19, 11:35

Here's a good example for how to build that kind of an engine:

https://youtu.be/HQYsFshbkYw

I know the title says "Doom-style Engine" but it is really a Build-Style engine, using portals an enabling for overlapping sectors, as is done in Duke Nukem 3D and Marathon.
Qweasy908
Cyborg
Posts: 86
Joined: Jul 18th '18, 22:45

Marscaleb wrote:Here's a good example for how to build that kind of an engine:

https://youtu.be/HQYsFshbkYw

I know the title says "Doom-style Engine" but it is really a Build-Style engine, using portals an enabling for overlapping sectors, as is done in Duke Nukem 3D and Marathon.
Have you read Fabian Sanglards explanation of how the Build Engine works?

http://fabiensanglard.net/duke3d/build_ ... ernals.php

I want to know more how Marathon works, but there's not that much information on it and reading source code is all I've got.
User avatar
Lion O Cyborg
Cyborg
Posts: 188
Joined: Jun 22nd '18, 19:00
Location: UK (which is IN EUROPE!)

Marscaleb wrote:Here's a good example for how to build that kind of an engine:

https://youtu.be/HQYsFshbkYw

I know the title says "Doom-style Engine" but it is really a Build-Style engine, using portals an enabling for overlapping sectors, as is done in Duke Nukem 3D and Marathon.
I think the rooms over rooms and 5D space in Build was actually done by cheating: Build has invisible portals that teleport you elsewhere in the map for most "overlapping" sectors. All swimmable liquids in Build use this behaviour and sometimes in certain areas, you can see the bottom of a vent or other shaft you fall down (in Eduke32, which has higher look limits) but it disappears when you get close. That's you passing through the portal into a separate part of the map.

It's also how in Hotel Hell in episode 3, you can blow open the wall of a rooftop swimming pool and swim through it up out of a broken toilet on the ground floor with no height changes.

Other than that, I'd like to know how Doom connects its polygons compared to Marathon. As Build is a portal renderer, does it connect its ones the same as Marathon i.e any lines (that's linedefs for id Tech 1 engine map makers) that are shared by two polygons become a portal when filled? Marathon's is the easiest method (if I interpret it correctly) but what do the other two do?
Post Reply