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.


Topics - Clickbeetle

Pages: [1] 2 3 4
1
Discussion / Testing: Are Typhoon teeth REALLY overpowered?
« on: July 14, 2018, 01:21:48 AM »
Anyone remember the old RA2 Mythbusters thread?  I'm not going to dig down and resurrect it, because I want this thread to be for testing weapon balance in DSL.  But Mythbusting is basically what I'm doing here.

As you all know, I was off RA2 for about 2 years, so I don't actually know that much about my own project (DSL 2.2).  So when a few respectable people said that the Typhoon teeth were overpowered, I mostly took their word for it, figuring they had more experience than me, and agreed to make Mr. AS's weapon rebalance patch official for an upcoming DSL 2.3.

But later I was doing some battles and noticed that Typhoon teeth (actually, normaled weapons in general) seemed to be performing surprisingly poorly, similar to the situation in DSL 2.1 where having normals was an automatic death sentence for weapon useability.  So I thought I had better do some formal testing.

This is my setup:
 
testing.jpg


The long extender rails are to keep the two test bots aligned, so I can keep bashing their weapons together head-on and see who wins under different circumstances.  I put different weapons on each bot, with or without Mr. AS's patch, and kept track of which bot de-weaponed the other.

Test 1: 2 Typhoon teeth vs. 4 iron spikes, without AS patch

Both of these weapon setups weigh 40 kg, but Typhoon teeth are heavier.  Therefore, I expect the Typhoon tooth spinner to beat the iron spikes due to the efficiency bonus for heavier weapons.  But Typhoon teeth have normals, and iron spikes don't, so who knows?

Result: Typhoon teeth win 100% of the time with both teeth intact.  So I know that big normaled weapons are good enough to beat an equivalent weight of spammy little weapons.  But are they too good?

Test 2: 2 ripping teeth vs. 2 hammer heads, without AS patch

Note: I tested this with Typhoon teeth as well and got similar results.  Ripping teeth are more or less the same as Typhoon teeth.  I used them here instead of Typhoons because they are closer to the same weight as hammer heads.

These weapons are almost the same weight (44 kgs. of teeth vs. 46 kgs. of hammers), but the teeth have normals and the hammers don't.  So they should be approximately evenly matched.  Are they?

Result: Ripping teeth win 90% of the time, usually with both teeth intact but sometimes with only one.

Now this isn't a great deal of data here, because I have better things to do than smash test bots together 1000 times, but it seems reasonable to conclude that Typhoon/ripping teeth are indeed overpowered, but only a little bit.  Keep in mind that my test setup here is a best-case scenario for normaled weapons - a head-to-head collision.  It removes the advantage of non-normaled weapons being able to damage in any direction.  In a real battle situation, if you hit a Typhoon tooth from the side, it will take damage without dealing any in return, making them effectively worse.  So in an ideal test setup, normaled weapons should win more often.

That said, 90% of the time might be too much.  And most DSL players agree from experience that Typhoon teeth are too good.  So does Mr. AS's rebalance patch fix the problem?

Test 3: 2 ripping teeth vs. 2 hammer heads, with AS patch

Result: Hammer heads win 100% of the time, usually with both hammers intact.

Hmm.  That shouldn't happen.  I also tested with Typhoon teeth instead of ripping teeth and got the same result.

Test 4: 2 Typhoon teeth vs. 4 iron spikes, with AS patch

Result: Typhoon teeth win 100% of the time, but almost always with only one tooth intact.

So normaled weapons are still good enough to compete with small non-normaled weapon spam, but possibly just barely (these are ideal conditions, remember).  But as for non-normaled weapons of equal weight, forget about it.  If you have 50 kg to spend on weapons, go for hammers over teeth every time.

Does Mr. AS's rebalance patch fix the problem?  Yes, but I think it fixes it too well.  In DSL 2.1, normaled weapons got either a 1.4x or 2x damage boost, depending on how many normals they had.  The AS patch drops this boost to a maximum of 1.4x.  Tentatively, I suggest that for DSL 2.3, the maximum boost should be more like 1.8x.  But this will require more formal testing.

But I invite anyone interested in this to do some testing of their own!


2
Hello GTM, long time no see!  I am sure that everyone here who remembers me has noticed that I have not visited in a long time.  What you may not have noticed was that the time of my disappearance roughly coincided with the release of RA3.  This was not a coincidence, despite just using the word "coincided" in the previous sentence.  (English is weird.)

Some of you may remember that I got invited to the Encore development office to meet the RA3 development team and test an early version of the game, and afterward I was hyping it up, saying that it had a lot of potential to be everything we wished RA2 was.  Well, we all know how that turned out.  Suffice it to say that I was more than a little disillusioned with the whole thing.  I had a taste of double-acting burst motors, darn it!  Torque-reaction thwackbots that actually work!  And don't forget NO 7-COMPONENT CHAIN LIMIT!  What do I do now, go back to RA2 like RA3 never happened?  It felt like a downgrade, despite RA3's obvious flaws.  Don't tease me with all these cool features and then snatch them away!

So, combined with work stuff, this is why I've been away from GTM.  It's a silly reason, and I knew that, so I've been intending to come back.  (Thank FOTEPX for finding my email and getting me to finally get off my sorry butt and do that.)  But first, as one of the only people to actually meet the RA3 dev team, and even having some involvement with development (I sent them bug reports and even suggested a few features that made their way into the final version) I thought I owed the community an explanation for the RA3 debacle.

In February of 2016 I got an email from somebody at Encore asking if I would like to visit the office and be part of the pre-alpha test group, since we were both in Minnesota.  (Conveniently, it turned out that I lived less than an hour's drive away from them.)  Obviously I jumped on that like Inertia Labs asking if I wanted to come over and take Bronco for a test drive.  So in March, Firebeetle and I drove down to the office and got shown around.  (For those wondering if Firebeetle is a real person, a fake double account, or if I'm just schizophrenic, if you manage to get hold of anybody who worked at Encore, they can confirm that there were two people there.  Or can they?)

