Poll

What do you like doing most in RA2/RA3/robot combat games?

Building robots
Local single player battles with manually-controlled robots
Local multiplayer battles  with manually-controlled robots (PvP with controllers or a shared keyboard)
AI-only tournament battles
Other?  Please comment below.

Author Topic: Robot Rumble 2.0 - Robot Combat Simulator - Under Development  (Read 187376 times)

Offline Dark-Al

  • That guy who makes long posts.
  • Heavyweight
  • Posts: 714
  • Rep: 2
  • That's not how you build a Hydraulic crusher mate
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #380 on: January 21, 2019, 04:06:32 PM »
I love the idea of being able to openly create components through the component tool. I feel that if this is going to be in-placed, I would love to see support/interrogation of the Steam workshop or at least have somewhere on the internet for player and mod creators to share the components they've made through this tool, for other users to download and play around with.

Offline cjbruce

  • Super Heavyweight
  • Posts: 963
  • Rep: 11
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #381 on: January 21, 2019, 05:04:49 PM »
Free component-modding tools? Shut up and take my money!

Could you elaborate on the "daisy-chaining", though? I'm not sure how that's supposed to work.

Yup.  :smile:  Assuming we can get the import function working, you should be able to create any model you like in Blender, then bring it into the game with a full set of PBR textures.

“Daisy chaining” already works in a primitive way in the Alpha release.  You can add components to an axle, but you can also “weld” anything onto any other surface.  Want to make spiked wheels?  Just add spikes to the surface of the wheel.

Offline cjbruce

  • Super Heavyweight
  • Posts: 963
  • Rep: 11
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #382 on: January 21, 2019, 05:05:57 PM »
I love the idea of being able to openly create components through the component tool. I feel that if this is going to be in-placed, I would love to see support/interrogation of the Steam workshop or at least have somewhere on the internet for player and mod creators to share the components they've made through this tool, for other users to download and play around with.

Agreed.  Assuming we can get this working,  we are open to ideas on where to host the repository.  Maybe gametechmods?  :smile:

Offline Billy5545

  • Best Newcomer 2018
  • Posts: 796
  • Rep: 4
    • View Profile
    • Awards
  • See profile for gamer tags: Yes
  • Discord: Kendor#3191
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #383 on: January 21, 2019, 05:41:05 PM »
I love the idea of being able to openly create components through the component tool. I feel that if this is going to be in-placed, I would love to see support/interrogation of the Steam workshop or at least have somewhere on the internet for player and mod creators to share the components they've made through this tool, for other users to download and play around with.

Agreed.  Assuming we can get this working,  we are open to ideas on where to host the repository.  Maybe gametechmods?  :smile:
GTM sounds good. Steam is also good imo

Offline Scrap Daddy

Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #384 on: January 21, 2019, 06:42:26 PM »
This looks incredible, gentlemen. Just watched the video and want to express my support. I'm excited for this.

Offline cjbruce

  • Super Heavyweight
  • Posts: 963
  • Rep: 11
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #385 on: January 21, 2019, 07:34:07 PM »
This looks incredible, gentlemen. Just watched the video and want to express my support. I'm excited for this.

Thank you!  Be sure to give the Alpha a go on itch.io if you are interested.  Also, we will have a closed beta some time in the next few months.  All you have to do to get access is sign up to be a Beta tester at www.robot-rumble.com.

Offline 8bean

  • Professional Tourney Rigger
  • *
  • Posts: 779
  • Rep: 10
  • I'm on discord probably
    • View Profile
    • Awards
  • Discord: 8bean#4514
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #386 on: January 21, 2019, 09:44:15 PM »
“Daisy chaining” already works in a primitive way in the Alpha release.  You can add components to an axle, but you can also “weld” anything onto any other surface.  Want to make spiked wheels?  Just add spikes to the surface of the wheel.
ah so its like attaching two components together except without ap's so stuff can go anywhere?
Stuff I didn't suck at (from oldest to newest)

Offline cjbruce

  • Super Heavyweight
  • Posts: 963
  • Rep: 11
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #387 on: January 22, 2019, 05:26:10 AM »
“Daisy chaining” already works in a primitive way in the Alpha release.  You can add components to an axle, but you can also “weld” anything onto any other surface.  Want to make spiked wheels?  Just add spikes to the surface of the wheel.
ah so its like attaching two components together except without ap's so stuff can go anywhere?

