Marathon 1 Redux

Discuss and unveil current Marathon projects.

Re: Marathon 1 Redux

Post Mar 12th '19, 00:20

treellama wrote:
ravenshining wrote:Where might I find this Weland plugin for texture conversion?

I can't find it anywhere. It might have been a Lua script, actually. Lua scripts are easier to write.

I do still have the mappings between texture sets.


Minor derail addendum: I'd want to reflexively say 'put Lua in Weland' for exactly that reason, but I imagine you'd have done it already if it was trivial. I've never used plugins with Weland, they seem to be very version specific, none have ever worked out of the box for me, and I don't have/know the toolchain to roll my own.
User avatar

Ku-rin
Not Invented Here

Post Mar 12th '19, 16:23

They shouldn't be version specific. Weland feels like a dead end anyway--GTK-sharp has mostly been abandoned, Xamarin doesn't seem to care about Linux at all. Time to write an editor in Lua :)
User avatar

treellama
Pittsburgh

Post Mar 12th '19, 17:07

Clearly someone should write one in ocaml.
User avatar

Wrkncacnter

Post Mar 17th '19, 03:53

• applied proper terminal textures & new jump pad texture for Arrival through G4 Sunbathing
• fixed 3D scenery plugin and moved it from Extras to Plugins
• animated fans on Never Burn Money, Cool Fusion
• alarm buzzer on Arrival now turns off after reading the 1st terminal
• teleporting Pfhor on Arrival
• proper voices in the pillar
• many texture adjustments on Arrival to take advantage of new textures
• added some text to 2nd reading of 1st Bigger Guns Nearby term to reflect manual & new texture
• fixed some typos that prevented new textures from showing up in high resolution
• fixed glitch on 1st frame of fraked tycho term

merged & pushed to git

spring break!! ...doesn't excuse me from massive amounts of work, but maybe I'll be back at this on Purim.

TODO before 0.0.13-alpha:
• apply proper terminal textures for Blaspheme Quarantine - Eplilouge
• remove Eternal terminal text from epilouge
maybe do some work on Mirata and New Thermopylae so you don't teleport immediately on starting a new game
User avatar

ravenshining
Hawai'i

Post Mar 24th '19, 10:54

I just had a thought. I've been playing Eternal X Omega (1.1) in preparation for my writeups in 1.2 (and for screenshot archiving via Steam, 1.2 will have its own screenshots there) and I've recently gotten to Dread Not. After getting the Wave Motion Cannon (or as I like to call it, the Portable Halo) I remembered that this gun was originally cut from Marathon 1's development. I can't remember where I read that but I think it might have been somewhere on the story page.

https://steamcommunity.com/sharedfiles/ ... 1692530406

Since it was originally a Marathon 1 weapon that was removed, and one of Redux's aims is to re implement features that vanilla M1 lacks, I wonder if it would be possible to add it to Redux? It could serve as an end game weapon or -since it one shots juggernauts and that would be cheating on Try Again- it could only appear on a single story plank, though I don't know which one would be the best, assuming this whole idea is even taken on board.

Does it sound like a good idea?
User avatar

Lion O Cyborg
UK (which is IN EUROPE!)

Post Mar 24th '19, 13:37

No. Eternal's WMC is ridiculously overpowered, I'm already full up on weapon slots, and I want to keep the staff and smg. There is the ball slot, but I'm saving that for REDACTED. I'm sure you'll agree that will be more fun. ;-)

Up on git:

• I've added MML to give you appropriate weapons, health, and oxygen when scratch-starting a new level, mostly for the purpose of viddability. The extra weapons come at the expense of those spare pistol clips, and you will never start with a flamethrower or alien weapon. Some levels start you with extra health, but levels immediately following a vacuum level strip you of oxygen.

• MML added to suppress teleport effects when you're not teleporting

• A revamp of the credits screens and minor edits to the title console

• New terminals written for the epilouge

