On Hold Castle Run

Discussion in 'Terrains, Levels, Maps' started by krallopian, Jan 29, 2019.

  1. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789
    I appreciate that sithhy, thanks a lot!

    Well, a week ago I said, "there will be news in a week or so" and here we are, at what feels like 5 minutes later! Although it's been almost seven 12 hour days already!?

    Introducing, Castle Run Rally!



    That's just a collection of random shots almost in order of the rally track. I was going to post some screen shots but I wasn't able to get it to where I was hoping to in time so the screen shots wouldn't tell much of a story.

    The first map I made is where I took a 2k x 2k map and raised some mountains out of it, then figured out how to texture them, then figured out how to do decal roads, then figured out. . . "wait what am I doing!? Why didn't that work? Where did THAT go!? Where is this texture from.. why can't I save that, why I can't WHAT AM I DOING!?" Basically, I had tried to make a waterfall, it didn't work because there were too many unknowns. I tried to make some vegetation, it didn't work and corrupted the save file making me start over. Then I made a tall mountain to climb and it was too steep and the AI couldn't drive it to save their lives. Then I made a big construction site with a huge jump that the ai mostly handled, and then finally I said, "Now I know enough, I'm going to start a real level" and here we have Castle Run. Including the waterfall and jumps and dirt road fun, so Castle Run Rally as well!

    I was going to make a proper trailer (still will) for today but time got away from me and I just instead jumped in and recorded a few angles and tossed them in premiere and now on youtube.

    Screen shots and such will be coming later as I continue working on this. It's 6am right now and this will be uploaded hopefully by 6:45 or so, love this internet.

    Well it's 6:42 now annd after reloading the game all the dang particles were messed up on the waterfall/river again!! EUGH, half of them saved the other half didn't.. hhhhhhwut!?


    *fixed.

    Annd time to post.
    --- Post updated ---
    Here's a couple shots of the now-fixed waterfall/river.

    10 after 7am AGAIN, gotta get to sleep. I can finally start showing level pictures again without worrying about showing the dirt road! Haha

    I started rebuilding the castle too, to make it . . suit my needs more. Currently it's twice the size, and I've researched almost every castle from 700ad until now =D
     

    Attached Files:

    • 0079.jpg
    • 0078.jpg
    • Like Like x 9
  2. CN877

    CN877
    Expand Collapse

    Joined:
    Jun 27, 2017
    Messages:
    1,465
    Wow! Just as I think I can't be any more impressed! :D

    You continue to amaze me with how much work you do and the incredible levels of quality you achieve!

    That waterfall in particular has me speechless :eek:

    You better get a staff pick ;)
     
    • Like Like x 1
  3. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789
    I did a buncha work on the particles today, lot of work on the water surface itself, annnd just rendered out this video:



    I've uploaded this because when I first wanted to make a waterfall, I couldn't find anything to help me, but more importantly didn't see any EXAMPLES that it's actually possible. Thanks to the Italy map for coming out and showing some particle effects I was motivated to give it another shot, and now there's a video up in case anyone ever finds themselves in my prior situation, "can it even be done!?" I was really worried the particles would kill performance, but there's virtually no difference in performance, and I don't really understand how that's even possible =D
     
    • Like Like x 7
  4. Danny Werewolf

    Danny Werewolf
    Expand Collapse

    Joined:
    Mar 31, 2017
    Messages:
    2,268
    ...I guess this is what years of development would do? Well, time to wait until I'm an adult!
    still amazing
     
    • Like Like x 1
  5. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789
    I've started to hit performance issues. For me performance issues were less than 30fps while at 4k, and I was getting there. Now I'm back up to 55fps+ with three lks prerunners (heavy heavy performance hit vehicles) chasing each other, all thanks to changing one of the first settings I made: "screenError" on the terrain from 4 to 16. Now the terrain in the distance looks a lot less detailed, BUT the performance increase is worth it. I just wish occlusion was a thing,

    I've said, once I get below 30fps, there will no longer be "real time recording" possible, and sure it only happens when I'm on one corner of the map looking across the entire map to the other corner, but it's still . . bad.

    I dropped draw calls from 9700 to 4200 by changing the shadow distance and the terrain's screenError back to "normal" values. Shadow map is actually still at 2500 (default is 400) so that's SIX TIMES more work without taking FOV into account. Basically I can get draw calls to the 4-5000 mark easily just by changing the terrain and shadow qualtiy, but hell the whole POINT of this is to LOOK GOOD not just run well, since again for recording purposes, I will be recording in slomo anyway then bumping it back up to whatever frame rate I decide on.
    --- Post updated ---
    I've uploaded two shots one showing screenError set to 4 (where I had it) and the other set to 16 where it is for now. MASSIVE difference in terrain quality at a distance, and I'm probably going to put it back to 4 while I record just for looks' sake, but for now, 16 makes me feel a heck of a lot better =D
     

    Attached Files:

    • screenError_004.jpg
    • screenError_016.jpg
    • Like Like x 6
  6. Sithhyâ„¢

    Sithhyâ„¢
    Expand Collapse

    Joined:
    Apr 5, 2017
    Messages:
    3,343
    I mean, the worse detail at a distance isn't THAT bad in my opinion & if you would show me the screenshot with just the worse one, I probably wouldn't even notice o_O
     
    • Like Like x 1
  7. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789
    What an exciting day today! (tonight)

    I figured out how to use lua triggers to control the ai!

    I've wanted a way to make the ai speed up and slow down in certain areas, or be wreckless here but careful there, and NOW I can do that! Thanks yet again to the help of Thomatoes50 I was able to scrounge around the lua files and figure out how to make the ai change as they drive automatically!

    In this short video I show two basic ai paths, one lane (the Sunburst) has "SET SPEED TO 1000" and "MAXIMUM AGGRESSION/RISK" where the Prerunner's lane is set to max speed of 70 and a risk of 0.3. Then they hit other lua triggers which control their lights! So now before they get to the tunnel they turn their lights on, and as they exit the tunnel there's another trigger that makes them turn their lights off!

    Completely automatic! So now I'll be able to have my "bus lane" and "race lane" that I've wanted since I started this two months ago! Oh this is going to be so sweet. Using their blinkers when merging from two lanes to one and all that fun stuff =D


    --- Post updated ---
    I uploaded the wrong damn video. Internet's too slow to upload the correct one, but you get the gist of it hahah. Uh yi yi.
     
    • Like Like x 9
  8. Jaime Palmer

    Jaime Palmer
    Expand Collapse

    Joined:
    Apr 1, 2017
    Messages:
    99
    Mmmm... What are they waiting to hire you? ;) :cool:
    Looks awesome!
     
    • Agree Agree x 3
    • Like Like x 1
  9. Projekt535

    Projekt535
    Expand Collapse

    Joined:
    Aug 5, 2013
    Messages:
    189
    This is really coming along, keep up the fantastic work! I love the lua triggers you figured out, it opens up a ton of possibilities! Looking forward to racing this map!
     
    • Like Like x 2
  10. RacerRobin24

    RacerRobin24
    Expand Collapse

    Joined:
    Mar 30, 2016
    Messages:
    116
    This looks absolutely phenomenal...You sure you aren't an undercover beamng developer? XD
     
    • Like Like x 1
    • Agree Agree x 1
  11. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789
    You guys kick ass, thank you ;)

    I got 4 hours of sleep in before I couldn't wait any longer to get back to experimenting with this!
     
    • Like Like x 2
  12. ignito

    ignito
    Expand Collapse

    Joined:
    Oct 5, 2016
    Messages:
    71
    For being a member of the BeamNG community since 2013/14, I've never seen you around until just finding this thread and what seems to be your first mod ever, and it looks great man. I'm not a modder myself, nor do I think I have the time or patience to, but I always appreciated when I can see a real dedication and passion from one, please keep on going. Seriously can't wait to lay drive on this when you release it.
     
    • Agree Agree x 2
    • Like Like x 1
  13. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789
    Thanks ignito! I've been around since the game first popped up for consumption but other than getting signed up here I had little to do with the community. It wasn't until Christmas time a couple months ago that I decided, "I'm tired of spending an hour a day in gridmap. . . time to figure out how to make my own map!" and haven't slept since haha!

    Yesterday was spent primarily tweaking ai paths and road surfaces on the map. I finally figured out how to script speed limits, ai aggression, lights, fog lights, 4-ways, blinkers, horns, all the "oh wow" bits that'll make videos that much more exciting imo. Thrilled about it, but really it just means even MORE work ahead haha!

    Now to get to work on my rally road surfaces to make them much more . . rally. Biggest issue is that I plan on running AI primarily and they're not so keen on driving tight narrow roads, let alone tight narrow gravel roads, so I need to make a narrow road appearance and still have enough run-off to let them make more than one corner.
     
    • Like Like x 3
  14. Danny Werewolf

    Danny Werewolf
    Expand Collapse

    Joined:
    Mar 31, 2017
    Messages:
    2,268
    Because that's something to be happy about XD
     
    • Agree Agree x 1
  15. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789

    --- Post updated ---
    Plan on making a couple runs! This way I'll have an on-road race, off-road race, and drag strips! The drag strip in this video is 1.25miles so can get the whole, "1/4mile time" vs "1/2mile time" vs "1mile time" and a 1/4 to slow down/stop. There will be both tarmac and sand strips. Then I plan on running a 'TOP SPEED' track but that's in a secret location on the island still ;)
     
    • Like Like x 3
  16. Danny Werewolf

    Danny Werewolf
    Expand Collapse

    Joined:
    Mar 31, 2017
    Messages:
    2,268
    Sure, the LUA and drag racing stuff is cool....but where did this smooth camera transition come from!
     
  17. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789
    Haha :p

    The camera transition speed. I've had it set to slow since it was first an option, I forgot about that!
    --- Post updated ---
    The benefit to these lua triggers is that you can properly drag race cars now.

    Bring'm to a starting line, they'll hit a "rolling start" trigger, then you just match up your rolling start, and you're all off! Or. . just sit back and watch the ai battle it out.
    --- Post updated ---
    *doesn't NEED* to be a rolling start, it's just how I have it for now.
     
    • Like Like x 1
  18. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789
    With what started as a reply to, "Quick help with "setTarget"," at 3:45am this morning Thomatoes50 and I shot messages back and forth until almost 9am when I finally got a grasp of what I needed to do. There's nothing more humbling than realizing how little you know about something you think you know a lot about! Point is, I'm now able to run drag races with any ai as follows:

    Set them up in lanes 1, 2, 3, 4, whatever, they will wait until I get lined up, then once I am, I have a count down (5 seconds right now) and we're off! It's so cool, SO cool. Allows me to place them at the starting line and customize them all I want and they won't move until I'm ready. If I place ALL ai at the lines then they will take off 5 seconds after being placed there. Spawn a car in, and it's instantly told, "setSpeed to max 500, aggression is high, and target the end of the drag strip, when you get there, slow down, then stop." All I have to do is press CTRL+E and pick a victim! ;)

    I'll get a video up in a bit showing how it works, for now it's all placeholder stuff again - drag strip is just a quick mesh road, there are no lights/sounds etc..
    --- Post updated ---


    Instead of just using triggers in game, I'm now passing vars back and forth and the AI will now wait for all cars to be ready before starting a timer. This way I can place all the cars exactly on the line, then change out parts, wheels, fuel amount, etc.. and then once the final car is on the starting line a timer starts meaning I can be the final car and just drive into position, or just place all cars on the line and they'll start within a preset time (5 seconds currently).

    Again, this represents virtually 0% of the visuals of what it will be, but the overall dynamics of it are coming along! I'm stoked.
     
    • Like Like x 3
  19. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789
    Here's another video after some slight work on the track, but this was put together to demonstrate the possible camera angles etc...

    Certainly wouldn't record a drag race in this manner but it's the easiest way to show the most amount of things in the least amount of time =D

     
    • Like Like x 5
  20. krallopian

    krallopian
    Expand Collapse
    NC114-85EKLS
    BeamNG Team

    Joined:
    Dec 5, 2013
    Messages:
    789
    WELL, what a LONG, LONG, LOOONG day working with LUA. I don't know how I haven't lost my mind.

    Again, @thomatoes50 came to the rescue 10 hours in to it, and within 30 minutes had me up and running the way I wanted!

    The way I wanted: Six drag lanes, AI drives all six . . if you want, or only two, as long as lanes 1, 2 and 3 are occupied, the race will happen. So you can put ai in lane 1 and 2, and they'll wait for you to pull up to lane 3, and when you do I have a timer 3..2..1.. and off we go. Then when we get to the end, the ai slows down, follows a road, returns to the start, and will wait again to go again - if they survived the first run.

    The issue I needed help with:

    How the heck do I keep track of car1's lane1. Getting them to return was np, but getting them to return and then go back to their home lane and wait there for me. . thank you very much Thomatoes =D

    Example of what was needed:
    Code:
        if data.triggerName == "turnTriggerTest5" then
            local curVeh
            local wpdest = ""
            if data.subjectID == lane1CarID:getID() then
                print("car 1 reached waypoint4 ")
                curVeh = lane1CarID
                wpdest = "dragRestart1"
            elseif data.subjectID == lane2CarID:getID() then
                print("car 2 reached waypoint4 ")
                curVeh = lane2CarID
                wpdest = "dragRestart2"
            elseif data.subjectID == lane3CarID:getID() then
                print("car 3 reached waypoint4 ")
                curVeh = lane3CarID
                wpdest = "dragRestart3"
            elseif data.subjectID == lane4CarID:getID() then
                print("car 4 reached waypoint4 ")
                curVeh = lane4CarID
                wpdest = "dragRestart4"
            elseif data.subjectID == lane5CarID:getID() then
                print("car 5 reached waypoint4 ")
                curVeh = lane5CarID
                wpdest = "dragRestart5"
            elseif data.subjectID == lane6CarID:getID() then
                print("car 6 reached waypoint4 ")
                curVeh = lane6CarID
                wpdest = "dragRestart6"
            --add other lines here with the elseif thingy
            else
                log("E", "drag_krallopian", "could not find corresponding line subjectID="..dumps(data.subjectID) )
            end
            
            if curVeh then
                curVeh:queueLuaCommand('ai.setMode("manual");ai.setSpeedMode("set");ai.setSpeed(7);ai.setTarget('..dumps(wpdest)..')')
            else
                log("E", "drag_krallopian", "vehicle object invalid")
            end
        end
    end
    Yeah.

    SO tomorrow I start in on asset development. I've been building the track at a 1/2 mile in length with about a 1/4 mile to stop in. Bass ackwards from how it's supposed to be in reality (1/4mile strips have a 1/2mile or more slow down). I've been testing with the Gavril Gladiator mod, using the '68 and '70 drag setups (INCREDIBLY fast and HORRIBLE brakes of course haha) so there are only a couple cars that are faster but they all have better brakes. Of course there are probably 1000's of mods of cars that do 7,000,000,000 light years a second but. . those guys are used to crashing so I don't care if they crash at the end of the strip haha.

    It's so cool though to race with 5 other ai's and then when we get to the end, we all return like gentleman to the start and wait for each other!

    Of course the track is baron right now, so I don't want to show how this works until I get some more of it developed.
    --- Post updated ---
    I tried just about every possible option other than his, "lane1CarID:getID()" uh yi yi yi yi!!
     
    • Like Like x 4
    • Informative Informative x 1
  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