Lots of people have been asking what I’ve been up to recently. The answer to that is gKarts, in this thread I’ll cover what gKarts is all about.
What is gKarts?
gKarts (or garryKarts), is planned to be a karting gamemode (not specific to racing) that aims to create a fun, re-playable and unique experience to s&box.
We plan to release with a matchmaking system that distributes our players across our automatically provisioned servers (aiming for ~8 players per racing session). Every race will be hosted on our custom solution to the Source dedicated server called gRust (I’ll talk about this later), which will be responsible for managing the networking of our custom vehicle system, player customisation, and other gameplay aspects.
What are the main features of the gamemode?
Currently our most notable planned features are:
- Custom Vehicle System - Breaking the barrier of dreadful input lag when driving regular source engine vehicles. We plan to handle all vehicle movement and physics on the client (verified by the server, of course). This also allows us to support controllers/steering wheels in the future if it’s possible to get inputs from them in s&box.
- VR Support - We plan to make the gamemode support both VR and without, so you’ll be able to use your hands to steer your kart as if it was in real life!
- Auto-Scaling - The gamemode is built from the ground up with scalability in mind, with the use of our central API, server coordinator and gRust, we can create servers on the fly with minimal queuing time.
- Online Leaderboards - The gamemode will produce leaderboards accessible online via our website where you can see what position and lap times you came in per session, plus a global all-time leaderboard.
- Community Maps - We want to involve the community in the development of the gamemode. We plan to build a tool you can use in your local game to make track data for workshop/your own maps. These will be added to the map pool (after moderator approval).
- No P2W - We’re doing this project for fun, and we only want more fun to come out of it. The most we’re ever likely to charge for is kart/playermodel customisations to help pay off infrastructure costs.
What is gRust?
gRust is a lightweight server that we’re currently developing to “emulate” the Source dedicated server protocol. The plan is to only implement the basic needs of the game, which will greatly cut down on CPU and RAM usage. It will also significantly cut down networking lag, but most importantly server hosting costs. In early tests we were using only 15 megabytes of RAM per user (obviously, this is very subject to change).
What’s the plan for s&box?
Our gamemode was a project designed to break the limits of Garry’s Mod with the leverage from modern technologies such as Rust (the programming language), Kubernetes and newer software architectural patterns. With this in mind, we see it as the perfect benchmark for what s&box can do, so as soon as one of us gets access we’ll get straight to work.
There’s also some s&box related things we’ve already started working on, such as the ORM that will communicate with our data storage service.
Who is working on gKarts?
Our current team is as follows:
- Me (@Tom.bat) - Main game-play developer (vehicle simulation, UI code, game design).
- @nosharp - Main infrastructure developer (gRust, server coordinator).
- @sammilt - Sysadmin, UI designer and website developer.
Want to help out?
We’re looking for modellers and mappers to help with the gamemode, contact us via Discord through the link below if you’re interested! You’ll be credited for all work you complete.
- @God - Porting the Kart into Source 2.
I’ve added this section as a bit of a “portfolio” of work that proves we’re actually actively working on this project, seeing as my posts further down this page are easily missed.
Screenshots & Videos:
Early UI design (subject to change)
Testing map ported to Source 2
Kart ported to Source 2
Karts with tinted body colours in the testing map
Early vehicle system prototype (pre s&box) gKarts First Vehicle Movement Prototype - YouTube
Notable blog posts (see more on our website):