Home 3D Art Showcase & Critiques

[ONG] Offroad Racer - Indie Game Dev Log

13

Replies

  • ajr2764
    Offline / Send Message
    ajr2764 polycounter lvl 10
    Really cool project and amazing detail on the mechanical portions. 
  • defragger
    Offline / Send Message
    defragger sublime tool
    Hi guys,

    Recently we completed the single player mode and the main menu.

    We are getting closer to the Early Access release but there are still a lot of things left to do. We are working on the HUD for the multiplayer mode and the trailer for the store page, just to name a couple of things.





    Race track 1, 2, and 3 are completed by now. But we want to do more for the early access release.



  • leillo1975
    Thanks a lot for this info. We stay alert! ;)

  • cupsster
    Offline / Send Message
    cupsster polycounter lvl 11
    It looks amazing. One thing I noticed is that wheel up and down movement does not match axles. It is detail tho.
  • Visum
    Offline / Send Message
    Visum polycounter lvl 7
    This is crazy.
    Level of detail is incredible.
    As a single dev working on my first game what feels like forever (I'm learning this from scratch) this is the most inspiring thing I have seen to date. Two guys for all of this.
    Thx for the motivation and I know I'll pick this game once is available. 
  • The_Benjamins
    Are you guys going to have cockpit view
  • Calazans
    Offline / Send Message
    Calazans null
    Man, this is looking pretty nice, looking forward to see later updates.
  • jimsvanberg
    Offline / Send Message
    jimsvanberg interpolator
    Oh man! I'm gonna sprinkel my monies at this if the feel is arcady enough. <3 Looks dope!
  • defragger
    Offline / Send Message
    defragger sublime tool
    Hi guys,

    Thanks for your amazing feedback and special thanks to polycount for adding us to the front page!

    cupsster said:
    It looks amazing. One thing I noticed is that wheel up and down movement does not match axles. It is detail tho.
    You are right! Thanks for noticing. We looked into it and indeed discovered a regression with the wheel placement.
    We fixed the issue so the axles and wheels match perfectly again.

    Visum said:
    This is crazy.
    Level of detail is incredible.
    As a single dev working on my first game what feels like forever (I'm learning this from scratch) this is the most inspiring thing I have seen to date. Two guys for all of this.
    Thx for the motivation and I know I'll pick this game once is available. 
    We are very happy to hear that our work can inspire others.
    All the best for your game development!

    Are you guys going to have cockpit view
    Cockpit view is something we will experiment with in early access.
    It's a topic we can probably use some player feedback on.

    Calazans said:
    Man, this is looking pretty nice, looking forward to see later updates.
    Thanks! We will try to give more updates in the future.

    Oh man! I'm gonna sprinkel my monies at this if the feel is arcady enough. <3 Looks dope!
    Glad to hear that you like what you see so far.


    Here is a quick update on what we did recently:

     * integration of steam achievements
     * smooth fade out of last shadow cascade
     * improved network to use 2nd order prediction for vehicles
     * added reverb sound effect zones for the tunnel and under bridges (very cool effect imho)
     * performance improvements including LOD's for broad-leaved trees and the first car (everything else had LOD's already)



     * fixed regression causing wheel / suspension lag thanks to @cupsster



     * added a second car

    Yes, you have read correctly. It's not completely finished but on a good way. Here is a small glimpse on what it looks like:








  • leillo1975
    Excellent work!!! Any release date or ETA for your game? We are Anxious!
  • jermaineb
    Offline / Send Message
    jermaineb polycounter lvl 13
    i would super be interested in checking out that vehicle rig. it looks awesome :open_mouth:
  • nimlot26
    Offline / Send Message
    nimlot26 polycount lvl 666
    Awesome stuff!
  • Aydhe
    Offline / Send Message
    Aydhe polycounter lvl 5
    really nice stuff, love design of the vehicle :)
  • Borg
    This looks really good. Looking forward to play it one day!

    What kind of soft body simulation method are you using for the tires? Is it finite element based?
  • Shrike
    Offline / Send Message
    Shrike interpolator
    Looks good but its missing the bling, make the grass greener, try turn up the illumination / exposure and ambient light and get some color grading then it should look much better.
  • LoganTMT
    Offline / Send Message
    LoganTMT triangle
    Wow! Looks like me and my brother aren't the only brother duo Game dev group. Very Nice work and hope to see you guys do more!
  • The_Benjamins
    Any updates, are we close to a early access release?
  • defragger
    Offline / Send Message
    defragger sublime tool
    Hi guys,

    We are happy to see that you are interested in DRAG and we are sorry to keep you waiting.
    We are pushing towards the early access release :)

    Here is a quick update what we have done in the last weeks:

    * we completed the online race mode
    * visual polishing of single player mode
    * testing and bug fixing
    * added sector times and live gap times
    * added a time trial mode
    * improved color grading



    * added cloud shadows



    * added soft menue fades

    https://youtu.be/kzBwATD1mxc

    * added metallic paint for players to choose on the springs



    What we are currently working on:

    * hardware compatibility testing
    * visuals for loading screen
    * dynamic mud buildup on the cars
    * I'm still working on the second car as well

    A few weeks back I also began construction of the next race track (Zone-C) featuring a completely new setting.
    We are play-testing an early version of the new track in game right now.

    Here is just a small teaser of the track layout:







  • CybranM
    Offline / Send Message
    CybranM interpolator
    Looking great!
    Are you planning on adding mud flinging off the tires?
    There are lots of dirt and mud on the track and it would make sense for it to get pulled up by the tires.

    Im looking forward to trying the game once you release it :smiley:
  • LoganTMT
    Offline / Send Message
    LoganTMT triangle
    I'm excited to try it! Also, It would be pretty funny to have a big Monster Truck in the game too...LOL!
  • aclund3
    Offline / Send Message
    aclund3 polycounter lvl 6
    @LoganTMT Mad Max: Fury Road monster truck style for sure :smiley:
  • StraightDraw84
    Offline / Send Message
    StraightDraw84 polycounter lvl 9
    Whoa! VERY COOL!
  • solidshark91493
    Offline / Send Message
    solidshark91493 polycounter lvl 6
    This project has inspired me to start my own, its a massive undertaking. So much respect. Cant wait to try this it looks so cool. Would love yo help test it! 
  • keithabrown
    Any update for this? I'm dying to give you my money!
  • Icefyre27
    SHUT UP AND TAKE MY MONEY!!!!

    Please, Please, Please release it already!!!

    NO UPDATES for over 4mths :(  -  Hope this hasn't crashed so close to the finish line!!!
  • leillo1975
    No news....?!?!?!
  • defragger
    Offline / Send Message
    defragger sublime tool
    Hello Polycount,

    Thanks again for your great feedback!

    We've been working our butts off lately. Sorry for not responding sooner, but we are back with a huge update.


    * in-engine recording and video capturing

    We started simple by just recording the screen with the usual software. This not only was very limited in terms of camera angles it also performed rather poorly. So we added an in engine screen grabber which encoded the frame into yuv420 on the GPU and streamed it to host memory via async direct memory access done by the GPU copy engine (a fancy name for a dma controller). This performed much better and with some timing adjustments in the engine to ensure a perfect frame rate match it did produce good results.
    We were still limited to the in game camera angle as well as the real time render performance. So we decided to do another attempt. We essentially stream the data model deltas (a feature we use for online gaming anyway) to hdd on the game server. This produces a small file and has no performance implications. So we can record all sessions completely by default on the test servers. In our world editor we can load these recorded game data and play it back with random access. This was a nightmare to do since all scripts and client side stuff like sound and client side physics had to cope with clock skews now. But now we are able to perfectly render video footage of the game action from any camera angle with any resolution and quality directly by the engine renderer.

    * added ground foliage (not all tracks have it yet)

    we added ground foliage which is based on the "ground plants pack" by MAWI United. We had to adjust it a little bit to fit our needs but is a great time-saver and I can only highly recommend their products.



    * geometry detail settings

    we added an option to the settings menu to turn down the geometry level. This is mainly visible in reduced ground foliage and is meant to be used on low-end systems.

    * ground and terrain texture normalmaps reworked



    * added canyon and cliff surfaces



    * we ditched previous color grading attempts
    * improved atmospherics with air density, scatter and fixed the ambient light



    * added different weather settings

    With the new atmospherics and air densitiy / scatter options we tried different weather settings an kept a few. The differences are mostly subtle but it gives a little bit of variation.



    * new track biom (Zone-C)

    As mentioned in the previous update we wanted the second biom to be completely different from the Taiga / Mountain / Forest biom which we have for the existing tracks. So we started work on an Antarctic / Sci-Fi / Offshore inspired biom.
    The track layout didn't change much during play-testing. This race track has some nice elevation changes and fast corner combinations which are perfect for drift transitions. I'm currently working on additional details like curbs, side rails but also on the big pillars which support the structure.

    (work in progress)

    * fixed wall-riding exploit "bug" which has been reported by our beta testers

    We increased the physical friction of the guard rails so players can no longer take advantage by wall-riding.

    * improved LODs for the guard rails

    Because guard rails are bent alongside the track they need some hefty polycount in order to look nice up close. Keeping the silhouette as well as the shading intact while lodding is a big challenge. We try to do all LODs without a noticeable visual change in reasonable distance while reducing the triangle count at a 40-45% rate with each LOD. Depending on the complexity of the mesh we use up to four LODs in some cases.



    * improved steering and chassis setup

    We now have three different chassis setups. Each one has its own handling characteristics. We fine tuned the stiffness of springs and anti-roll bars as well as power split and weight distribution for best driving performance.

    * fixed collider scaling bug and reimplementation of convex hulls

    We now have at runtime cpu detection and full sse2 and avx implementations for convex hulls.

    * finished the loading screen and the last menu items



    * async shader loading

    This is one of the low level topics I hoped I had sorted out long ago, but no. Doing things in an asynchronous way can never be fully abstracted away. Whenever you add or change something in the game world or even the menu you might have to wait for it to be ready. This needs to be hidden in some way or you have to preload it. We can now preload shaders not only for in game materials but also for menus and post processing.

    * reworked object culling

    * added overdraw visualization and overdraw improvements to the engine editor



    * ongoing testing and optimizing gameplay

    currently about a dozen beta testers are playing DRAG in order for us to learn and improve on gameplay as well as resolve technical issues. A few minor things came up but are resolved already. It's going pretty smooth so far.



    * we added something new to the single player mode but we dont want to spoil it right now

    * we started work on a new additional fun, action arcade multiplayer game mode

    * oh and ... yep, we are still working on that particle system. Hopefully there will be mud flinging of the tires soon :)

    We need to apologize for everything taking which must feel like forever and not giving an update earlier.

    greetings,
    Christian & Thorsten
  • The_Benjamins
    How can I help beta test for you guys, I was a alpha tester for project cars.
  • leillo1975
    Thanks a lot for this update, guys. Can't wait to play it!

    .... and Merry Christmas
  • Sage
    Offline / Send Message
    Sage polycounter lvl 19
  • jimsvanberg
    Offline / Send Message
    jimsvanberg interpolator
    This looks, indeed very interesting!
  • Finnn
    Offline / Send Message
    Finnn greentooth
    I am looking forward to play the game when it's done.
    It's incredible how much passion you guys show for this project.
    Your results show it. Everything is looking incredible. Keep it up!
  • defragger
    Offline / Send Message
    defragger sublime tool
    answering a question regarding the LODs on the conifer trees and how to produce the billboard maps needed without speedtree:

    Hi Brian,

    The billboards have been rendered from the final tree with two cameras. We render albedo and alpha maps but when applied directly there will be a visual mismatch because of missing light / shadow information from the 3d branches. Which of course the billboard can not provide in engine.

    So we put diffuse information into the albedo map. Not a lot of diffuse information because it has to work with different lighting and variable angles of the sun. This of course only works to some extent, but since it is missing a bunch of geometry a billboard never will be the same thing. We try to get as close as possible.

    For the roughness information as well as translucency we use fixed values instead of maps. We put the cavity information into the vertex color. We don't orient the billboards towards the camera because it can produce artifacts which can be distracting in a racing game. We use a shadow mesh that is not visible in order to cast decent shadows below the billboard trees even when the sun is directly over head.

    I hope this is helpfull and answers some of your question.
  • sandstorm
    Offline / Send Message
    sandstorm polycounter lvl 11
    Hi defragger, any update on the progress of your game. Would love to read more of your posts.
  • BlackNiboWOlf
    Offline / Send Message
    BlackNiboWOlf polycounter lvl 2
    Awesome Project
  • The_Benjamins
  • AlexCatMasterSupreme
  • defragger
    Offline / Send Message
    defragger sublime tool
    Hi guys,

    Thanks!

    We are preparing the next big update. :)
    We have a lot of progress to show. Just hit a big milestone yesterday.

    @AlexCatMasterSupreme amazing portfolio!
  • nimlot26
    Offline / Send Message
    nimlot26 polycount lvl 666
  • LoganTMT
    Offline / Send Message
    LoganTMT triangle
    Man, You guys are doing amazing on this. Wish I knew how to animate suspension for my project in UE4...
  • Kabouik
    Did you guys change your mind about the page on Steam (or GOG or Itch.io, as long as the same updates/mods are available on all libraries)? You were planning on having the page ready in 2017, I've been leaving this Polycount tab open the whole time just because I had no ways to wishlist the game and be warned when it is out. :>

    No worries, I understand there are probably good reasons for this change of plan, I am just interested in what is the new timeline. 

    Keep up the great work, the level of details you've put in the game and technical aspects really are impressive.
  • leillo1975
  • defragger
    Offline / Send Message
    defragger sublime tool
    Hello Polycount,

    quite a long time but we are back again with what we hope is a decent progress on the game.

    * splat meshes

    We now have an entirely new system to paint ground foliage and rubble. So far we could either place objects individually in our scene or as a cluster. Clusters are a group of identical objects using less resources and adding procedural variation per instance. They are great for trees, bushes and such since you can control the exact position of every instance but do not work very well for ground foliage. This is because our new ground foliage spans very large distances and consists of around 20 different shrubs and gravel meshes. Manually creating hundreds of clusters everywhere for every shrub type would not be feasible. So the new system works by first defining up to four different mixtures of meshes. One could contain various stones to make an interesting rubble and another has small grass and so on.
    A base mesh spanning the entire track with a uv mapped splat texture (drawn in the editor) than defines how much of each mixture is placed at every position of the track. The final mesh instances are placed by the system. We use a BVH (bounding volume hierarchy) on the base mesh to ray cast the final positions on the gpu.




    * tonemapping

    We finally have a new tonemapper that is not only handling luma but also chroma correctly. This can be seen when a highly saturated colored light source gets very bright. In that case the color becomes white due to over saturation of all three color sensitive cones in your eyes. All three RGB cones overlap and are at least somewhat sensitive at every position of the color spectrum.

    This meant we had to redo LUTs for the new tonemapping. We also noticed that our shadows were much to warm so we adjusted ambient color and skylight to achieve a much better overall scene lighting.





    * next racetrack

    we added the next racetrack to singleplayer and multiplayer mode.
    The Antarctic / Offshore biome is a modular environment. The reason for this approach is a very high texture resolution on the metal support structure. The main module shown below was modified for junctions and an overhead version which caused some headache because they use the same unique texture as the regular module. We use re-coloring and a ton of decals for maximum variation.

    Lodding is also crucial since the structure can be seen from great distance and can not be culled because the view is never obstructed. So we are lodding the base to one fifth of its original polycount without being noticeable to the player.








    Additional smaller modules are placed on top to flesh it out. Like guardrails and these metal curbs that were textured in substance painter.



    * static shadow

    For our new track we ran into problems with our current shadow implementation. The new track has about two kilometers of unobstructed view distance. This was a little to much for our shadow range. We now have a fifth static shadow cascade spanning the entire level which gets rendered at level load time. This allows us to render shadows for the complete view distance and looks pretty stunning. We also enabled this for the other tracks on higher than low settings because the cost is very small.

    * terrain 2.0

    we discovered a technique on Forza Horizon 4 where they swap terrain textures in the distance in order to avoid noticeable tiling on distant slopes and hills.
    We now use near and distance versions of terrain textures as well. This way we can put a lot more information into the near textures. Especially low-frequency normal and roughness information which gives a much more organic and natural look. This would cause horrendous tiling if not swapped to a distance texture with bigger tiling.

    Additionally we now have procedural transitions between terrain textures and on decals. This improves the track / terrain transition and grass decals as well as the terrain itself.





    * garage

    we have a first iteration of the car selection / customization scene. The UI is still programmer art.



    * vulkan

    Yes we are working on a vulkan backend for our renderer too. We can already start the game and fully render the menu and video in vulkan. The game itself only renders partially and there is still a lot of work to do. This is not release critical but we want to be up to date here anyway.

    * trees 2.0

    when checking buffer visualizations we noticed that we could improve the trees further by increasing the depth with inner tree occlusion. We adjusted albedo values to realistic levels and added cavity information to the vertex alpha channels on all trees.



    * physics improvements

    * local splitscreen re-enabled

    ... and undergoing intensive testing :)


    (friends "testing" in denmark. Yes, not actually splitscreen at this moment but it's the only pic they sent.)

    * occluder material

    we now use custom occluder meshes inside the mountain ridges to reduce overdraw and increase performance.



    * animated wall effect

    The technical wall texture contains various information in the individual red, green and blue channel. The red channel contains the static line pattern. The green channel has the time gradient used by the shader in a threshold operation to produce the infilling. The blue channel has a time offset to create different filling levels for each hexagon. This channel has a quarter resolution to be hardware texture block compression friendly. This way every 4x4 block has only one blue value to store increasing the quality dramatically and allowing us to use compression on this texture.

    The texture was made in after effects in order to have a preview as well as a vector based source and random timing offsets for the different texture channels.




    * dirt buildup on vehicles

    we hand painted dirt masks for our cars in substance painter and made a tileable dirt material. Depending on the ground surface mud accumulates on the car over time now.

    A special feature which we hope you can appreciate is the abrasion of mud from the tire tread surface when driving back on asphalt again. The sidewalls will stay muddy as seen in the second part of the animation below. All of this is achieved with only one mask and some clever scripting.



    greetings,
    Christian & Thorsten

    Regarding the release date.
    The delay is indeed caused by a change of plans. No worries!

    ¡Saludos a nuestros amigos en españa!
  • SimonT
    Offline / Send Message
    SimonT interpolator
    wow this looks super cool! <3
  • LaurentiuN
    Offline / Send Message
    LaurentiuN interpolator
    Amazing work guys, keep up the good work!!
  • Slipstream
    Offline / Send Message
    Slipstream polycounter lvl 19
    What a beautiful Unreal 4 engine game guys!
    -Read's that it's your own custom engine
    No. Way. O_O

    Seriously gorgeous work all around. Well done!
  • Olingova
    Offline / Send Message
    Olingova interpolator
    Super glad to see some update!!! Here in the office we talk about it a lot the technical quality is amazing!
  • defragger
    Offline / Send Message
    defragger sublime tool
    Thanks for your amazing feedback guys!
  • Jakro
    Offline / Send Message
    Jakro greentooth
    Looking fantastic!
  • AquaBeat
    Offline / Send Message
    AquaBeat polycounter lvl 5
    I was so pumped when I saw email that said there is new comments on this topic :D 
    Game is looking super cool, and I bet it feels awesome. If you need someone to test the game I would be more than happy to help :D
13
Sign In or Register to comment.