• Epilouge physics drafted. BoBs are "alien" and shout good things, MADDs are "BoBs" and will eviscerate you if you start mowing down the poor BoBs.

• Lots of texturing on the epilouge, it now looks more like the Marathon and less like something a robot spit out.

And of course I've performed a merge for the week

Unfortunately, A1 keeps segfaulting whenever the game goes to the final screen. I'm guessing there's just too many textures in use on the Epilouge.
User avatar

ravenshining
Hawai'i

Post Mar 24th '19, 15:10

ravenshining wrote:No. Eternal's WMC is ridiculously overpowered, I'm already full up on weapon slots, and I want to keep the staff and smg. There is the ball slot, but I'm saving that for REDACTED. I'm sure you'll agree that will be more fun. ;-)

Up on git:

• I've added MML to give you appropriate weapons, health, and oxygen when scratch-starting a new level, mostly for the purpose of viddability. The extra weapons come at the expense of those spare pistol clips, and you will never start with a flamethrower or alien weapon. Some levels start you with extra health, but levels immediately following a vacuum level strip you of oxygen.

• MML added to suppress teleport effects when you're not teleporting

• A revamp of the credits screens and minor edits to the title console

• New terminals written for the epilouge

• Epilouge physics drafted. BoBs are "alien" and shout good things, MADDs are "BoBs" and will eviscerate you if you start mowing down the poor BoBs.

• Lots of texturing on the epilouge, it now looks more like the Marathon and less like something a robot spit out.

And of course I've performed a merge for the week

Unfortunately, A1 keeps segfaulting whenever the game goes to the final screen. I'm guessing there's just too many textures in use on the Epilouge.


That's OK. I didn't expect to be included as it is that powerful, probably why it replaces the RPG in Eternal. Can't wait to see the next build.
User avatar

Lion O Cyborg
UK (which is IN EUROPE!)

Post Apr 4th '19, 11:38

Still replacing terminal textures in Vasara. Easy going, really, since I allocated the AIs to the collection they're most found in, I've just been short on time lately. One in particular required me to compose a new terminal...

PfhorYourEyesOnly_0001.jpeg


Hmm, I wonder what the Pfhor have to say?
Spoiler:
PfhorYourEyesOnly_0002.png

This goes on for three pages. Nothing significant about the text, it's just copied from one of my PHIL 323 assignments and put into that not very accurate Pfhor pfhont.

Of course, if someone would like to write and/or illustrate an actually meaningful term, have at it!
User avatar

ravenshining
Hawai'i

Post Apr 7th '19, 22:59

This weekend I got sidetracked with HUD stuff. Particularly, attempting to recreate the 3D compass from the July-August Marathon betas, as seen here:
https://youtu.be/NV1krmCzK6o?t=482

First I recreated the texture- Here's the original:

frame021.png
frame021.png (7.88 KiB) Viewed 3064 times


And my first replacement attempt, using Maraphont and SquarishSans:

compasslow.jpeg
compasslow.jpeg (48.44 KiB) Viewed 3064 times


Then I spent 2.5 hours just learning how to make a sphere in Blender and apply a texture to it...

firstblender.png


Then I realised lua can't load a complete sequence into the HUD - and therefore no 3D models- and I don't know how I'd go about properly dynamically placing a scenery object or effect in the world but mapped to your view - so I figured I'd better pre-render the end result. At first I thought, GIMP has a perfectly good map-to-sphere filter, so I'll just do that... 512 times... I mean, I'm guessing from the texture that the Marathon beta only rotated the compass every other facing increment and so you'd only need 256 for parity, but this is M1R! Marathon has 512 degrees, lets use all of them!

But first, I wasn't satisfied with how my replacement got pixellated when mapped to the sphere, how the letters were indistinct at that low resolution, nor did SquarishSans look right for the numbers (although I did like Maraphont for the letters) so I started again from scratch. And at 2048x2048, since this is only for prerendering purposes and won't be dynamically manipulated by A1:

compass.jpeg


And here's how it came out in GIMP's 3d mapping:

