Jump to content
  • Advertisement

SlingBots - Major Changes, and Audio Strangeness.



Okay, it's been a busy couple of weeks, I've been playing with shaders and retouching meshes and all kinds of fun things. 

  • Aiming/Shot Camera is now right-click, it orients to your current facing/throwing direction, and changes if you do.  I've eliminated the reverse camera angle for now(former right-click), I might move it to another button.  I re-used the fixed angle reverse camera code, added an IF that swaps it from a rear facing camera to a front facing camera depending on direction of travel and there you have it, a camera that snaps to an angle of your shot/thrust direction on a mouse-click.  It's also excellent for surveying while airborne. 
  • I've re-instituted the single mesh collider for the terrain, so no more bumps on seams.  I may solve this some day.. not yet.. haha
  • UI clicks should no longer throw snowballs, so reloading fuel during a race is easily done, toggling the mini-map is easily done, and anything else involving the UI.
  • New(old) Toon shaders for almost all of the moving parts.  Going for super-simple and performant. 
  • I've touched every game object that has a texture at least once or twice in this last week(hopefully.. lol)..  I've been trying to optimize and simplify where possible, as well as make sure I'm only using the shaders I intend to.
  • I spent quite a bit of time revisiting lighting and setting up a super simple ultra-low definition baked lighting arrangement.
  • I created a new ground texture, and..  SNOW!!  haha, I've added a snow particle effect and hopefully it will play well for you, still tuning it though. :D

This is the third day in a row I've tried to upgrade the WebGL build to the latest version only to be confronted by various bugs and strange issues.  Now, most of those were of my own creation, naturally.  However I've stumbled on some strange behavior that I thought might be noteworthy for anybody else who is working with Audio in Unity for a WebAssembly (WebGL) build target.  Somewhat applicable outside Unity land though..

Somewhere between the last build and this build I updated Unity and it seems they changed the way that their WebAssembly build target interacts with audio files because my clumsy assortment of .mp3s and .wavs and .oggs worked just fine on both FireFox and Chrome previously. 

After updating to 2018.3, or some assortment of changes I made to the settings(I can't be sure if I updated Unity before the last build or after..), either way, all sorts of errors were cropping up in the web console, and no sound at all..   I finally found the following error and that led me down some more alleys that were mostly unrelated to the Unity incarnation of this problem.. 

"the buffer passed to decodeaudiodata contains an unknown content type"

After some reading I discovered that the new Unity+WebAssembly way of dealing with audio seems to be to just let the browser handle it, and that gets a little more complicated..  Each browser has a dislike of various common formats for one reason or another, so I found what seems to be a least common denominator... At least for FireFox and Chrome..

Long story short, I re-encoded all of my sound effects into 16bit PCM .ogg's..  And now things seem to be sounding appropriately again, at least there are sounds, and no more errors. :D

So, SlingBot Boarding v0.4.2: https://www.kongregate.com/games/WilliamOlyOlson/slingbot-boarding


Let me know what needs fixin next!! ;)



Recommended Comments

Good job! I like this update. :) The right click helps a lot.

Share this comment

Link to comment

Awesome, thanks!  Yeah, it's way less clumsy with the new camera angles.  I'm looking forward to adding a whole lot more actual game content in the next few, now that I've ironed out some of these wrinkles. :D

Share this comment

Link to comment

I like the new look for sure.  That's pretty cool that I can watch my most epic jumps.  I think one of my jumps was half a kilometre hahaha.  I'm still working on getting through that hoop too.  I came across a big dome and it prevented me from going further.  What are they for?

Share this comment

Link to comment
1 hour ago, Awoken said:

I like the new look for sure.  That's pretty cool that I can watch my most epic jumps.  I think one of my jumps was half a kilometre hahaha.  I'm still working on getting through that hoop too.  I came across a big dome and it prevented me from going further.  What are they for?

Thanks man!  Yeah, the replay feature will be nice once I get it a little more refined.  I want it to record and persist those replays to a server, that way the master leader-board(doesn't exist yet), will have replay capabilities too.  More stuff I'm waiting on my server for...

The dome(s), there are 10 of them currently, and they do absolutely nothing as yet. ;)  They are surrounded by 10 turrets and I'm calling them "installations" for now, original I know, haha!  What WILL happen: once you destroy all of the outside defenses then the dome will fall down and you will be attacked by another level of defenses, this will probably involve one or more Ice Yettis(almost realized) and a few Machine Gun Bunnies(still entirely fictional).. :D

