Post news RSS DevUpdate #3

In this long-awaited community...err, I mean development update, we cover why the 3.3.1 update has taken so long to release, what we're working on, what still needs to be done, and what we *hope* we can do without the mod becoming dead-on-arrival as is was for many players of SPV3.3.0.

Posted by on

DevUpdate #3 | SPV3

Housekeeping

SPV3.3.0 System Requirements

EDIT 2022-11-06: ModDB prevents some elements (e.g. tables, embeds) from displaying correctly. This article can be read in its full glory at halospv3.github.io.

  • Operating System
    • Minimum: Windows 7 ESU (32-bit) OR any Linux distro w/ Wine/Proton
    • Recommended: Windows 10/11 21H2 or newer (64-bit) OR any Linux distro w/ Wine/Proton & Zen kernel
  • CPU
    • Minimum: 4 threads, 2.5 GHz, 2010 or newer e.g. Core i3-2100
    • Recommended: ≥ 8 threads, ≥ 4 GHz e.g. Core i7-7700
  • GPU
    • MIN: 1 GHz, 2 GB
    • REC: ≥ 1.5 GHz, ≥ 4 GB
  • RAM
    • MIN: 4 GB DDR3-1600
    • REC: ≥ 16+ GB DDR4-2400 or better
  • Storage
    • MIN: ~15 GB free space on primary (e.g. C:\) drive before installing and equal amount of free space on target drive. HDDs, SD cards, USB Flash Drives accepted, but cause hitches when loading new map areas.
    • REC: Install to an SSD with at least 15 GB of free space on both the primary drive and the target drive.

Our team members and beta testers have access to a surprisingly large variety of hardware. We occasionally update a catalog of Hardware Performance here.

The current releases of the Loader (1.0.0-0370), installers (1.0.0-0370, AmaiSosu 0.4.3), and related software are compatible with Windows 7 SP1 and up on both 32-bit and 64-bit systems. A later release may drop support for Windows 7 due to the increased difficulty in supporting an operating system that is no longer supported by the company that made it.Software development kits are also dropping support for Windows 7, so supporting Windows 7 will become increasingly difficult in the future. So, unlike Windows 10/11 users, Win7 SP1 and Win8/8.1 users will still need to install additional software and Windows updates so our installer and launcher software can run. SPV3.3.1 might use “single file”, all-in-one EXEs, but even these may require the prerequisite software to run.

On the bright side, Unofficial support for Linux distros has been spotty at best and has always required workarounds. Even our internally tested set of instructions (thanks to NekoGuy and JediMasterChief) requires workarounds to run .NET Framework apps and to load the Halo Custom Edition extension “OpenSauce” into the game. Until official, native(-ish) support is implemented, these instructions will be recommended for anyone trying to run SPV3 on a Linux distro. Ideally, our C# .NET software will eventually be built as separate Linux and Windows executables–packaged together for 3.3.1 if ready by then–and our Linux–specific executables will automate Wine/Proton configuration.

Compatible Game Engines

To put it simply, SPV3 is and always has been a “standalone” mod built on Halo Custom Edition’s engine with the OpenSauce 4.0 extension.

As implied in the previous section, SPV3’s MCC compatibility has always been limited to “disable Custom Edition’s DRM if you own CEA”. Many of SPV3’s features require additions provided by the Custom Edition extension (“mod”), OpenSauce. This extension was only ever built for two or three versions of Halo Custom Edition. It would need to be overhauled to support the other three Windows XP-era desktop ports of Halo:CE i.e. Trial, PC/Retail (distributed via DVD-ROM), and the demo for MacOS. For SPV3 to work on MCC, we would need one of the following:

  1. Injection of OpenSauce-derived code rewritten for CEA
  2. Official support for all of OpenSauce 4.0’s features in CEA, including post-processing. A small set of features (e.g. gravity modifier) have already been ported or recreated by Sean Cooper (AKA Kornnman) of the MCC Publishing Team.
  3. Another engine in MCC that provides all the features we need. Reach and 4 might work, but we’d lose Halo:CE AI behavior.
  4. A community-backed, open source engine like what OpenMW is to Bethesda’s The Elder Scrolls III: Morrowind. Work toward this has been spearheaded by SnowyMouse (formerly Kavawuvi) who created Chimera and Invader (an open source alternative to Halo:CE’s Halo Editing Kit).

