Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - cjbruce

Pages: 1 ... 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 ... 49
321

Ayy the issue that has been haunting us for months has finally been resolved

Don't jinx it! :)

Also, this change should only affect the builds where stuff broke off an axle.  This began with the 19December2019 Alpha build.

Finding the source of the bug does provide another thing we are going to have to carefully tweak though.  The more mass we add to the axle (currently 4 kg for the big motors), the stiffer the wheels are when they are driving, but also the more slowly they respond to motor inputs.  My plan for now is to leave the motors as they are and only change them if we need to. (I'm looking at you, beetleweights!)

322
I have some ideas on how to do in-game grouping, but it is going to take a lot of work and troubleshooting to get things like collisionshapes, component breakage, hit points, center of mass, etc working correctly.
Honestly:
collision shapes - Atm maybe not really necessary untill much later builds
omponent breakage - If you would group parts, i guess you would have combined HP and once it reaches 0, the whole struture falls off
hit points - Huh, thats the one thing that my knowledge is non existant.
center of mass - i guess if you did that before grouping, that wouldnt be an issue

I'm looking at fixing 2 things with a component grouping system:

1. CPU load:  With 100+ colliders, Rainbow Circus 2 is unplayable on my computer.  I would like to be able to reduce all robots to <30 colliders so that students can play the game on school computers.  This will open the game up to schools, which I think is important.
2. Ease of building:  Modular component subassemblies could significantly reduce the time it makes to create an intricately detailed robot.

I think I'm beginning to understand why user-created components (made using a Component Modding Tool) are not ideal for anyone trying to host a tournament.  There would need to be all sorts of checks in place in the tool to make sure people don't make things that are game-breaking.  Unless such checks were reliable enough for tournament use I understand that it would be easiest to say "no user-made components are allowed".  This is not at all dissimilar to the safety impound and inspection that we have to do in real-life tournaments.  It is a pain in the neck!

The Component Modding Tool could easily solve the CPU load problem (#1 above), but only for non-tournament use by players willing to download and use Unity and Blender.  For someone skilled in Blender, the person could create something way cooler looking than anything that one could create with our rudimentary in-game tools (#2 above).  Both of these use cases for the Component Modding Tool require players who are willing to invest a lot more time and energy than a typical person.

I'm not opposed to the idea of component grouping for these reasons, but it is going to take significant time and effort to get a system working.

323
New build coming today.  I finally isolated and fixed the source of the problem with the gyro dancing and unrealistic behaviors when everything is broken off an axle.

TL:DR - The mass of the remaining axle will be set to 0.00001 kg in the simulation.  This should prevent weirdness.

The full story:

[Bug Fix] Fixed a bug where the remaining mass of the axle alone was set to several kilograms when the last part attached to the axle is broken off.  This was causing robots to gyrodance and jitter unrealistically.  I also identified the source of the extra mass -- see "POTENTIAL BUG SOURCE" below.

POTENTIAL BUG SOURCE - I just noticed that the "Axle" subassemblies on motors and actuators comes with its own rigidbody.  For the Ampflow A40-300 motors, this "Axle" rigidbody has a mass of 4 kg.  I tried reducing the axle mass to something more realistic, like 1 kg.  This was a TERRIBLE change.  It made robots drive poorly, with the wheels bouncing and not gripping.  Apparently we had set this default axle mass value years ago in the very early stages of the game and completely forgotten about it.

From now on, every time we create a motor with an axle, we need to make sure that the axle has sufficient mass, maybe 4 kg for a 110 kg robot?  When everything breaks off except for the axle the mass of the axle will be set to 0.00001 kg.

324
I've downloaded that circus to have a look, set tick to 500. Saw no dropping in performance at all on my PC.

That's a good data point.  Would you mind sharing your PC specs?

4 x Rainbow Circus, all CPU controlled is my worst-case scenario for testing.  AI Miniscript currently takes up about 8 ms per robot for me, so 4 robots automatically drops my frame rate below 30 fps no matter what my physics settings are.

After we get physics and damage sorted out, reworking the AI system is next on my list.  My first priority is to rewrite everything so it doesn't take up so darn much CPU time.

325
Here's Rainbow Circus 2.  Cyar, this is one of your creations, correct?

 

326
Fair enough.  In any case we are going to need the modding tool to speed up our part-creation process, so we might as well make it available to everyone.

I have some ideas on how to do in-game grouping, but it is going to take a lot of work and troubleshooting to get things like collisionshapes, component breakage, hit points, center of mass, etc working correctly.  Basically we will need to redo a lot of the things we had to do to get a whole robot working.

327
I'll want to add that while the tool is not a bad idea, I'm not much of a fan of having to use that and Blender or whatever if I want cool looks and have a still durable component. I'm more for just doing everything in game and see where it ends.
With that I am more fond of the idea of grouping bits together in game where it'll look good and still be durable enough.

I agree that Blender is intimidating.  I would love to eventually get a lot of the tool features built into the main game, but this should be a good start.

Grouping is a pretty big undertaking.  @tashic, any thoughts on getting something like this working?  Maybe we could reuse the chassis compound collider code?

328
I'll want to add that while the tool is not a bad idea, I'm not much of a fan of having to use that and Blender or whatever if I want cool looks and have a still durable component. I'm more for just doing everything in game and see where it ends.
With that I am more fond of the idea of grouping bits together in game where it'll look good and still be durable enough.

Maybe also add a group function for currently built bots that use ingame components, because cmt is gonna mean that bots should be rebuilt
CMT????? What is that?

"Component Modding Tool"?


Lightning, I will trade you Rainbow Circus for the robot with the gyro dancing!  :smile:

If you look at my showcase, Takedown does the weird gyro thing. I include a download link on my showcase for the bots I post.

I just loaded up Takedown and didn't see the gyro dancing in the latest build.  Are you using the 11January bleeding edge build?

329

Problem with the tool is that personally i wouldn't allow custom components for my tournament. Unless there is a way to block it. Someone could enter a bit with low weight and extremely high hp count

I was thinking that you would set a material and the tool would automatically compute the weight and hp upon creation.

330

EDIT: What do the other 2 sliders do on the right?
PS. The smooth oscillation is actually just beta having lwered wheels for previous builds

I saw this entry in the Unity manual regarding these values, and figured it was worth playing with them to see if they would reduce jittering:

https://docs.unity3d.com/ScriptReference/Physics-defaultSolverVelocityIterations.html

331
I did a little performance testing for 3 robots using the Unity profiler.  The times shown here are only significant insofar as they are relative to each other.

The complexity of the robot is almost directly proportional to the time spent in physics processing.

Rainbow Circus 2 is a shell spinner with 125 components.  It is pretty much unplayable on my laptop.  kix saw significant slowdowns on this robot on his computer, particularly as it passed through the flame pit and all of the colliders triggered collisions with the flame trigger volume.

Mental Breakdown is a simple vertical spinner with 32 components.  It runs well on my laptop at 100 ticks/second.  It slows down, but is still playable at 300 ticks/second.

HUGE Spinny is a "Tombclone" with 18 components.  It also runs well on my laptop, slightly better than Mental Breakdown.


Rainbow Circus 2 has about 7x the part count, and spends about 10x the amount of time spent in the CPU compared to HUGE Spinny.

In order to make cool-looking robots we need to figure out a more efficient way to create visual complexity than simply adding components.  The simplest way to do this is to get the RR2 Component Modding Tool (CMT???) up and running.  This will allow you to create something really cool-looking in Blender, then pull it into Unity and have Unity create a single mesh collider for it.  With such a tool in place we could reduce the number of colliders in Rainbow Circus 2's shell from 109 down to 1.  I expect that this would reduce physics frame time by 90%.



332
When I ripped a wheel off in the 11January build, the bot still gyrodances around.
EDIT: The rolling pin doesn't even rotate with my settings, so that fixes the annoying clanking.
EDIT 2: Can you send me Rainbow Circus? I have a VERY powerful laptop I would like to try it on.

Darn it!  Something is going wrong to cause the gyro dancing but I’m not sure what.

Lightning, I will trade you Rainbow Circus for the robot with the gyro dancing!  :smile:

I’m not in front of my computer right now, but will send it when I get back.

As far as the roller noise goes, it should be an easy fix, but I wanted to check with Callum first before I start messing with anything audio related.  He’s the audio guru.

333
Rainbow Circus is unplayable on my computer, even at 100 ticks per second.  I need to look into why that is.  I suspect it is because of a large number of moving colliders.

Edit:  That’s the main reason I want to get the component modding tool working.  It is the easiest way to reduce the number of physics colliders for complex parts.

334
New bleeding edge build is up.  11January2020.  This one fixes the bug where the mass of the remaining axle on broken off components is way too big:

http://www.robot-rumble.com/bleedingedgebuilds/

335
Yup.  You guys are right.  There was a bug in the breakage code. 

When all of the parts connected to a spinner (a.k.a. a single wheel) are broken off, it was supposed to set the remaining mass (a.k.a. just the axle) to have a mass of something just higher than zero.  Instead it was setting the remaining mass to be equal to the original mass.   This meant that the robot would shake and wobble like crazy when everything was broken off other than the axle itself.

New build coming soon...

336
I just put up a bleeding edge build called "10.5January2020".  These have the new physics sliders.  Please note that today's previous build was called "10January2020".

kix, go nuts! :)

http://www.robot-rumble.com/bleedingedgebuilds/

PS - Except for the bumpiness with Beta, I'm kind of liking the fact that I can run the game at 100 ticks/second on my laptop.  Once I get AI Miniscript under control, this should mean that people with really old computers have a shot at being able to run the game with graphics turned way down.

337
New bleeding edge build is coming out tomorrow.  I have added sliders to adjust the following:

Physics Tick Rate (100 - 500 ticks per second)
Physics Default Solver Velocity Iterations
Physics Default Iterations

I might try adding a few more sliders to see if we can figure out a fix to the jittering problem.  I have noticed that if I increase the physics tick rate to 300 I the jittering in Beta seems to become a smooth oscillation back and forth.  It just about doubles the time spent in physics per frame though.  My baby laptop CPU is getting HOT.

EDIT: kix, I'm kind of dying to see if your computer can handle 500 ticks per second.  :smile:

338
I noticed with the new steel floor there is this weird clanking that seems to be coming from that rolling pin. Here's a video, play it with sound:

Oops!  Need to get Callum on this.  Thats what I get for having the sound down while I test the game...

339
CyarSkirata,

Here are the 2 versions of Panic Attack that I have been testing with:

  

340
The 10January bleeding edge build is up.  This build is identical to the 09January bleeding edge build, except the "Metal" floor has been replaced by a "Steel" floor.  This should improve traction in the arena.

http://www.robot-rumble.com/bleedingedgebuilds/

Pages: 1 ... 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 ... 49