Jóhannes G. Þorsteinsson is a user on mastodon.gamedev.place. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

This will be a little thread on remaking my old Marathon scenario Susannah in . The first thing is the number 0.03125. This is how much you want to scale a marathon map in Blender after exporting it from Weland to get 1 unit in Blender to match 1 WU in Marathon

What is Marathon you might ask? Marathon by Bungie (of Halo and Destiny fame) along with its tools was what got me into gamedev 20 years ago. You can download it and play for free from here alephone.lhowon.org/

WU stands for World Unit and is the unit of measurements in Marathon. It is noted in the Forge (Marathon map editor) manual that one WU accounts for about 2 meters in the real world. So if you like 1 blender unit = 1 meter, then scaling with 0.0625 might work better for you.

Do note that after you export a map from Weland and import into Blender you might need to flip some normals around so they will display correctly. Otherwise you'll get invisible walls.

Texturing in Forge is quite nice as you could simply texture each face individually. Blender/Godot works differently though but I don't need to worry much about as Susannah had very minimal texturing needs. I do think Sprytile might be the key though. chemikhazi.itch.io/sprytile

On that note, If anyone knows of a good method or a plugin in Blender or Godot to independantly texture each face and be able to drag textures around (both tiled with other faces or independantly) like in Forge visual mode, then please do let me know.

As pointed out by chemikhazi @ twitter the Blender plugin BRM-UVTools might be the way to go regarding texturing Marathon maps in Blender. github.com/leukbaars/BRM-UVToo

Now that we have a level, what about the player? By looking into the Marathon physics model with the tool Shapefusion ( shapefusion.sourceforge.net ) we get the following information about the player. First, we'll look at is the player size. 0.25 WU radius and 0.8 WU in height.

Testing out the player sizes in a test level in Godot. Here you can see the player fitting inside a 0.5 unit wide gap, and under a ceiling 0.8 units from the floor.

Jóhannes G. Þorsteinsson @johannesg
Follow

Running the same level in Marathon actually allows the player to squeeze a little bit further into that gap but it makes movement really glitchy so that's most likely down to a bug in Marathon. Also, fun little fact, the player sprite is actually larger than the collision shape.

I had some trouble attaching the gif to this post so I'll just link to the tweet. Sorry about that. twitter.com/johannesgunnar/sta