Exactly.  Right now objects just snap to any surface.  If you snap an object to an axle, it will spin.  You could do spike->spike->spike->wheel->spike->wheel->shape->spike->etc...

It is possible to attach motors to axles in such a way as to make a huge daisy-chain of motors that all spin.  Of course, if you try to do too many of these, things will break pretty quickly.  Linked physics joints tend not to be stable.  Play around a little with DB Mk2's flail for physics explosion fun. :)
« Last Edit: January 22, 2019, 06:22:25 AM by cjbruce »

Offline Redalert

  • The inventor of Wandering Spinners and invincirammers
  • Ultra Heavyweight
  • Posts: 1349
  • Rep: -48
  • Yes, I’m an outsider.
    • View Profile
    • RedStorm's RA2 website
    • Awards
  • Discord: RedStorm
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #388 on: February 04, 2019, 09:50:16 AM »
Recent alpha build is out!
http://www.robot-rumble.com/


Offline maybeChrisJack

  • Antweight
  • Posts: 9
  • Rep: 0
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #389 on: February 05, 2019, 06:13:26 AM »
Pretty sure it's the same build from 05/09/2018 as before. Excited for new updates and beta stuff soon though!

Offline cjbruce

  • Super Heavyweight
  • Posts: 963
  • Rep: 11
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #390 on: February 05, 2019, 03:02:39 PM »
Pretty sure it's the same build from 05/09/2018 as before. Excited for new updates and beta stuff soon though!

The build available on itch.io is the Alpha build from September.  It includes the ability to create robots and fight them, but is still pretty rudimentary as far as features go.

Offline maybeChrisJack

  • Antweight
  • Posts: 9
  • Rep: 0
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #391 on: February 06, 2019, 06:54:34 AM »
That's what I thought, cool. (I'm from the UK so that date I wrote is 05 Sept and not 09 May ha)

Offline cjbruce

  • Super Heavyweight
  • Posts: 963
  • Rep: 11
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #392 on: February 06, 2019, 08:50:18 PM »
That's what I thought, cool. (I'm from the UK so that date I wrote is 05 Sept and not 09 May ha)

Oh man.  Sorry about that -- I totally didn't consider that possibility.  Gotta love inconsistent conventions!

Offline cjbruce

  • Super Heavyweight
  • Posts: 963
  • Rep: 11
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #393 on: February 28, 2019, 09:32:03 AM »
Over the past few days I have been looking at different ways to do AI scripting in the game.  At this point, I would like to build the scripting right into the Robot Workshop, rather than requiring users to leave the game and load up a separate text editor to modify the AI script as it is done in RA2.

Due to the amount of time and effort required to implement a working solution, it looks like Python scripting is not an option.  Instead, I have narrowed AI scripting down to 2 languages: miniscript and [moddable].

miniscript looks like Python, with indent-based nesting.  Here is an example of miniscript code:

Code: [Select]
for i in range(1,100)
  if i == 42 then continue
  print("Considering " + i + "...")
end for

[moddable] looks like javascript, with curly brackets and semicolons.  Here is an example of [moddable] code:

Code: [Select]
//Loop through every movable object
for(objName : movingObjs)
{
//if moving objects should be stopped
if (!on)
{
//Stop the velocity of the physics component of the moving object
CallNativeFunc(objName,"ScrollingObject","Update");
} else
{
//Otherwise re-initiate the physics component of the moving object to start the movement again
CallNativeFunc(objName,"ScrollingObject","Start");
}
}

The idea is that every player has the option to create their own AI for their robot.  When you share your robot with someone else, the custom AI script that you wrote goes with it.  Assuming all goes well, writing custom AI code will become a core part of the game, just like positioning motors and shapes on your robot.

Given the choice between the two AI programming languages above, which language would you prefer?

Offline Badger

  • Permanent Artifact
  • Giga Heavyweight
  • Posts: 6318
  • Rep: 3
  • I wish to be with my people
  • Awards BOTM Winner Donated money for site hosting 2019
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #394 on: February 28, 2019, 09:36:38 AM »
I would much prefer miniscript, it looks a lot more simple for complete noobies to understand, which I think is important for this specific use case. It also looks quite pythonic, which would make transitioning from RA2 easier in comparison to using something like [moddable].
also lol at most toxic guy around calling others out on this sh**
Google Drive with my newer bots

