I flattened the terrain “walls” that prevented players from driving off the edge of the world, but I never liked the look of it. I think a better design is shutting the car off when the player drives outside the test area (with a fence around the perimeter maybe). I imported a free skybox asset and I am happy with the results. Technically, this does not count against my feature freeze as one of my cards is “TestTown Improvements,” so I can throw this work in that bin.

To Feature Freeze Or Not To Feature Freeze

I’m giving myself a hard deadline of the end of the year to release this game. It’s going out in whatever state it’s in so I can move on to the next project. I can’t stop thinking of new things I want to implement, which, naturally, increases the difficulty of finishing this thing exponentially. Most software companies deal with this by implementing a product-wide feature freeze which means nothing new gets added until everything they’ve already committed to doing is tested and ready for public consumption… but I just had a really good idea that I think is important enough to include! Occupants! Self-driving cars are pretty useless if they don’t drive people around, so, I want to take the ragdolls and stick them in the car by attaching their hands and feet to the steering wheels with some basic collision detection to determine if the occupants were harmed. This also helps with the scoring system as some companies will value their occupants more than others ;).

The other idea I had was using some sort of soft body/destrictible mesh for the cars and the props in TestTown because I think people will have a lot of fun knocking stuff down and it’s a good way to determine the amount of property damage the player has incurred. However, this could take a long time to implement if I can’t find an existing system that does a good enough job.

I’m going to add these two features to the board and stop there. Honestly, if I can ship this game with just the prototypes of these features I’ll be happy. Thanks for reading!

New Cars For CarCoder

From left to right: Fuber, NoMo, and Teslow

I had to model the LiDAR unit on the Fuber (blue volvo-ish) car. The NoMo car looks a bit small and thin here, so I might change it, but the problem so far has been the Teslow car. It’s too blocky, and I haven’t found a good substitute that isn’t published under an editorial license. I’m going to try importing the prefab’s model into Blender and using a subdividing modifier on the larger meshes, starting with the wheels to see if I can increase the level of detail.

Also, something I didn’t showcase in my last post was that I changed the game’s title scene to this absurdity:

Not sure if this will end up in the final cut as it is 😉

Losing Steam

Motivation sucks. For every bit of it that I get, there seems to be an equal and opposite amount of apathy. Despite that, I guess it still technically produces something positive because during the manic depressive high I get a few things done. I had been contributing to my project at least an hour every business day and then taking the weekends off, but the last two days I just played video games instead of the hour I should have spent working on CarCoder. I guess that’s not bad considering I did work for a few weeks like that. I want to share some screenshots of everything that I did to see if that helps me, and also talk a bit about why I don’t want to work on the project anymore.

New Features

1. You can no longer make the car fall off the edge of the world:

New terrain surrounding TestTown

2. Trees!


3. Intersections with “working” lights!

At the moment, you can only turn all the lights on or off (working on a day/night cycle)

4. Improved resolution of TestTown’s town square backdrop and added more props:

Used an AI upscaler to make the backdrop a higher resolution

5. Improved look of the “auxiliary” TestTown buildings:

The circled building is where the coder will physically be.

6. Added a four-way intersection with stop signs:

Are regular stop signs double-sided? Hmm.. might need to look into that.

7. CCTV camera models:

New models for street-cams

8. CCTV shaders:

Needs more scan lines! (also the camera name should be here but it’s not)

9. You can adjust the time of each instruction as well as remove them:

You can use the slider to adjust the time each instruction runs, or remove instructions using the red x. Needs some polish but works!

Things that are broke now that were not before

No more car sounds.. after adding additional cars for the car selection scene (more on this in a moment) my car controller would do very odd things like cause the wheels to just float away and other oddities that I just took out the sounds and animations to get the new cars working.

New bugs

Reordering an instruction can break the new adjustment UI changes (I think)

