Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

[RELEASED] Highroad Engine - Arcade Racing solution

Discussion in 'Assets and Asset Store' started by reuno, Jan 19, 2017.

  1. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hello, I know it's way too early for it but in the event that you do look into weapons etc I was thinking it would be super cool if you could hit a button and change vehicle prefab. i.e.: you could be a slow heavy armour tank and switch to a medium speed hovering drone and then switch to a light armour fast jet fighter thing. Hehe, that would be so awesome in an arena track :).
     
  2. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @MudPuppet > That sounds very, very specific, so I'm not sure it'll make it into the asset. That said, that's exactly how Shapeshifter Biker worked, so I can assure you you can do it very easily with what's already there, it's really a matter of removing one and adding one.
     
  3. Quicksilver01uk

    Quicksilver01uk

    Joined:
    May 12, 2013
    Posts:
    13
    Hi, I'm just looking at this asset and was wondering if you planned to implement some sort of single player campaign style mode? So that a player can choose their car (or is assigned one) and a track, but future tracks are locked until they have completed the current tracks?
     
  4. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @Quicksilver01uk > That's not something that is planned right now, as it's quite easy to add it on top of what's there, and right now I'm focusing on adding "hard" features (online multiplayer, physics, stuff like that).
    But I can add it to the todo list, no problem, it shouldn't take long to implement :)
     
  5. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hello, I can't remember the thing that I keep forgetting to enquire about so I might as well as about this... could the engine handle split track paths? i.e.: you could choose to go down the left route or the right route like you see in many racing games. I know that in certain software they calculate the track length so that either route ends up being the same length - although mostly I have only seen this in model railway or slot car applications. Obviously if the track was fairly basic (or flat) you could create a much larger checkpoint but I am not sure how it would go in instances where one path is perhaps going around a cliff or at such odd angles that a regular BoxCollider wouldn't fit the bill.
     
  6. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @MudPuppet > Not right now it couldn't, not without hacks such as, as you say, giant checkpoints covering both paths.
    But that's definitely something I could add in a future update.
     
    MudPuppet likes this.
  7. jGate99

    jGate99

    Joined:
    Oct 22, 2013
    Posts:
    898
    Hi @reuno

    Few suggestions after just playing with demos. If you already have some of these features then great.


    1- There should be difficuilty settings so if its Easy then AIs dont steer like real racers and if its hard then AI is able to control cars better making it difficuilt for user to win.

    2- Current car collides in very "static" way with trees and stones, there should be some physical reaction.

    3- There should be some Jumpable stuff on tracks.

    4- A Nitro/Boost would be great.

    5-There should be some obstacles like (boxes) that dont stop user but slow its speed and crash on impact.


    6- Currently when i collide with bot , my car should be able to influence it movements like in real world, if a fast car is going and i try to push it, it rotates.

    7- Ability to Auto generate Coins on Track, you already have information (when we draw AI BOT paths) then asset shouldbe able to generate pickups, coins etc.


    Split Tracks is a good feature request.


    Its not a feature request but a bug/problem. If my car collides with stone, i hear that ear damading sound, but if i reverse the car i still hear the same sound, better to handle cases when car moving forward or moving away from stone/tree.


    In short, great asset as usual.
     
  8. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @JohnGate > Thanks a lot for these great suggestions.
    There's a jumper thing in the Bean demo scene, a booster zone in one of the Aphex tracks. I love the idea of auto generating coins (ideally with the ability to fine tweak their position after autogeneration), I'll give that some thought!
     
    jGate99 likes this.
  9. jGate99

    jGate99

    Joined:
    Oct 22, 2013
    Posts:
    898
    Thanks for listening :)
     
    reuno likes this.
  10. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hello, just a couple more suggestions for the RaceManager... a Random Start Position for the Player and possibly a LapCounter Sound with boolean toggle (enable/disable it) ; )
     
    reuno likes this.
  11. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hey Reuno, I finally just remembered one of the other things I was going to suggest. Perhaps on the RaceManager have an option for instant game finish as it is (first car through the finish line and show end race positions) and then the alternative being the last car through the finish line and then show end race positions. Obviously with a button click so that if the second option is in play the user doesn't have to wait if they don't want to. The second option is pretty much standard in most racing games and I guess that it's sometimes nice to see just how far in front of the car behind you were when you crossed the finish line. Hope this makes sense.

    I was also going to suggest making the TargetFrameRate accessible via the inspector. I actually have my own class for this and have been testing to limit the game to 30fps and only spotted yours the other day. I am still not sure how this actually works as far as mobile frame rates vs battery life but assumed that if I Ieft it at your setting of 300fps that the device would be chewing more power (and heating up a bit) as the game tries to achieve a maximum frame rate for the device. Like I said, I am still not sure as to how this all works as I haven't stumbled upon any real-world info on the net thus far and nothing I have found shows any specifics for different devices.
     
    reuno likes this.
  12. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @MudPuppet > Good RaceManager suggestion, added to the list!
    As for target framerate, as far as I know, there's no risk at all with leaving it at 300fps. But of course you can change that value if you want.
     
    MudPuppet likes this.
  13. jGate99

    jGate99

    Joined:
    Oct 22, 2013
    Posts:
    898
    IMHO, 30fps will drain battery less and prevent device from overheating early.
     
    reuno likes this.
  14. brettboring

    brettboring

    Joined:
    Nov 8, 2013
    Posts:
    31
    Hey reuno, finally got round to picking up highroad.
    Is the track test function locked to 4 bots? Ive changed the float range in racemanager and added extra start positions but only 4 out of the 10 bots will actually race. All the bots seem to have the proper scripts when they spawn in.

    cheers.
     
  15. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @Brohepa > Right now there's a small mistake in the RaceManager's Max Players settings. It's fixed in the upcoming version. The [HideInInspector] just above the MAX_PLAYERS declaration effectively hides that field from the inspector.
    But it's still "in the inspector" and changing it in the class won't have any effect.
    I'll turn that into a const for the next version. In the meantime, you can simply remove the "[HideInInspector]" line, and you'll be able to edit that value to a 6 in your inspector, and you'll be good to go.
    Sorry you ran into this!
     
  16. brettboring

    brettboring

    Joined:
    Nov 8, 2013
    Posts:
    31
    Thanks! Changing the max_players int in the locallobbymanager script to 10 worked a treat.

    Just an idea but perhaps introduce having the ai choose from multiple waypoints to avoid predictability?

    ie an aiwaypoint would contain multiple waypoints and the ai chooses 1 either randomly or based on its previous selection. if you came from A1(3) waypoint you have a 80% chance of selecting A2(1) waypoint..etc

    cheers dude!
     
  17. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @Brohepa > Happy the fix worked. It'll be all good in the next version.
    And I like that AI idea. I need to give it a try but it's on my todo list now!
     
  18. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hello Reuno, I will call this crazy-whacked-out-idea #01 o_O. Profanities (only good for multiplayer). i.e.: Player hits button and cartoon speech bubble appears above (attached to) player vehicle with a random small amount of text from an array. Great for when you want to hurl abuse as friend passes or laps you; or when you are the one passing or lapping and want to rub it in :).
     
  19. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @MudPuppet > Great idea, but I'll have to admit I'll probably do that one when all the rest of the todo list is done :)
     
  20. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hey Reuno, I honestly don't have any expectations for that idea - just thought that I would throw it out there.

    Onto another topic... I was just trying to hook up the SFX/Music Volume Levels of the SoundManager to some UI Sliders. This was my first ever attempt at looking into doing something like that but I thought that I would mention that I couldn't access either volume components(?) when dragging the SoundManager onto the Slider-Button widget. This won't affect me personally as I am almost done getting all audio to work through a 3rd party asset (Master Audio) but I thought that I would mention something anyway.
     
    reuno likes this.
  21. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @MudPuppet > Not sure what happened, I thought I had answered that one. Anyways.
    That's something that is possible but you'll have to extend the SoundManager class to make these values accessible.
    I can add that to the list (not high priority though) :)
     
  22. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hey Reuno, just wondering if you could advise me on how I might tackle something like getting a sound to play or a start podium light to turn on for each count of the starting game countdown timer. I think I can handle the actual thing that I want to happen - I just can't seem to work out how to approach accessing the timer itself.

    i.e.: if (countdown timer == 5) { my code here };
     
  23. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hello, I have another suggestion too. Perhaps an effect (prefab) slot that gets triggered when a vehicle wins the race (like fireworks or something).

    Also, on the previous suggestion about how the race is finished (instant/delayed) I am not sure how the pros do it but on a delayed race, where it doesn't finish with the first vehicle to complete all laps, maybe the player controlled vehicle could switch from user-controlled to the AI waypoints once it completes all laps. Hehe, just throwing the info out there to give a bigger picture.
     
  24. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @MudPuppet > The variable you're looking for is the RaceManager's newFloorTime. It's private right now so either operate from the RaceManager (ideally extending it), or make it accessible publicly.
    And thanks for the suggestions!
     
  25. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hey Reuno, yeah I was fiddling with newFloorTime amongst other things. I know that I am close to solving this one but I might put what I have into the RaceManager class and see if I can get it working there first. I am trying to leave the RM class as vanilla for as long as I can but if I have to extend the class so be it.
     
  26. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hey Reuno, I have found a bit of a problem that has now happened twice but I am unsure of the exact conditions to replicate the issue. From what I can tell I am on the 5th and final lap. I then start to go in the opposite direction around the track, and after what I am guessing is 5 laps in reverse the race ends as per normal. I am assuming this means that the lap counter is working for both directions instead of just the one direction.

    Unfortunately I am just now sorting through the end of a massive update on all of my art/3d assets so it will be a few days before I have a couple of tracks built up and on the phone again. Then I can do some more tests.
     
  27. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @MudPuppet > Oh I can see why that would happen. Bit of an edge case but definitely a bug. I'll fix that, thanks for reporting this!
     
  28. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hehe, yeah it's one of those situations where you would think that players would be headed in the right direction as standard but then I can remember the good old days of multi-player race games on the Amiga and there was always one person who would end up going the reverse direction to annoy everyone else (or choose the tank vehicle to shoot everyone else ;)).
     
    reuno likes this.
  29. brettboring

    brettboring

    Joined:
    Nov 8, 2013
    Posts:
    31
    hey man! A few things, none of which are bugs so i thought i would post here. when i change build settings to android i lose keyboard input, i'm sure with infinite runner you could have both touch sim with mouse and keyboard control when build is set to android, is this not possible in highroad?

    how did you make your tracks? i'm making a simple oval track in blender and the cars bounce all over the place with mesh collider > convex off, with it on the center of the oval is filled in and therefore the offroad penalty doesnt work. is it just a case of added more vertices until they don't bounce anymore?

    finally i'm having a bad time trying to add bots through local lobby manager with out using the ui. im running a simple for() loop on addlobbyplayer(true) but having a few issues. Could i email you about this or should i wait for a single player mode to be added?

    cheers!
     
  30. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hey, that sounds like it might be a scale issue and the physics is trying to compensate. What I did was check by matching my own track scale to one of the demo tracks in a 3d app. I have had no problems or noticed no behaviour difference with either the MeshCollider/Box Collider or using different vert counts on geometry. If you can get your track and vehicle geo to export into Unity as 1,1,1 then you should have no problems. Also, I am pretty sure that the asset package includes a demo oval model/prefab(?) so you could always check scale or other settings against that. Oh, and check the normals direction on all geo in Blender just in case.
     
  31. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @Brohepa > The input thing is indeed a bug, already fixed and will be included in the next release. If you need the fix before that, drop me a line on the support email address and I'll send it to you.

    The demo tracks are all made in Cinema4D, but anything that can output a mesh will do the trick. As @MudPuppet said, it could be a scale issue. The easiest solution would be to match the demo scenes scale. Otherwise you'll have to play with physics settings, which can quickly become confusing. It's just better to stick with Unity's "default / good practices" scale.

    You can absolutely add bots via code to the LocalLobbyManager. That's actually how the "TestMode" in the RaceManager class works. I'd suggest looking at that to see how it's done. If that doesn't help, send me an email.
     
  32. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hello, dunno if this suggestion is applicable but I seem to remember it in many an old arcade racing game. Remember how in some games you could hit the accelerator button in time with the race start count down and if you clicked in time with the countdown you got a small boost at the start?

    Also, Cinema4D totally rocks and will always be my fallback 3d app :).

    My own cars are to roughly the same scale as the ones in the asset but come in at 1,1,1 and my track pieces have a parent object that is 1,1,1 scale but the child objects are all 0.3 scale. I also tend to swap some primitive geo between apps so that I get a better idea of scale difference when I am using metres, centimetres, and millimetres in Maya.
     
  33. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
  34. brettboring

    brettboring

    Joined:
    Nov 8, 2013
    Posts:
    31
    Thanks for your responses! Glad to hear that keyboard function in android build will be added and I can wait for the update.
    I'll keep trying with blender to output a mesh that doesnt bounce using your tips
     
    reuno likes this.
  35. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hello Reuno, another suggestion which is standard in most racing games but to do with the UI this time... Lap Time and Best Lap Time display. I am sure you know what I mean. Hehe, and here I was thinking that there couldn't possibly be any further suggestions from me o_O.
     
    ayk and reuno like this.
  36. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
  37. FeedorFeed

    FeedorFeed

    Joined:
    Jan 9, 2014
    Posts:
    35
    Might be a silly question, but how would I get the cars to grip more (go in the direction they are facing quicker).
     
  38. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @FeedorFeed > One way you can do that is by increasing the drag value on your vehicle's rigidbody component.
     
  39. FeedorFeed

    FeedorFeed

    Joined:
    Jan 9, 2014
    Posts:
    35
    Haha, turns out I was adjusting the Angular Drag, thanks :)

    Noticed the API for it was down, but it comes with a PDF API doesn't it?
     
  40. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
  41. FeedorFeed

    FeedorFeed

    Joined:
    Jan 9, 2014
    Posts:
    35
  42. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @FeedorFeed> Thanks for reporting this! I just fixed it :)
     
  43. FeedorFeed

    FeedorFeed

    Joined:
    Jan 9, 2014
    Posts:
    35
    No problem! Thanks for fixing it so quickly.

    If I wanted to add more input would I extend the ActorInput class or just modify it directly?
     
  44. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @FeedorFeed > The easiest way is to modify the IActorInput method, and update the InputManager as well.
    Extending it would be cleaner but it's heavier work.
     
  45. brettboring

    brettboring

    Joined:
    Nov 8, 2013
    Posts:
    31
    hey reuno, found a small bug with mmdebug you've locked Raycast3D direction to vector2 :D
     
  46. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @Brohepa > You're absolutely right. Thanks for spotting this.
    It works in the few places it's used though, but I'll fix it for the next release.
     
  47. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    Alright, so good news / bad news.
    The good news is the Highroad Engine has got a brand new page : http://highroad-engine.moremountains.com/
    The bad news is I broke my contact form for the past 24 hours. It's working now, but if you sent me an email yesterday via this form, better send it back, sorry!
     
  48. Maulwurfmann

    Maulwurfmann

    Joined:
    Mar 11, 2014
    Posts:
    366
    I am interested in getting this, but i am hesitating a bit since you have been writing for a while "... will be added in the next version" but when do you release a update? do you have an estimated date and list of changes? Thanks!
     
  49. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    3,110
    @Maulwurfmann > As explained in the asset's FAQ, updates get released when they're done. Which means when they have great value and are fully tested. I apply the same quality standards to all my assets, but this means I don't give estimates or feature lists before they're done, because by definition this process can't be predicted. That's why I recommend buying the asset for what's in it, not what may or may not come.
     
    theANMATOR2b likes this.
  50. MudPuppet

    MudPuppet

    Joined:
    Aug 10, 2012
    Posts:
    139
    Hell Reuno, whilst having a go at a lap counter/timer alternative (so I could just see data for the player only) I was struck with one game-play variable with regards to lap/track times. This is the track scene starting Game Time. i.e.: due to the fact that a player could be in any Race Starting Grid Position the lap/race time could be more or less. This led me to think that really the lap/race time should not start until the player has gone through the start checkpoint for the first time.

    Anyway, I thought that I would point this out as the situation struck me as a bit odd when I thought about it.