These "installations" will have a prize within them, probably many, some that are consumable and/or upgradeable/etc..  So you will be encouraged to sack them repeatedly, and possibly in specific sequences and/or there will be better rewards for destroying more without getting an Excessive Damage Reset(which returns you to start position and resets ALL park installations).  To keep things interesting, all aspects of their defenses will grow more difficult to defeat as you progress through the Arena Levels(prizes will get better).  There will also be player attributes that will increase via these same triggers and others, but those are also still fictional as well. ;)

Super Loop Technique Spoiler:


Straight velocity into the ramp segment: don't jump at the top.  You will fly right into the perfect position, jump the first gap, then turn about 15-20degrees to the right, this will put you up the vertical segment of the loop(instead of going upside-down and falling off).  When you jump the vertical gap you will probably come off the loop, you can turn to the right just a bit and your board should align itself with the correct part of the loop to get you going over the hump.  From there its just a matter of keeping track of your direction and jumping at the gaps.  If you don't see the "Arena Level 1" sign in front of you when you are at the top of the loop, you're going the wrong direction.

Also, if you haven't tried it, flight is pretty much doable.  To try it out easily(holding your forward thrust key down constantly), run full speed off the edge of the plateau and then simultaneously apply a frequent tap to your backflip button. ;)  I can throw a snowball from midair onto one of the turrets surrounding one of the domes and then land on the dome itself, without touching the ground(it takes almost a full tank of boostfuel though). :D   You can also go airborne from anywhere with a good enough jump to get you high enough to gain flip control.

There will be also be achievements and levels that require you to fly vertically, and other tricks, so practice some flying. ;)

Edited by Septopus

Share this comment

Link to comment

You've added quite a bit since I last tried, well done. :) 

Thing that stood out imo that could be improved was the third person camera .. I found it very confusing. Sometimes it wasn't pointing at all where I was heading, so I had no sense of where I was going. And then when in the tube, as the physics moved you around the camera was moving around very quickly and I didn't know where I was going, or what way was up.

Share this comment

Link to comment
1 hour ago, lawnjelly said:

You've added quite a bit since I last tried, well done. :)

Thing that stood out imo that could be improved was the third person camera .. I found it very confusing. Sometimes it wasn't pointing at all where I was heading, so I had no sense of where I was going. And then when in the tube, as the physics moved you around the camera was moving around very quickly and I didn't know where I was going, or what way was up.

Thanks @lawnjelly!

Yeah, the camera takes a little getting used to.  If you are NOT holding right-click then the camera will be facing your velocity direction(constant lerp so it may lag slightly for some things...)  If you want the camera to face your "heading" then use right-click.   As you have stated, when you are in the loop if you don't complete it in one consistent forward motion, it will get very confusing and almost impossible.  It took me LOTS of tries to figure out how to solve the loop...If it continues to present trouble for folks though I may move it to a higher level where players will have more experience with the board/camera controls. ;)

One thing I think people don't immediately understand about this game, it's not designed for you to do anything with slow precision,   It's designed for high speed activities that have a high failure rate until you find the trick that makes it become easy. :D

I'll be posting more technique spoilers as I go too, so check those out if you get really stuck with something.


As well, I'm constantly trying to improve the camera, because I know it's confusing sometimes..  Just don't know what else would make it better.. at the moment.


Hmm, new idea.. I could include technique hints in recorded replay form in-game too..   That might really help.

Edited by Septopus

Share this comment

Link to comment
On 2/5/2019 at 10:52 AM, Septopus said:

One thing I think people don't immediately understand about this game, it's not designed for you to do anything with slow precision,   It's designed for high speed activities that have a high failure rate until you find the trick that makes it become easy. :D

