Why, hello there! :)

The last 4 months have been massive for the project. With getting access to the Source Engine’s inner demons, the team has been hard at work porting the game to the Chaos Source engine, and we have some pretty big news regarding it, so strap on in!

Bring the Chaos

0.8.8 marks the first build of Momentum Mod on the Chaos Source engine branch. For those that may have missed the previous blog post about it, the Chaos Source engine branch is a CS:GO-based Source project being worked on by the Chaos Initiative team, which Momentum joined upon obtaining the engine license. Having an engine license opens the door for Momentum to be the best game it can be, and the team is very excited at what’s to come! But let’s talk about what we have, starting now, shall we?

Full Range of Map Compatibility

Momentum Mod can now load maps from Counter-Strike: Source, Team Fortress 2, Portal 2, and Counter-Strike: Global Offensive, all in one game. Momentum automatically mounts these four games as players have them installed, but as a reminder, they are not required to play the game!

We will, in the future, update our map selector to show exactly which games would need to be installed to play maps that may use the assets from them. This can help players filter out maps made with assets from games they do not have installed. We will also have some tools to help condense the mounted games into tight VPKs to help reduce the need to have the full game installed, so stay tuned for that!

DirectX 11 Renderer

Resulting from the immense work of SlidyBat on the team, the Chaos engine (and therefore, Momentum) will be moving to a full DirectX 11 rendering backend by 1.0.0. In fact, 0.8.8 even has the initial version of this rendering backend implemented! Playtesters can opt-in with the launch parameter “-shaderapi shaderapidx11”.

DX11 Launch Params

This is going to be a Windows-only feature for now as we work towards getting DXVK working for the engine, which aims to replace the ToGL abstraction layer for Linux. It is also expected to have some bugs to iron out on our way to 1.0.0!

But what does DX11 really mean for the game? Well, for one, Chaos shaders can take advantage of a more up-to-date rendering API, including things like tessellation. Being on Shader Model 5, our shaders have updated limits and can take advantage of more modern features. For reference, the DX9+ToGL implementation in regular Source limits Windows to Shader Model 3, and Linux to Shader Model 2.0b. Working on things like the PBR shader started to become extremely limited, especially when trying to maintain cross-platform compatibility!

DX11 Debugging

Also, it’s no secret that the graphics debugging workflow for DirectX 9 (what every Source 1 game, including CS:GO, runs on) is pretty lackluster. The Chaos team is greatly looking forward to using more powerful graphics debugging tools like Visual Studio’s Graphics debugger (seen above), or RenderDoc to be able to quickly and effectively find bottlenecks or issues in the graphics pipeline! Tools like this have even helped Slidy find bugs in the DX9 renderer while comparing the new renderer to the old one!

On the downside, Momentum Mod might not be able to run on your toaster anymore. In seriousness, while we understand the GPU availability situation nowadays, we will only be requiring players to have a graphics card from the last 12 years (GTX 400 / Radeon HD 5000 series and up) to be able to play. I’d like to reiterate that we understand Momentum is a game about speed, and we will not be going (too) crazy with making the game look incredible, especially not to the significant detriment of performance. High FPS deeply matters to us!

Panorama UI

Source 2 has enjoyed a much better UI system, called Panorama, than Source 1 has had over the years, called VGUI. CS:GO tried to get away from VGUI and even implemented Scaleform, a Flash-based UI system, before moving over to Panorama. With our access to the CS:GO engine, we now have full access to Panorama, and will be re-designing and re-implementing all of our VGUI-designed UI in this new framework. Below are only some of the mockups done by our UX designers TraZox and Isabella:

image

image

image

Panorama is a web-like UI framework that allows us to iterate on our User Interface design, implementation, and functionality much much, much more quickly than VGUI ever had. 0.8.8 ships with the first version of the framework, but lacks the proper design and implementation of the main menu, which is coming in the next (0.9.0) version!

About That Hammer I Owe Ya!