Most of the meeting took place in a conference room, where they had RA3 running on a big projector, showing us what they had done so far and what they planned to do, and answering a few questions we had.  The lead designer of RA2 from Gabriel Interactive was there via Skype (or something), playing the game remotely and explaining the team's vision.  At this point only the bot lab was in a playable state (in fact you could argue that this is still the case), so we were only there about an hour or so, after which we got instructions for accessing the test version of the game from Steam so we could start working on bug reports.

Knowing that I was involved with the DSL mod, they also encouraged me to, and I quote, "poke around in the game files", which I thought was a bit odd at the time.  In retrospect, I think this may have been a last-ditch effort to crowdsource RA3 development because they knew they wouldn't finish it in time.  They may have been hoping that by giving modders access to the pre-alpha version, we could contribute components and possibly even code to speed up development.  This theory is backed up by the knowledge that they contacted HereticBlue and the UK Robot Wars mod team, but not Sage, who also lived in Minnesota but didn't have much modding experience.  (I suggested that they should get Sage on board, and they agreed, but didn't seem super enthusiastic about it.)  Unfortunately for them, it took me something like five years to finish DSL.  There was no way I was going to be able to finish RA3 for them in one month.  Had I known that they were that desperate for help though, I might have tried a little harder to figure out how the game worked.  I still regret not making more of an effort at modding RA3 when I had the support of the dev team.

Anyway, the thing I took away from that meeting at the time was that the Encore team genuinely wanted to make a great game.  These were not men in fancy suits just trying to turn a quick profit by capitalizing off the recent popularity of the Battlebots and Robot Wars reboots.  They were never anything but friendly, enthusiastic, and excited to give the RA2 community what it wanted.  That enthusiasm rubbed off on me, and I came away optimistic for the game's future.  This is perhaps because I didn't see their progress before that point, and had no idea how quickly (or slowly) they were working.  I thought one or two months would be enough time to at least get the game in a playable state, and if it was successful (which I thought there was a good chance of), they could continue working on updates.

When the release date drew near and it became clear to me that the game would not be finished in time, I tried to warn the dev team and pleaded for them to delay the release date.  I think this may have been what prompted them to release the game as "early access" rather than a final version, as they originally planned.  But as we all know, it was still a disaster.  They should have delayed any sort of release, and I kind of think they wanted to, but they were not able.

Now, I don't know anything of what was going on behind the scenes or who the dev team's boss was.  But it seems that although the team I met was totally cool and not just in it for money, ultimately money was their downfall (as in, they ran out of it).  Whether they had a grant for X dollars and once it was gone it was gone, with nothing they could do about it, or whether there was some shadowy executive behind the scenes who was just interested in a quick cash grab, I don't know.  But I am convinced that the RA3 debacle was not their fault.  They did the best with what they had, and I am still convinced that if you got this same team together and funded them for another year, they would produce a quality game.  It's a crying shame that they didn't get that chance.

So that's my story.  I thought a rare eyewitness account would provide some much-needed context and perhaps help clear the names of Gabriel and Encore a little bit.  RA3 is a barely-playable mess, true, but it had potential to be great and the dev team doesn't deserve any hate.

And now... finally back to RA2, I guess?

3
Modifications / DSL 2.2 OFFICIAL RELEASE
« on: January 11, 2016, 02:50:38 AM »
IT'S FINALLY HERE

What is DSL 2.2?
DSL 2.2 is the long-awaited update to DSL 2.1.  I originally started developing it as DSL3, a stand-alone mod, rebuilt from the ground up, with no backwards compatibility with 2.1.  However, in the last phase of development, I decided that the lack of backwards compatibility was a bad idea and "downgraded" it to version 2.2 -- however, it still has all the new DSL3 content (and then some).  The only difference is that now you can still use all your old bots in the new version.

What's new?
- Lots of new components
--- Versatile extenders and armor plates in a dizzying array of sizes.  You've seen them in Ironforge and RWRA2, but they were here first.
--- New "pneumatic" (not really pneumatic) burst motors, including front-hinged burst motors for Firestorm-style flippers.
--- New weapons including heavy spikes and several replica components not previously balanced for standard play.
--- New decorative components including LEDs and assorted backdrops for taking cool bot lab screenshots.
- Most components are rebalanced
--- Batteries and air tanks output max power for their entire life, but once they're empty your bot will stop working!
--- More useful stats included in the description for batteries and air tanks (how many motors can be powered for 3 minutes, for instance).
--- All wheels and extenders are lighter.
--- Wheel grip is partially based on size, so bigger wheels generally make you move faster.
--- Weapon efficiency increases with mass, so razor spam is a less effective strategy (still works, just not as well).
--- Weapons with normals get a 1.2x or 2x efficiency boost depending on how many normals they have.
--- Some heavy weapon motors are slightly more powerful.
- Many replica bots are updated with better looks, better fighting ability, and actual weight classes.
--- Effort focused on Battlebots and RFL bots.  Most Robot Wars replicas are not updated.  Sorry RW fans.  If you want Robot Wars replicas, go check out the RWRA2 mod.
--- The old Robot Wars bots can still be found in your Robot Designs folder along with all the new ones.
- A few new replicas: Alcoholic Stepfather, Moros, Shish-Kabot, Hunter
- Various other minor tweaks and new stuff here and there.

How do I get it?
I made two downloads.

Click here for the patch version (25.6 MB).  This file is a PATCH that you need to apply to an existing copy of DSL 2.1.  It will update your game from 2.1 to 2.2.  IT WILL NOT WORK ON ITS OWN.  Simply extract the files and cut, paste, and overwrite into your Robot Arena 2 folder.  You may want to make a backup of your game in case you want to switch back to version 2.1.

Click here for the foolproof complete game (205.5 MB).  This is a stand-alone full game download.  Just extract the files anywhere and run the exe.

Transferring old bots to DSL 2.2
Bots made in DSL 2.1 should transition seamlessly to 2.2.  You don't need to do anything to update your bots; however, you may want to reapply the chassis armor because the 2.2 armor is quite a bit stronger, and there's a good chance you'll have some extra weight to play with due to the lighter wheels and extenders.

Bots made in the DSL3 beta are trickier.  I'm working on a program that will automatically update these bots, but in the meantime, here's what you need to do:
- Open the .bot file in Notepad++ or another program that can edit .bot files without corrupting them.
- Replace all instances of "Extenders_X_R" with "Extenders_X_S" where X is A, T, or S.
- Replace all instances of "extenders_x.txt" with "extenders_x_S.txt" where x is alu, tit, or steel.
- Add "mini" to the end of every anchor filename (for instance, anchor1.txt -> anchor1mini.txt).
- Reverse your bot's driving controls (they should go back to the "normal" way you use in stock)
- NPC motors need to be replaced manually in the bot lab.

If you find a bug or think certain components are overpowered
Just make a post here.  I found quite a few missing files in my initial testing, so it's possible that something is not there that should be there, which may result in a crash.  It's likely that I will need to make a slight update to this, so make sure to post about bugs and balance issues!

Do NOT request any more new components or replicas, however.  Any near-future updates will focus on stability and balance.

BioHazard
The new BioHazard uses the Trovaner chassis glitch, which means you need to do some Options trickery to get it to not crash.  The RA2.cfg file I included should be set up to work with BioHazard as long as you don't touch the Options menu.  If BioHazard starts crashing, though, do this:

1. Set the graphic quality to High.
2. Do a battle or go in the test garage.
3. Go back to the main menu.
4. Change the graphic quality to Low and then IMMEDIATELY quit RA2.
5. BioHazard should work now.  The graphic quality is actually High even though it will say Low in the Options menu.

Future plans for DSL
The majority of the work is done, but there's still a few things I'd like to do at some point.

Near future plans:
- Update the stock AI with 2.2 parts and more competitive designs.

Far future plans:
- Update and AI the Robot Wars replicas to the same level as the others.
- Add AW and BW replica bots (Fire Arrow, Slim Pickens, and friends)

4
Ironforge TC Showcases / Click's Ironforge
« on: July 08, 2014, 01:39:02 AM »
Just got Ironforge and built a pile of bots.  Nothing super serious yet, just trying out different designs to see what works and what doesn't.

Here's Tumbleweed, the first bot I built.  It's inspired by Pro-AM / Kumite.



I like this design and want it to work... but it doesn't.  It can beat none of the MWs.  The weapon doesn't have enough reach and doesn't do enough damage anyway.

Next I tried making Slambot Iron Edition.



Looks pretty cool... but is really bad in combat.  It gets stuck on its side far too often.  I could make it better, except that it seems everything I do turns it into a Havok bomb.  Wider chassis?  Havok.  Remove those side skirts?  Havok.  I'm lucky I got one stable enough to not explode.

Finally I got something that works.  Here's Falling Star.



It can't beat either of the VS for obvious reasons, or the shell spinner or SnS because fast melty brain bots are stupidly annoying, but it destroys anything else.  I suspect it would be considerably less good if there were more bots with wedges, though.

Altas Undas was an attempt at upgrading Tumbleweed.



Still doesn't work.  The weapon packs a lot of momentum, but damage is low.  I'm beginning to suspect that these steel blades don't work well on VS.  Also, it's highly unstable.  It self-rights easily, but one gyro dance is often all it takes to give the opponent the advantage.  It can beat one HW... if you count Damage Tester.

I got tired of losing to every bot, so lastly I built Poot Slap, a generic HS that abuses the weapon array.



This thing is too powerful for its own good.  It can score over 12,000 damage in a single hit, but often throws itself to the ceiling in the process and then has trouble self righting.  But even with questionable stability, it's powerful enough to win some fights.

5
Discussion / Stock "Sportsman Class"
« on: June 22, 2014, 12:36:36 AM »
So I was thinking about BBEANS7


and I decided I want to go back to stock MW, since it's been 8 years or something since BBEANS1.  However, it won't be JUST stock MW.  There will be a "Standard" division, which will be your standard tourney with normal building rules.  And then there will be a special "Sportsman" division.

What is the sportsman class?  Think kind of like the stock equivalent of DSL IRL.

DSL is popular (just compare activity in the stock showcase with the DSL showcase) in part because it has two main building styles, standard and IRL.  (There are other reasons too, but I think IRL building is a big part.)  Stock has only one building style, which is extremely focused on mastering glitch abuse and stacking, and is largely inaccessible to new players.  Even experienced players can find it tedious Snapper-loading huge complicated weapon systems or trying to stack multiple baseplate anchors in a Nifty.  I think stock needs another option.  However, IRL doesn't work as well in stock.  It's been attempted and never took off.  Enter my idea for the sportsman class.

Proposed rules for stock sportsman class:  (I want to keep these short and simple, so there are only three.)

1.  Banned Components
Cheatbot2 parts, the Snapper II, and 140cm extenders are not allowed.

2.  Stacking Rule
Only baseplate anchors, small battery packs, and control boards may be stacked.  No stacking weapons (=overlapping collision mesh).  No exostacking.  It is still allowed to "stack" things using motors.

3.  Chassis Armor
Double-strength aluminum armor is not allowed.  (Yup, you'll have to actually open the Armor tab.)

Feedback is welcome on this idea.  The main goal of the sportsman class is not to make the game more accessible to new players, although that is a nice side effect.  The goal is to make an alternate, less glitch-focused, less tedious, less brutally competitive building style that encourages different designs, similar to what IRL does for DSL and the real life 30lb sportsman class does for real life robot combat, and perhaps boost interest in stock building.

6
Modifications / Battlebox arena fix
« on: May 04, 2014, 08:53:10 PM »
With Battlebots 9 coming up (and me with two bots in it), I thought I would finally wade into the morass that is the Battlebox 2.0 files and try to fix some issues.

Here are the fruits of my labor:  http://beetlebros.gametechmods.com/files/BATTLEBOX_2_0.zip

This is the complete arena, so just unzip in your Arenas folder and you're good to go.  If you already have the Battlebox, overwrite everything it asks.

What I did:

- Added collision lines and POVs for the walls and hazards.  AI will not blindly drive over hazards (usually), and bots stuck on the entry ramps will not try to drive through the wall to get out.  Rammers won't back into the walls.

- Made the killsaws less powerful so they don't explode quite as often.  They're still not perfect, but I think they're a little better.

- VASTLY improved the pulverizer behavior.  They actually go up and down like a normal hammer now.  Not like some hammer that thinks it's a Razer claw.

- Made the hazards actually do damage.  Not much--a pittance, really--but hazards that don't do ANY damage are just lame.

- Added start points so the Battlebox now supports 4 bots at once.

-WARNING FOR MASSIMOV-

I did not disable the Hellraisers.  That bit of code will have to be re-implemented for BB9.

7
Discussion / Time for my annual April 1st reappearance.
« on: April 01, 2014, 09:02:53 PM »
Hey RA2, long time no see!

Unfortunately, I don't have any grand prank like the DSL3 beta I released last year.  In fact, I don't have a prank of any kind.  But today did get me thinking about GTM, and how I always post on April 1st.  And how it's about time I came back.  Homestar Runner came back (AND IF YOU DIDN'T KNOW THAT, CONGRATULATIONS, GO CHECK IT OUT), so I should too!  It is a day for comebacks!

First off, let me apologize for disappearing for so long again.  I know you were all counting on me to make DSL3 awesome, and I just kind of left it after releasing a beta that still had problems.  I don't like leaving things unfinished (part of why I'm posting now), and I'm as frustrated with myself as you probably are with me.  So, I know how you feel, and I'm sorry.

