WIP Snowflake State : Highway

Discussion in 'Terrains, Levels, Maps' started by MegaKnight, Jan 21, 2025.

  1. MegaKnight

    MegaKnight
    Expand Collapse

    Joined:
    Sep 12, 2024
    Messages:
    203
    I have been working on this map for the past few weeks. I've decided to make a thread for it now, as it's reaching a state where I'm able to show some progress. Despite that, this map is still far from finished.

    Lore
    Snowflake State is a fictional US state located near the arctic circle. It features extensive forests, mountain ranges and lots of snow. There is a national park deep within the mountains, a major city at the south coast and an open pit mine by Hotrolled Inc. in the north. This map however is focused on a section of Interstate 99 and the surrounding landscape, so it won't include any of these places. They are only mentioned on the road signs.

    Features
    • highway loop with tunnel (length: 1.3 km/0.8 mi above ground, 6.2 km/3.8 mi tunnel) [Done]
    • small road network with signs [WIP]
    • nature/landscape: forest, mountains, river, small lake [WIP]
    • deep snow [Done]
    • offroad/forest paths [WIP]
    • multiple small POIs [WIP] - suggestions are welcome, but I might not add every suggestion
    • dam with lake [WIP]
    • gas station [Done]
    • custom license plate design [Planned]
    • lore-friendly skins for multiple vehicles [Planned]
    • dynamic weather [Planned]
    • dynamic road conditions [Done]
    • custom jump spots [WIP]
    • drift spots [Planned]
    • missions and time trials [Planned]
    • mostly PBR materials
    The map's size is 2048x2048, like West/East Coast USA. The background mesh will be accessible, so it will be bigger in a way, but I won't add details to that area. It is based on Automation Test Track, but I have edited/will edit many textures and objects to match the "snowyness" of the map.

    Please note, that some of the terrain colors are a bit weird in the current version. They will be white like normal snow for release. I have changed their color temporarily to distinguish between
    normal, deep, deeper and very deep snow and snow with flowers.

    Screenshots

    tunnel.png forest.png lake_sunset.png snow_decals1.png dam.png tankstation_boat.png

    Current (and most likely final) road layout:

    road_layout.png

    Credits

    • BeamNG for most assets and textures
    • @Barbent Servo GT for helping me with some things
    • Car_Killer for some lua code from his level controller
    • betchkal on freesound.org for some ambient sounds
    • I used a flower from this pack as groundcover
    • me for everything else
     
    #1 MegaKnight, Jan 21, 2025
    Last edited: May 2, 2025 at 12:41 PM
    • Like Like x 39
    • Agree Agree x 1
  2. Ananel81

    Ananel81
    Expand Collapse

    Joined:
    Sep 7, 2021
    Messages:
    1,241
    Another snow map, let's go.
     
    • Like Like x 2
  3. MegaKnight

    MegaKnight
    Expand Collapse

    Joined:
    Sep 12, 2024
    Messages:
    203
    Some more screenshots of the highway . . .

    highway_mondello.png highway_sign.png highway_off.png highway_on.png tunnel.png

    . . . and the tunnel. I used the tunnel segments from Utah for this one, just to realize that they don't exactly match :(. So I had to improvise and connected the two mismatching pieces using mesh road. I covered this mess by creating a construction site around it.
    I think it turned out quite well :)

    tunnel1.png tunnel2.png
    tunnel3.png tunnel4.png
    tunnel5.png
     
    • Like Like x 18
  4. MegaKnight

    MegaKnight
    Expand Collapse

    Joined:
    Sep 12, 2024
    Messages:
    203
    A few road impressions:

    guardrail.png highway_onramp.png huntsman.png
    tunnel.png highway_onramp2.png cherrier_trees.png

    Only the last picture shows a road with the surrounding landscape in an almost finished state. The rest is still very WIP.
     
    • Like Like x 12
  5. StoryWeaver37

    StoryWeaver37
    Expand Collapse

    Joined:
    Jul 30, 2024
    Messages:
    34
    I'm not sure I'd want to live someplace that snowy, but boy is it beautiful! You're doing a great job with the landscape.
     
    • Like Like x 2
    • Agree Agree x 2
  6. MegaKnight

    MegaKnight
    Expand Collapse

    Joined:
    Sep 12, 2024
    Messages:
    203
    Dangerous Situation . . .

    dangerous_situation.png lake_sunset.png terrain_rocks.png


    And a beautiful lake. Great for a small boat tour :cool: . . . Can you spot the boat?

    lake.png
     
    • Like Like x 12
  7. M D Gourley

    M D Gourley
    Expand Collapse

    Joined:
    Jan 7, 2023
    Messages:
    804
    Looking good 'MegaKnight'....liking the ground plane and vegetation showing through and not completely covered with Snow, take your time for a detailed and quality Map:D
     
    • Agree Agree x 2
    • Like Like x 1
  8. Ethan henry

    Ethan henry
    Expand Collapse
    Banned

    Joined:
    Jan 27, 2025
    Messages:
    13
    cant wait until its released
     
    • Agree Agree x 2
    • Like Like x 1
  9. SPittlebug

    SPittlebug
    Expand Collapse

    Joined:
    May 14, 2023
    Messages:
    73
    looking very good!
    did you make those snowy trees?
    i am curious to see how the different snow groundmodels come out!
     
    • Like Like x 2
  10. Musicman27

    Musicman27
    Expand Collapse

    Joined:
    Dec 13, 2023
    Messages:
    2,568
    Look's pretty good!
     
    • Like Like x 1
  11. MegaKnight

    MegaKnight
    Expand Collapse

    Joined:
    Sep 12, 2024
    Messages:
    203
    Thank you :)
    The tree models are from Automation Test Track. I only changed base color and roughness.
     
    • Like Like x 2
  12. MegaKnight

    MegaKnight
    Expand Collapse

    Joined:
    Sep 12, 2024
    Messages:
    203
    Jump Spots :cool:

    jumpspot_legran.png jumping_man.png jumping_man_into_tree.png


    When you jump off the ramp, a custom lua script gets triggered, changes camera position, enters slow motion and calculates your jump distance. Similar to drift spots, jump spots are available from Freeroam, no loading screens required. Your highscore is saved between sessions, so you can continue right where you lift off. :D
    The distance calculation could be a bit more accurate, but I think it's good enough.


    Had to record on low settings, cause my graphics card is kinda bad
     
    • Like Like x 10
  13. THom6502

    THom6502
    Expand Collapse

    Joined:
    Dec 17, 2022
    Messages:
    228
    Looks awsome, and it is a winter map, nice, we need more of them.
     
    • Like Like x 2
  14. Roman10107

    Roman10107
    Expand Collapse

    Joined:
    Jan 7, 2023
    Messages:
    50
    I feel like this map would go great with some train tracks going around near the perimeter of the map or possibly crossing through some roads in the inner parts of the map.
     
    • Like Like x 2
  15. MegaKnight

    MegaKnight
    Expand Collapse

    Joined:
    Sep 12, 2024
    Messages:
    203
    Sorry, but I won't add train tracks. That's not really something I want to work on.

    Some more screenshots:

    noice.png roadside_heap.png highway_on_zeta.png
    dyn_lights_eve.png dyn_lights_night.png night_crash.png
     
    • Like Like x 7
  16. Roman10107

    Roman10107
    Expand Collapse

    Joined:
    Jan 7, 2023
    Messages:
    50
  17. THom6502

    THom6502
    Expand Collapse

    Joined:
    Dec 17, 2022
    Messages:
    228
    wow looks beautifull, where did you get the rubber boat from.
     
    • Like Like x 1
  18. LegThePeg

    LegThePeg
    Expand Collapse

    Joined:
    Jun 4, 2022
    Messages:
    3,498
    • Like Like x 1
    • Agree Agree x 1
  19. MegaKnight

    MegaKnight
    Expand Collapse

    Joined:
    Sep 12, 2024
    Messages:
    203
    Good news!

    I figured out how to code dynamic road conditions. You will be able to switch between normal and icy road conditions by entering a trigger (or using a console command). The state is saved between sessions.

    The only downside is that a level reload is required for this to work. This reload will happen automatically, so you only have to enter the trigger. Everything else is done by the lua code. I haven't found a different solution without reload yet, but I don't think it's possible (I probably won't search further anyway, as I'm happy with the result). No level reload required!

    I know there already is a feature to change the behaviour of an object's material in Car_Killer's level controller, but the roads on this map aren't 3D objects. They're part of the terrain block and use terrain materials instead. So I think Car_Killer's approach wouldn't work. Either way, it was way more fun to code it myself - and I learned a lot doing so :)



    For those of you interested in the technical details, here's the main part of the code:

    Code:
    -- weather and road condition table
    local dynValues = {snowDecals = false, icyRoads = false, snowyWeather = false} -- standard values
    
    local function toggleGroundmodel()
    
        -- get terrain block (theTerrain is name of terrainblock, could be different for other levels)
        local terrainBlock = scenetree.theTerrain
        if not terrainBlock then
            displayErrorMsg("Terrainblock Not Found!")
        return end
        
        local ms = ""
        
        -- go through all materials
        for index = 0, (terrainBlock:getMaterialCount() - 1) do
            local mtl = terrainBlock:getMaterial(index)
            local gmName = mtl.groundmodelName
            -- check for asphalt groundmodels
            if gmName == "ASPHALT" or gmName == "ASPHALT_ICY" then
                
                -- change to opposite
                if dynValues.icyRoads then -- when roads are slippery
                    gmName = "ASPHALT"
                    ms = "ice molten, normal roads"
                else -- when roads are normal
                    gmName = "ASPHALT_ICY"
                    ms = "roads are now slippery"
                end
                
                -- apply new groundmodel
                mtl.groundmodelName = gmName
            end
        end
    
        -- change value in table
        dynValues.icyRoads = not dynValues.icyRoads
    
        -- reload collision to apply changes
        be:reloadCollision()
    
        -- display message
        guihooks.trigger('toastrMsg', {type = "success", title = "Road Condition Changed!", msg = ms, config = {timeOut = 5000}})
    end
    Please credit me if you reuse this code for your map.
    Feel free to ask if you have any questions or need help to adapt this code to your level.




    I just added some snow decal roads. Now the map is really coming together ;)
    They are toggled at the same time as the road condition. You will be able to control them seperatly from the road condition using a console command, in case you want to have snowy roads without them being slippery.

    bruckell_nine_shw.png snow_decals1.png snow_decals2.png snow_decals3.png
     
    #19 MegaKnight, Feb 8, 2025
    Last edited: Mar 25, 2025
    • Like Like x 16
  20. THom6502

    THom6502
    Expand Collapse

    Joined:
    Dec 17, 2022
    Messages:
    228
    This looks awsome, great textures on the winter roads.
     
    • Agree Agree x 2
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice