Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

DuckCowDrive (Prototype for Wheel Steal)

A topic by Patrick W. Crawford created Mar 16, 2021 Views: 1,485 Replies: 7
Viewing posts 1 to 7
(12 edits) (+1)

NOTE: Thread has been archived, ongoing progress posted here instead.

We have marked this game as “finished” because the prototype has been released (Sept 2021). However, actual work on Wheel Steal will be a much longer and upcoming endeavor.

DuckCowDrive [name pending something more fitting] is a “floor-it!”, never ending highway roaming game where you hijack to jump between vehicles at high speeds, as you explore a graphic, whimsical world. It aims to focus on the fun of driving and world exploration, and less on conventional racing games. It’s about discovering (not unlocking) new cars, and uncovering (not selecting) new scenes and landmarks. A unique story and a corresponding world building will weave together a variety of game mechanics and modes that seamlessly blend on top of the solid foundation: driving in a beautifully generated world of highways and boulevards.

Test the free prototype.

early screenshot of roundabout Early screenshot from a test demo

The grand ideas set forth above are a ways out, so I will be starting this dev log with the incremental stepping stones to get there. DuckCowDrive is mostly a placeholder name, which may result in a subset of intermediate subtitled games I release as I explore different concepts and share my experience (and possibly code) with the community.

I am intimately familiar with both programming (ye old dayjob) and 3D art (I’m a blender animator and tutorial writer), but it has been a long time since I have done any game development. What little I did ages ago did not get too advanced (you may cringe at my prior work here). I had flirted with developing a car game in the Blender game engine, but never passed certain “roadblockers”. I never got to vehicle physics I actually liked, and got bogged down with other mechanics of game development. This time, the first step was to overcome what stopped me before. Spoiler alert: I did, and I will be posting my experiences with that next.

To keep me focussed and progressing, I have set various high level incremental goals. At any stage, I will be focussing on completing no more or less than the criteria of each goal and moving on to the next. Anything built for one of the stages below may be carried over to the next test, but the idea is everything will be scrapped for the final work, so nothing is even representative of the game until Step 10:

  1. [done 2021/01/01] Do vehicle tests in different game engines
    • Cutting to the results - landed with Godot!
  2. [done 2021/01/21] Replicate physics for 3 different real cars
  3. [done 2021/02/09] Create a simple road generation test
    • Must be able to generate roads forward for infinity
    • Must be procedural or partially procedural, not just prefab blocks patched together
  4. [done 2021/03/20] Create a more advanced road generation test
    • Must include both generated meshes as well as pre-modeled segments
    • Must work with intersections, and generate bi-directionally
    • Must generate basic lanes for use with car AI
  5. [done 2021/02/25] Create basic AI test
    • Avoid large objects like walls and other vehicles
    • Must be able to follow a provided path (lane)
  6. [wip] Create more advanced AI test (traffic)
    • Must be able to follow series of lanes
    • Must be able to change lanes, and check for space ahead of lane change
    • Must be able to avoid crashing into cars within lanes
    • Stretch: implement passing of slower cars, queue management for intersections, dynamic max car spawning based on fps polling.
  7. [Not started] Create a [spoiler] test
    • Will update later!
  8. [Not started] Create a visual “vertical slice” demo/animation
    • Mostly a design/style thing, create a small (static or pre animated) scene to create the desired look and feel of the game with both near camera details and far off
    • Model a handful of cars (even if cutouts just to match the intended look)
  9. [Not started] Simple networking test (2-player, non-generated scene)
    • Must be able to have two players drive in a static predefined world
    • Okay if scene is not randomly generated, but it should be built using the procedural system built so far with pre-determined path instructions
    • Test must be conducted with two players on different continents
    • Stretch goal: >2 players, use random generated roads, include non-player cars
  10. Start work on the “actual game” - and scrap all work above to start fresh!

Some of this is already in progress or already done, and I will be sharing those results soon. I also want to give a special shout out my co-lead TheKindKitten, who has indeed been very kind indeed, with early feedback, ideas, socialization, and testing early (often non functioning) versions of these demo concepts.

I am looking forward to when we will have the first demos available to play, expecting this soon!

edit: bumped to 20% on April 9th, won’t promote to 30% until there’s a first build of the real, non-concept prototype game. edit: Updated topic to reflect final selected game name, Wheel Steal!

Hoping to share the first devlog video soon, but in the meantime I encourage any early followers to check out the fun consequence of trying to generate road geometry with rusty vector math! You will also find I post more frequent intermediate updates on twitter like this, but I will intend to update this thread with more substantial updates.