I've lost interest in RA2.  Don't worry though, I haven't lost ALL of it, just some of it.  Enough that RA2 gets constantly pushed to the bottom of my to-do list.  I still want to finish DSL3, and I still want to run BBEANS7 (preferably in DSL3), and I still want to build bots too.  However, I no longer trust myself to stay motivated enough to finish DSL3 in a timely manner.

Therefore, I was thinking it might be time to "pass the torch", so to speak, and let someone else take over as "head" of DSL3.  I can't imagine you guys have been idle while I've been gone.  I'm guessing some tweaks have been made to the DSL3 beta I released last year.  What's the standard version of DSL you guys use for tournaments and showcases?  I know Naryar and 123savethewhales both had their own ideas for DSL3.  Is one of their versions the "standard" now?  Instead of me reinventing the wheel and making a new "official" DSL3, we could just use the current standard and work off of that.  Enough time has passed that you've probably got it properly balanced, or close to it.  I would still like to be involved in development, but in more of a testing and editing role.

Of course, it's also possible that there is no consensus on which version of DSL3 to use.  Maybe you're still playing DSL2.  In which case, I'll do my best to fix DSL3 and make it awesome.  I do have some fixes for the beta that I never released.  I will not abandon my responsibility to GTM.  Even if it takes years.  Which, just warning you, it probably will.