Offline Squirrel_Monkey

  • Squirrel_Monkeyweight
  • *
  • Posts: 7587
  • Rep: 7
  • [Insert clever and witty comment here]
    • 0SquirrelMonkey0
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #395 on: February 28, 2019, 10:21:54 AM »
How much freedom are we giving?

Will it be a set of defined functions which we edit the contents of?
Or will there be a lot more available?

The issue with RA2 AI is that you could modify parameters which were unrelated to movement/weaponry and make instant win AIs.

I almost feel like a drag and drop overlay might be more intuitive from a basic programming level.
Better than GK since 2009.
I think SM is a pretty cool guy, eh builds unicycle-bots and doesn't afraid of anything

Offline cjbruce

  • Super Heavyweight
  • Posts: 963
  • Rep: 11
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #396 on: February 28, 2019, 10:50:37 AM »
How much freedom are we giving?

Will it be a set of defined functions which we edit the contents of?
Or will there be a lot more available?

The issue with RA2 AI is that you could modify parameters which were unrelated to movement/weaponry and make instant win AIs.

I almost feel like a drag and drop overlay might be more intuitive from a basic programming level.

Right now I'm thinking that the most straightforward way to do it would be the following:

1. Expose a bunch of values to the AI. For example, all robots would have access to a pathfinding "findNearestWaypoint()" function that would come from a Unity navmesh, as well as rigidbody position, rotation, battery, heat, and other state variables. In addition, players will have the ability to add "sensors" to their robot. When an enemy enters a one of the sensor trigger zones, the AI should be notified.

2. The AI should be capable of sending input commands to the robot's motors, just like a button press on the keyboard or a controller would do.  For digital inputs, control signal values would either be 0 (off) or 1 (on).  For analog inputs, the control signal values would be clamped to a range from -1 (all the way negative) to +1 (all the way positive).

3. We would like to have complete flexibility for players to script any sort of AI they would like: behavior tree, FSM, utility, etc.  It is worth noting that a complete script must be contained in a single file.  Both [moddable] and miniscript allow you to create your own variables and functions for use within the script.


There is someone in existence who has made a drag and drop UI (block coding) for miniscript, but that person is currently working on another game and is unavailable to work on RR2.  Recreating Scratch or Blox inside of Unity is a pretty big task, but at a minimum I would like to get a basic code editor working.

What were the instant win parameters in RA2?  I would definitely want to avoid these!

Offline cjbruce

  • Super Heavyweight
  • Posts: 963
  • Rep: 11
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #397 on: February 28, 2019, 10:53:17 AM »
I just asked the miniscript vs [moddable] question to a bunch of high school students.  It was a 50% / 50% split between students who preferred the miniscript style vs the [moddable] style of coding.

Awesome.  :smile:

Offline Badger

  • Permanent Artifact
  • Giga Heavyweight
  • Posts: 6318
  • Rep: 3
  • I wish to be with my people
  • Awards BOTM Winner Donated money for site hosting 2019
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #398 on: February 28, 2019, 11:03:14 AM »
In RA2 AI code has access to both bot's chassis health values IIRC, so you could make an AI file that gave your bot infinite chassis HP or instantly set your opponent's chassis HP to zero. Pretty sure you can do the same with points, specific component HP values etc. etc.
also lol at most toxic guy around calling others out on this sh**
Google Drive with my newer bots

Offline Squirrel_Monkey

  • Squirrel_Monkeyweight
  • *
  • Posts: 7587
  • Rep: 7
  • [Insert clever and witty comment here]
    • 0SquirrelMonkey0
    • View Profile
    • Awards
Re: Robot Rumble 2.0 - Robot Combat Simulator - Under Development
« Reply #399 on: February 28, 2019, 12:06:46 PM »
I echo what Badger says. I imagine you can hide those values from the user.

The other disputed factor in RA2 was movements that were not "human reproducible" along the lines of rapidly switching a motor on and off to save power or doing fancy things such as meltybrain.

Sounds like you have a pretty good grasp of how it should we to though. I have very little preference for either language. What sort of math libraries do they include? I imagine that might be a factor in more complicated routines.
Better than GK since 2009.
I think SM is a pretty cool guy, eh builds unicycle-bots and doesn't afraid of anything