Forerunner VI Development Log #2 – Will it Blend?

Views:

117


Since the previous post, a LOT has been added and improved.

First thing’s first – a vast majority of content from previous versions of the map has been added, with more yet to come. Flat terrain planes, controllable (drivable) bipeds, adding in unavailable vehicle variants, the whole deal. Some of the stuff isn’t in yet – like some vehicle and weapon variants, but fear not – they’ll all be accounted for.

The most exciting part of this update isn’t about old content making its way back in on MCC – it’s about new content. Brand new objects, modeled and textured by yours truly – terrain flats.

A few existing forge objects (a couple rock seastacks and structure pieces) have been places as a scale reference. There’s still some tweaking to do (like making the snow on the far right not nearly as blinding), but overall they’re ready for use. These were made to be fairly similar to Halo 2: Anniversary’s terrain objects in its own forge, as it had similar flat terrain objects. However, these aren’t just model rips and retextures – these are fully original models, made from the ground up in Blender and exported as JMS.

However, this was no simple feat – as I ran into a few roadblocks getting this stuff ingame.

Blender

First and foremost – let’s talk about Blender itself. Or more specifically, how much of a roadblock it wasn’t. I’ve used Blender in the past (prior to 2.80) where the program just felt… unapproachable to someone who was new to 3D modeling. I remember going through these whole tutorials online just to make sense of anything I was seeing and doing. Clicking on objects didn’t do anything but move this little circle icon around – even something as simple as moving an object felt frustrating and difficult.

However, I am pleased to report that the current version of Blender (3.3.0) is infinitely more approachable. Sure, I’ve had some modeling experience before with things like Blockbench for creating Minecraft models, but I was able to sculpt these terrain pieces, apply UV textures, and everything else despite not having touched Blender in many years. Sure, I had to look up a few online tutorials, but for the most part, Blender itself was extremely intuitive. So much so that I almost feel like I could get into 3D modeling more. Almost.

Sculpting the model itself wasn’t completely painless, as my first attempts resulted in models which just didn’t look right in-game – but these were fixed with some research, practice, and patience.

Physics and Collision Models

The part that turned out to be more frustrating, however, was collision and physics models. First, just finding out how to generate them was fairly difficult – as there wasn’t yet any obvious documentation on how to do so using the community-made Blender toolset. There was a tutorial showing how to create a render model for Halo 3, but nothing beyond that.

Halo Model Types

First, a quick breakdown – as some of you might be wondering, what are physics and render models? What about collision – isn’t that just physics?

A “model” in Halo (referring to newer games from Halo 3 and beyond) is made up of these 3 components:

  • Render Models – These are what you see visually. These are given textures and shaders to determine what they appear like in-game.
  • Physics Models – These handle collision with objects in the world – such as scenery objects, vehicles, and players.
  • Collision Models – These handle collision with projectiles and grenades. They are also used for other specialty collision types, such as detecting what the cursor is aimed at in Forge mode.

Now that you’re caught up, let’s continue. The way I found out how to do physics was by finding a screenshot posted by a user on the Halo Mods Discord server, which just so happened to show their Blender scene – with physics.

It turns out, that physics models are identified in JMS (Halo’s model format) by meshes that are prefixed with the “$” symbol. That’s it. If it has a $ in front of the name, it’s used for physics.

Once I found that out, finding collision didn’t take too much extra effort – that actually was listed on the Reclaimers c20 library, which aims to document a great deal of how to use these old tools in the modern day, now that they’re finally making their way into the hands of the public. Turns out collision models are marked with an “@” prefix.

However, there’s another piece to the puzzle – which is that physics and collision models in Halo (and other games as well) must be made of up entirely convex shapes. As part of the export process to JMS, any meshes are converted to convex hulls to ensure that they can be imported into the game engine properly.

You might then be wondering – well then how does one have physics or collision for an object such as a terrain piece, which by nature must have concave features of its model? Well, you use multiple separate meshes. While each individual part of a physics model must be convex, you can essentially have as many of these as you want – though of course, more of them will require more physics calculations – and thus become more resource intensive, leading to worse performance. Thankfully, we aren’t dealing with Xbox 360 hardware anymore – and so we don’t have to think too hard about this.