So tell me what's happened in the last few months!  What's popular right now, what big new things have happened?  I won't disappear again right away.  I'll stick around for the next few weeks, at least!  Hopefully months!

8
Discussion / DSL3 bug reporting thread
« on: April 02, 2013, 12:09:14 AM »
Report any bugs, mistakes, or oversights in the DSL3 beta here.
 
So far I've got:

- Colson wheels don't pass through chassis.
- Shiny hub wheel simulation geometry has not been updated.
- Need extra attach points on PC545 and PC625 batteries.
- Test garage features are missing.
- Skirt hinge needs fixing.
- Armor needs to actually be stronger (I don't know what I was smoking when I edited Armor_Definitions.txt).
- Attach points on locking TWM need fixing? (need to look at this)
- Storm burst collision needs fixing.
- BSG collision needs fixing.
- Chew blade attach point is missing.
- Hex plate needs axle attaching.

Known glitches I can't do anything about:

- Tank treads AGOD a lot, especially the small size.
- Axle on piston bursts is sideways before attaching.

Things I did on purpose that might be misinterpreted as mistakes:

- Music is different.  (Songs and placement will probably change on final release.)

NO CHATTER.  Random comments, feature suggestions, questions, and bot showcases will be MERCILESSLY DELETED TO DEATH.

9
Modifications / DSL3 is not cancelled.
« on: April 01, 2013, 05:09:40 PM »
Yep, you've probably noticed I haven't been around here lately, and the reason is that I've lost interest in RA2.  I would have time to finish DSL3 if I felt like it, but I don't.  I just don't have the motivation.  So, sorry guys.

So with that, I will leave GTM.  I just thought I would let you guys all know what's happening, which is nothing.

As for all the DSL3 stuff I have done so far, I have no plans to upload it.  It's kind of a mess and I don't feel like sorting through everything and getting it organized.

Yep, looks like DSL3 has gone the way of Backlash.  Well, no big deal.  You guys seem pretty happy with DSL2.

Goodbye.


10
Modifications / AI Essentials (.py file compilation)
« on: August 04, 2012, 12:52:05 AM »
Let's face it:  the current state of AI .py's is a mess.  Even a commonly used .py like Popup is not available anywhere individually; you have to get it in an AI pack, and then you have to hunt down the newest version.  Finding the right .py for the job can be a chore, and this is probably a major obstacle for new people getting into AI'ing.
 
So I gathered 15 of the most commonly used AI's and put them all together in a single download.
 
http://beetlebros.gametechmods.com/files/AIessentials.zip
 
It's also linked on my RA2 Downloads page.
 
http://beetlebros.gametechmods.com/robotarena.htm
 
The .py's I included are Omni, InvertOmni, InvertOmni2, EcoOmni, SpinupOmni2, Popup, VertSpinner, FBS_2, FBSPlus, FBSInvertDir, Flipper2, BiDirRam, ElectricHammer, LaserguidedV2, and Tactics.
 
Note:  Flipper2.py is the improved Flipper.py I posted earlier, I just changed the name so it doesn't overwrite the old Flipper.py anymore, since the new one still has some issues.  I also added a customizable setting for how often it fires the srimech, as requested by Sonny Resetti.
 
Note2:  I updated VertSpinner.py with an anti-Troll Dance feature.  You can now put 'TrollDanceZone' in Bindings to make the weapons spin in reverse for a longer time when self-righting, so the bot doesn't end up balancing on its nose.
 
BUT WAIT THERE'S MORE
 
I created templates for every .py that include most of the customizable features (set to default settings) so you can just pick a .py template, copy and paste it into Bindings.py, and tweak the settings as needed.  No more worrying about misplaced commas, typos, or missing parentheses!  I expect this will be a major time-saver for people running tournaments that have to do a lot of mass AI'ing.

11
Discussion / New website
« on: June 20, 2012, 11:12:39 PM »
After many hours of labor, I've totally redesigned my website!  Gone is the old (admittedly hard on the eyes, although I did like the graphics at the top and was sorry to see them go) black, red, and green theme.  Instead I've given it a boring gray theme, but careful observers will note the background is the same color as the bot lab background, and the text is the same color as the RA2 in-game text.
 
While I was at it, I took the opportunity to give some of my tutorials a much-needed update.  The RA2 Stats page has been updated to reflect my new understanding of how power consumption works, and also includes motor speed and torque stats.  The Building Techniques page also got a major overhaul.  I go much more in-depth into chassis space management, building to the weight limit, how to make a good wedge, using extenders, and building popups.  Some other sections also got minor revisions for clarity.  Hopefully this page will be even more useful to newbies now!
 
Note:  I put the Containment Cube and the Epic Showdown arena on the Downloads page, but the links are currently not working because there's a thunderstorm here and my uploads of the .zip files keep getting interrupted.
 
http://beetlebros.gametechmods.com

12
Discussion / Want to help with DSL3?
« on: April 01, 2012, 11:10:56 PM »
So I've heard a lot of people saying that I don't want/need/ask for help with DSL3.  This is partly true... I think I am very slightly obsessive-compulsive, and have trouble delegating tasks to other people for fear that they won't do what I would do.  But the other reason is that there are not that many skilled GMF editors here, and of those that are, there are even fewer that have the time or motivation to work on this.
 
BUT I have here some grunt work that anyone with a moderate understanding of the GMF can do.  Here's what I need:
 
- Pick a wheel GMF besides the ant wheels.  (Edit: or shiny hubs.)
 
- If they exist, delete all the Light objects (they are not necessary and Serge's compiler will not compile them.)
 
- If necessary, move the attachment point so it is flush with the wheel, not floating in space.
 
- Add a second attach point by copying the first one, inverting its direction, and moving it to the outside face of the wheel.  Make this point Attach = Axle_M, Generic_M.
 
- In the RBCollection, change the Simulation Geometry of the "wheel" object to 5 if it uses a display mesh.  If it uses a collision mesh, change it to 6.  wheel_rbodies and wheel_traction should stay at 2.
 
- Final object count should be 8.  Compile the wheel using Serge's compiler.  (Either Dummy's or Serge's will successfully decompile a wheel, but only Serge's will compile them.)
 
- Send your wheels to me.  Post in here what wheels you're doing so no one else picks the same wheels.  Don't worry about the txt file; I'll handle that.
 
WHEELS:
Buster
Micro
Mini
Growler
Hypno
Backlash
DSL 1
DSL 2
Granny
Pussycat
Tornado
Tazbot
SlapH
T-Minus
Motorcycle
Motorcycle 2
Motorcycle 3
N12
Fatboy
Mud
Techno
S3
Slim
Overkill
Ford
Cobra
WBC

13
Modifications / New Flipper AI
« on: February 18, 2012, 11:41:55 PM »
It's common knowledge that Flipper.py includes some code for detecting whether the opponent is upside down, and to stop firing the weapon if they are.  However, this code is not very well implemented and usually fails.  I figured it's about time somebody cleaned it up.
 
The NEW Flipper.py features some significant improvements:
 
- Improved immobility detection with customizable settings in Bindings.py: make your bot more or less sensitive to movement until it works just right.
- The AI will stop firing its flipper AND stop driving if its opponent is not moving.  No more stupidly pushing the opponent around so they avoid being counted out!
- In a rumble, the AI will ignore bots that are not moving.
- Added support for a secondary popup weapon with NoChassisTime feature and an analog spinner control, so you can AI popups and VS's with Flipper.py.
- Added "Srimech" control for self-righting.
 
Could this possibly mean... that flippers can now be competitive in enclosed arenas??? :eek:   That's what I'm hoping with this; we'll see how it works in practice.

UPDATE as of 6/9/2014:

- Reduced occurrence of "flipper staredowns" in flipper vs. flipper battles.  They still happen, but not nearly as often.
- Added capability to set 'sweapons' in Bindings, and when these components break, to become invertible.

Download (Included in AI Essentials pack)

14
Other Tutorials / How to BFE chassis height
« on: December 24, 2011, 01:24:34 AM »
I've seen a lot of people lamenting that they can't BFE chassis height recently.  I thought, "Seriously?  Has no one written a tutorial on this ridiculously easy technique?"  Apparently, no one has, at least not in the Tutorials board.  Let me take this opportunity to post a quick and simple guide to BFE'ing chassis height.
 
Step 1
 
If you're intending to lower your chassis height with BFE, the first thing you should do before you even start building is set the chassis height at the lowest it will go in-game.  This will make it much easier to adjust the chassis height out-of-game later on.
 
You probably know this, but just in case:  To get the very lowest chassis height in-game, don't drag the height slider down.  Instead, click the bottom-most pixel of the height bar.  This sets the slider at a level below that which you can normally drag it to.
 
Step 2
 
Once your chassis is done, export your bot and quit RA2.
 
You can BFE the chassis height at any time, but it's better to do it before attaching any components, to make sure that the components actually FIT inside.  If you BFE after the components are in there, you could accidentally make it too short so the components can't be reattached, which would be basically the same as stacking and fall under the "cheating" category.
 
Step 3
 
Now here's where it gets just a bit tricky.  You can't edit .bot files in Notepad, Word, or any other common default program.  If you try, it will corrupt the file beyond recovery.
 
Fortunately, there's any easy solution.  Notepad++ is a free, safe text editor that's loaded with tons of useful features, but the only one you really care about right now is that it can save .bot files without corrupting them.  Here's the official website where you can download it:  http://notepad-plus-plus.org/
 
After installing Notepad++, run it and go to File > Open.  Navigate to your Robot Designs folder and open up your .bot file.  Now you're ready to edit!
 
Step 4
 
The .bot file looks intimidating, but don't panic.  There's an easy way for the program to change the chassis height automatically.  To do this, go to Search > Replace in the menu bar.
 
Here's where setting the chassis to the minimum in-game height beforehand comes in handy.  If you did this, the height of your chassis will be exactly 0.338182.  Why such an odd number?  I don't know, but be glad for it because being so odd means it won't likely appear anywhere else in the .bot file.  That means you can safely type 0.338182 in the "Find what" box, and type the desired new chassis height in the "Replace with" box.  Now click "Replace All".  This will go through the .bot file and replace all instances of the number 0.338182 with whatever you put in the "Replace with" box.
 
What should the new chassis height be?  It will probably take some experimentation but 0.25 is a good height to start at.  However, don't make the height exactly 0.25.  Make it something very close, like 0.250001.  This will make it possible to do another Replace All if you need to change the chassis height, as 0.250001 won't likely appear anywhere else in the .bot file, but 0.25 might.
 
Now suppose you didn't set the chassis height to the in-game minimum and don't want to rebuild the bot, or you did it wrong and 0.338182 doesn't appear in the .bot file.  Don't give up; all you need to do is find out what the chassis height actually is.  First, look for where it says "Chassis" a little less than halfway through the file.  It should look something like this:
 
Chassis
(bunch of really big numbers)
RAW
(bunch of 1's and 0's)
(bunch of fractions in two columns)
(bunch of numbers in three columns)
 
The bunch of numbers in three columns is what you want.  The numbers in the middle column are the height.  Example:
 
Code: [Select]
1.1 0 0.88
0.88 0 0.88
0.88 0 -0.88
1.1 0 -0.88
1.1 0 -1.1
-1.1 0 -1.1
-1.1 0 -0.88
-0.88 0 -0.88
-0.88 0 0.88
-1.1 0 0.88
-1.1 0 1.1
1.1 0 1.1
1.1 0.51 0.88
0.88 0.51 0.88
0.88 0.51 -0.88
1.1 0.51 -0.88
1.1 0.51 -1.1
-1.1 0.51 -1.1
-1.1 0.51 -0.88
-0.88 0.51 -0.88
-0.88 0.51 0.88
-1.1 0.51 0.88
-1.1 0.51 1.1
1.1 0.51 1.1
1.1 0 0.88
0.88 0 0.88
0.88 0.51 0.88
1.1 0.51 0.88
0.88 0 0.88
0.88 0 -0.88
0.88 0.51 -0.88
0.88 0.51 0.88
0.88 0 -0.88
1.1 0 -0.88
1.1 0.51 -0.88
0.88 0.51 -0.88
1.1 0 -0.88
1.1 0 -1.1
1.1 0.51 -1.1
1.1 0.51 -0.88
1.1 0 -1.1
-1.1 0 -1.1
-1.1 0.51 -1.1
1.1 0.51 -1.1
-1.1 0 -1.1
-1.1 0 -0.88
-1.1 0.51 -0.88
-1.1 0.51 -1.1
-1.1 0 -0.88
-0.88 0 -0.88
-0.88 0.51 -0.88
-1.1 0.51 -0.88
-0.88 0 -0.88
-0.88 0 0.88
-0.88 0.51 0.88
-0.88 0.51 -0.88
-0.88 0 0.88
-1.1 0 0.88
-1.1 0.51 0.88
-0.88 0.51 0.88
-1.1 0 0.88
-1.1 0 1.1
-1.1 0.51 1.1
-1.1 0.51 0.88
-1.1 0 1.1
1.1 0 1.1
1.1 0.51 1.1
-1.1 0.51 1.1
1.1 0 1.1
1.1 0 0.88
1.1 0.51 0.88
1.1 0.51 1.1

This bot has a chassis height of 0.51.
 
Now just do the Replace All explained above.  Since 0.51 might appear in other places in the .bot file, it's probably a good idea to highlight all of that three-column section first, so it only replaces numbers in that area.
 
When you're done, save the file.  That's it!  You don't need to do anything else, or do any manual editing and risk making a mistake.
 
Step 5
 
Open RA2.  Import the BFE'd bot into your bot lab and hope it doesn't crash (if it does, you did something very wrong).  Now have fun finishing building your super-flat killer!

15
General Support / Change arenas mid-battle
« on: August 23, 2011, 11:13:07 PM »
Advanced Python question for Trovaner or Mad here.
 
I need to make an arena that changes into another arena at the start of the match (right after the countdown).  I know it's possible because I remember Mad (at least I think it was Mad) making an arena that cycles through all the stock arenas mid-battle.  However, I cannot find this arena anywhere.
 
I'm fairly certain the command used for this is Arenas.createArenaByName("Arena name").  That's what I used for the special SFTW AI to make it switch to the Epic Showdown arena automatically.  However, when I put that command in an arena, it crashes as soon as it's called.  I've tried Arenas.createArenaByName, self.createArenaByName, self.Arenas.createArenaByName, and even Arenas.SuperArena.createArenaByName.  Same result.
 
Here's my full .py in context:
 
Code: [Select]
from __future__ import generators
import plus
import Arenas
import random
import Hazards
import math
class Box(Arenas.SuperArena):
    "In space, no one can hear you scream... as your bot's components are brutally torn off with magic Python powers."
    name = "Ironbot Space"
    preview = "cube/cube_preview.bmp"
    game_types = ['DEATHMATCH', 'BATTLE ROYAL', 'TEAM MATCH']
    extent = (-16, 16, 16, -16)
    def __init__(self):
        Arenas.SuperArena.__init__(self, "Arenas/cube/ironbotspace.gmf")
        #plus.Arena.__init__(self, "")
        plus.setBackColor(0, 0, 0)
       
        degrad = 0.01745
        self.AddStaticCamera("Battle Veiw", (19.5, 15, 19.5), (50*degrad,225*degrad), 55*degrad)
        self.AddStaticCamera("High Flipper View", (-19.5, 45, -19.5), (48*degrad,45*degrad), 84*degrad)
        self.AddStaticCamera("Birds Eye View", (0, 45, 0), (90*degrad,0), 75*degrad)
        self.AddWatchCamera("Combat Cam", (-12, 8, 12), (16, 36, 65*degrad, 30*degrad))
        self.AddWatchCamera("Aerial Cam", (-19.5, 35, -19.5), (50, 60, 45*degrad, 60*degrad))
        self.AddWatchCamera("Ground Cam", (8, -5, -8), (15, 40, 75*degrad, 35*degrad))
        self.AddWatchCamera("Spectator Cam", (13, 15, 13), (6, 18, 45*degrad, 45*degrad))
 
        self.players = ()
       
    def Introduction(self): 
        self.LostComps0 = eval(open("Bot0_comps.txt").read())
        for id in self.LostComps0:
            plus.damage(0, id, 1000, plus.getLocation(0))
            plus.damage(0, id, 1000, plus.getLocation(0))
        self.LostComps1 = eval(open("Bot1_comps.txt").read())
        for id in self.LostComps1:
            plus.damage(1, id, 1000, plus.getLocation(1))
            plus.damage(1, id, 1000, plus.getLocation(1))
        yield 0
       
    def Activate(self, on):
        if on:
            self.players = plus.getPlayers()
            Arenas.createArenaByName("Containment Cube")
       
        Arenas.SuperArena.Activate(self, on)
       
Arenas.register(Box)

The arena itself is just empty space with a single grape crate in the middle (just so there is some object).  I'm using it for Ironbot so I can break off all the bots' components that were broken in previous fights via a list imported from txt files (this part works fine), have the broken parts fall into empty space during the countdown so they don't interfere with the fight, and then change the arena to the Containment Cube for the actual fight (this part doesn't work fine).
 
