LATC is fully blocked out & the Steam page is live -- Devlog #8!


This devlog was originally posted on my website:

https://elocnat.com/blogs/tcpd-devlog-8.html



🔳 Finishing LATC - Self-imposed level design struggles

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.

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.

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.

🔳 Vehicle Updates - Weighing in on the changes

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.

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!

🔳 Multiplayer Progress - It’s coming I promise

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!

🔳 What’s Next? - Development timeline update

Let’s update the roadmap for #UntitledDrivingGame I introduced in a previous devlog:

  • Rework the vehicle controller to make it feel more like a real vehicle
    • Add characters to vehicles
    • Add more tricks & trick modifiers (opening doors, flashing lights, hanging out windows, etc.)
    • Rework physics/controls to be tighter & more accurate
    • Better models & animations
    • Realistic vehicle audio
    • Develop updated camera system with better dynamic movement for tricks
  • Refactor the project for multiplayer
    • Have a single multiplayer mode to demonstrate capability
  • Work on the project’s overall sound design
  • Create two original vehicles/characters that offer slightly different stats/trick sets
  • Finish designing & building the first level (LATC)
    • Implement a better performing traffic controller
    • Implement destructibles in the environment
  • Have a set of playable missions for the single player campaign
  • Implement basic AI vehicles

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.


Thanks for reading and following the development of Tristan Cole's Pro Driver!

What do you think about LATC's design? 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!

Files

TristanColesProDriver-Alpha-PostIRF1.zip 1.3 GB
Version 4 Jul 10, 2021

Get Tristan Cole's Pro Driver

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.