Hello objects with mass and velocity!
… *cough* ...
You're all long overdue for an update from the team, and I bet you all thought we were dead (again!) Rest assured, even though it's been 8 (EIGHT!) months since our last update, we are not dead!
We’ve made some large changes to the workflow for developing the mod. Thanks to Gocnak’s personal sacrifice of blood, sweat, tears, and $100, the mod is now officially on Steam Direct (but not released yet, read below)! There’s no voting process to get the game released on Steam, but it does bring an exciting turn for the game’s development.
What Steam Direct Means for Your Momentum Mod
“Am I gonna have to pay? So is it going to be Early Access? When does it come out? Will the game stay Open Source? How can people contribute? Am I real? How can mirrors be real if our eyes aren’t real?”
These are all very good questions.
Price
First and foremost: the game is going to be Free. Period. In fact, it HAS to be free. Valve requires developers that wish to sell Source Engine games to pay a hefty fine upfront for the premium 2004 Havok™ Physics Engine™™, which can be upwards of $35,000™. We don’t have that kind of money, nor do we even want to bother raising it, mostly because Valve hasn’t been very keen on licensing Source 1 out to developers, unless you possibly have a major publisher behind you (looking at you, Respawn). It makes sense, since they have been working on Source 2* anyways, which aims to be a competitor to the other engines available.
* If, and only if Source 2 comes out, we will look into porting Momentum to it. (Source 2 has been “coming soon” for the last 3 years. Sure, Dota 2 has it, but the engine itself isn’t released yet for developers. We’d actually be dead if we were holding our breath for it, so we’re just going full Steam ahead with Source 1, for now.)
Early Access/Release Date
On the subject of Early Access: the answer is Yes, it will be out on Steam on Early Access, but only when Alpha is ready. Early Access on Steam has left a bad taste in a lot of people’s mouths, and we don’t want to put Momentum out when it clearly isn’t ready yet for the public to consume. As of writing this, we still have the map selector and leaderboards to finish. And these things, they take time. Once we have a rough implementation for both, we’ll begin to push out the game through Steam. We want anybody, regardless of CS:S ownership or not, to be able to download the game, play maps, submit times, and see all the extra features we have. Once we get to that state, it’ll be ready for “release” through Early Access on Steam.
Open Source/Contributing
As it was from the beginning, we’re taking any and all help we can get on the game. However, this doesn’t mean we’ll allow anybody to just join and say they’re a part of the team, when they do very little work. We’re going to need a bit more of a vetting process, which is defined below:
Programming
We have plenty of programmers, but if you know C++ and want to help out, I would suggest forking the SDK 2013, getting a mod running, and make some modifications to show us. Getting used to the workflow is very key, since Momentum uses it. If you need pointers, follow the Valve Dev Wiki. Once that is figured out, and you have the hang of it, send us a link.
The main part of Steamworks means you need Momentum “redeemed” on your account, even to help test the development work you’ve done, since we’re no longer just a source mod. We can generate Steam keys for this purpose, but we need to make sure they’re for the right reason.
Keep in mind that this is just for joining and contributing to the team directly, in the sense of long-term coding investment. If you wish to add a simple feature, you can clone the repository, add your feature, and submit a pull request for us to review.
Art / Level Design
We’re in heavy need for artists! While we don’t have a general art direction for the game, the more people we can get suggesting an art direction for the player model, the weapons, the levels for the campaign, the better! If you want to contribute, just contact us with a link to your portfolio. Don’t worry about how high quality your work is, as long as you’ve done something, just show us! We’ll need 2D artists for logos/UI assets/concept art, and 3D artists for models/texturing/mapping. If any of this sounds exciting for you, don’t hesitate to reach out!
Playtesting
Playtesting is probably the most popular thing that people request. With the Steam workflow, we can now generate keys to give to testers, so that they may redeem the game on their Steam account, and receive updates from us directly. Though we want to clarify: Playtesting means actually testing and giving feedback. We aren’t giving out keys for people to play ~5 minutes of the game and never touching it again, until a new update. Thus, if you want to playtest, your best chance is to join the Momentum Mod Discord, and wait until more playtesters are needed.
What Steam Direct Means for Our Momentum Mod
As described earlier, the process of moving Momentum to Steam Direct has also helped our development as well.
Ease of Use
The main appeal of releasing on Steam is the ease of use for both ourselves and our players. When the game is finally public, playing the game becomes a simple click to install. How it works under the hood is pretty cool:
Depots
As with any game that goes through Steam Direct, Momentum now has its own dedicated AppID. With this AppID comes the ability to make up to 10 depots for the game, which is very, very convenient. A depot can be OS dependent, meaning certain OSes get certain files. An example would be Linux only getting the base game content, along with the engine to run it, while Windows users can get all of the above, plus the tools that were only compiled for Windows (Hammer, Faceposer, etc). This makes the Linux download smaller than the Windows one.
Updates
Updates are sent through changes in depots, meaning any update to the game is now sent automatically through Steam, meaning no more complete redownloads of the mod in order to update!
One Game to Worry About
You can also get rid of your SDK 2013 install (unless you need it for another project or something), since Momentum uses the binaries that we pack into the depots, meaning no reliance on that clunky 4GB install anymore!
Juicy APIs
Firstly, with the process of incorporating Steam into the workflow, we’ve seen the included Steamworks API, already in the Source Engine, be used to its fullest potential. A previous example was using the included Steamworks API to mount CS:S automatically. But with the partner Steamworks API, and our own AppID, there’s now a couple more endpoints we’re gleaming at the eyes about:
Steam’s Matchmaking and Networking API
One endpoint of the Steamworks API is their Matchmaking system, which introduces Lobbies. Lobbies have been very appealing to us, and were the main reason we wanted to be on Steam so badly.
While Momentum is primarily a single player mod, we wanted to support the ability to invite, talk to, spectate and race your friends, all without having to host a server. Steam’s Lobby and Peer-to-Peer networking system handles all of this for us. Currently, players can host lobbies at a whim, invite any friend they want, play on any map they want with (or without) their friends, be able to spectate them if they’re on the same map, and chat across different maps. And here’s a picture of it in action:
Steam’s Dedicated Servers
While Lobbies are nice, we haven’t forgotten about servers either! Lobbies will be more for “you and your friends and maybe theirs too,” while servers will aim to recreate the experiences found in CS:S currently, like map rotations, custom models, and chat spam for every WR. Steam allows us to create a dedicated server tool, and using the Steam API, writing a server browser becomes even easier. Servers are definitely slated for our To-Do list, but won’t fully be implemented until after Alpha launches.
Steam’s Authentication API
Another endpoint that was only available with a Steamworks Partner account was Authentication. Steam provides a myriad of Authentication API endpoints that will prove to be extremely helpful for when we need to prove who you are, when communicating with our servers. These will be used when submitting times, downloading maps, and so on, later down the road.
Store Page
As with any game on Steam, we’ll be getting a store page! We still need to design it, and get proper screenshots (and a trailer) before we can publish it, but it should be exciting to see Momentum’s official page when we’re ready to launch!
So, what now?
“This is cool and all, but what does it all mean?”
What this all boils down to is: Momentum will no longer receive any public releases that can be downloaded through GitHub. The next public release will be the public Alpha, released on Steam, when it’s ready.*
* Unless you playtest, in which case, you’ll be testing our features in between 0.6.2 and 1.0.0. But again, not everybody needs to playtest, and we would much rather have people playing a much more complete game than Momentum currently is.
While this jump from 0.6.2 to 1.0.0 would be jarring for most, this doesn’t imply the game isn’t being worked on. You can follow development progress through this blog (we promise no more 8 month breaks™), our twitter, and our Discord server. Gocnak sometimes streams development progress on his stream. We’ll continue to update this blog with major features as they’re hot off the press, to show our progress we’re making towards Alpha.
That’s all for now! So until next time,
Momentum Mod Team