If anyone knows what I'm doing wrong, or if you know where to find that arena that switches arenas mid-battle, help is appreciated.

16
Tournament Archives / Ironbot SBV
« on: August 17, 2011, 08:23:06 PM »
Finals are up!
 
Now you may be looking at the video file and thinking "HOLY CARP THAT'S HUGE" but keep in mind that this includes all 16 fights rolled into one... if you do the math it comes out to less than 4 MB per fight, so not that bad.  If it's too slow streaming then just right-click on the link under the video and select "Save Target As" to download it to your hard drive.
 























Website with bot statistics: http://beetlebros.gametechmods.com/bbeans/ironbot/index.htm
(Allergen Information: May Contain Spoilers)

17
Modifications / Containment Cube
« on: August 14, 2011, 08:16:00 PM »
Sorry for disappearing for the last 2 weeks - I was gone on a trip all last week, and I thought I would have time to check the forums and keep up on Ironbot while I was gone, but I actually didn't.
 
But I did get the arena for Ironbot finished when I got back Friday/Saturday!
 

 
This is the Containment Cube.  It's about the size of the Combat Arena, and completely enclosed (no OOTA zones here), so it should be comfortably familiar to you all.  However, if you're used to driving over the saws and spikes in the Combat Arena with impunity... get un-used to it.
 

 
These hazards do not mess around.
 

 
There's a hammer in one wall and a vertical blade in the other.  They're powerful enough to pose a real threat, but not so powerful that getting hit once will necessarily be game-changing (getting hit three times might be, though).  Then there's the spikes along the walls which pushers can slam bots into.  HS's should be especially wary of the spikes, as hitting them with a high-speed spinner can really hurt.
 
When hazards are turned off, the hammer and the blade sit flush with the wall to create a seamless surface like they're not even there.  The spikes do damage whether hazards are on or off, however.  (If you want a plain box with no hazards at all, just use the Combat Arena.)
 
You can download the arena here:
http://beetlebros.gametechmods.com/files/cube.zip
 
And if you open the .py, and find the parts that are commented out with "Ironbot stuff", and uncomment them, you can limit the match length (in a way... actually it just disables both bots) to 30 seconds for Ironbot testing.

18
Tournament Archives / Ironbot Signups
« on: July 24, 2011, 02:38:31 PM »
All right, Ironbot signups are open for one week starting... NOW.  They will close on July 31 at midnight Central time.  SIGNUPS ARE CLOSED.
 
First of all, please review the rules here:
https://gametechmods.com/forums/index.php/topic,7046.0.html
 
Sending your bot is easy.  Simply upload it (either using the file uploader or the bot exchange) and PM me the link.  Alternatively, you can send it as an attachment via e-mail to clickbeetlethreethreesixfour@gmail.com (but type the threethreesixfour as 3364).
 
ENTRIES:
 
1. Clickbeetle
2. Squirrel_Monkey
3. Badnik96
4. Mr. AwesumSauce
5. GroudonRobotWars
6. Pwnator
7. Sage
8. Bubbleman
9. Hard Bot
10. Starcore
11. Virus Bomb
12. Dexterhunter
13. The Ounce
14. dragonsteincole
15. Mechadino
16. Conraaa
17. Firebeetle
18. kill343gs
19. G.K.
20. R1885
21. Vertigo
22. Naryar
23. JoeBlo WITHDRAWN
23. freeziez
24. GarvintheGreat
25. RPJK
26. 090901
27. NFX
28. Scrap Daddy
29. Jack Daniels
30. Trovaner
31. Somebody
32. Wolfsbane

