Search Unity

Games Scraps: Modular Vehicle Combat - Vehicle combat with buildable vehicles

Discussion in 'Works In Progress - Archive' started by Nition, Dec 8, 2012.

  1. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Work on Gauntlet mode level flow is going quite well, except load times are ~15 seconds. :( Working on that...
     
    NomadKing likes this.
  2. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Got loading times down to ~9 seconds last week, then got it down to ~7 seconds over the weekend. Not amazing, but less than half what it was. Going to stop soon since each optimisation gets harder than the last.
     
    MD_Reptile likes this.
  3. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Gauntlet tasks to do before initial release
    Get local games fully working - DONE
    Object for holding game state in Gauntlet mode - DONE
    Auto-repair system + vehicle swap ability - DONE
    – Gauntlet game flow from menu to end
    – Score system
    – Level generation tweaks
    – Update scrap drop system
    – Item unlock system
    – Update How To Play screens
    – Test and balance gameplay
    – Music?


    Free repairs
    At the end of each Gauntlet level I'm giving the player some amount of free repair and rebuild time.



    This is measured in "minutes" because I don't want people to think it's using up some of their scrap, but there's a straight conversion between "minutes" and "scrap". For instance one minute might give 50 scrap worth of repairs. The implementation of all of this could change, but at the moment I'm giving the player some amount of free repairs (which can include rebuilding lost parts) at the end of each Gauntlet level, and each level gives a bit more time than the last (covering the fact that that player's vehicle is probably getting bigger).



    The free repairs are currently automatic, but they'll try to be not too dumb, and always repair cockpit and chassis first.


    Why
    The thing is, Gauntlet mode will be a series of levels where you keep the same vehicle, so if I don't provide any free repair time then there'll be a huge spread in potential vehicle value once the player has completed a few levels, which becomes hard to manage.

    Say I want to have the player be able to, on average, increase their vehicle value by 3000 at the end of a certain level, and I also decide that I'd like to let them recover from about 50% damage. I calculate what I think their vehicle will be worth at that point following the formula - say it comes out that their vehicle might be worth 4000 scrap. 50% damage = 2000... So I'd put 5000 scrap in the level to cover 2000 repair/rebuild + 3000 upgrade. But of course they might take more or less damage than that, and compounded across several levels you have potentially HUGE ranges in vehicle value. Someone who takes no damage can increase their vehicle's value by 5000. Eventually, just by dropping enough scrap for an "average" player to repair 50% damage, the player who cleverly takes no damage could have a vehicle worth even more than I really want to allow for performance reasons. Or just totally streamroll through levels that are balanced for lesser vehicles.

    The more free repairs I give, the more levelled the playing field becomes. With unlimited free repairs, all scrap collected could go to vehicle upgrades. I'm still experimenting with how much free repair time I actually provide. I don't want everything to be totally balanced and boring either.


    How
    That big repair/rebuild button that you see on the Build screen in Melee mode, I've actually updated that (in my dev version, not live) to use a GUI more like the above screenshot except with scrap showing instead of minutes. Then the end-of-level repairs are actually a special case of the same system. Internally instead of repairing using the player's banked scrap, a special temporary wallet is created with some scrap in it, and that's used to do the repairs. So the code path is exactly the same except the "money" for it comes from a different place. Keeps things simple vs. having two different systems to maintain.


    Vehicle Swap
    This just means you can swap your vehicle out somehow, so if you start with e.g. a Small chassis you can upgrade to a Medium or Large. I won't say much about this now because how I handle it might change.

    Game Flow
    The next task on the list is the flow between levels. I've already been working on that as well, with a major issue being level loading times. Loadnig a Gauntlet map was taking about 15 seconds on my relatively decent PC, but I've now got it down to around 5½ seconds. I'll talk about that next time.

    ***

    I know there's been a bit of a gap between the last update and this one. I've actually been fixing a few other issues around the game as well. Nothing really worth talking about, although if you've ever done a repair/rebuild on a vehicle and had it error out saying a part can't be attached, I discovered that issue too and it'll be fixed when Gauntlet releases.
     
    Last edited: Jul 30, 2017
  4. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Gauntlet tasks to do before initial release
    – Get local games fully working - DONE
    – Object for holding game state in Gauntlet mode - DONE
    – Auto-repair system + vehicle swap ability - DONE
    – Gauntlet game flow from menu to end - DONE
    – Score system
    – Level generation tweaks
    – Update scrap drop system
    – Item unlock system
    – Update How To Play screens
    – Test and balance gameplay
    – Music?

    Gauntlet game mode flow
    Most game development starts with the developer testing things by dropping directly into a level. No menus, no options, no worries about setup or unloading things on quit. But eventualy you've gotta make it playable for the masses.

    I've posted enough boring flow charts already recently but in Gauntlet the player goes from the main menu, selecting Gauntlet mode, to a vehicle select (or build) screen, to Gauntlet World 1-1. Then they either die, taking them to an end game score screen, or they make it to the evac point, getting them some free repair time, and then time to spend the scrap they've collected. Then they drop into Gauntlet World 1-2. And so on.

    I'm not happy with the look of my end-of-Gauntlet score screen (it's so boring) but it's got what it needs in it:



    The scores are fake for now - that's the next task on the list. High scores are likely to be local only for the initial release of Gauntlet mode but barring any serious issues I intend to add worldwide leaderboards later.


    Loading time saga
    Soon after I started to code in the actual flow through a game of Gauntlet, I came across a loading time issue.

    Gauntlet maps give the player a random chunk of a much bigger map to play through, with semi-random content spawned on it. I knew that loading the map with all the possible content and then deleting what I didn't need would be terrible for loading times, so I'd already written a system for packing the map's content into data and only spawning in what was wanted. I hoped that would be enough.

    It wasn't. The map's terrain and extra static content still had to load in and loading times into a Gauntlet level were around 15 seconds. So I went on a bit of a mission to reduce it.
    • Removed level walls that were only there for editor use. Now it was 12 seconds.
    • Reduced detail on the walls that are generated when the level starts. Now 8 seconds.
    • Wrote a packer to pack all the remaining terrains and static content in the level and only spawn in what's needed. Now 5 seconds.
    That's Good Enough.


    Extras
    I also did a couple of extra things that'll make it into the inevitable Gauntlet release eventually. These took way less time than the game flow code but look a lot more interesting in a blog post.

    Actual light cast by weapon muzzle flashes. Shown here in an artifically dark scene to make them more obvious:



    Extra FX on plasma weapons. The side-ejected plasma FX were already there but plasma weapons didn't have a muzzle flash which was kind of weird. Now a burst of plasma residue comes out the front as well, along with the actual projectile:

     
    Venryx likes this.
  5. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Gauntlet tasks to do before initial release
    – Get local games fully working - DONE
    – Object for holding game state in Gauntlet mode - DONE
    – Auto-repair system + vehicle swap ability - DONE
    – Gauntlet game flow from menu to end - DONE
    – Score system - DONE

    – Level generation tweaks
    – Update scrap drop system
    – Item unlock system
    – Update How To Play screens
    – Test and balance gameplay
    – Music?


    Score
    The trick to not making a terrible score system in a game is to make sure it rewards a type of gameplay that's actually fun. If it rewards playing the game in the way you actually intended, well that's a nice bonus.

    In Gauntlet I've set the score to be based on total enemy scrap destroyed - get points for destroying stuff that shoots back, get more points for harder stuff. Then an added bonus for time to complete the level. I think I'm going to add a base score for just clearing a level as well.

    Check this GUI out, it even has actual transition FX:


    (ignore the time there - levels won't take 16 minutes...)
    • If there was no time bonus, score for each level would end up much the same as long as you cleared every enemy, no matter how good you were.
    • If there was no enemy scrap bonus, players could try to get a high score just be avoiding all enemies and going directly to the exit.
    Although, I do like allowing different strategies which is why I might add a base level clear bonus as well. If the player avoids enemies they won't be able to collect scrap from them, which will leave them with a weaker vehicle, so there's still a balance in challenge there.


    Turret revamp



    The first Gauntlet level is mostly turrets because they're the easy enemy to fight, and it kind of sucked because you can't do much but sit and shoot at a stationary turret. I've tweaked their stats so they won't take so long to kill but that's still a bit boring, so I've also revamped them to have separate top components. All the gun parts will be separate components that can be shot off, meaning if your aim is good you can take out a turret more efficiently. Once the top is destroyed, the base automatically loses most of its health as well so it's not a chore to dispatch the remaining disabled foundation. Heatsinks/generators on the back are separate components as well and the guns overheat or fire less often when they're destroyed.
     
    Last edited: Sep 26, 2017
  6. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Gauntlet tasks to do before initial release
    – Get local games fully working - DONE
    – Object for holding game state in Gauntlet mode- DONE
    – Auto-repair system + vehicle swap ability- DONE
    – Gauntlet game flow from menu to end- DONE
    – Score system- DONE
    – Level generation tweaks- DONE

    – Update scrap drop system
    – Item unlock system
    – Update How To Play screens
    – Test and balance gameplay
    – Music?


    Level generation tweaks

    Honestly not much to say about this one as I've already talked a fair bit about the level gen in Gauntlet mode in a few older posts. The work I've been doing on level gen recently is mostly code modifications that aren't very interesting to blog about - Just trying to generate nice levels and balance the game mode.


    Zoomed in view

    So I'm going to talk about something that's a bit more suited to a blog post.

    Ever since Operation Flashpoint or even MDK to some extent, first-person shooters have tended to have an "aim down sights" mode where your view often zooms in a bit, it brings up your gun as if you're aiming down the sights, and you generally get some increased accuracy.

    I'm not doing that, because the last thing I want is for close-combat vehicle fights to be full of confusing zoomed views of the action just to get slightly less bullet spread. And it'd make no sense to aim a gun first-person style in a third person game. But in Gauntlet mode there are some large areas and I noticed that I sometimes had trouble lining up the shot I wanted, so I'm putting in a minor zoom function, currently by default on the middle mouse button (not released, this is in my dev version only). It has no effect on accuracy and it can be safely ignored, but IMO it's kind of nice.

    The simplest way to do a "scope" in an FPS type game is to simply decrease the camera's Field Of View. That method works perfectly if your aiming reticle is in the exact centre of the screen. But Scraps has an off-centre reticle - in fact it can be moved by the player as well.

    This is what happens when you zoom with a non-centered reticle (click to view - the Unity forums don't seem to like displaying my GIF directly).

    At the start of that for instance, I'm aiming at the bottom of the wall. When zoomed, my mouse hasn't moved but now I'm aiming at the ground. Not good.

    Surprisingly few people seem to have this problem to solve; I think most games must have the reticle in the exact centre. However I found some genius had already solved it here. Like the best answers, he's answered his own question.

    With that formula implemented, things look way better (click to view again).

    Although notably not quite perfect. As far as I can tell I think any remaining error comes from the changes in the perspective of the scene, since the camera has to rotate to keep the reticle pointing at the same place, and that means things that are close shift visually a different amount to things that are far away.

    Probably the only way to completely solve it would be to do something like raycast to the thing the reticle is currently pointing at, then tell the zoomed camera to look at that particular point. Or of course just put the reticle in the dead centre like a normal game! But honestly, the current solution is close enough, especially for a feature that doesn't really affect the game.
     
    MD_Reptile likes this.
  7. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Gauntlet tasks to do before initial release
    Get local games fully working - DONE
    Object for holding game state in Gauntlet mode - DONE
    Auto-repair system + vehicle swap ability - DONE
    Gauntlet game flow from menu to end - DONE
    Score system - DONE
    Level generation tweaks - DONE
    Update scrap drop system - DONE
    – Item unlock system
    – Update How To Play screens
    – Test and balance gameplay
    – Music?

    Long gap between updates, the end of the year was a busy time. Having said that I actually forgot that I'd put "Update scrap drop system" on the Gauntlet TODO list as a separate line item and I finished that a while ago. I'm working on "Item unlock system" now, plus some other bits that weren't big enough to get on the list.


    Updating the wreckage drop calculations
    The reason I needed to update this is that the amount of scrap you'd get to collect from destroying a vehicle in total could vary a lot depending on how it was destroyed. This was OK in the old Melee mode but kinda lame in Gauntlet, where I'd prefer to have a decent idea of how much scrap I'm going to be supplying per level.

    The main issue was the reliant part system. In the current Steam version (and older versions), the rules work like this:
    1. Look at the part that was destroyed. Are there any parts connected to the chassis ONLY through that part?
    2. If so, add them to the list of destroyed parts (so you don't get parts floating in space).
    3. Sort the destroyed parts from most to least valuable.
    4. Pay out 100% of the scrap value of the most expensive part, then 77.5% value for the next, then (77.5^2)% and so on.
    5. If the value multiplier gets below 10%, stop paying out.
    For example say I built this thing:



    And the outer 1x2 block got destroyed:



    Then the wreckage would pay out in value like this:



    I did it that way originally because it felt more fair, since it takes less effort to shoot off one part that takes out a whole lot, then it would to destroy them all individually. I also tried to be fair by paying out the more expensive parts at the highest percentages.

    But maybe it's nice to reward skill for the shooter's aim and punish bad vehicle design too. Either way this wouldn't work so well in Gauntlet because it means vehicle scrap payouts can vary hugely depending on how the parts of a vehicle are destroyed, even when the vehicle design itself doesn't change.

    So I changed it to just give an X% change to pay out 100% of the wreckage value for each part destroyed. So the payout is either 0% or 100% for each part.



    And actually it feels fine, even in melee mode. If payouts end up too high or low, the percent chance can be tweaked. If it really doesn't work after I release it like this, I can roll back melee mode to the old version and keep the new one for Gauntlet. It ends up giving bigger payouts for destroying the final cockpit or chassis on a vehicle and less for destroying individual parts. Obviously this still results in variation in payouts since there's still randomness involved, but it's a sort of randomness now that averages out over time, which works better for Gauntlet mode.
     
  8. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Gauntlet tasks to do before initial release
    Get local games fully working - DONE
    Object for holding game state in Gauntlet mode - DONE
    Auto-repair system + vehicle swap ability - DONE
    Gauntlet game flow from menu to end - DONE
    Score system - DONE
    Level generation tweaks - DONE
    Update scrap drop system - DONE
    Item unlock system - DONE
    – Update How To Play screens
    – Test and balance gameplay
    – Music?


    Item unlock system

    One interesting thing about Scraps is that most of what I've done on it is in the game. That might sound almost like a tautology, yet it doesn't seen uncommon for a lot of games to have something like 50% of their feature work not actually make it in to the final game - whether it's tossed out due to not being fun, from a change of vision, or just from being a bigger job than expected. Whether Scraps keeps more of its features because I had a clearer plan from the start, or because I sometimes keep features I should have ditched, you can decide! But man, it takes long enough to make a game alone without scrapping features as well.

    Anyway, I say that because I sort of ditched a feature. I had a general plan that you'd occasionally get part pickups in Gauntlet, similar to the existing wreckage pickups. I started a basic implementation of it - here are some early test part drops:



    So you'd start Gauntlet with only a subset of all parts available to you to build with. You'd pick up parts along the way that'd unlock that part for use on your vehicle. Some parts would be per-game only, and some would unlock permanently to use like how XP works now. The per-game ones could include some special/quirky parts that were fun but maybe a bit overpowered or unbalanced for Melee mode.

    That sounded neat but in reality there just aren't enough total parts and there'd have to be a lot more for it to really make sense and not cripple the parts you start with. Additionally, I could have added the whole new system for dropping and pickup up parts (e.g. one part drops per Gauntlet level)... or I could just give out part unlocks at the end of Gauntlet levels using the existing unlock system, and it'd basically give exactly the same result.

    So I ended up doing a thing where completing Gauntlet levels sequentially unlocks parts (permanently), as an alternative way of getting parts vs. the existing XP system on its own. I may end up basing it on score in Gauntlet mode instead of levels completed, but that'd be much the same thing. And any parts you've unlocked before can be used right away, which stops Gauntlet starting vehicles being too limited.


    Cosmetic rewards

    I also made these crown/trophy things that completing Gauntlet stuff can unlock.



    And yes, they can go on your vehicle. They don't really do anything and they're a bit silly really but look how shiny they are.



    They do have a bit of HP, so naturally they cost a little bit of scrap to add to a vehicle, but only about the equivalent of buying armour with the same HP. They're meant to be a free bonus that you can show off.

    - Completing Gauntlet mode when I've initially released it but it's not finished yet (missing Worlds etc) will unlock the "Alpha" Crown.
    - Completing Gauntlet mode when it's finished will unlock the standard "Gauntlet" Crown with the wreckage cube.
    - Doing something special (maybe looping through Gauntlet twice?) will unlock the Master Trophy (far right).
     
    RavenOfCode and MD_Reptile like this.
  9. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Gauntlet tasks to do before initial release
    – Get local games fully working - DONE
    – Object for holding game state in Gauntlet mode - DONE
    – Auto-repair system + vehicle swap ability - DONE
    – Gauntlet game flow from menu to end - DONE
    – Score system - DONE
    – Level generation tweaks - DONE
    – Update scrap drop system - DONE
    – Item unlock system - DONE
    – Update How To Play screens - DONE

    – Test and balance gameplay
    – Music?


    Updated How To Play screens
    The Scraps How To Play screens have always been a bit minimal. I wanted to update them to work with the upcoming Gauntlet mode, but also add a bit of a side menu so it wasn't just a slideshow and the reader could skip around.

    Once I did that, the change in screen aspect ratio meant the old image-based screens wouldn't work well anymore. They were always a hassle as well because the text was baked in, so for language translations each image had to be swapped out with one in a different language. Then if the text changed, they all had to be updated.

    So I ended up basically re-doing the whole thing, with a bit of painstaking copying across existing language translation text where possible because people have done hard work (for free!) on those.

    I tried a few different styles and colours. Here are a couple of colour schemes:





    I think the darker one above looks best. The items on the left can be clicked to skip to different sections, and arrow keys work as well.

    The screens also scale automatically to some extent to different screen resolutions and aspect ratios, right down to 800x600.



    * * * *

    The next task on the list is a big one, because it's basically get everything in the first two Gauntlet worlds fully working and working well. A large part of that is just going to be testing and adjusting the gameplay. I really should add some analytics as well that'll let me know how far people playing are actually getting once it's out. It'd be anonymous data that you could opt out of, of course.

    Will be working on it whenever I can.
     
    MD_Reptile likes this.
  10. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    You know, I've been thinking that I must have come up with the idea for a buildable vehicle game when I was around 13-14 years old, combining the likes of Interstate '76 with the building in the likes of Lego Racers or Stratosphere.

    But I recently remembered seeing this Sega Master System game for rent in the video store, and being highly intrigued by the box art claim that you could "start out by building your own space ship"!



    That must have been around 1992. So maybe I always wanted this sort of game really.

    I know I haven't posted any news in a long time. Life has been busy, but I'm still working on Scraps when I can.
     
    RavenOfCode and MD_Reptile like this.
  11. MD_Reptile

    MD_Reptile

    Joined:
    Jan 19, 2012
    Posts:
    2,664
    I have been using your example of skidmarks you blogged about some time ago - and wanted to say thanks for that, works nicely on mobile! :)
     
    Last edited: Nov 7, 2018
  12. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Cool!

    In case anyone else wants some stuff I've made for Scraps and open-sourced:

    UnityOctree
    https://github.com/Nition/UnityOctree

    It's what it says. A dynamic octree for use in Unity. My claim to fame is that Unity Technologies themselves forked it at one point, I have no idea what for.

    I use this in Scraps for a few things. Snapping held parts to your vehicle on the Build screen is one.

    UnitySkidmarks
    https://github.com/Nition/UnitySkidmarks

    Pretty simple, good performance skidmarks that I use for vehicles in Scraps.

    UnityTerrainGrass
    https://github.com/Nition/UnityTerrainGrass

    I think a lot of new terrain stuff is coming soon so it'll probably obsolete this. It's just a replacement shader for the default terrain grass, literally the same shader too but just swapping the cutout effect for an alpha blend. Performance seems about the same and I think it looks better. Just drop it in your project.
     
    Last edited: Nov 12, 2018
  13. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,780
    Hi, I need say great project. And thx for sharing.
    I saw it already quite long time ago.

    What I am interested, is one scraps video on youtube, presenting cops and robbers challenge (4 players).
    Generally quite fun to watch. Specially toilets roulette / carousel ;)

    One thing which has catch my attention was, that one of participants said, he had only 2FPS.
    What is possible cause, of such FPS drop?

    What is your performance bottle neck at this moment?
     
  14. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    I just went to look for the video you're referring to and all the "cops and robbers challenge" results I get are for Scrap Mechanic. That's a different game that came out after mine. I think you might have the two games mixed up. :)
     
  15. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,780
    Oh. :)
    Lol, I got no words :p
    Interesting. I always thought these are the same thing :)
     
  16. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    The latest release of MacOS has removed support for 32-bit applications. This broke Scraps on Mac as it was previously 32-bit. On Friday I updated the Steam version of Scraps to be 64-bit on Mac, and it should now be fully working again.

    Meanwhile a preview release of Gauntlet mode is getting close as well. When I went to balance everything, I ended up adding a couple of extra maps and some other changes to get everything working nicely, which has taken a while. Here are a couple of quick preview screenshots from previously-unseen worlds:



     
  17. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Finally got the first few worlds of Gauntlet mode ready to play and live on Steam for everyone. Merry Christmas.

    0.6.0.0
    - Added the first four worlds of the in-progress GAUNTLET game mode
    - Completing the current in-dev version of Gauntlet bestows a little crown you can put on your vehicle
    - Singleplayer games (Gauntlet, and Melee with "Allow other players to join" off) are now truly local without a separate server process, improving CPU performance and start time
    - Updated firing modes. Primary mode now fires weapons in a staggered fashion. Secondary fire (mouse 2 by default) fires together
    - Middle mouse button now zooms view (visual effect only - doesn't affect accuracy)
    - AI players may appear using a new Micro chassis and/or a CPU brain instead of a cockpit in Gauntlet mode
    - Rewrote the vehicle sound manager. No more sounds dropping out, smoother sound balance overall with any number of simultaneous weapons firing etc. Less sound sources playing at once
    - Fixed a bug where sounds could get cut off suddenly when they shouldn't
    - Revamped how parts calculate scrap to drop. You can now expect roughly the same amount of scrap no matter how a vehicle is destroyed (previously, destroying a part with other parts connected dropped less scrap than destroying each part individually)
    - Weapon tracers are more visible with thicker lines up close
    - Made wreckage stand out a little more against the background
    - Significantly improved interpolation on other player's vehicles in networked games
    - Radar GUI now includes off-radar indicators
    - HUD: Weapon reticle edits, with a different design for weapons with bullet drop
    - Balance: Decreased TTK - Everything has around 20% less HP, with weapons doing the same amount of damage as before
    - Balance: Decreased all weapon hit forces significantly. Firing force (recoil force on the shooter) is unchanged
    - Medium Cannon bullets are no longer affected by gravity (no bullet drop)
    - Tweaked camera shake
    - Completely revamped the How To Play screens
    - Added light flashes to weapons firing
    - Updated firing FX on Plasma Artillery and Plasmanator
    - Added damage debris FX for weapon hits and collisions
    - Fixes for labels above vehicles/things. Better damage indication effect
    - Some terrain types now always leave wheel marks - not just when skidding
    - New skidmark formula. Skidmarks also now show up while using the handbrake
    - Containers are stronger, more expensive, and hold more scrap. Some other minor part stat tweaks
    - Load vehicle dialog now shows vehicle scrap values in orange if they're above the currently available scrap allowance
    - Load vehicle dialog now supports filtering out overpriced builds entirely
    - Load vehicle dialog now remembers your filter settings
    - Removed sounds that played when parts were damaged, they were poor quality and mostly unnecessary
    - Some improved explosion sounds
    - Standard colour coding for quit/continue buttons
    - Improved in-game GUI performance
    - Revamped the auto-repair sequence that happens when the repair button is pressed
    - Revamped turrets - the gun part can now be destroyed separately to the base
    - Shockwaves show up better and look kind of cooler in a late 90s game sort of way
    - Added a momentary red flash effect on parts that take damage
    - Destruction can now cause camera shake
    - Adjusted wheel colliders so vehicles are a bit less tippy in general
    - Shift key now doubles as the same modifier as Ctrl on the build screen: Allows deleting with one click, or duplicating on place.
    - Smoothed out AI aiming; mostly obvious with laser weapons which are now less jittery
    - Minor font changes

    Bug Fixes:
    - Tamed the occlusion culling. No more weird flickers when the game decides something is not visible when it actually is.
    - Fixed rotation pivot point on small machine gun (visual fix)
    - Fixed AI vehicles being able to trigger "Skipped rebuilding x: Connection point is missing." messages when doing their own rebuilding
    - Fixed occasional failures to rebuild vehicle parts in the correct order, due to a sorting bug
    - Fixed shockwaves flickering when multiple shockwaves were running at the same time
    - Reduced some unnecessary garbage generation
    - Fixed electrical damage FX being backwards, showing the most "lightning" at the least damage
     
    Antypodish likes this.
  18. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    New minor update, 0.6.0.1:
    – Increased Gauntlet mode difficulty a little
    – Made Gauntlet level lengths (from spawn to evac pad) shorter in general
    Bug Fixes:
    – Fixed a bug where the round ending while on the build screen could send the player to the wrong next map

    Scraps was also rather kindly invited to participate in a one-week Builder Games Sale which started yesterday, with a lot of building games on Steam involved. Scraps is 75% off during this sale, which is the biggest discount it’ll have for some time.

    The full Builder Games Sale page can be found here.
     
  19. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    New update with major CPU performance improvements, a new turreted version of the Medium Laser, manual vehicle flip for if you get really stuck, and more changes listed below.

    0.6.1.0:
    - Significantly reduced initial game-start loading time
    - Added a turret version of the Medium Laser
    - Massive improvements to AI performance, greatly reducing CPU time when playing with many AI
    - Can now manually flip your vehicle (max once every 10 seconds) with F. Key assignment can be changed in the game options. Must be grounded and not moving fast
    - Auto-flip when upside down is a little more reliable
    - Reduced AI max roam speed in Melee mode, so fast vehicles chill out a bit when just patrolling without a target
    - Added a little camera shake to collisions
    - Removed the small monuments that spawned at previous vehicle-destroyed locations in Gauntlet. They were more annoying than cool
    - Increased static friction (friction when not moving). Vehicles are less prone to sliding sideways down slopes
    - Demo version no longer uses the XP system. Previously demo could reach up to 900XP, now fixed at 900XP
    - Demo version no longer shows help info for game modes
    - Area-effect weapons were doing too much damage in general. Reduced area damage overall in several ways, and adjusted costs
    - Minor tweaks to vehicle networking
    - Adjusted some AI patrol points that were in bad spots on DustBowl and RiverRift
    Bug Fixes:
    - Fixed several bugs with Gauntlet mode level generation
    - Fixed evac pad graphics glitch on TestMap
    - Made an evac pad variant for when evac happens on the Gauntlet Water bridge, that looks a little less ridiculous.
    - Fixed not being able to drive underneath the Gauntlet Water bridge.
    - Improved evac pad height positioning in Gauntlet mode
    - Fixed Gauntlet score counter sound
     
    MD_Reptile likes this.
  20. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    I released Scraps v0.6.2.0 yesterday. This update adds a new world to Gauntlet mode, adding three more levels to Gauntlet in total, along with other fixes and improvements. It's getting there; there's only one more proper Gauntlet world to do, plus a final boss kind of level.



    0.6.2.0
    - Added a new Gauntlet world, bringing the current total to eleven levels over five worlds
    - Adjustments to existing Gauntlet systems. Earlier worlds are a little easier.
    - Gauntlet game mode now automatically saves and allows the player to continue from the start of some worlds
    - Gauntlet mode AI cars are now disabled when far away, as a performance consideration
    - Can now see Gauntlet world info on the pause (Esc) screen
    - Wreckage in Gauntlet mode can now be collected immediately with no delay (Melee mode still has a delay so others have a chance to grab it)
    - Slightly increased weapon costs for laser and medium cannon
    - (Kickstarter backers) Tesla Device now prioritises enemy targets above non-enemy ones like crates
    - (Kickstarter backers) Tesla Device now ignores proximity firing mode (can keep shooting in all directions)
    - Some adjustments to GUI fonts and layout
    - Improvements to weapon hit forces, and reduced them overall
    - Increased HP by around 15% on all cockpits and chassis types
    - Laser weapons now have a SLIGHT inaccuracy, still highly accurate
    Bug Fixes:
    - Fixed the bug where skidmarks could join incorrectly, causing a big straight line across the map
    - Game mode select buttons no longer animate if a dropdown is open
    - Fixed dropdowns staying open in the background when pressing Esc to close UI
    - Fixed AI in Gauntlet mode not following their patrol points in the correct order
    - AI is better at transitioning from one patrol point to the next
    - Time spent paused no longer counts towards Gauntlet level completion time
    - Much reduced the jittering that often happened when a vehicle ended up on its side
    - Fixed a couple of bugs with AI pathing



     
    MD_Reptile likes this.
  21. TheRaider

    TheRaider

    Joined:
    Dec 5, 2010
    Posts:
    2,250
    Your passion to keep working on this is great. I remember seeing this years ago and you have banner at pax!
     
  22. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Yes I did, PAX 2014! Nice that you saw it there.

    P1030276.jpg

    P1030294.JPG


    Poor kid on the right there playing on a tiny 12" Surface Pro. Working with what I had. It was a good time.

    Hoping to get Scraps finally finished this year or not long after.
     
  23. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Gauntlet mode is finally done! There are seven worlds to fight through while upgrading your vehicle to fight increasingly difficult enemy vehicles, turrets and drones.

    A few screenshots; Scraps isn't the most beautiful game but it sure looks a lot better than it did a few years ago:









    Scraps itself is now almost done as well. I'll make another post in the next few days that will detail what's still to come. Much of it is actually already done in a separate branch, so we're not too far off now. What a journey.

    0.7.0.0:
    - All seven Gauntlet worlds are now available. Gauntlet mode is complete
    - Added Gauntlet mode option to test a vehicle build before deploying to the next level
    - Gauntlet high score list now automatically slots in high scores from any of your Steam friends
    - Small Capacitor is now unlocked from the start
    - Drone enemies shoot a bit more accurately
    - Barrels and ExplodeBalls do a bit less max damage (same damage radius, and same force though)
    - Did a balance pass on all weapons, various changes, nothing crazy
    - Disabled edit and new vehicle options when selecting a vehicle for an AI player in the lobby. Fixes the human player's vehicle selection getting cleared as well
    - Gauntlet progress now saves at the end of a world as well as when deploying into the next one, so if you quit during Build you'll still be able to continue
    - Gauntlet mode no longer stores scores of 0 on the leaderboard
    - Gauntlet mode saves now only permanently store the highest score achieved using that particular save on the leaderboard
    - Increased the range from which AI will start shooting, some other minor AI tweaks
    - Clearing progression no longer clears unlocked cosmetics. Particularly important as the "Alpha Crown" for completing Gauntlet mode while it was still in development is no longer possible to earn
    - Increased max suspension spring setting from 62500 to 80000
    Bug Fixes:
    - Plasmanator now ignores proximity firing mode, so moving out of the radius doesn't cancel a held charge
    - Clearing user data or progression in the game options now clears Gauntlet saved progress as well
    - Leaving Gauntlet mode from the Build screen now goes to the Gauntlet end-game screen instead of straight to the main menu
    - AI vehicles now try a lot harder not to drive off the cliffs on Gauntlet Wind
    - Improved AI aim calculation with projectile weapons vs. moving vehicles
    - Fixed transparent shader rendering order issues, particularly laser weapons appearing to be behind grass
    - Fixed smoke damage FX decreasing with health lost instead of increasing
    - Fixed a couple of bugs with how AI drives in close combat
    - Fixed a bug with AI close combat where cars could think they were stuck on what should be good ground
    - Fixed audio bug when using multiple Plasmanators
     
  24. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Here's a post I made on the Scraps website today covering the upcoming full release of Scraps.

    ----

    The Final Steps

    Scraps has been in development for a long time. I started this game in late 2012, working full time. I had originally hoped to get an initial version out by mid-2013. When it took longer than that, I ran a Kickstarter campaign in late 2013. It was relatively successful and kept things going.

    In late 2014 I had multiplayer working and showed Scraps at PAX Australia. In mid-2015 it released to Early Access on Steam after making it through the Steam Greenlight process (remember that?).

    In early 2016 things were really taking longer than I had hoped, and since the multiplayer servers were usually empty, I decided to work on a new singleplayer mode named Gauntlet that would make the game a much more worthwhile purchase even without an active playerbase.

    In late 2016 Scraps was taking much longer to complete than I had initially hoped, especially with the new Gauntlet mode, and Scraps sales never did very well. I reluctantly picked up another full-time job to provide an income, knowing that it would only prolong the trek to complete Scraps even further. I was very lucky to land a job making games at Facepunch Studios, and I continued to work on Scraps in the free time I had remaining, usually around an hour a day during the week.

    I never stopped working on it, and Gauntlet mode was recently - finally - released in full. It's got seven worlds to fight through against enemy vehicles, turrets, and drones, all while upgrading your vehicle. More content than I originally planned, and the levels you fight through are a bit different every time.

    What's Still Coming

    Within the next few weeks I'll be releasing Scraps out of Early Access and it'll be done for real. The main thing that's coming in that update are a couple of additional maps for Melee mode:



    Desert road is set up like a simple racetrack, just as an additional option to play around with.



    Cold Hill a king-of-the-hill type layout, with the spawns at ground level but the only evac pad located on the hilltop.

    What's not coming

    I've been working on Scraps for over eight years now. I wanted to get it finished and I have, both because you and others have paid good money for it, and because I'd always be disappointed in myself if I didn't, just like I would have been if I'd never taken the risk and started. But I need to have it done. It's been eight years of always feeling like I should be working on it, never really getting a break. I haven't let it consume my life - I've seen how that road goes for other indies. But I haven't started any side projects. I stopped recording music. I've done what I can but it's time to move on.

    So, I don't like to say it but two major features that I said would go in at some point are cut:

    Team Melee - Intended to be a two-sides version of Melee mode. With the lack of multiplayer interest, this isn't too much of a loss anyway.

    Tank Tracks - It would be a major undertaking to add additional propulsion types beyond wheels at this point. I'm really sorry that this one isn't making it in, but if it's any consolation I don't think it would have made a major difference to gameplay.

    I think Gauntlet mode (which was never originally promised) adds a lot to the game. I hope that helps make up for the missing bits above.

    Some questions you might have

    Here are a few more general answers.

    Q: Will Scraps still be updated after it leaves Early Access?
    A: Game updates no, bug fixes yes. I intend to fix any major bugs and issues that come up for at least the next six months. The only exception to that will be if something external like an operating system update causes a bug at the game engine level, as the version of the Unity engine that Scraps runs on is very old at this point and requires a massive amount of work to update to the latest. Of course, an update like that that breaks Scraps would likely also break many other existing games, so hopefully that doesn't happen.

    Q: What if Scraps becomes popular though and starts making money? It's not even out of Early Access yet - how do you know it's failed? And what about marketing?
    A: Almost always, Early Access performance is a strong indicator of post-release performance. It's very unusual for a game to be small in Early Access but get a big release. Usually an Early Access launch is basically the real release launch.
    So I'm not expecting much. I could do a big marketing push at release like I did in the early days, which may help or it may not (these days good marketing depends on a lot on things like getting through to big-name streamers, more than just paying to advertise somewhere). But I need to move on now, whatever happens. I think the final result is good, I'm proud of my little game, and it's something I always wanted to make.

    When I started Scraps the landscape was very different. I'd been waiting a long time for a game with buildable cars like this and there was nothing. Then soon after I started, Robocraft came out, and now in 2020 "buildable vehicle combat games" is pretty much a genre unto itself. Robocraft, TerraTech, Besiege, Crossout which looks incredibly similar in concept to Scraps. I was banking on the unique gameplay to be a major selling point and in the end it was one of many, which lost its selling power to a great extent. Oh well. At least we now have plenty of games in this genre to try, I always knew it'd make an excellent premise.

    Q: Will the price increase at release?
    A: No, and I'll do a pretty steep launch discount. If it gets a few players on the multiplayer servers for a while it'll be good for everyone.

    Q: What are you going to work on next?
    A: Something different, finally.

    Thank You

    I'm sure I'll say this again at release in a few weeks, but thank you for contributing to Scraps and coming along for the ride. I'm sorry it's taken so long to get here but I'm happy to have made something from my imagination that people really enjoy. This was my first real game project and I think some things (especially semi-authoritative physics-based multiplayer networking) only got done because I didn't know yet that they should be impossible. It's been quite a journey.
     
    MD_Reptile likes this.
  25. MD_Reptile

    MD_Reptile

    Joined:
    Jan 19, 2012
    Posts:
    2,664
    I'm excited to see what you come up with next - be sure to share here so I can follow your next project! Thanks for making a unique and interesting game out of scraps!
     
  26. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Hey MD_Reptile. Thanks putting a like on all my posts. :D
     
    MD_Reptile likes this.
  27. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Well, this has been a long time coming. Scraps is released, finished, done! Thanks for reading along all these years. I'll continue to support major bug fixes or issues if they come up for at least the next six months.

    1.0.0.0
    - Added two new Melee mode maps: Desert Road and Cold Hill
    - Added gold/silver/bronze/spiked Kickstarter reward items
    - Added icons next to player label for Kickstarter backers at Knight and Master And Commander level
    - Added free repair time at the build screen after Gauntlet Final to the point where it should always provide full repairs
    - Had to clear existing local Gauntlet leaderboard scores due to code changes. Sorry!
    - Added slight randomness to the vehicle's position after an automatic flip over
    - Vehicle flip action now checks to make sure it won't be teleporting through a wall
    - Flipping your vehicle while inside a building no longer teleports you to the roof
    Bug Fixes:
    - Physics objects (crates, barrels) now interpolate their position, don't look jittery
    - AI is now less confused by buildings
    - Fixed collision bugs on Gauntlet Earth retaining walls
    - Fixed container lid not showing up on Build screen
    - Fixed evac pad ramp sticking out of terrain on Test Map
    - Fixed Medium Cannon and Medium Cannon Turret invisible polygons on the base

    It's all throughout this thread anyway, but I posted a bit of a look back at the history of Scraps on scrapsgame.com here: http://www.scrapsgame.com/scraps-v1-0-0-0
     
    Antypodish likes this.
  28. Ratgibnake

    Ratgibnake

    Joined:
    Dec 11, 2020
    Posts:
    37
    Very interesting, keep the good work :)