16.png
16.png (16.69 KiB) Viewed 3064 times


With that, I can begin to conceptualise how it will fit in the HUD:

HUD-compass.jpeg


However, moving the texture a bit and remapping quickly got tedious, and I thought, maybe I'll make a better model in Blender and render that as animation frames. So I spent all night learning how to make things look cool and render properly in Blender, with all kinds of fun effects like transparency with index of refraction and backscattering, and just as I arrived at something that looked awesome, Blender crashes. I hadn't saved in a very, very long time...

So basically the fruit of this weekend's fun went down the drain except for:
• 1 awesome texuture and
• 2 learning how to use Blender, which has long been a force I've been too intimidated to wrestle with.

...

I have considered that it would be much simpler and possibly less resource intensive if I made a 2-D compass using lua's crop and scale functions on a single image, like so:

compass-2D.png
compass-2D.png (9.7 KiB) Viewed 3064 times


but it's not quite the same
User avatar

ravenshining
Hawai'i

Post Apr 9th '19, 19:59

ravenshining wrote:This weekend I got sidetracked with HUD stuff. Particularly, attempting to recreate the 3D compass from the July-August Marathon betas


Nice work!

You have UV mapping down pretty well so far from what I can see. Sorry about your crash. It has happened to me too many times, and it always hurts when you realize you just lost hours of work. Although, oftentimes when I start over I do notice that the overall product is improved with fresh eyes, so there is sometimes a silver lining. Either way, you seem to be picking up Blender quite well, which is a feat in itself considering how much there is to play with there.

Ultimately I think the 2D clipped/masked compass will work the smoothest, and you won't take a hit loading all those frames. You could try overlaying some shadow/highlight gradients on top of the visible portion to at least vaguely suggest a slight cylindrical profile.
User avatar

Ku-rin
Not Invented Here

Post Apr 9th '19, 22:53

Thanks!

And yeah, starting from scratch helped me figure out a few things I was doing wrong.

Recovered:
recoveredblender.png


Rendered:
0.png
0.png (22.48 KiB) Viewed 2845 times


In the HUD:
compasshud.jpeg


512 may be a lot of frames, but at least it shouldn't take up too much VRAM. At 8kb per frame, that amounts to only 4 MB. Eternal has some singular textures that large on their own, and that's not even counting normal and glow mapping!

Here's how your shaded 2D cylindrical idea would look. Not too bad:
compass-2D.png
compass-2D.png (18.26 KiB) Viewed 2845 times


I tried doing it with a circle, too, but I'd have to use an awfully large bezel in order to hide the corners:
2d.png
2d.png (62.43 KiB) Viewed 2845 times
User avatar

ravenshining
Hawai'i

Post Apr 10th '19, 00:43

Haha, you really got into it. Mm, you're probably as good with Blender as I am at this point, give or take. Nice! If you have free time in the future I'll probably end up begging you for help with MPDX.

Love that render. Glad you didn't throw in the towel, but I had a feeling you wouldn't. Yeah, when you use a 2D dealie with shadow overlays it's still not even close to that. Looks pretty good with the cylinder, but there's no way to really fake it with the sphere, as I had expected. Each frame is just 8kb with the rendered version? That sounds fine.

Did you put the entire marine in that scene and use the camera as its eye(s)? Haha. That's pretty cool. Probably a good rigging for doing weapons-in-hand renders too. You set up the scene and camera one way and you can keep everything consistent, just save your marine model and camera setup as a template, and use it for anything.

Oh, if you want to do textures in Blender, just set the camera's lens to "orthographic" and align it properly. You can also do a render that sends the z-depth to a normalized grayscale image for instant bump maps by way of the node editor. That's how I did my animated liquids, with the built-in physics for waves, and also the switches.

Anyway, nice work!
User avatar

Ku-rin
Not Invented Here

Post Apr 10th '19, 08:48

Thanks again!

