I wish to be as transparent as possible and to update the fans of GRITS Racing on the status of the game at least once a month during slow development periods.
The good news is that discounted early-access sales continue to trickle in. Fans also continue to trickle in on the Steam community and on wishlisting the game. The bad news is, as mentioned in the news post for the last version update, my savings has finally run dry and I must pause to look for other work. Thus, between working on a small contract, looking for work, and maintaining my patches for old Sierra games, I haven't had much time left for GRITS Racing these last few weeks. I usually don't give the game patches priority over GRITS Racing -- so don't worry about my priorities there -- many of the fixes that I could add to that collection have been on hold since I started full-time work on GRITS Racing in August 2017 and will remain on hold.
Once I get my finances above water again, work on GRITS Racing will resume to whatever degree I can manage. We're at only version 0.2.x and there is still a ton of work planned before we get to version 1.0 (not to mention features already on the version 2.0 wish list, as well as features for spinoff games). The British figure-8 track is still planned for the next update. After that, I will probably alternate between more mini Grand Prix tracks (Italy, Japan, France, GB, Belgium, Netherlands, and one unknown, perhaps Monaco) and more Wacky Wodifiers. Then, hard to say of the many things left after that.
If you haven't tried the updates yet that came in April and May, give the latest version a try. The A.I. cars, banking (not visible in the art yet), smoke and dust add quite a bit to the game over versions 0.1.x. The game is struggling to find its audience, partly, I figure, because I haven't discovered how to break through the noise yet. Also, party games on PCs aren't much of a seller, regardless. Then again, maybe it's best the game hasn't gotten any coverage from influencers yet because there is still so much more to do before it's in a good position to make a good first impression with most players.
I'm also starting to look at the Xbox One in addition to the originally-targeted Switch and secondary Atari VCS. Maybe GRITS Racing should be added to this Xbox One List of games with 8 player local support (a list which is surely out of date now).
Thank you to all of our fans! π You make the absurd risk of building this equally-absurd game worth it.
Matt Jernigan
Version 0.2.5 Released
βNew features:
10 laps added as an option (retail version)
Tabletop Mode now rotates the Wacky Wodifiers menu 4 ways instead of just the 2 long edges
In other news, expect updates to come slower because the early-access release isn't selling well enough for any of us to remain full time on this project. This game is begging for a console release but it's not clear how to get it there at the moment. Meanwhile, please stay tuned for more tracks or whatever else comes next.
Version 0.2.4 Released
New features:
Tabletop Mode! Added by request. Find it under Game Options. This doesn't change any gameplay or mechanics (currently) but allows players during punch-in to set what side of the table they are viewing from, and it changes the controller accordingly. Meant for venues with tabletop computers, those few individuals with tabletop computers, and those other people crazy enough to lay their TVs on their backs on the coffee table... or to hang projectors from the ceiling pointed at the floor.
The Controller Setup menu now saves changes to disk.
Fixes:
Some pause menu funkiness with multiple players has been eliminated.
Controllers not associated with a punched-in player are now completely disabled during a game.
Version 0.2.3 Released
β New features:
Smoke and dust emitters added to the wheels.
Increased the spark emitters for 60% more sparks.
Yesterday I decided that I could probably finish up the smoke and dust effects by the end of the day. And, so I did. I had started work on them nearly a year ago but then they got shelved for whatever reason. Not sure why it took me so long to come back around to it. Maybe I wanted to build the other heavy performance stuff before committing to this many emitters. Yesterday, I had planned to include them with another update in the queue but decided today this update was too fun to wait another couple days.
Version 0.2.2 Released
βNew features:
AI cars can now pitstop when needing repairs. Not all AI personalities will choose to do so, however. I can't say they're terribly smart about it yet... and it can be a bit humorous to watch them trying to figure it out with the wheels they have left.
Given that racing against just the AI seems to get most interesting after 15 laps, I'm considering opening up the longer race options on the demo version. I haven't done so yet. Just considering it.
Version 0.2.1 Released
New features:
AI drivers added to the Bubba Prizes and Championship Rankings when playing with less than 3 players.
AI drivers can now brake for hairpin turns (can't say they're good at hairpins yet... but at least they aren't hopeless on the Finger Lakes GP track now).
In other news, I believe I'll use the recently-demolished Wimbledon Stadium in London as the model for the final oval track (in figure-8 mode, of course) before moving on to the remaining 7 GP tracks.
A.I. Cars Unleashed!
Welcome to GRITS Racing version 0.2.0! The long-awaited AI has finally been added to our early-access game. This is just the first round of the AI and, thus, it is not complete yet. The 5 personalities I built for the 4 cars (one of the personalities changes depending on number of players) are behaving more or less as I had hoped. You can expect more personality tweaking to come but, primarily, what is missing from the AI agents are pit stops and braking, to make them more competitive and/or interesting.
The AI agents know how to find the pit lane, when they choose to (which is rare at the moment), but they don't yet know when or how to make a pit stop. The AI agents only get one car apiece, and that probably won't change. Also, originally, I hadn't planned to program pit stops into the AI either (not intentional pit stops anyhow) -- they were originally specced to be more of the environment than the race -- but testing as a single player has shown that at least some of the AI agents should go for a pit stop when they need to -- particularly with a small number of players. Otherwise, it is too easy to knock them out of the race to kill the competition... which is boring when playing alone, and maybe in two-player mode as well.
The AI currently knows how to let off the gas when over-committed to a turn... but this is not enough. They really need to also know which turns to slow down for ahead of time, and by how much. Thus, they are currently pretty stupid about turn 5 on the Finger Lakes grand prix track and will quickly destroy themselves on this track.
Enough of what's missing, what about what is included in this update? Much like how I went overly crazy with the physics in the game, I did a similar thing with the AI. I've mentioned before that I didn't want just another racing game with AI cars chasing a bunch of waypoints around the track. And, so, I didn't do that. I do have a few waypoints on each track because I need three or four just to keep the agents pointed in the right direction around the track. After that, however, it's up to the AI agent to decide how best to get from one point to another, or how to best recover from a wreck. To allow for this, I create a navigation mesh for each track with different navigation areas of different cost within that mesh. Then, I use A* pathfinding for long-distance navigation decisions and context steering for local navigation decisions. This gives the agents a lot of freedom to express their personalities, but also comes with a lot of settings to tweak and it could take a while to dial it all in.
The current AI personalities are these:
Claude: a.k.a. "Speed Racer" against 1 player, medium "Speed Racer" against 2 players, and "Traffic Ma'am" against 3+
Bob: a.k.a. "Student Driver"
Rob: a.k.a. "Wrong Way Ray" occasionally gets turned around
Maud: a.k.a. "Heat Seeker" tries her best to follow the race leader without hitting the race leader (which is not always possible)
This update also brings a banked-turn feature. Don't expect perfectly-calculated 3D banking, however. I do a lot of faking when it comes to the third dimension in this 2D game to save on processing where it would not be terribly significant. I do calculate speed-relative downforce increases on the individual wheels in a bank ("Isn't that enough?"), but banks are also mostly non-directional (that is, don't expect to roll downhill when sitting idle on a bank). The banking feature was needed now versus later because it affects setting up the AI agents. Currently, there is no visible indication of which turns are banked and by how much. We'll get there.
The major turns in the tri-oval are heavily banked and the finish-line turn is medium banked. You can now drop the hammer in the tri-oval. Yay!!! Makes for a better novice-level entry track as well.
The red-clay oval has no banking. (The real track it is based on is banked at only 4.3 degrees and is banked evenly throughout the track.)
The yellow-clay oval has light banking in the turns.
Turns 2 and 5 on the grand prix track are lightly banked. (I perhaps cheated a bit on turn 5 versus the real track.)
I had also planned to not include the AI agents much in the UI stuff but I feel I should change that soon. This includes things like AI lap counters (not sure where to fit those in yet) and including the AI in Bubba Prizes and the championship standings with only one or two players. Hopefully, these things will come shortly. Then, it's on to finally implementing name entry and high-score storage. Then, back to track making, I hope.
Love 'em or hate 'em, let us know what you think of the AI personalities. It's all trial-and-error at this early stage.
So, where is the A.I.?
Anyone who has read the how-to-play notes, and played GRITS Racing for more than a few minutes, hopefully understands that this game is not just another top-down, shared-screen racing game with canned mechanics.
It's not easy finding depth in shared-screen multiplayer games. There are easily more than 100 top-down racing games that came before GRITS Racing. Many of them also shared-screen. Thus, the basic design for GRITS Racing started with an intent to search for depth in places not yet seen in shared-screen racers. As a result, we don't use any canned mechanics found in many shovelware racing games (other than a lap counter and clock to trigger the win condition).
Yes, we use a game engine to handle the graphics and platform porting. We also use a physics engine, audio engine, and gamepad package, to handle other high- and low-level things we don't need to reinvent. This gives us the maximum amount of time to focus on building original mechanics for things like how the car moves and handles, and how to interact with the environment. I chose 2D instead of 3D because in 2D I can put about 4 times the number of physics objects on screen at the same processing impact. This added depth of physics interactions outweighed anything 3D might have given us -- particularly at such small scale. I basically traded vehicle rollovers for more track objects and debris. Furthermore, if I really don't need that many more physics objects, I can divert some of that power to other things such as a wider range of game modifiers, special effects, and more interesting AI.
So, that is where the AI is at. The original plans for the AI calls for AI cars that do more than just chase waypoints around the track like most racing games do. And I'm not talking about building more strategic AIs either. The more advanced racing games have that already... and, well, advanced racing strategies is not what GRITS Racing is about. No, the original game design called for AIs with 4 to 6 different personalities -- and not necessarily racing personalities either. That will take some significant time to build.
Thus, we made the decision to release GRITS Racing before the AI was built. That has proven to be a mistake because the lack of AI is not making a good first impression when players test the game alone. Thus, this "racing" game is now in a Catch-22 position. Do I release an update sooner with simple AI? Or, do I wait until the AI itself can make a good first impression when the AI features are finally announced and released? It seems I should maybe go the simple AI route but the problem there is that it will create false expectations and maybe even upset a few when the AI behavior changes completely. I will likely look for some middle ground as I dig into the AI capabilities more, and start with semi-interesting AIs that I then improve as we push towards the full release. We'll see where it goes.
No promises on specific AI features yet. The interesting AI hopes may prove to be a dud in testing.
Early Access Finally Released on Steam
After much ado β that is, after weeks of battling off the crazed, fried-grits-eating hordes trying to climb over the barbed wire around our highly-secure #gamedev complex, trying to get their hands on an alpha version of our game β after months of 3 a.m. pushes to get just one more feature completed β after years of living small in an apartment not much bigger than a refrigerator box β GRITS Racing is finally seeing an early-access launch at an early-access price.
To be clear about the current state and future of GRITS Racing:
The current alpha version is very solid on the core game mechanics. It is light, however, on content, animation, sound FX, and other polish. Namely, only 4 of the planned 24 tracks are built thus far (fan art will be considered to help this along β contact us for details). It is also light on single-player features at the moment. Namely, the AI cars and the leaderboards are lacking on that front.
The plan is to build GRITS Racing into a solid, medium-sized indie game worth about twice the current price, and to launch on consoles as well. How quickly any of that happens will depend on interest in the game from the fans. If Matt can continue working full time on the game... he will. (Same as he has been for the last year and a half.) Ideally, version 1.0 might be ready for launch in 12 months or less. More likely, however, Matt will need to halt progress here and there to find other income, and this, of course, will slow progress. Thus, we shall see, and will continue to hope for the best progress on GRITS Racing.
Also of note is that Steam is proving hard to work with when it comes to games supporting more than four gamepads on Windows (Mac is fine and Windows without Steam running is fine). Thus, it will likely take time to work out the ideal controller code for Steam and Windows. They have yet to answer our questions as to why they don't allow the developers full control of their Windows controller shims and what the best practice might be to for asking users to turn them off. How is it that they believe they know how to manage the controllers better than the game's developers β especially when their method is limited to four controllers? We're dumbfounded. Anyhow, see the readme for information on how to make sure the shims are off and you should be good for up to 8 players on Windows.
Thank you for reading about our ambitious launch. Now, if you will, grab some friends and frenemies, a fistful of gamepads, and take GRITS Racing for a spin (either the free demo or the early-access version).
Demo v0.1.6 released
The new version of the demo doesn't bring any new features, just some fixes.
Fixes:
Updated Rewired package from 1.1.22.2 to 1.1.24.0 to fix the gamepad hotplugging issues.
Minor tweaks to the gamepad keyboard mappings.
Better behavior with screens and windows that aren't 16:9.