As I talked about in our previous changelog blog post, SCell has worked on a ton of valuable Hammer features, now included by default with Hammer for Momentum Mod, some of which are listed below:

  • All controls no longer look like Win95
  • Removed frame limiter
  • QuickHide state can is saved
  • Camera positions saved with map
  • Scriptable brush creation tools
  • Material proxies support
  • Models scale depending on their "modelscale" keyvalue
  • Multiple cordons
  • Model browser now can show used models, also now has refresh button
  • Entity report now has targetnames
  • Material history saves between sessions
  • QuickHide can be undo/redo'd
  • If autosave directory path is invalid when changing settings, it defaults to hammer/autosaves
  • Autsave now checks all open documents, and is run from another thread
  • 3D view mouse sensitivity slider
  • Angle snapping in entity properties window
  • Custom build window
  • 2D views color customization
  • New mode for sculpt - project paint with image file (png, jpg, bmp, tga)
  • Particle browser
  • Keybind editor
  • Setting to disable alpha inversion for displacements
  • Shaded 3D preview now doesn't flicker
  • Translucent textures in texture browser are drawn transparent
  • Discord integration
  • Light keyvalues now print their value 3D view draws current skybox
  • Scriptable primitive brush via AngelScript

For those with a keen eye, you may have noticed a lot of these features are found in Hammer++ as well! These features were originally part of an open source repository SCell and I were working on, aiming to be a general SDK hammer of sorts, but ever since getting Source engine access, we had to remove that repository. Unfortunate, but understandable!

Though now with full engine access, our Hammer editor and related tools can be expanded to meet the needs of our mappers. We will be exploring increasing the Hammer and game coordinate grid to allow for bigger maps, direct in-engine integration for faster mapping iteration, and potentially improving tools like VRAD to use the GPU! Having just Hammer code is one thing, but having the code that Hammer and the engine both use is absolutely exciting. We can’t wait to deliver a powerful mapping experience for Chaos mappers!

Delaying to Late 2021

I won’t beat around the bush. While we did have a working build at the end of the year, it wasn’t fully compatible and needed a lot of work still. Porting to the new engine, understanding the codebase, and getting to a comfortable 0.8.8 release point took a bit longer than expected.

Thus, we’re deciding to push the 1.0.0 release back to December 2021.

I understand the disappointment that may arise from this, but urge you to keep in mind that the Summer 2021 deadline was before we had confirmed Source engine access. I would also like to remind everyone that this is a project being worked on by volunteers in their free time, and we are still doing our best to provide a clean, powerful launch of Momentum later this year.

I’m going to take this time to roadmap exactly what’s left, and why we’re still absolutely confident in our 2021 release date. Note that this roadmap can be found at our GitHub organization page, including more specific tasks being done.

For 0.8.8 (this release), the team has ported the game to be as close to 0.8.7 as possible on a completely new version of the Source engine. Despite this being a massive update, it’s still functionally equivalent to 0.8.7, and is even fully backwards compatible with it, hence the 0.8.X designation. While it may seem like it was a simple copy-and-paste job, it was anything but, as we had to delve into the engine to compare what CS:GO does compared to branches like Portal 2 and Team Fortress 2 (SDK 2013). That is what took the most time for the past couple of months. But now, as proof by this release, we’re comfortable with the engine and have Momentum running in an acceptable state!

Then comes the immediate next version, 0.9.0. 0.9.X releases can be considered the “taking advantage of Source engine access” updates. We will be implementing (mapper-placed) Portals, the initial Panorama UI, fixing things in our DX11 renderer, and so on. There will be sub-updates as needed, but once we have Panorama being worked on by our UI designers, the coders can move towards 0.10.0. Portals already exist in the codebase, the majority of the work will be the abstraction of the code to be able to be used by both P2:CE and Momentum. We expect these updates to take around a month or so.

0.10.0 is the Zone file refactor, alongside the Zone tooling update. We can parse zones from our Hammer, but the in-game zoning tools will also be expanded to support porting maps that don’t need decompiling. There will be sub-updates as needed here as well, fixing bugs or implementing more Panorama UI (like HUD elements). This update should also take a month.

