Dev Update 10.24.2020
Hello! It’s been a long time since I’ve been able to give an update on Project Disc’s progress. Unfortunately, as the US went into quarantine, the hours I needed to spend at my full-time job in Education Technology increased drastically. From March to June, progress on the game was minimal, but after June, things began to normalize a bit and I had some time to turn back to Project Disc.
I’ve been working on some big things since then, and I’m excited to give you an update on the last few months of development.
I do want to mention that I really appreciate everyone who reached out and asked about the game’s progress and how they could help. The support from the community has been a really powerful motivator for me and I couldn’t be doing this without your support.
So with that, let’s dive in!
All VR Devices & Cross-play
The entire Project Disc game has been completely rewritten to use the latest Unity Engine and the new Unity XR framework. This means that Project Disc will be able to support all modern VR devices at launch. In addition to this, players will be able to play with their friends and the community across platforms.
It is incredibly important to me that Project Disc is able to build a community between virtual disc-golfers. Originally, my plan was to focus on releasing for the Oculus Quest and then expand to more devices, but over time I realized that fragmenting the player base by which VR headset they owned was a major detriment to the future Project Disc community.
All of this said - I have only been testing the game on the Rift S, Oculus Quest 1, and Oculus Quest 2. I do plan on testing on a larger array of devices soon, at which point I may encounter some challenges that are device specific (but presumably surmountable).
Custom Function Flight Models
Originally, the turn and fade effects on each disc in Project Disc shared the same function. Based on the rated speed of the disc, the fade point would be calculated at about 80% of the disc’s rated speed, and then a basic quadratic function would be applied from this fade point to control the amount of turn or fade being applied to the disc.
Overall, this approach “worked” and was extremely performant. That said, there were two major flaws:
It used the rated speed of the disc as a measurement of its speed flying through the air. This is a big no-no in applying disc ratings (that I initially chose to ignore). The speed rating should primarily be used as a measurement of a disc’s ability to cut through the air (reduced drag) and not as a measurement of throwing/air speed.
Discs’ flight paths were extremely similar to one another and the only major difference was the deepness or shallowness of turning/fading. As a result, discs had no “personality” and the game began to feel arcade-ish. By using a shared generated flight model, you couldn’t model a disc like the hard-fading Firebird, or the straight-flying Buzzz, or the smooth-turning Meteor.
So I went back to the drawing board and tried to figure out how I could give each disc its own flight model while also maintaining solid performance. After some experimentation, I arrived at Custom Function Flight Models.
Custom Function Flight Models give each disc in Project Disc their own custom function that describe the effects of turn and fade on a disc as it moves through the air, taking into account the air speed and angle-of-attack of the disc. These functions can be edited via drag-and-drop, making it very easy to visualize the trajectory of discs and modify them as necessary.
The new Custom Function Flight Models address both of the major flaws above. First, the speed rating in Project Disc is now only used as a calculation in the reduction of drag, and not in the calculations of turn and fade. Second, each disc now has its own flight model that can be precisely modified to match the intended flight characteristics of the disc at different velocities and angle-of-attacks.
Target Design and Physics
One of the most satisfying moments in Disc Golf (in my humble opinion) is when a disc is captured in the chains of a target and falls into the basket. Conversely, the most heart-breaking moments are when your disc bounces off the chains or takes an unfortunate tumble off the top of the basket.
Unfortunately, the physics calculations of modeling out each chain link in a 24-chain basket are pretty intensive when done accurately, especially on mobile VR headsets. So I had to figure out some shortcuts in order to pull off the satisfying feeling of nailing a putt.
After some iteration, I’ve arrived at a draft design below that seems to be fulfilling the experience and performance needs I set out with.
This target uses two tricks to pull off the physics reactions above while staying performant:
It makes use of particle-based physics, which can be much more performant for modeling things like ropes in video games. If you tweak the weight of rope segments and their flexibility, you can arrive at a physics object that reacts very similarly to chains.
It models the chains in groups of three. So instead of modeling 24 individual ropes, it actually only models 8 ropes, and then uses some visual and physics trickery to emulate a 24-chain system.
This design is really early and requires a lot of testing. I expect the need to continue tweaking it for quite some time.
Procedural Disc Dyes
As I mentioned in the “Custom Function Flight Model” section of this update, I think it is important that discs can have their own personality in Project Disc. I don’t want every disc rated 5|4|-1|1 to fly the same way, and on top of that, I want each of a player’s discs to feel like it is uniquely theirs.
Procedural disc dyes allow each player to have a disc that is uniquely theirs, while still being recognizable to other players. Using procedural texture generation, players in Project Disc will be able to generate a unique variation of a disc dye when earning new discs.
Below, you can see an example of the “Ocean Swirl” dye that is used on a Hyrda. Every single generated texture is unique, but recognizable as a Hydra.
In addition to unique dyes, discs will also be able to sport unique stamps and foils. Below, you can notice the subtle effect of real-time lighting on the foil of the default Hydra disc.
I’ll take this opportunity to introduce the starter discs that Project Disc will offer new players. When first joining Project Disc, you will be gifted a starter pack from Anti-Gravity Discs which includes a Hydra Driver (10|5|-2|2), Sol Mid-Range (5|4|-1|1), and Ara Putter(3|3|0|3). As you complete challenges, you will earn more discs to fill your bag.
Custom Music by OG Sunoji
I am very excited to announce that Project Disc will feature custom music from OG Sunoji! Below you can listen to the song “Atlantis” which will be featured in the Main Menu of Project Disc.
Training Dome
Lastly, I want to reveal the milestone I am working towards before delivering this new version of Project Disc to early-access testers.
The first play mode in Project Disc will be the Training Dome, which will allow players to practice with their discs in a variety of scenarios. Players will select a training program to participate in, and go through a series of challenges. Players can add additional effects like wind for added difficulty. Each of these challenges will feature a series of “score zones,” which reward the player for landing the disc within a region. Different color score zones have a different amount of points they award.
At the end of the program, a player’s final score will be summed across all of the challenges and recorded on a scoreboard. This scoreboard will also allow players to see their scores relative to other Project Disc players.
In the initial release of Training Zone to early-access testers, players will play by themselves when completing the challenges. In future releases, players will be able invite their friends to participate in challenges with them. In this multiplayer mode, players will take turns completing each challenge of a program, while their friends cheer (or heckle) from the sidelines.
I hope this update is useful for you and provides some insight in the direction Project Disc is headed!
As always, feel free to reach out to hello@hitlabs.co if you have questions.
That’s all for now!