With a DXTC-compressed DDS, yes, only 8kb, at the expense of some subtle blocking artifacts. PNGs are about twice the size for a lossless image.

Since the compass would be sitting literally right in front of the marine's face, I put the generic monkey face (widening the jaw and raising the forehead to make it more human) in the scene behind the camera in an attempt to provide a surface for my lights to reflect off of, as it was too dark otherwise and I couldn't bring myself to add any lights that didn't make sense to exist :-)

That helped a little, but not enough. So, using the face as a reference for positioning, I added three "visor lights", above and behind the eyes, lights that might be inside the helmet illuminating the HUD but not able to shine into the Marine's eyes.

If you're curious to look at the blend:
https://drive.google.com/open?id=1Lz3h6 ... hZgBKRWysh

I had to reread your last paragraph to see what you meant, but, oooh... bump mapping textures is definitely something I'd like to do. I've used the GIMP normalmap plugin to auto-generate bump maps for liquids, because since they are simple you can just map their brightness to depth for fun effects, but that won't suffice for other things :-) Thanks for the tip!
User avatar

ravenshining
Hawai'i

Post May 27th '19, 22:03

How goes the progress on the mod? I enjoyed the alpha that I played a while ago and I look forward to the full game.

Side note: I also managed to debug an issue in M295SE that prevented the music from working: I loaded the wrong version of the game. Thank you for the map file, I really enjoy it.
User avatar

Lion O Cyborg
UK (which is IN EUROPE!)

Post May 30th '19, 06:31

Unfortunately, after finals my carpal tunnel flared up again, and I had to spend a few weekends not doing extensive work like this - although I did fire off one little Yuge/Eternal plugin that I ought to upload - and as for weekdays, I've been roped into politics which are taking up my time in place of schoolwork.

However, my wrists are starting to do better now. I still want to look into A1's menu code as promised elsewhere, maybe I can do that this weekend. M1R will be next on the weekend fun list after that, although not necessarily every week.
User avatar

ravenshining
Hawai'i

Post Jun 30th '19, 10:24

As promised, I finished and submitted my music patch to Aleph One, and this weekend I've finally gotten back to work on M1R!

No Artificial Colours received new textures and ambient sound, but the big thing today was Unpfhorgiven. After extensive trial, error, delving into A1 code, and more trial and error, I've managed to get the BoBs to:

1: Make their way to the room where you can see the Marathon once they are free
2: Teleport out once they get there
3: Not teleport out before they get there

I tell you, it's like herding cats trying to get the BoBs to behave right! Thanks to wrk for suggesting I turn them off and on again instead of creating a monster, ordering them to attack it, and then destroying said monster, as a means to induce teleportation.

No screenshots today, but here's some Lua:
Code: Select all
Triggers = {}
destination = 155
function Triggers.init(restoring_game)
  for g in Goals() do
    destination = g.polygon
  end
end
function Triggers.idle()
  for m in Monsters() do
    if m.type.class == "bob" and m.polygon ~= destination then
      if m.action == "teleporting out" then
        m:accelerate(m.facing, 0.1, 0)
        m:move_by_path(destination)
      end
      if m.mode == "unlocked" and m.vitality > 0 then
        thisone = m
        destmon = 0
        for m in Monsters() do
          if m.type == "explodavacbob" then
              destmon = m
          end
        end
        thisone:attack(destmon)
        m:move_by_path(destination)
      end
    end
    if m.type.class == "bob" and m.polygon == destination and m.vitality > 0 and m.mode ~= "unlocked" then
      m.active = false
      m.active = true
    end
  end
end


The "explodavacbob" on this level is set to be a puddle of slime in the exit room that does nothing, has no hitbox, and is immune to everything. Having a valid target both keeps the BoBs on the path, and prevents them from going into "unlocked" mode, which would deactivate them and trigger them to teleport out. Once they're in front of the window, de- and re- activating them clears their target, making them unlocked and thinking it's safe to teleport.