Twitter thread on procedural roads gone rogue.

The first video devlog is out! It paints some more color on the first post’s content and overall plan, but also features a bunch of early visuals! As the video states, everything (models, textures, graphics) is temporary and only for completing the intermediate steps above.

I’m going to slowly “catch up” to where the game actually is today, in the meantime I wanted to share this snippet of how the game was looking early March.

Video Demo

Sample frame from video:

So what is going on in this video? It’s showing off:

  • Procedurally generated roads - now boasting multiple types of intersection and not just straight road
  • A redesigned road placement system, where I can interchangeably spawn in both fully procedural road segments (60m-long 1-way non intersection pieces) as well as hand-modeled pieces (the intersections).
  • Basic colors used to indicate the driving state of each car (blue = local player controlled, gray is the AI/NPC mode, not shown: a parked mode).
  • Basic non-player car AI, which has a limited ability to avoid obstacles including the player, and the starting stages of following lanes (pathfinder curves), albeit without an understanding of the “right” vs “wrong” way to drive in a lane.
Deleted 3 years ago

Hi!

I’m Kitten, the co-lead of the project. I am responsible for creative input (for example, story direction, car abilities, aesthetic appearance and theme of cars and the environment, among other things) in addition to being the game's main bug-tester. A funny bug-the first I discovered- was managing to somehow wedge my car into a solid ramp, even though Patrick had said that should have been impossible! I’m also helping make sure the game feels fun to play.

Early on, I realised that the cars could flip very easily, making driving around far less enjoyable. Although Patrick hadn’t fully coded the car’s grip, I thought if a player’s car flipped over for a long time, this would put them at a large disadvantage in a race, especially since (spoiler alert!) cars in a future update will be able to explode if they take enough damage.

Patrick- How’d we fix this? I coded an extra force to kick if when the car rotated past ~20º rotated along the forward direction. This kept cars from flipping but led to weird-looking physics after high-speed collisions or jumps. I further refined it so that this “de-flipping” force is only applied if the angular velocity (speed of rotation) is below some threshold, so the car could still flip and tumble naturally, but once the rotations slow down enough, the force ensures it lands upright.

 We are hoping to have the first concept demo game ready for download in the next couple of weeks!

 Kitten + Patrick


Feel free to check out the demo video showing off this “de-flipping” mechanism!

Hello all! A very exciting update - you can now download and try the game prototype here for free!

We are looking for feedback, so please give it a try (for Windows or Mac OSX). Use the in-game feedback button to share your thoughts and ideas. Indeed, this is only a prototype of the primary hijacking mechanism of the game, so don’t expect hours of content and a polished story. It’s more like minutes of gameplay, and no story at all, but hopefully still fun to play.

A lot has been updated since that last devlog post here. Kitten & I worked hard to make this prototype build polished and functional. While there may not be a lot of content to the game yet, we are focussing in on the core mechanicm of hijacking cars at high speed. Please let us know how we did!

Updates include:

  • Some more vibrant colors!
  • Cars populate on the road
  • Cars have some basic AI to follow lanes, change lanes, and avoid other vehicles
  • The core hijacking mechanism was implemented
  • New secret area is unlocked after you hijack each of the three different car models at least once. I wonder what it is??
  • More user setting controls, dictating traffic density, toggle shadows, and clearer button for giving feedback
  • User prompt “toast” banners appear to give help to the user, e.g. if they haven’t hijacked any cars after playing a short while.

See some current gameplay in the announcement video here:

Hello all! Prototype v0.6.3 is out and ready to play!

This version is more of a bugfix update:

  • Sometimes the secret area would not unlock if the player hadn’t hijacked all three car models before the form response popped up.
  • Resetting the scene didn’t reset the progress for towards car unlocks
  • Improved responsive UI layouts, including with the “Location unlock” message
  • Version number now explicitly visible in the right-hand “Esc” menu.

When will the prototype be v1.0? The plan at this stage is to introduce some concept of an opposing force. Think: an aggregator or police car that tries to hijack YOU!

I also wanted to give a big thanks to everyone who has filled out the feedback form from the game, we’ve gotten some good suggestions that we we may try to integrate into this prototype, but at the very least into the alpha version of the game. Keep it coming!

In parallel to this update, we’ve been doing a bunch more planning behind the scenes. We’re talking about game art styles, story driven game mechanics, the different car abilities we plan to integrate, and also macroscopic thinking like how to create re-playability. We hope to share more on topics like this in future devlogs!