The biggest change I have made so far is the car selection scene, or what I’m calling the job selection scene. I had this idea that the player could choose who they wanted to work for since there are several companies, and that would give them a different car with different capabilities/specifications (speed, handling, etc) and a completely different scoring mechanism depending on that companies safety rating. So, while one car manufacturer might value safety above everything else, another might value the speed at which you completed objectives above everything else. I set out to create a new scene that appears after you select a level, and here’s how it looks so far:

Yuck, right?

You can see the new cars, sure, and it all works, but let’s just admit that it needs a lot of polish, to say the least. The new scoring system complicates things as well, but I felt it was necessary to make the game more interesting and give it some replayability. It didn’t seem like much fun without the chance to get things wrong, and this way, less, um, cautious players can progress but still be challenged. This has also meant tasks of tedium like searching the internet for appropriate yet affordable 3D models, and then getting those models to work (and look) correctly. My goal now is to make all the levels I possibly can and get everything working. Then, a feature freeze to get it polished up for the release.

CarCoder Update

Who needs active ragdolls?

Here’s what I’ve managed to do so far:

  • Vastly improved lighting
  • CCTV cameras have a CRT-like shader and actual models
  • Added traffic lights to intersections (one is a 4 way stop)
  • Added lighting manager to toggle lights on/off
  • Added power slider for instructions
  • Can finally delete instructions
  • Added new ragdoll “pedestrian” models
  • More props in the town square
  • Added some trees

There is still plenty to do, but the main area of work will be the levels/stages as they’ll need a lot of work now.

Another idea I had is that you take jobs from contractors who have their own car you have to use. Each contractor also has its own criteria for scoring, so while one may put safety first, another might only care about the time it takes for you to get from point a to b.

The Follow Through

I made some progress with Cannons, but I decided to pivot back to working on CarCoder until it’s ready to be released on Steam. I’m not expecting some crazy success, but I feel like it would be fun to try. I believe the game has a lot of potential, but in its current state, I don’t think anyone will buy it. My guess is the work needed to polish up this game will take more time than its original development. Here’s my punch list so far:

Game Improvements

  • Use a better car model
  • Improve sounds
  • Make cameras more realistic and add nice transitions (CRT shader?)
  • Add dialogs
  • Fix lighting and terrain textures
  • Make streets and intersections more realistic
  • Improve UI (add a way to delete single instructions)
  • Improve the pedestrians
  • Add more levels (games like angry birds have over 700, IIRC I have around 14)
  • Optimizations and beta tests

Other Work That Isn’t Game Development

  • Add SSL to this website
  • Check on any legal issues from the assets in the game
  • Apply for Steam dev license/agreement
  • Marketing!

Thanks for reading!


Progress 1

I’ve been making an effort to post all my projects to GitHub because in the past I’ve lost a lot of work not making backups. I very much regret that I no longer have the code for:

  • A Quake 2 mod where you fight other players using the Q2 AI characters (similar to TABS)
  • The custom maps for the Q2 mod
  • A series of interactive 3D ASCII art I was making for an “installation”
  • A helicopter game I made when I was 14
  • A top-down military game like Rescue Raiders
  • A 3D wireframe game engine
  • Several raycasting engines
  • Anyway, you get the point!

Among those games, is one I started at least ten years ago that I called Cannons. It’s a mashup of Minecraft and an old DOS game called Scorched Earth (30 years old this year btw). I’m not sure, but I always liked the concept and it seemed like fun to make, so I started remaking it last night using the latest version of ThreeJS. So far, I haven’t used any of the old code but I’m hoping to somehow. The new version also uses NPM but I’m shying away from things like React for performance sake. Anyway, you can expect the next few posts here to be updates about this project. I want to add voxel-based physics to the game, but I still need to add terrain chunks and other “basic” Minecrafty biome mechanics. At the moment, it’s just one giant mesh with a single layer of blocks, and the tank is just suspended in the air at an arbitrary point to make it look like it’s on the ground. Later!