Known Issues (3.3.0)

  • Some random crashes and some Loader settings aren’t reflected in-game.
    • Create a new profile in the game’s main menu. The old Halo:CE Windows/MacOS ports do not create a default player profile prompt to create one. Without a profile, game settings and progress will not save. SPV3.3.0’s Loader tried to fix this, but a few source code typos caused it to create broken profiles that work most of the time.
    • Some crashes predate the NewProfile bug. Unfortunately, we can’t fix these, yet; they are caused by various memory edits we aren’t responsible for.
  • Crashes on Pelican-start levels and when entering vehicle; Some scripted events don’t work e.g. enemy dropships are empty
    • These issues are caused by our current implementation of the “Disable Mouse Acceleration” patch. Re-enable the game’s mouse acceleration in the Loader’s Advanced settings menu for now.
  • Our Borderless Fullscreen hack has always been finicky and doesn’t work at all for some people.
  • MCC (Steam/WinStore/Gamepass) “compatibility”
    • All reliance on CEA for DRM is being removed in favor of NO DRM. The upkeep slowed down development significantly.
  • OpenSauce installer “AmaiSosu” v0.4.0 does not auto-select SPV3’s install directory. v0.4.3 is sometimes unable to target SPV3’s install directory at all.
    • AmaiSosu 0.4.3 can select the SPV3’s folder only after you clear or change the contents of the text box.
  • All player skins use the default arms in first-person view.
    • This restriction is related to our implementation of Sprint. Each weapon has a separate model for Sprint. Each cyborg skin would need its own Sprint model, too. That takes up a lot of resources.
  • On modern (XInput) controllers, holding both triggers does nothing.

These issues and many more are now being tracked at HaloSPV3/SPV3-Known-Issues on GitHub. Issues we’d logged on our old, private issue tracker will be manually migrated to this public issue tracker over time.

Plans For 3.3.1

Initially, SPV3.3.1 was planned to have soundtrack updates, updated marine stickers, new Firefight maps, and more. However, everything but firefight is now being reconsidered for release.

For some context, SPV3.3.0 was the final major release of the mod, with little to no plans for future editions besides possible Firefight maps. Because of this, its source files were utilized for the development of Halo Legacies within Custom Edition. While this doesn't necessarily mean everything was overwritten, there may be some regressions as there hasn't been a new compiled build of SPV3 since February 2021. Everything would need to be retested to make sure it works, and as SPV3 is no longer our main focus, this would be out of the picture.

What this means is that, depending on the difficulty of reverting our source assets from Legacies (for Custom Edition) back to SPV3, the updated soundtrack and marines' stickers might not make the cut.

Now, we do have theoretical solutions to this issue. However, both involve patching the tagset and have their own potential drawbacks:

  1. Extract the tags from the 3.3.0 release, which will introduce inconsistencies caused by Tool.exe modifying stuff every time it's compiled to a map.
  2. Patch the tags in the SPV3 tagset and source asset repository. Some maps might not compile due to changes for Legacies' Custom Edition tests.

Given these issues, we don't want to promise anything upfront in case we're unable to commit to them—after all, SPV3 is for all intents and purposes complete, while Legacies is now our main focus. However, in case anyone is interested, here's a more in-depth look at what we were planning to include for SPV3.3.1:

Soundtrack Updates



Jafet has been hard at work remastering the soundtrack from its 2016/2017 rendition. At the time of this writing, He’s already completed a remaster of the SPV3-original tracks and their alternative mixes. Although they aren’t finished yet, the Lumoria and SPV3 Definitive soundtracks are also available for prerelease purchase. The 2016 albums and Jafet’s other works are available on his Bandcamp. What he has completed will hopefully be converted for use in SPV3.3.1; they would replace their older counterparts or placeholders, as is the case for Lumoria.

Updated Marine Stickers

With the release of SPV3.3, we'd gotten a great deal of criticism regarding certain immersion-breaking stickers on our new marines' gear—particularly the more outlandish ones with references to real-life pop culture (e.g. anime, games, etc.) and memes. Some of these stickers were also risking copyright infringement, and so it was important to remove them. Now, don't get me wrong; it's certainly amusing to see a desperate marine run up to you while his helmet is sporting his favorite 2D waifu, but it's a bit too silly. It's important for comedic aspects to feel fitting within the game, rather than just slapped on—and so after taking these critiques to heart, StephenWest revised the assets to be less ridiculous and more in-line with expected UNSC marine stickers. These assets are ready to be converted and imported to the map dev environment. “Changing the marines would take literally minutes once they’re compiled”, said Weaver900. Speaking of Weaver…

New Firefight Maps

We promised more Firefight maps—er…not promised. We said we’d build you some more playgrounds when we have time and interest in doing so. It just so happens Weaver900 came along with both of those to spare! After we shipped the Rockslide and Engine Room firefight maps, Weaver put together several playgrounds for all you…to share with one another. Playgrounds don’t grow on trees, so make sure you give thanks to Weaver for the maps—and Arecaidian Fox for the eye candy.

Note: All maps need music and marine updates.

Image of  Covie Ship