19
Discussion / Snow Plow HP
« on: June 22, 2011, 11:05:52 PM »
So, recently Trovaner has posted that the snow plow has default HP for the "Component" base type, which is true.  However, the default HP is only 100, which doesn't seem to fit with experience.  Plows seem to be a lot more durable than extenders.  There's some speculation that the curved shape reduces damage, but what's really going on?


I decided to test the plow HP in game to settle the matter once and for all.  I simply rammed a plow into the wall in the test arena and added up how much damage it took before it broke.  Then I used a bit of Python for a more exact measurement.


In both tests, the total HP came out to 1000, not 100, with a fracture of 60.  This is also true of bracket wedges, forklift arms, small wedges, and EMERGENCY wedges.


So what's going on?  I think the default HP is different depending on whether the component is in the "extenders" category or the "extras" category.  Similar to how anything in the "power" category is invincible regardless of what is set in the .txt file, components in the extenders category have 100 HP by default, while components in the extras category have 1000 by default.


So, good news!  Plows are still safe to use!  You don't have to avoid them like the plague now, thinking they only have 100 HP! :mrgreen:

20
Tournament Archives / Ironbot
« on: June 15, 2011, 11:37:48 PM »
All right, it's about time I put together some official rules and set a date for signups.


GET READY FOR IRONBOT!