But regardless, this leaves us with the issue of having to painstakingly split up our model into pieces – and then turning them all into convex hulls. I tried this manually twice and ended up with… imperfect results.

As you can see, there’s lots of weird creases and edges where you’d have a fairly bumpy ride – and it still left quite a lot of distance in some areas where the player would obviously be floating above the terrain. This was no good – but thankfully, there was something out there to save the day. A Blender addon called V-HACD for Blender. Unfortunately, the addon doesn’t work under 3.3, so I had to go and install 2.80 separately. Thankfully, however, the addon worked fantastic and generated much better physics and collision models than I could’ve ever hoped to do manually.

The pink lines in the screenshots visualize the physics model, whereas the grey shape below is the render model. As you can see, most of the important details are accounted for. Really, my only complaint with the addon is that I have to switch to an older version of Blender to use it.

Sidenote – remember how I said that Blender was a lot easier to use now? Well, 2.80 is the version that introduced the new user interface – and while it is still easier to use than the 2.79 and prior UI, I can definitely still feel some cases where that version is still a lot more cumbersome to use – mostly with the scene hierarchy. You can’t shift-click to select a bunch of objects, nor can you delete them by pressing the Delete key. No – to delete, you must right-click > Delete > OK every time, and worse yet – you cant re-parent a selection of objects – you have to move each object one by one to its new parent. This was an issue, as I was putting all of the objects into Scene collections – so that I could easily toggle collision, physics, and render models in the scene.

Tl;dr – use Blender 3.3.0 – it’s actually super great.

And with that, we finally have custom object importing solved – and brand new terrain pieces. These alone will be huge for creating new landscapes, but I’ve got a bit more planned before a formal release:

  • Additional terrain objects (hills, slopes, cliffs)
  • Additional structure objects (human and covenant themed)
  • Additional scenery objects (mostly importing a bunch of objects from campaign)
  • Large cruiser scenery objects
  • Flyable Pelicans, Phantoms, Spirits
  • Adding in all remaining legacy content from earlier maps – even the crappy stuff

That being said, there’s a great deal of stuff done – and I’ve actually gone ahead and recorded a video showcasing the current state of the map.

But of course – odds are you don’t just want to see this stuff – you want to play it, right? Well, I’ve got great news:

6.0 Beta 1 and Download Portal

As of now, I have introduced a download portal for Forerunner.map – not only does it include the current Beta release of 6.0, but it also includes virtually every version of the original map for Xbox 360 that I have laying around – including the never-released 5.0 (Forerunner V). In fact, thanks to my diligence with routine backups on version 5, there’s a LOT of versions for you to choose from for that particular iteration. Some of them will undoubtedly work better than others – newer versions will likely have more content, but may also be a bit more buggy.

I have tested all versions from 1.0 through 4.0, and they all appear to load just fine. Nearly all of them have crashes on certain forge objects, but that’s kind of a given with these maps – it’s why I stopped working on the map originally, and why it’s so great being able to do this all with official tools now.

So, while I can’t offer a perfectly stable experience for the 360, I can at least give you the power to choose. Every version of the map I have (and at least lets you load into the map) is up for download.

For 5.0 in particular, there’s actually 3 versions of the map:

  • Default – The normal Forge World, with the newly added forge objects
  • Rain – The same as default, except with a cooling rainfall
  • Lava – The same as normal, except all vegetation is long dead, and the oceans are replaced with lava

Honestly, going back through these versions of the map, I’m a bit surprised I never just released them – sure, they do suffer from “some stuff crashes” syndrome, but they’re relatively useable regardless – guess at the time I was just so defeated by stuff breaking that I couldn’t be bothered. Or maybe I just got caught up in other stuff and simply forgot. We’ll never know for sure – but all that matters is that it’s finally released after all this time.

An important note regarding the 6.0 beta – there is an almost 100% chance that any forge maps you make on this beta version will stop working properly with future versions, due to how Halo: Reach stores map variants. Additionally, this map is fundamentally incompatible with any existing Forge World variant, as the map has a completely restructured forge menu, similar to earlier Xbox 360 versions. But if you’re okay with that and are content swapping back to the old map (or waiting for a final release

So, whether you’re after the old 360 classics or the current 6.0 beta, check the download page below.


Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments