| Devlog #1 | Devlog #2 | Devlog #3 | Devlog #4 | Devlog #5 | Devlog #6 | Devlog #7 |
This past month I took the time to focus on some business related stuff while also trying to stick to the goals I outlined in my last devlog. I think I mostly managed both; LATC is fully blocked out (for the most part), I tested replication some more (no multiplayer build yet), and I got my new business setup so I’m starting the process of building my Steam page! In this devlog I’ll talk about my struggles carving out the final sections of LATC, the upcoming rework/plans for multiplayer, some vehicle changes, and more!
Watch the video version of this devlog on my YouTube channel!
This is where I'd put a link to my Steam page and ask you to wishlist...IF I HAD ONE! Soon™.
Grab an early pre-alpha preview build of Tristan Cole's Pro Driver here on itch.io! I plan on updating this build soon after this devlog goes live to include all the new changes!
Follow me on Twitter for more regular updates on #TCPDgame and all my other projects!
Subscribe to my YouTube channel for video versions of these devlogs and more related content!
Finally reworked the vehicle's mass & have been making tweaks for stability especially when landing; feeling good so far! #TCPDgame— Tristan Cole ─ #TCPDgame 🚗🤸 (@elocnat) June 16, 2021
There's a small mechanic change to spot as well.👀#indiedevhour #gamedev #UE4 #indiegame #IndieGameDev #indieracers #indiedev #UnrealEngine pic.twitter.com/tQw15pxEdt
Level design can be tough for me both from a technical standpoint and a creative standpoint. Besides making the level work in terms of gameplay flow and overall cohesiveness, it’s sometimes really difficult for me to fill in some areas or gaps of detail that I hadn’t considered. There are detailed sections I have of LATC in my head that I’ve seen since the beginning and I’ve had mapped out early on. A lot of the surrounding detail has been relatively easy to fill in since I had an idea of where I wanted to take the map as a whole. But I was having some trouble filling in areas I had glossed over during the initial design phase.
WIP of one of the new areas
Specific trees will be breakable
I think one ‘problem’ is I never considered how big I wanted the map(s) in the game to be. Initially I had the idea that the maps would be small to medium sized (whatever what means) and I’d have a handful of them to play through. Then LATC turned out to be much larger than I initially expected, partly due to me trying to mimic real life size instead of designing for the game world but also because I just kept building and adding on without considering how much I was tasking myself with. Since I had a base design in mind from the beginning it was easy to riff off of and fill in little pockets of space with detail. As the map grew, some of the outlying areas that I had created road systems around had absolutely zero detail or reason to exist. As I added buildings and continued to play test the map, it became very clear that my initial expectations of having a handful of varied maps at this size was unrealistic (especially as a solo dev).
I started cutting out some of the unnecessary sections of LATC especially on the highway side. The overpass acts as a cutoff point and so I extended the spline to cut sort of diagonally through the map cutting off a reasonable chunk of unused map space. I started lining the outskirts with buildings and the edges of the map with trees which I hope are enough of a barrier for the player (I hate invisible walls but eventually will have to teleport them back or block them off arbitrarily). The map as a result has shrunk a little bit but is also a bit more visually interesting with a towering overpass cutting through and scattered trees everywhere. There’s still no detail in a lot of areas but there’s enough of a base to make the map come together.
Finally you can drive through the parking garages!
More tree destruction + a peek at more design changes
One thing I’ve realized is I really need to start making (or finding/buying/contracting out) tools for myself to aide my level design process. I’ve found a few useful tools like Level Design Assistant, Blockout Tools Plugin, Builder Toolkit, etc. for UE4, but there are a lot of areas where I find myself doing things I shouldn’t be doing. For example: all the grind splines are currently hand placed (even on the road side guards), all the terrain is manually sculpted (the BP road splines I’m using don’t currently work for raising/lowering), traffic paths have to be manually drawn, etc. There’s just so many inefficiencies that I’m realizing I could probably correct with a few days or a few hundred dollars, so I really need to work those out before moving onto the next step of the design process.
Up until now, the vehicle’s weight was set at 100kg. It’s the default setting for an object in UE4 when you enable physics and I just never changed it, which wasn’t a problem until I started introducing physics interactions in the environment. To compensate for the vehicle’s weight, I had to scale everything else down which led to some odd behavior when colliding with objects. Since changing the vehicle’s weight is a big deal and can greatly affect handling, I kept putting it off until now. I shouldn’t have been worried: I just set the vehicle’s weight to 1000kg and updated all the force values with an extra zero and voila; now parked vehicles don’t have to weigh 50kg to get knocked around! That being said, UE4’s default gravity is very floaty, and to compensate I apply a downforce on the vehicle every frame. The physics objects still all feel very floaty, and after testing it briefly, my next step will be to rework the engine’s gravity setting to make everything feel more weighted overall.
I also changed up the vehicle’s suspension forces a little bit, mainly focusing on stability. Instead of hard resetting, the vehicle now rolls back on its wheels after wiping out. Jumping is much more stable now that I’m applying force while ignoring mass, and landing is generally more stable due to added downforce when all wheels aren’t grounded. As always I think it needs more tweaking but it feels slightly better. Jumping has been updated to use a charge mechanic which allows the player to tap jump for something like hopping a curb and allows them to hold for a larger timed jump. I’m not 100% sold on the charge mechanic yet; I like the ability to hold the charge for timing jumps but it feels like it adds just that much more complexity onto the controls which isn’t necessarily a good thing; it’s possible that I’m just not personally used to the change yet though.
Testing the updated stability forces
Testing different versions of the new boost flame
There’s been a few additional changes like swapping to new vehicle sounds from the marketplace, some gameplay changes like boost no longer extends combos, and some slight improvements to grinding. A full list of changes will be included the next set of patch notes with the new build I’ll be releasing shortly after this devlog. Oh, and check out the new boost flame particles too! I finally figured out how to make particles stay in one place while the vehicle is moving. Tire smoke will be back soon!
I tested multiplayer again, this time with the Smooth Sync plugin from the UE4 marketplace. It’s basically a plug and play component for syncing transforms across the network so you don’t have to do anything extra (in theory). It worked - I was able to have two players driving around and they could see each other driving around, but that was about it. The trick system registered incorrectly and the HUD was broken, the vehicle didn’t seem to animate correctly, no tricks were replicated, etc. While this was a step forward, it really didn’t give me anything new and I’m still going to have to do some heavy code rework (which again is fine and I’m kind of looking forward to).
On the backend of things I decided that I’ll be going with Epic Online Services. The sheer amount of features/options/plugins/etc. available to integrate is crazy, and it’s free + cross-platform. Seems like a no brainer especially that they just announced anti-cheat and voice chat services to compliment the existing offerings. I purchased the EOS library/blueprint integration packs on the marketplace and am looking forward to trying out the test projects then integrating it into TCPD. With any luck I’ll have the ability for anybody to host a free roam session to drive & trick around with others by the time the next devlog rolls around!
Let’s update the roadmap for TCPD which I introduced in a previous devlog:
As previously mentioned I want to have multiplayer really working by the next devlog. This means having the ability to launch a game from the menu or the ability to join a session from a server browser/matchmaking system. The vehicle needs to be replicated along with all animations/character tricks/particles etc. and the UI/tricks/combos need to be player independent. All I’m looking for initially is a free roam mode where players can drive around and explore, so I won’t be focusing on any game modes or shared scoreboards or anything like that for this first pass.
I’m also going to build and hopefully launch my Steam page so that I can start gathering wishlists. I don’t have any specific launch date for the game, but I’d like to release it sometime late next year assuming it doesn’t go into early access before then. The timeline will mostly depend on when I decide to start job hunting again, which I’ll start thinking about seriously within the next couple of months. I’d prefer to keep working full time as a solo dev but it’s still mostly a dream right now and doesn’t pay the bills. I also don’t really enjoy juggling large side projects alongside a (devops/programming) day job. Worst case scenario the game’s timeline will suffer but I’ll have the ability to pay contractors/artists to finish parts of the game I can’t/don’t want to focus on.
Thanks for reading and following the development of TCPD!
What do you think about LATC? Are you excited to try multiplayer? Let me know!
Follow me on Twitter & subscribe on YouTube for the latest news on Tristan Cole’s Pro Driver!