gametechmods
Robot Arena => Modifications => Topic started by: Serge on June 13, 2010, 04:09:42 AM
-
weightlimit.avi (http://www.youtube.com/watch?v=O9nqizMWSvw#)
EXE ideas postulated:
Nice:
1. weight limit
2. make the present weight categories more exact
3. 7-components limit (though not sure how Havoc will like/handle it,.. esp. with constraint solvers [axles])
4. Max sphere (though must be careful about large bots, and arena Starting Points close to walls)
5. Increase camera 'Draw distance' (Exhibition).
6. Enlarge Bot lab grid.
7. Increase number of total building points(vertices) on Bot lab grid.
Real nice:
1. Keyboard (Raw)input, (via DirectX)
2. More User teams (without 'add-on' BAT or PY 'rename' coding)
3. Support GIFs
Dreaming:
1. Make the GIB/PY option-selection buttons in the practice garage available in Exhibition.
2. Cannon misfires.
3. More than 4 bot battles.
-
As i can't see the vid, what happens?
-
He's able to go past the 800.0kg mark (913.3) without using negative weight.
AND IT'S AAAAWWWESSSSSOOOOOOOOOOMMMMMMMEEEEEEE
-
Pretty nice ;)
-
0_0
someone get this man a 6 pack to reward his efforts
-
WTF
-
I bet he has got the sourcecode and he`s just laughting at every other person who`s trying to make mods for RA :P
-
Well done Serge!
I was wondering, my Dad is a computer programmer and he works with de-coding .exes so, should I ask him whether he could do anything with it?
-
I was wondering, my Dad is a computer programmer and he works with de-coding .exes so, should I ask him whether he could do anything with it?
YES, VERY YES! Could you get us both in touch somehow?
-
I'll try as hard as I can. He does get very busy sometimes, though, so it might not be easy. :)
-
Win
-
Yeah, that's pretty awesome. Utilizing that could mean no more antiballast! :D
-
D: and I would go out of business lol
this is great though.. now all we need is the superheavyweight class name
-
D: and I would go out of business lol
this is great though.. now all we need is the superheavyweight class name
I didn't use your antiballasts anyway. :P
-
How did you managed to do this anyway, Serge ?
-
he posted a topic before about obtaining parts of the exe by reworking it
I didn't use your antiballasts anyway. :P
shame on you then :P
-
ITS THE HAAAAAAX!
Awesome hax at that too!
(http://theinternetisterrible.com/wp-content/things/high-five.jpg)
-
this is great though.. now all we need is the superheavyweight class name
Well, I can change the name of an existing class to another, or change the weight boundaries. Unfortunately, it's not that easy to add more classes, unless I create some sort of code injecting mechanism that loads a custom-written DLL into the exe's address space, creates some replacement functions (including references to other parts of the code that need to be loaded dynamically), and overwrites the stock functions by the new ones. Is it worth it? :P
The current modification is dead simple, it's just replacing four bytes in the exe.
-
YES!
can this be done for DSL 3? YES! (and I hope so)
-
The current modification is dead simple, it's just replacing four bytes in the exe.
ah ok.. not to worry there is still the UI exploit to create a SHW icon for AI robots that Clickbeetle found.. that combined with your limit change should do more then great
Edit: class boundaries aye ? could you set MW to actually 400kg and LW to actually 250kg ?
-
That would be great !
-
The current modification is dead simple, it's just replacing four bytes in the exe.
Nice Serge. I've been to this land several times,.. but could never get out without having a butterfly stuck to the bottom of my shoe....and screwing things up.
IOW: I've tweeked the exe at this level in several places that I think would make useful mods, but I never knew if they were actually beneficial because I could never 'Save' the edits without corrupting the exe. What program did you use?
-
Hey, Serge. My dad said he'll see what he can do. :)
-
What program did you use?
IDA Pro to reverse-engineer the exe, a simple hex editor to patch the interesting spots.
-
(https://gametechmods.com/uploads/images/95239Copybud-sp.jpg)
(https://gametechmods.com/uploads/images/95239Copybud-sp.jpg)
(https://gametechmods.com/uploads/images/95239Copybud-sp.jpg)
That was worth at least 3 six-packs.
Good luck with Gazea2's dad and I know Click found a way to make a fourth class for DSL 3.0 (The Superheavyweight class). It would be very beneficial to change the weight classes too :D
Great work Serge :D
-
I know Click found a way to make a fourth class for DSL 3.0 (The Superheavyweight class).
its a UI exploit for AI robots.. Click helped me do it for Backlash too... it requires a small BFE to the robot for the new class and some UI editing to have to game use a SHW icon
in reality all it does if gives robots that SHW icon.. doesnt make a SuperHeavyweight class in the bot lab ;)
still awesome and I thank Click for it
-
Nice Serge. I've been to this land several times,.. but could never get out without having a butterfly stuck to the bottom of my shoe....and screwing things up.
Nice sound of thunder reference!
Serge, does this mean you found a suitable "hook"? Could you change the attachment limit of 7 to like 10?
-
Yes, i was thinking Ray Bradbury as well.
-
Serge, does this mean you found a suitable "hook"? Could you change the attachment limit of 7 to like 10?
This is what I'm currently working on, but it's way harder than increasing the weight limit. I just can't find the piece of code responsible for checking the limit. Here's how most of my work looks like:
(http://imgur.com/ovTmd.png)
As you can see, from here I could easily patch the maxsphere boundary and collision boundary. But meh :P. I'll keep looking for the fabled 7-in-a-row limit.
-
Now that i see that stupid "robots cannot exceed a maximum size", could you remove size limitations as well ?
-
Now that i see that stupid "robots cannot exceed a maximum size", could you remove size limitations as well ?
Yes, I could.
-
(https://gametechmods.com/RA2wiki/images/9/9a/Robosmiley.PNG)
-
(http://imgur.com/ZLRx6.png)
Look at the infobar. Just so we're clear, I didn't change around text in the exe. I called it from an external program I wrote (the one on the right).
-
LOL, nice. :)
My dad said that he'll work on it. :)
-
You amaze me Serge!
-
That's what she said Yeah, it does look like it can lead to awesome results.
-
If you got rid of the max sphere I would love you forever.
-
If you got rid of the max sphere I would love you forever.
QFT.
The max sphere is probably my worst enemy. Apart from stock in general.
-
I'll probably release everything I've done so far the 17th... Including that new GMF toolset I've been working on (and the max_sphere bypass, etc).
-
Much appreciated, Serge.
Can you get on MSN for a minute?
-
Cool.
-
Actually, without an official SHW class, I think just raising the weight limit would be a bad thing. Why? There's nothing that tells you when you've hit the normal HW weight limit. HW would then become an unofficial class like AW and BW, while SHW would be the new HW.
Also, imagine building a bot, thinking you've got it all figured out, then you finish it and think, "All right this thing is pure WIN, I'm gonna go own some NAR AI..." and then you happen to glance at the weight as you're taking the preview picture... it's 898.7 kgs instead of the 798.7 you thought it was. ::2mad
However this other stuff you're doing with the exe looks very promising. I would be all for a max sphere-less bot lab.
-
Breaking the rule of seven is like dividing by zero. You just don't go there. And if you do it, you're either Jesus, Chuck Norris, or any combination thereof.
By god Serge, you're 1337 H4xx0r :O
-
Being able to change the weight limits is just plain awesome. This could lead to more realistic weight classes that are based on their real life equivalents.
Removing the max sphere would be better than extending the rule of 7 IMO. Although, both would be impressive feats.
-
Since he already figured out how to change the info bar text, why not have the game let you know down there what weight limit you just passed?
-
Since he already figured out how to change the info bar text, why not have the game let you know down there what weight limit you just passed?
That's actually a very good idea! Thanks!
-
Doesn't pause/break do that? ^^^
-
Yup on my keyboard its waaaaay in the top left and it looks like this:
Pause
Break
-
For me it is way in the top right. But it may vary from computers. It is sitting next to Ins/Prt Sc, Del/SysRq, and scroll lock.
-
Someone just ninja deleted their post in this thread.
-
Good luck with the hacking Serge!
-
yeah, I thought it`s kinda spamm to ask for something that already exists.
-
now there is more confusion
-
well true. I`m sorry for that.
I tested the thing with the pause button but that doesn`t work.
-
Someone just ninja deleted their post in this thread.
Pwn did that to me before in a thread :P
-
I've done that to Thyrus, liek he did it here.
-
Also, imagine building a bot, thinking you've got it all figured out, then you finish it and think, "All right this thing is pure WIN, I'm gonna go own some NAR AI..." and then you happen to glance at the weight as you're taking the preview picture... it's 898.7 kgs instead of the 798.7 you thought it was. ::2mad
Thats true, It has happened to me that i want to build a LW or MW & I end up making a HW because tehre was nothing to stop me from adding stuff :S
Maybe make like a SHW class with the Nametag & Pic... But I would like to still use Anti-Ballasts, They dont annoy anyway :P
-
They kind of annoy me because you have to guess when you are hitting the 1200 or 5000 weight limit. Next thing I know I take off the antiballast and tada!! My dream ultimate pwnzorz UHW weighs 5100 kilos.
-
Use the -4200 kg ones then.
-
Problem with those is though... If your chassis weighs a certain amount, you have to built to exactly that much below the weight limit for it to still be 5000 kilos. If you have a 150 kilo chassis, and then you add the -4200 one and build to the normal weight limit, it weighs 5150 kilos... I think...
-
Maximum weight for bot regardless of chassis/components = 800kg. Add the extra 4200kg, you get 5000kg. Et voila :P
-
And now I just realized how I was supposed to use them... *uber mcdouble facepalm with a side of fries*
-
lol.. every-time you reach top builder status you say something silly to knock yourself down again :P
-
Judging by what he just posted on youtube, he will never be knocked down :P
I get knocked down, but I get up again.......
-
SB: but I think your frank honesty is a good and yet rare characteristic...
Sparks: just remember, lowering yourself to the level of those who knocked you down is not 'getting up'. Just be sober and stable despite others, or maybe even for them...
BOT: Serge (our resident C++ expert) showed me where he's working there's some cool things that could be done IF one can find things, which isn't always easy. He also showed me how to do it (which he may want to make public [vid?] so many can dive in here. But that's his decision).
Also, it seems that it's easier to 'change parameters' already present (like weight limit), but 'adding' features would be much more involved (as Serge described previously).
Just to make things clear:
1. So we should think of places where changing a current parameter might enhance the game, and see if it can be done.
2. Ideas for adding features are good too, but just remember that they are more involved and may not be feasible and/or possible.
Ideas postulated (+ mine):
Nice:
1. weight limit
2. make the present weight categories more exact
3. 7-components limit (though not sure how Havoc will like/handle it,.. esp. with constraint solvers [axles])
Real nice:
1. Keyboard (Raw)input, (via DirectX)
2. More User teams (without 'add-on' BAT or PY 'rename' coding)
3.
Dreaming:
1. Make the GIB/PY option-selection buttons in the practice garage available in Exhibition.
2.
Big thanks to you, Serge ('Hacker Excellente')...
-
I dont know enough of this programing language to know how hard it would be.. but is it doable with what you have to allow the game to accept gif's ? or does it require a lot more supporting code?
-
SB: but I think your frank honesty is a good and yet rare characteristic...
I'm glad you call it honesty. I'd refer to it more as raging obliviousness XD
-
As JoeBlo said... would the game ever be able to accept .gifs??
-
I just realized...
If we kill the max sphere, the cameras are going to need to be able to zoom out a lot more than they do.
-
Oh, what about a different multiplayer host?
-
no lagy multyplayers anymore? :O
-
Alright, I'm uploading a stupid video tutorial.
-
The video is up: https://gametechmods.com/forums/index.php?topic=4114.msg159848 (https://gametechmods.com/forums/index.php?topic=4114.msg159848#new)
-
Cool accent. I don't have any idea what this is because I'm no computer expert.
-
this all... is freaking amazing!
-
Serge, please try to find a way to get rid of AGOD. I shall worship you.
-
GK, you cant remove AGOD without removing every other glitch. Like stacking. Snapper load, effe, etc.
-
SB: but I think your frank honesty is a good and yet rare characteristic...
Sparks: just remember, lowering yourself to the level of those who knocked you down is not 'getting up'. Just be sober and stable despite others, or maybe even for them...
BOT: Serge (our resident C++ expert) showed me where he's working there's some cool things that could be done IF one can find things, which isn't always easy. He also showed me how to do it (which he may want to make public [vid?] so many can dive in here. But that's his decision).
Also, it seems that it's easier to 'change parameters' already present (like weight limit), but 'adding' features would be much more involved (as Serge described previously).
Just to make things clear:
1. So we should think of places where changing a current parameter might enhance the game, and see if it can be done.
2. Ideas for adding features are good too, but just remember that they are more involved and may not be feasible and/or possible.
Ideas postulated (+ mine):
Nice:
1. weight limit
2. make the present weight categories more exact
3. 7-components limit (though not sure how Havoc will like/handle it,.. esp. with constraint solvers [axles])
Real nice:
1. Keyboard (Raw)input, (via DirectX)
2. More User teams (without 'add-on' BAT or PY 'rename' coding)
3.
Dreaming:
1. Make the GIB/PY option-selection buttons in the practice garage available in Exhibition.
2.
Big thanks to you, Serge ('Hacker Excellente')...
Mad, that was a quote from a song :D
All I could find with the song:http://www.youtube.com/watch?v=vZ-fDxfUD58&feature=related
-
GK, you cant remove AGOD without removing every other glitch. Like stacking. Snapper load, effe, etc.
Not necessarily a bad thing?
I like Mad's idea of making the weightclasses what they actually are in real life, though.
-
@ Scrap
Well, true. But I don't think he can just input a different physics engine with no other side effects...
-
GK, you cant remove AGOD without removing every other glitch. Like stacking. Snapper load, effe, etc.
....K? Go ahead.
-
Hey Serge, is there a way to edit the EXE so that you can get a new battle type with 6-8 bots in an arena at a time? That would be cool :D
-
I like this alot.
Mostly because its awesomely convenient, and partly because he used my music. :P
-
Ooh ooh ooh ooh!
Very simple (I think) idea that would be totally awesome.
Increase the draw distance in Exhibition.
I could make soooooo many cool arenas if you could just see further. And some existing arenas would also be cooler with more draw distance, like the Infinity Arena and the Keznorg IGC (imagine being able to see the bottom of the pit). And it would vastly improve the Race mode I plan to do for DSL3.
The practice arena mode has a massively long draw distance (~1000 meters) for some reason, but Exhibition doesn't.
-
We need to be able to have unlimited bots in a melee, too.
-
The practice arena mode has a massively long draw distance (~1000 meters) for some reason, but Exhibition doesn't.
Prolly 'cus the practice arena is small and you're only testing one robot. Perhaps there's a way to trick RA2 into using the practice arena's draw distance.
-
Increase the draw distance in Exhibition.
Drawing reminded me of the Baseplate plans, could it be possible to increase the size of the grid and remove the dot limit?
-
We need to be able to have unlimited bots in a melee, too.
As said before, lag fest... might be somehow interesting on LWs but still.
-
Increase the draw distance in Exhibition.
I completely agree. It doesn't seem like it would be to difficult to change but it would make several arenas better overall. Right now, it is set slightly too low and IMO would be better if it was increased by 50%.
-
Drawing reminded me of the Baseplate plans, could it be possible to increase the size of the grid and remove the dot limit?
Ive been having alot of problems coz you cant put the dots too close to eachother :P
-
What is Draw Distance?
Also, I have a few ideas:
Make the distance between where the bot starts and the edge of an arena adaptable, so bots dont get stuck in the wall.
Make certain things like tribars have a round circular collision mesh in the botlab (to represent their spinning area) and have it be normal shaped in exhibition, garage, etc.
-
Make the distance between where the bot starts and the edge of an arena adaptable, so bots dont get stuck in the wall.
Could be plausible, but I think the easier way is to have all arenas start points far enough from the wall.
Make certain things like tribars have a round circular collision mesh in the botlab (to represent their spinning area) and have it be normal shaped in exhibition, garage, etc.
I dont think this is possible since the collision mesh is in the GMF file.
-
its not a changing collision mesh you need.. what you need is for all components to collide.. not just with opponents ones but your your robots stuff too
-
What is Draw Distance?
It is the maximum distance at which the game will display (or draw) stuff. Anything beyond the draw distance from the camera isn't displayed, with the effect that there's this wall of black fog in the distance.
So with a bigger draw distance you could, say, see from the start to the finish line in the Drag Strip arena, or see all the way to the bottom of the Keznorg IGC.
The reason for having a draw distance at all is to reduce lag, but you could easily bump it up to a lot more than it is now with little to no effect on gameplay.
-
Maybe with a bigger draw distance could allow for a skybox. That'd be hecka nice.
-
Oh yes then we would definitely need a bigger draw distance if we killed the max sphere...
-
Alright, I'm working on this stuff again. Wrote a nice little loader in assembly to get me started on runtime modifications. It's loaded at runtime via RA2 ( so you don't need to run anything else). Here's the load chain:
RA2 starts -> the falseArena (stage0 loader) gets read -> the falseArena code launches stage1, an executable that launches -> stage2, a 64-byte assembly-loader that gets mapped into RA2's executable virtual memory. The code is ran by a thread launched by stage1. The code sets read, write and execute on all the RA2 code segments, then loads a dll to the RA2 executable -> stage3, which does everything I want it to. It has a proper address space, but can access all of RA2's internals. Yay!
I also figured out some other internal parts of the executable.
-
Cool.
I hope some of this stuff gets implemented in DSL 3, it would be really cool.
-
DSL3=RA3 with all of this.
-
Wow, Serge. You've put some time into this.
1. Are you making/keeping a map of things?
2. I'd love to be 'updated' when you get an open slot...
Dziekuje. :claping
-
:claping
-
Real nice:
1. Keyboard (Raw)input, (via DirectX)
2. More User teams (without 'add-on' BAT or PY 'rename' coding)
3. Support GIFs
Little bump:
are those things that can be done?
-
Would it be possible to be able to drive with the mouse?
-
(http://imgur.com/iWYdb.png)
I'm working on something called RA2Hooks, basically a "Python expansion pack", offering new functions and APIs. Here's the sample code that drives the following screenshot:
import ra2hooks
def buttonCallback:
ra2hooks.messagebox("RA2Hooks v1.0 beta", "RA2Hooks seems to be initialized. Have fun! Also, hecko gametechmods.")
ra2hooks.ui.override_button_callback("attach_button", buttonCallback)
-
Great work, Serge!
-
Awesome. Can you make AW and BW weightclasses yet?
-
Awesome. Can you make AW and BW weightclasses yet?
Yeah. Finishing it up.
-
This f*cking epic!
Since your making it support GIFs, could you make it support PNGs as well? It'd be nice for the sake of saving hard drive space.
-
Are the GIFs capable of animation? If so, we could finally incorporate LED/LCD screen components.
-
I haven't yet got around creating support for GIFs and PNGs. PNGs should be easy, but animated GIFs might be tricky... I'll take a look.
-
Awesome. Can you make AW and BW weightclasses yet?
Yeah. Finishing it up.
:D
yay!
-
I love you Serge :P
-
I love you Serge :P
Ruh-roh. :P
-
I found two interesting things yesterday that I forgot to talk about.
- A function (that seems to be never used) that takes an in-game GMF object and decompiles it to a txt gmf file. The ultimate GMF decompiler?
- What looks like support for soft body physics.
-
:D :claping
-
Awesome.
-
What does RA2Hooks do?
And whats the difference between soft and rigid body physics?
-
I love you Serge :P
Me too.. and I guess Nary could leave Joe for a second as well :O
-
What does RA2Hooks do?
And whats the difference between soft and rigid body physics?
Soft has more definition in small hits, if I'm correct. It also can worp objects far beond Gabriel intercactive could imagine.
-
What does RA2Hooks do?
And whats the difference between soft and rigid body physics?
Soft body physics would be something along the lines of degradable meshes, stuff that bends and buckles when hit. This is more advanced than the degrading meshes on the chassis, which change visually but the collision models of which don't change at all.
Translation: soft body physics are alot more realistic and awesome.
-
What does RA2Hooks do?
And whats the difference between soft and rigid body physics?
Soft body physics would be something along the lines of degradable meshes, stuff that bends and buckles when hit. This is more advanced than the degrading meshes on the chassis, which change visually but the collision models of which don't change at all.
Translation: soft body physics are alot more realistic and awesome.
What does RA2Hooks do?
And whats the difference between soft and rigid body physics?
Soft has more definition in small hits, if I'm correct. It also can worp objects far beond Gabriel intercactive could imagine.
-
Oh cool. Sounds great.
-
What does RA2Hooks do?
And whats the difference between soft and rigid body physics?
Soft body physics would be something along the lines of degradable meshes, stuff that bends and buckles when hit. This is more advanced than the degrading meshes on the chassis, which change visually but the collision models of which don't change at all.
Translation: soft body physics are alot more realistic and awesome.
What does RA2Hooks do?
And whats the difference between soft and rigid body physics?
Soft has more definition in small hits, if I'm correct. It also can worp objects far beond Gabriel intercactive could imagine.
That's not the same thing, Sparkey. Stop boasting around.
RA2Hooks won't be useful to you if you're not a mod maker / python adventurer.
-
I am a "python adventurer" but my aventures are fail XD.
-
I'm curious, would it be possible to make it so you can import a GMF or other model file to serve as the chassis model for a robot? If so, we'd be able to make alot cooler and complicated chassis.
-
That would require totally revamping the .bot file format. As would soft body physics. At that point you're probably better off attempting to make an RA3 from scratch.
This decompiler function sounds interesting though, if you could somehow access it. I wonder if there is a compiler function too?
-
As would soft body physics.
Not necessarily. SB physics act much like RB physics in Havok, at least in 3dsmax, their shape distortions are reset on each simulation start. So effectively, we end up in the same properties: display mesh, collision mesh, transform matrix, friction, mass, etc.
This decompiler function sounds interesting though, if you could somehow access it. I wonder if there is a compiler function too?
I don't think so, unfortunately. There aren't any more GMF-related strings (*MESH, etc.) than the ones I found, and they were only referenced by the compiling code.
As for interfacing to it, I just need to find a constructor for the GMF class, hopefully one that loads data from a binary string / file. When (and if) I do, all that is left to do is to wrap it in a nice .exe that uses code from that binary, for which I already have a framework.
The project is on a break since a week or so, tomorrow I'm flying back to Motherland Polska, give me a couple of days to fight (and drink) off the jet lag, and I'm back to work.
-
I thought there was a mod around that expands it to infinite
There is, but there is a second, invisible max sphere that's coded into the exe rather than using a gmf file. Try building a bot like Pwn's Galactus or my Timber II and you will quickly discover this.
-
More user teams? So am I not the only one whose game crashes when saving a bot in a 2nd or 3rd team? To solve that I just copy/paste Team0 and rename it, then make the team... And it works...
Am I wrong here?
Same here...
-
cool :D hows it going
Serge
-
Well, I'm back home, so once I sync over code from my laptop I'll probably get started.
(although I have a non-RA2 project going on currently that's a bit higher priority: http://imgur.com/ZQhys.png (http://imgur.com/ZQhys.png) . I still have to etch the board, fix errors in the board and program this thing)
-
You must frequent makezine.com often. So, what does the board do. Is it another one of those Arduino thingamagigs?
-
You must frequent makezine.com often. So, what does the board do. Is it another one of those Arduino thingamagigs?
Nope, but I read hackaday.com daily. It's based on an Arduino environment (mainly the serial interface), but will be running native code instead of Processing. It's basically a LED bank controller, 5 channels, up to 1 Amp (around 50 leds) each (hence the huge TIP102/100 Darling transistors, I hope they're up to the challenge), featuring a keypad, an RTC and HD44780 screen. Nothing special, apart from the fact that it's gonna be my second double-sided board, and I'll probably mess it up :P.
-
I'm still confused about RA2hooks. I saw what you said to somebody earlier, but I do dabble about with all kinds of modding, and don't understand what it could be used for.
-
well I am not mistaken that window for RA2hooks appeared via python coding.. so essentially its opening a hole in the .exe that allows some manipulation by python. just what I can make of it.. I could be wrong
-
You HAVE to send this stuff to Click for DSL 3.
-
I think Click already contacted him ;)
-
RA2Hooks is just another way to access RA2 internals through its Python scripts. Remember those times when you were messing around with Xtra.xxx, but just couldn't find a function that did what you wanted? Well fear no more.
-
Can you try to change the way battery consumption works so motors drain the number of amps they're supposed to?
-
since power components are indestructible anyway it would be cool if you could make base parts breakable.. but I dont want to overload you.. just if you come across such coding