Codename: Covieship (aka Covenant Hangar / Cruiser)

"In their hubris, the Covenant claimed dominion over the stars. They were wrong."

Utilizing the Truth and Reconciliation's hangar bay, this multi-floor fighting arena is complete with either waves of defending Covenant soldiers, or hordes of Flood infestors. When playing against Flood, the level's appearance will match that of SPV3's Keyes.

This map just needs a few tweaks, such as gravity lifts for player locomotion between levels.


Image of Lobby

Codename: Lobby

"As Reach fell, human defenses became staging points for Covenant offenses."

Lobby is a completely original Firefight map which takes place within a Covenant-occupied human structure—or a lobby, hence the name. The map features auto-turrets, which may or may not be replaced with weaker variants, and the number of which has been reduced to one for now.

It also needs to be tested for unusual crashes, which shouldn't be happening anymore.


Image of Swamp Tower

Codename: Swamptower

"Through muck and mire came ancient horrors, daring to take the galaxy once more."

Taking place within the familiar swamp of 343 Guilty Spark, this foggy arena is more or less complete. We’ll continue to playtest it before release to ensure you get the quality you want deserve.


Weaver has since moved on with Masterz1337 to develop Halo: Legacies in addition to his own Halo content such as Secret of Sandtrap, Mysteries of the Mountain, and Ultimate Firefight: Sandtrap.

Other Updates

While we’re adding the new Firefight maps to the main menu, we’ll also go ahead and polish other parts of the main menu—e.g. update graphics for no-skulls firefight, change names and descriptions (Action will be changed to Interact/Reload), update the music, and improve user experience wherever possible.

For the few who care, Linux compatibility will slowly become as official as possible for this mod for a Windows XP game. To start, we’ll be delivering Linux ELFs in addition to Windows EXEs whenever possible.

What’s being worked on right now?

SubhadeepJazz (our senior UI designer and post-processing artist) is teaching Arecaidian Fox how to work with the main menu UI elements. During the learning process, he’s come up with various ideas to use as practice while he gets used to the HEK and OpenSauce tool sets. Stay tuned for a chance to taste what the chef is cookin’!

Many issues in the launcher and installers have been fixed, but not compiled; some of these fixes depend on a solution to the age-old Windows error “The Process Cannot Access the File Because It is Being Used by Another Process”. This error affects the installation, configuration, and game-loading procedures and is typically caused by unrelated processes (e.g. File Explorer) opening SPV3’s files and refusing to share them. If we were running on a Linux-based OS, we’d use a built-in system app to override this error, but Windows doesn’t have this. Instead, doing so on Windows requires complicated code reliant on undocumented and accidentally-published Windows “kernel” functions. Although several other software have implemented this convoluted workaround, its convoluted nature has been a major PITA while adapting it for SPV3’s needs. After resolving this issue, we can resume work on public betas of our launcher and installers.

Masterz is dusting off the SPV3/Legacies(CE) asset repository. In section “Plans for 3.3.1”, we touched upon the issue of SPV3’s development environment being mixed with and overwritten by early work on Halo Legacies—a mod inspired by Metroid Prime which is now being developed for Halo 4. No doubt, you want to hear more, but you’ll have to wait until we talk about it next month. Regarding the “mixed” development environment, changes made during the early development of Legacies will need to be reverted to work in SPV3. Online version control systems had been used in the past, but had fallen out of favor for a few different reasons and our SeaFile solution was shut down due to the costs of hosting a server. As a result, we have no backups of the asset repository we can fallback to, so we have to guess about what used to be. We can get “hints” by extracting assets from the 3.3.0 map files, but the map compiler (tool.exe) changes and optimizes tags unpredictably when compiling maps—what we extract might not have been what was originally fed to the map compiler. Only a handful of these hardcoded changes have been documented by the Halo:CE community.

Conclusion

That’s all for now! Next month, we’ll catch up with Masterz and the rest of the Legacies team and discuss the history of the Legacies project—starting from its conceptual stage and its Custom Edition roots to the latest developments targeting Halo 4. In November, we’ll go over various plans for what we plan to do with SPV3 after releasing 3.3.1.

For more frequent news and open discussion, join the Halo Legacies/SPV3 Discord and follow @halo_legacies on Twitter!

—Beethovenus and BinToss of SPV3

Comments
tpd1864blake
tpd1864blake - - 20 comments

If I got the ability to play as Vadamee in that Covenant cruiser Firefight map that would be extraordinary, plus it's probably the map that would make the most sense.
New music sounds very intriguing, how are you going to top the Silent Cartographer Evolved song? If you can outdo yourself with that feat of a song then I would be thoroughly impressed, that one's my favorite.

Reply Good karma Bad karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.