In case you missed it, you can see a little mini preview tourney I did here: https://gametechmods.com/forums/index.php/topic,6411.0.html


This tournament will be pretty much like that.


OFFICIAL RULES:


Section 1 - General Information


1.1 Weight class is Stock HW.


1.2 The arena to be used is a new arena I am working on called the Containment Cube.  (What?  JoeBlo doesn't have any patent on cubes last I checked.)


1.3 Standard stock building.  All normal in-game building techniques are allowed.  Outside-game building (AAM, BFE) is not.


1.4 The 140 cm extender is allowed.


1.5 BBEANS general rules apply except where otherwise noted below.


Section 2 - Restrictions


2.1 All bots must have damaging weapons.


2.2 Bots without active (moving) weapons must use the "Ram" or "Charge" tactics such that they repeatedly ram the opponent rather than pin them.  If a bot did have active weapons but loses them, it must switch to the Ram or Charge tactic.


2.3 All bots must move via wheels, not via discs or other non-wheel components.


2.4 No popups.  Popups are banned.  They get KO's too fast without breaking other components, which defeats the purpose of this tournament.


2.5 Bots can have a maximum of 6 casters.  Use them wisely.


2.6 Multibots are not allowed.


2.7 Double-strength titanium and steel armor are not allowed.  (These are found on some of the stock AI bots.)



Section 3 - Tournament Format


3.1 At the beginning of the tournament, all the bots are randomly paired off in 1 vs. 1 fights.  In the following round, the winners and losers will be separated into two groups.  All the bots in each group are randomly paired off and fight.  This process repeats for all the following rounds.  In this way, the same two bots will never fight two rounds in a row.


3.2 If there are an odd number of bots in both groups, the bots remaining after pairing off will fight if they didn't already fight in the previous round.  If they did fight in the previous round, the bots are randomized over again.


3.3 If there are an odd number of bots total, the bot in the loser's group with the most damage gets a bye.


3.4 Matches last 30 seconds.  Since this is not a standard RA2 match time, I will be using a bit of Python that disables both bots after 30 seconds have elapsed, in order to prevent damage from being dealt after the buzzer.  Immobility warnings will be disabled for the entire 30 seconds.


3.5 Any components that break during a match are permanently lost for the rest of the tournament.  All other damage not resulting in a break is reset between fights.


3.6 Bots are eliminated when they are either KO'd, or are reduced to 1 or 0 wheels.  It doesn't matter how many match wins or losses a bot gets as long as it isn't KO'd or de-wheeled.


3.7 All bots get one spare control board, which allows them to be KO'd once without being eliminated.


3.8 All bots get a number of spare wheels equal to half the wheels they start with.  So a 2-wheeled bot gets 1 spare, and a 4-wheeled bot gets 2 spares.  Bots with an odd number of wheels like 3 or 5 get their number of spares rounded up (just as a bit of extra incentive to be crazy and original  ;) ).  Spare wheels are used immediately after any wheels are lost in a fight.


3.9 If a wheel is attached to another external component (such as a drive motor or an extender), and that component breaks, a spare wheel will allow the replacement of any components that are necessary to re-attach the wheel.  Any other components attached to the broken component not necessary for the attachment of the wheel are lost.


3.10 If a bot loses wheels such that the drive becomes asymmetrical and it can't drive straight, the wheels will be rearranged so that it can drive straight.  If there are an odd number of wheels remaining, one of them will be unpowered so that the bot can drive straight.


3.11 If a bot has vertical spinning weapons and it loses some weapons, the remaining weapons will be arranged in order to keep the bot as balanced as possible.


3.12 As soon as there are four or fewer bots remaining, they will engage in a final Fight to the Death.  This will pit all remaining bots against each other in a rumble, with no time limit.  Immobility warnings will also be disabled for the first two minutes of the fight.  The fight will go on until there is only one bot left, at which point this bot will be the winner of Ironbot!


3.13 If there are a large number of entries, the Fight to the Death will begin once there are 16 or fewer bots remaining.  These bots will be randomly sorted into four groups which will each engage in a Fight to the Death.  The survivor of each group will then go on to compete in the final Fight to the Death.


3.14 Havok explosions are ignored unless a bot is stuck in the floor, thrown into a hazard, etc. such that it loses components that otherwise wouldn't be broken.  In that case the match is restarted.  There is no penalty for causing Havok explosions.  The exception is in the Fight to the Death; in this case, BBEANS Havok explosion rules apply.


3.15 Unpowered wheels: Unpowered wheels on axle mounts do not count toward the number of spare wheels you get, but they can be moved in case the powered wheels break.


Section 4 - Signups


4.1 Signups will be open for one week, from July 24 to July 31.


4.2 All legal bots received during that time will be accepted; there is no limit on the number of entries.


4.3 I will (grudgingly, but to the best of my ability, or at least the upper 20% of my ability) AI your bot if you don't provide AI.


4.4 If you have a legitimate excuse why you can't send your bot during the official signup period, and you tell me BEFORE SIGNUPS OPEN, you can send your bot at a different time.


4.5 You can update or change your entry at will during the signup period.  After signups close on July 31, entries are locked down and cannot be changed unless it is absolutely necessary for the bot's functioning or legality.


Section 5 - Awards


There are several awards up for grabs in Ironbot.  These are all objective categories, not subjective decisions that require a vote.  The prize for each award is one guaranteed entry slot in BBEANS7.


Last Bot Standing - This is the overall winner of the Fight to the Death and Ironbot.


Competitive Jerk - This is the bot that eliminated the most opponents, either by KO or de-wheeling.


Technical Winner - This is the bot that won the most fights according to standard RA2 criteria (KO or points).


Black Knight Award - This goes to the bot that took the most damage before finally being eliminated.  "It's only a flesh wound!"



Pages: [1] 2 3 4