Marathon Unity

Discuss and unveil current Marathon projects.

Marathon Unity

Post Apr 15th '18, 10:50

This is a project to recreate the Marathon game engine in Unity.
Since this is now at a stage where some people might be interested in looking at it:
Marathon Unity

There are no binaries until the thing is much more complete, however it is at the point where it should just run, so for the curious, the instructions are: download the free version of unity, open the project, then open the scene called StartScene, click the big play button in the Unity UI.

Be warned, its got a long way to go. Here is my road map, which will show whats done and what still to go.

-get unity to read map files
-get the basic map geometry drawing as unity game objects
-get unity to read shapes files
-convert all textures to unity materials
-get the textures applying to the level
-convert the collection of hacks that make up marathons platforms into actual platform objects
-make the platforms go up and down
-get basic switches working so doors can open and close
-placeholder fps player controller
-get basic impossible space working
-advanced impossible space (where you can see into both polygons simultaneously)
-full control panels (tags, light switches etc)
-platform triggers

-get map items spawning (ammo, scenery etc)
-sort out the landscape textures
-get physics file loading into unity
-get the sound file loading
-- at this point the code will require a major cleanup as all the data structures should be in place
-recreate marathons physics
-rebuild the fps controller
-get sounds in the map
-merged map files
-in game ui
-enemy ai
-saving/loading games
-out game menus
-probably a bunch of stuff that I've forgotten/not thought of.

*mml files + loading external resources
*scripting - some level of script support should be possible, but i have no idea how practical it will be to support existing lua scripts
*any grarphical extras - realtime lighting, rendering the terminal texts onto the terminals in the game etc
*creation of sloping walls/floors
*ability to connect polygons via floor/ceiling
*some sort of editor to allow for creating all that

There will be bugs. Anyone interested in helping in any way, if you know the files inside and out you may be able to tell me exactly what im doing wrong, otherwise creating the simplest possible map that has the error would go a long way to tracking down the problem. Also, im more than happy to accept code ;)
Finally, impossible space has some limitations (and a bunch of bugs) at the moment (basically it works in my test map, in the maze on Arrival, ye olde 5-D Space and in Ne Cede Malis (which i dont think was meant to have any, but has ended up providing a surprisingly good test case)
Finally finally, the current player has the entirely arbitrary top speed of 7, and the camera is 0.7 wu off the ground, has a bunch of jank when riding platforms and generally doesn't feel much like marathon. Its going to stay like that until the physics files are loaded and working, at which point i will want feedback on weather or not the controller is perfect. Whats there right now is a placeholder. The controls are w-a-s-d + e is action, hold control to get the mouse cursor back.

If all of that was tl;dr, I'll just leave these here...
User avatar

Low Earth Orbit.

Post Apr 16th '18, 00:33

Can't wait to find enough free time to try this out.

A good test map for advanced impossible space is Couch Fishing.
User avatar


Post Apr 16th '18, 09:09

So i just looked at couch fishing, and yep. its getting confused ;)
I can see whats happening, because the impossible area covers 3 polygons, its getting confused when its trying to calculate the volume, and then clipping the geometry in the wrong place. That should be reasonably easy to fix.
The only real limitation at the moment should be that I can only put one hole into any given polygon, so if the same polygon has 2 separate volumes of impossible space, and the player can see into both at the same time, then the far away area will be left with overlapping polygons. I havent decided weather to add more clipping planes so i can make 2 or 4 holes, or to just secretly cut the offending polygons into 2 when assembling the level.
User avatar

Low Earth Orbit.

Post Apr 16th '18, 16:27

Oddly, some of this code is familiar to me, as if it were from an old dream...

If it would help to have a loader for the physics and sounds files along the lines of the Weland stuff, I could probably port those easily from Aleph One.
User avatar


Post Apr 17th '18, 03:15

treellama wrote:Oddly, some of this code is familiar to me, as if it were from an old dream...

Weland has been invaluable, and everything was namespaced beautifully, so i could drop the code in almost unmodified, hopefully there wont be any megalomaniacal AIs to deal with... (well, outside of the game at least)

And having a weland like loader for the physics and sounds would be extremely helpful :)

Also, I started looking for a collection of test maps to use and I went through the trilogy release cd added Missed Island. Are there any other maps that did crazy things that bungie probably never though of without using any Aleph One features that would make good test cases?
User avatar

Low Earth Orbit.

Return to Projects

Who is online

Users browsing this forum: No registered users