0.11.0 is the Replay file refactor, along with the update to replay playback tools (and extra things like working with Crashfort on direct SVR integration). Having expanded the scope of Momentum early made refactors like these easier to visualize and tackle, as we know what game modes will potentially require and design the systems to better accommodate them. As the others, we expect this to take a month or two, with sub updates to iron out any problems found in the refactor.

0.12.0 is the Bonus track + IL (Stage) submission and comparisons update. Bonus tracks and ILs just require some site backend tweaking to allow the submission of, and a client leaderboards UI update to support showing them. These updates will let players take advantage of the benefits of running replays locally instead of on a server, allowing basic racing against replays and comparing against any run on the leaderboard. Since the majority of this work is just tweaking already-existing-and-implemented systems, we’re expecting this to take at most a month.

0.13.0 is Localization and polish, mass-testing of the Cosmetic system and Learn sections, and any extra work (cough, Anticheat, cough) needed before 1.0.0. This will take the remaining time before 1.0.0 release.

Sprinkled in these releases as we approach 1.0.0 will be the full implementations of the Conc, Tricksurf, and (potentially) Defrag game modes! Conc requires some game movement abstraction and is expected to land in the 0.9.X updates, Tricksurf requires Panorama for a lot of UI work and will be worked on in the 0.10.X updates, and Defrag is currently being worked on by Lumia, so it all depends on when the work there finishes up. I cannot express how excited I am to give these modes a fun, centralized platform for players!!

Then it’s the public Beta release, v1.0.0! As a public release, anybody can download and play the game through Steam. You have no idea how excited the team is for this release, and we will make sure to celebrate publicly, so stay tuned for more info on that, but it’s a ways away!

We have a ton of post-1.0.0 content planned, including adding and supporting the Parkour, Defrag, and Climb modes, community features like Clans and Dedicated Servers, and more! Since this is a bit further out, currently there’s not much of a detailed roadmap yet.

Then last but not least, 2.0.0 is the full release (Gold), with the Campaign and custom gamemodes, which will have more details in future blog posts.

Developer Q&A Streams

The last two sections have probably left you with a ton of questions! No worries.

We’re proud to announce the start of our monthly Developer Questions and Answers streams over at our Momentum Mod Twitch channel!

The first one is going to be taking place Saturday, April 17th at 7 PM EST, where the team will be answering questions asked in our #qna-live channel in the Momentum Mod Discord server! So make sure to join the Discord server and ask your burning questions!

We will be announcing the streams on our Twitter and in the Discord. The VODs of the QnA sessions will also be uploaded publicly to YouTube, with timestamps for people to quickly find answers to questions they may have, and for those that may miss the stream.

Donations

We have had many people show interest in financially supporting the team on our endeavors for creating the game. The problem with being a Source Engine-based game has always been the inherent fees, totalling over $35,000 to properly be able to monetize the game. Money in general also tends to complicate things. I’ve run this project on the idea of making a fun platform; I really want to play a game like this (Momentum). Momentum Mod is just a hobby, passion-driven project, so selling the game or having microtransactions just starts to muddy the waters, so to speak.

None of that has changed. With our license, the game still has to be 100% free, and will forever be. However, we have opened up the opportunity for those looking to give at-will donations to support us. The idea being that money can go into a pooled account, with the exact amounts publicly visible, and our receipts trackable to the first dollar spent. Luckily, there’s a platform that believes in this, called OpenCollective.

Thus, I’m happy to announce that those who wish to support us financially may do so through our OpenCollective webpage!

https://opencollective.com/momentum-mod

I will copy the disclaimer from the description here:

  1. Momentum Mod the game and its related services are, and will always be, 100% free.
  2. Every contribution is appreciated but not required.
  3. A contribution through OpenCollective does not grant any material effect, it is purely an at-will donation to the team. In other words:
    1. DONATIONS DO NOT AND WILL NOT EVER GIVE KEYS TO THE GAME!
    2. Donations do not and will not give any in-game advantages, effects, or statuses.
    3. Donations should be viewed as purely supporting the Momentum Mod Team in their endeavors to create and maintain the game and its platform.