Just a thought;
If this is your intention what do you think about guiding people toward their own self discovery.  Right now when I play I can pretty much do anything I want, but am not very skilled at any of them.  I maybe need more guidance.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By zuhane
      Hello people!
      Thanks for taking the time to read this post. I've been using Unity for a while now and I must say that I'm very impressed with it. Definitely a jump up from XNA. However, something that I've noticed that leaves a lot to be desired is the 2D tile-based collision. Below is a little video of a game I've been working on with a friend which demonstrates my problem. Essentially, games that use huge open planes and polygons don't seem to have many problems with collisions, but when a game consists of lots of small tiles stacked alongside each other, objects tends to get stuck in-between the gaps. For example, if I have a horizontal strip of little tiles, and the player runs along the top, sometimes he'll come to a standstill and have to rebuild his momentum, However, this is much more noticeable for the ball. The ball seems to consistently bounce around randomly by hitting into edges, due to the nature of how fast and random it moves, making it very hard for players to line up shots and make meaningful choices in how they attack the ball.
      So after doing a little Googling, it seems like there's absolutely nothing on this topic. It baffles me, because tile-based platformers seem to be everywhere on Steam! So after some more digging, I saw that many people were using composite colliders, so that after the level is generated, the tiles all merge together into one polygonal/composite collider. However, I've found that this problem still occurs even when using this method, especially near corners. Am I possibly overlooking a simple solution here? This has been giving us grief for months now!
      It's also worth mentioning that composite colliders create another problem within our game world. The blocks within the levels are meant to be damaged upon contact with the ball. However, when these are nested inside an object using a composite collider, none of these collisions fire off any more, essentially making all the blocks in the level indestructible. Is there a way to cycle through all of the colliders inside of a composite collider to check them individually? Any help would be mundo appreciated.
    • By RoKabium Games
      Aura enemies – ”Murderia” is a crystal based life form that moves across any type of block at some speed. This creature cannot be killed by digging the block it sits on and therefore it makes the block it sits on impossible to mine. It fires projectiles in all directions if it feels threatened so kill from afar.
    • By srphfthnd
      Hello, I apologise in advanced I'm not really good in English. I'm just new here and I don't know how to start. I'm a fourth year IT student and want to make my favorite old game into mobile game. The game I want to create is base from mmorpg Ran Online which was shutdown 3 months ago. I deeply in love with this game and I want to make it into mobile but I have no idea where to start. I heard about how to reverse engineer the game and create it by using Unity software. I also try to read other forums regarding about making mmorpg in mobile but they just gave me a vague general answer. Please help me I want to know where I should start in this project. I really want this game in my pocket and to be back. I'm not that good but I have knowledge in Java and C++. Any help will be much appreciated. 
    • By Ruben Torres
      You've optimized all of the low-hanging fruits of your game. Except that you didn't. You missed a sneaky, non-so-obvious spot: optimizing your Unity Scene Hierarchy.
      [The original entry with its formatting can be found at Unity Optimization: Your Scene Hierarchy is Robbing you Performance]

      What's the crack with the hierarchy now?
      I want to show you something.
      Launch Unity and open your game project. Then, run your game on your target device and attach the Unity Profiler to it. Record a few frames during gameplay.
      In the Unity Profiler, look for the following unpleasant profiler markers:
      UpdateRendererBoundingVolumes Physics.SyncColliderTransform TransformChanged​Dispatch You didn't find any?
      Keep looking. I'm sure you'll find at least one.
      They'll spawn when you're about to give up. As soon as you mouse over the close button of the Profiler, they'll show up.
      Found them already?
      If so, it's your lucky day.
      I discovered those in my previous project as well and I learned how to land a final blow to them.
      I know the evil behind them...
      Do you want to know the performance secrets of Unity Scene Hierarchies?
      Quick Navigation (opens in a new tab)
      Level 1 Developer: A Typical Unity Scene Hierarchy
      Level 2 Developer: An Optimized Unity Scene Hierarchy
       The Gamedev Guru's Golden Rules of a Clean Unity Scene Hierarchy
      Level 3 Developer: The FAP Hierarchy Tool
       The Gamedev Guru's Hierarchy Score

      Level 1 Developer: A Typical Unity Scene Hierarchy
      I still remember the first Unity project I worked on, just slightly over a decade ago.
      I was not sure what the difference between game objects and components were.
      But that didn't matter. I created games anyway.

      Deep Unity Scene Hierarchy
      Was it uncommon to see a messy unity scene hierarchy like this?
      Actually, yes. Because it used to be worse than that.
      Interestingly enough, you can get away with this kind of hierarchies most of the time.
      But you'll suffer. You'll pay the price later on.
      Luckily, before I started developing games professionally, I learned to appreciate more structured hierarchies.
      A great scene hierarchy structure can be your best friend. Structure makes development and collaboration much easier.
      It doesn't have to be the best, whatever that means. It's enough for it to be good.
      But bear with me here. This is important.
      Having a cluttered unity scene hierarchy is dangerous and will get you into trouble. This is so because it's highly unlikely you'll directly notice its side effects.
      There'll be a creepy ghost chasing you, pulling you back, slowing you down. Sometimes you think you hear something, but when you look back, there's nothing. So you get used to walking slower.
      I learned to diagnose these side effects over the years. And the main problem is that the side effects of a messy unity scene hierarchy are not obvious to spot.
      You'll see the profiler and wonder what some markers mean. Their names are often cryptic... what secrets do they hide?
      The only thing you can be sure of is this:
      Mysterious markers tell you something's worth investigating
      When you and I talk about structuring your scenes better, we usually discuss increasing clarity and reducing maintenance cost.
      But performance? Just like my cat gitignores all the toys she has around my flat, everybody forgets about performance when it comes to the Unity Scene Hierarchy.
      Let's analyze the previously shown unity scene hierarchy. It contains 2,000 rotating spheres nested on top of each other.
      What does the profiler say about it? Look, don't be scared.
      Unity Scene Hierarchy Optimization-Deep-Hierarchy Profiler Overview
      That's pretty bad for a simple prefab and a rotation script applied to a built-in sphere.
      As you can see, Physics.SyncColliderTransform and UpdateRendererBoundingVolumes are taking a huge portion of your frame budget.
      But let's not stop analyzing there, because I'm quite curious about this case.
      Let's dig further. I hope you saved some 4G data this month for this impressive image.

      Unity Scene Hierarchy Optimization-Deep-Hierarchy Profiler Details
      Here lies the key of the article.
      Unoptimized hierarchies causes two BIG problems in Unity.
      Deep hierarchies do not allow the job system to work efficiently in parallel. Nested hierarchies cause bottlenecks in several subsystems within Unity. Remember my words...
      Because this applies to all types of dynamic objects and especially user interfaces.
      In case you're wondering, I own a Threadripper with 16 physical cores and 32 threads. Do you know how many am I using effectively in this project? Just one.
      There're so many ways to say the same: the performance of your game will suffer. And by trying to fix this mess by following your gut feeling based on those mysterious names, you'll start to age blazingly faster.
      What would a Level 2 Developer do with 2,000 objects?

      Level 2 Developer: An Optimized Unity Scene Hierarchy
      A Level 2 Unity Developer knows that parenting transforms comes at a price.
      The Level 2 Developer also knows this price is paid in milliseconds of CPU time. Or, similarly put, it is paid in hours of overtime spent by the developer chasing this up.
      Ask yourself: do you have enough CPU budget to pay for this expensive hierarchy?
      From which area of your game are you subtracting those milliseconds from?
      Will your game bombard the player with less and less flashy particles? Or will you cut the number of city invaders your player will have to defend from?
      Hopefully, you'll do nothing of these two things., but rather...

      The reason complicated parenting steals resources from your game is simple:
      Each transform modification affects its children and potentially its parent and siblings
      Unity recalculates a lot of thingies for you when you change an object's position, rotation or scale.
      This process is transparently done for you, so you can focus on developing your game. That is great, but the price to pay for it becomes astronomical if you're caught off-guard.
      The solution?
      Keep it simple, adhere to...
       The Gamedev Guru's Golden Rules of a Clean Unity Scene Hierarchy
      No more than 50 total child elements per game object No more than 4 levels of depth in any game object Isn't that simple?
      A Level 2 Developer will keep their unity scene hierarchies as flat as possible.
      Look below. Same amount of objects, this time structured under a flat hierarchy.

      Savings are huge, I see.
      But doing this is easier said than done, right? Detaching and destroying relation(ships) between objects is a laborious, error-prone and time-intensive task.
      What would a Level 3 developer do?

      Level 3 Developer: The FAP Hierarchy Tool
      A good Unity developer gets things done.
      A great Unity developer gets things done faster, more accurately.
      But how is that?
      By using tools.
      Because the only cheap hierarchy is the empty one, there's one key answer you need to answer at all points from your game...
      How complex are your hierarchies?
      You can answer this by methodically analyzing your hierarchies and giving it a score.
      The Gamedev Guru's  Hierarchy Score
       Below 35: Smells of Trouble. RUN!
       Around 50: You might be OK (For now)
       Above 70: Profit! (But don't relax)
      So what are the math formulas I need to calculate the score?
      Luckily, none. I've done this for you.
      I prototyped a tool to automatically analyze and detect bottlenecks in your hierarchy based on The Gamedev Guru's Golden Rules of a Clean Hierarchy.
      I call this tool...
      The Fabulous Advanced Profiling Hierarchy Tool
      Run your game. Get to a point of interest. Open the tool and let it do the work for you.

      The Gamedev Guru's FAP Hierarchy Tool
      Let the tool whisper in your ear the magical melody of an integer that we will call... score.
      Once you know what your score is, you know what to do... Or not?
      Because I'm not giving you only that tool, but also a bonus script to boost your hierarchy problem-solving techniques.
      I'm giving you the extraordinary power of the simple DetachGameObject.cs Demigod script.
      You're not likely to encounter many 27-line scripts that will help you improving performance so much in that small time frame.
      What this does is simple: it'll move your heavy and nested game objects to the root of the scene hierarchy in run-time. That way, you'll profit from having structured hierarchies during development and gain an insane performance advantage during run-time.
      Chances are, you can do this for the great part of your hierarchy that is heavily nested for structure's sake.
      Claim your free bonuses before they become a 404 error (opens in a new tab)
      And after that? Comment below and share your score.
    • By RoKabium Games
      If you need to go back and re-read a message from Antalasia or Drengo that has been stated during game play, there is a "Messages" tab in the GUI menu where you can find a log of then.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!