At the moment, the BoBs do get a bit spastic when they reach the end, and overall they shout a lot more than normal, but such is to be expected from a jailbreak I suppose! The code can be simplified further, but for now, it works.

As usual, the above and a merged map are up on git.
User avatar

ravenshining
Hawai'i

Post Jul 1st '19, 10:10

ravenshining wrote:2: Teleport out once they get there


hey, nice way of bringing the story to life in a plausible way! Maybe in the next version you can make 'em high five each other once they realize they are free ;) ..jk
User avatar

Bobwithkeycard
AMS-Tower

Post Jul 14th '19, 11:02

Thanks!

I had another lua idea, for Habe Quiddam - spawning in a number of power converters equal to the number of players, so in a co-op game, every player must grab one energy converter.

This and last weekend, continuing to make use of the expanded texture sets:

M2 organics - I've been replacing all instances of the slime texture on a solid surface with the M2 green organic texture
(as the floor below the slime, here) - unless I find something more fun, like the weird column texture behind this waterfall. Also note the M∞ split door.
TwoTimesTwoEquals_0002.jpeg


M∞ wall panelling, M2 organic green stuff behind the M1 goo, M∞ mechanical texture
TwoTimesTwoEquals_0003.jpeg


Not sure about the direction I took this pedestal room but I like the M∞ floor and door in this room, at least. I should tighten that wall up behind it, fix that misalignment in the lights, and probably revert the yellow back to slime.
TwoTimesTwoEquals_0009.jpeg


Used better-aligning textures in these corridors. Almost exactly like the original, but subtly cleaner.
BewareofLowFlyingDefenseDrones_0002.jpeg


Showing off colour variant textures a little:
BewareofLowFlyingDefenseDrones_0023.jpeg

BewareofLowFlyingDefenseDrones_0024.jpeg


This room has been restructured to fit the atrociously aligned walls that it was adorned with. Note to self - fix that terminal, it should say Durandal. :-/
BewareofLowFlyingDefenseDrones_0026.jpeg


Added an unfinished message, so if you go straight there without killing or exploring enough, you are chastised.

Spoiler:
***INCOMING MESSAGE FROM DURANDAL***

I don't want a bunch of grenades going off in this part of this ship while you're gone, and my next plan is too important for you to be going in under-equipped.

Get out of here. Come back after you've secured all the ammunition caches in this area and I'll let you know what's going on.

***JUMP PAD ACTIVATION INITIATION START***
***TRANSPORT WHEN READY***
***END OF MESSAGE***

...and he teleports you back to the beginning of the level


Also widened a few doors and corridors up for co-op on both levels, added ambient sound, and completely re-did the M1A1 secret on BOLFDD so it's much more difficult and not immediately available.

Oh, yeah, and this is the first time in this thread I've shown a screenshot of the staff after weapons-in-hand bloom support was added to Aleph One. You can see it happening to the Alien Weapon and the Assault Rifle above, but there the effect is not so dramatic as with the shock staff. Here's a before and after comparison:

staffcompare.jpeg


I'm not sure if bloom scales at all, but I might try reducing and spreading the glow so it's not completely blown out like this, and better distributed towards the tip. Overall, however, I like the effect.
User avatar

ravenshining
Hawai'i

Post Jul 17th '19, 06:03

Got distracted with some morphing software, and decided to see if I could put it to use. Looking through the shapes file, I found two animated sequences with a ticks-per-frame count of 10 - the juggernaut firing missiles, and the Drinnol dying. The juggernaut firing is conveniently obscured by contrails, but the hulk... we just can't have 10 ticks per frame!

So here's a morph of a dying drinnol, running at roughly 1/3 speed, 1/3rd of the way from standing to dead. If I wanted to go through with this interpolation, I'll have to do this 9 more times, to get the full death from all four views.

hulkdie1.gif
hulkdie1.gif (126.88 KiB) Viewed 210 times
User avatar

ravenshining
Hawai'i

Previous

Return to Projects



Who is online

Users browsing this forum: No registered users