Donations will only be used to fund:

  1. The operating costs of Momentum Mod's servers and services, e.g. AWS storage costs, Website hosting, and so on.
  2. Licensing costs for professional software to develop the game, e.g. Substance Designer and related software suites.
  3. Costs related to hardware upgrades to improve the development of the game and/or its services, e.g. new computer parts.
  4. Marketing the game for its 1.0.0 release.

Forums

We understand that the Momentum Discord server hasn’t been the best at doing self-contained, organized discussions. Oftentimes, discussions about things that have already happened would crop back up, leading to pointless repetition. Therefore, we’re also proud to announce that we have a dedicated Forums site!

You can find them over at forum.momentum-mod.org!

Please note that we are still using our Discord server heavily, and it is the best place to stay up to date with the game! The forums are more for larger and/or more-permanent discussions, but will also be used for things like showcasing maps, asking questions, and more!

Branding Update

TraZox and Bonjorno have been hard at work creating a new 3D background for the game's branding. This new background should better represent the game modes and lively energy the game has!

White Background
Dark Background

Full Changelog

Added

  • Trigger_softbarrier (inherent with Chaos engine) (175)
  • Conc grenades added to func_nogrenades logic (1229)
  • Ability to fizzle handheld concs (via mouse2) (1198)
  • Momentum Hammer changes:
    • All controls no longer look like Win95
    • Removed frame limiter
    • QuickHide state can is saved
    • Camera positions saved with map
    • Scriptable brush creation tools
    • Material proxies support
    • Models scale depending on their "modelscale" keyvalue
    • Multiple cordons
    • Model browser now can show used models, also now has refresh button
    • Entity report now has targetnames
    • Material history saves between sessions
    • QuickHide can be undo/redo'd
    • If autosave directory path is invalid when changing settings, it defaults to hammer/autosaves
    • Autsave now checks all open documents, and is run from another thread
    • 3D view mouse sensitivity slider
    • Angle snapping in entity properties window
    • Custom build window
    • 2D views color customization
    • New mode for sculpt - project paint with image file (png, jpg, bmp, tga)
    • Particle browser
    • Keybind editor
    • Setting to disable alpha inversion for displacements
    • Shaded 3D preview now doesn't flicker
    • Translucent textures in texture browser are drawn transparent
    • Discord integration
    • Light keyvalues now print their value 3D view draws current skybox
    • Scriptable primitive brush via AngelScript
    • And a ton more!

Fixed

  • Fixed mom_eyetele putting the player in a wall (1208)
  • Fixed cursor not being hidden while spinning main menu model (989)
  • Fixed shader overriding failing when another game’s bin folder is in PATH (832)
  • Fixed some teleport triggers slowing down noclip/practice mode speed (1195)
  • Fixed getting a warning when correctly using a push trigger with “set velocity” mode
  • Fix conc timer sounds not stopping on fizzle
  • Fix main menu from being hidden when spamming escape key on level load (1224)
  • Fix noclip slowdown when passing through teleports with “reset velocity” flag (1195)
  • Prevented crash when drawing clip brushes on maps with exactly 1 brush entity (1266)
  • Fixed paint decals overwriting most recent decal when at limit (243)
  • Better console logging from CSGO, solving console output not being formatted consistently (949)
  • Fixed concs giving knockback in noclip (1231)

Improved

  • Color cvars now use RGBA
    • cl_crosshair_color
    • mom_ghost_color
    • mom_hud_damageindicator_color
    • mom_paint_color
    • mom_trail_color
    • mom_teledests_color
    • mom_zone_checkpoint_draw_color
    • mom_zone_end_draw_color
    • mom_zone_stage_draw_color
    • mom_zone_start_draw_color
  • Improved conc delay timings (1196)
  • Dynamically change point_spotlight brightness instead of being hardcoded to 64 (“brightness” & “setbrightness”) (1211)
  • Improvements to precaching from CSGO, perhaps solving first stickybomb shot delay (952)


I want to thank you all for your understanding as we work towards the public release. We may have had some hiccups in the flow, but our Momentum has stayed strong and we’re full Steam ahead! ;)

As always, please consider wishlisting us on Steam, joining our Discord server, and spreading the word of the game!

Until 0.9.0,
Nick (Gocnak) K.
Momentum Mod Project Lead