SRL Archive - Discussions and Debates

The Box Think Tank.


Tniffoc

2009-02-07 23:25:14

My box random has not been working, so, I believe it is safe to assume that this is happening to multiple people. This is my "think tank" thread, if you will for ideas on how to solve the box. Please don't post reflection things here, this is exclusively for color. I remember when the school random was the only thing that was broken. Now I get stuck in almost every random in the whole game. Only the most simple talking randoms are still solved. I would love to help SRL back on to it's feet as one of the top two Runescape botting ehhh, things? Anyway, we are in it pretty deep, and it's going to take more than our brilliant, but still small, developer team to pull us out. We each need to do our bit to become not even just what SRL once was, but rather, we could exceed the achievements of RSBOT. For those of you who have not seen the update in randoms, it contains some of the best and worse news that SRL has seen since the RWT update. The thread is here. Some of us become ecstatic at the fact that some of the most vexing randoms are being removed (ents, steaming rocks). However, the new system it seems will provide us bots with more and more and more of a highly problematic random, the box. Because this seems to be the number 1 problem in random solving according to the update, that is where this think tank thread will start it's discussion. If we do not want SRl to crumble back into an age where we rely fully on Reflection for our random solving needs, we need to act NOW, to eliminate these issues which Jagex has presented us with. We need to help eachother, not seeking just to get a good reputation for our work, but rather just to help SRL from it's depths back up to what it once was. I miss the days when I didn't really have to sit at my machine and could think that SRL wouldn't get hung in an infinite loop during the box. So please, if you have any ideas, spill them here, and one smart soul, it could be any one of us, may see how the ideas relate and will put together the next SRL box random, under the title not of the SRL Dev Team, But just "SRL Member Community". Now. Let's all get working! I will be active in this thread just as soon as my first idea pops up.

TViYH

2009-02-07 23:38:16

I think you could put together a huge library of Bitmaps, all with the angles, etc. of the letters/objects.

Then if it finds the correct bitmap according to the question, it would click it.

Tniffoc

2009-02-07 23:40:03

I like that Idea. I was thinking of an algorithm to angle the actual bitmaps themselves. (like in photoshop.) post ideas, code. If you post this algorithm, luvs++

TViYH

2009-02-08 00:13:27

for i to 360 do
Angle := i;
if DTMRotated(i..) then
Winnar!

Did I get it?

The Claw

2009-02-08 01:35:21

Nope, because theres depth in this, its not just a circle

n3ss3s

2009-02-08 03:09:08

From: The Claw
Nope, because theres depth in this, its not just a circle


Can't we use Ben's thing?

Ruroken

2009-02-08 03:16:04

From: n3ss3s
Can't we use Ben's thing?


Is Ben's thing broken?

Naum

2009-02-08 06:30:39

Wasn't it called aquapet or something like that?
Bitmaps would be very inaccurate because the pixels of the box always change, you would need approx 10-20 bitmaps of one side with one chosen number/shape. It would be really hard.

Tniffoc

2009-02-08 08:45:46

From: NaumanAkhlaQ
Wasn't it called aquapet or something like that?
Bitmaps would be very inaccurate because the pixels of the box always change, you would need approx 10-20 bitmaps of one side with one chosen number/shape. It would be really hard.


I was saying 1 bitmap for each side of the box with an algorithm to rotate them and "depthalize" them. Working on it right now. Could use DTMs as well. Would probably better.

Wizzup?

2009-02-08 08:50:03

From: Wizzup?
I'll try to give it a go in a few days. (perhaps solve, discuss, etc. I think we should really fix this)

Soo… basically… There are three possibilities.
In all of the next suggested possibilities, I think we should implement a more logical approach. That is, store what we have identified, and if we have identified two of the three sides, we need to look no further.
This method assumes pups' solver returns no faults. The logical approach would need some fail safes, as well as a method alike to the old one, which just plainly waits until it finds the right side.

So, three possibilities:

First one. "Building onto the current idea"

  • Primarily, the solver needs to detect when a side it flat. (Only one side is visible)
  • Next, Copy the box and pass it to pups' solver. (Perhaps use a better copy algorithm than the standard one in Win32/SCAR)
  • Next, Identify the number and shape. If correct, solve it. If not, add to logical approach array. (See top of post)
  • Repeat

Second one. "Using BenLand100's Algo"

  • In this case, we don't need to detect when a side is flat, we can, if we are lucky, grab all sides at once. The risk of passing a rather corrupted image to pups' solver is rather high, though. So I'd still go for a (nearly) flat image. (Kind of beats the point of the algo, but it's still worth the try.)
  • Copy the box and pass it to pups solver (kind of explained above, but you might want to add a Gaussian Mask algo, so it might help pups' identify the Image easier, thus increasing the hit rate)
  • Next, Identify the number and shape. If correct, solve it. If not, add to logical approach array. (See top of post)
  • Repeat

Third one. "Freestyle"

This basically means rewriting the box solver from scratch.
I've heard from Sumilion he'd find it cool to try (he has made some efforts already), but I don't know how much time he has these days. (Maybe we could make a collaborative effort as Developers and see what we can come up with.) Either way, we need that solver if the above two ways fail.
If you think you can write one, I'd say 'start already', it's probably always better than the above methods. (It would be nice if you could pass a Image of a dynamic size…)

That's about it…


From Developers section, no developer replied within 1 month.

kitchenrange

2009-02-08 10:58:59

I really dont think I have the skills to help in something like this as far as coding goes. I just thought the problem was that it wasnt finding the box position correctly. If this is it, couldnt you just have it search the entire mainscreen until it finds the colors of the box spinning or something?

A G E N T

2009-02-08 12:12:34

From: Wizzup
Primarily, the solver needs to detect when a side it flat. (Only one side is visible)

I was looking at this applet: http://www.warthman.com/ex-cube.htm , (since I don't feel like getting a box random) and noticed that if there is only one face of the cube visible, then there should be 4 edges visible, and each should be very similar in size, if not equal.
So if we could come up with a quick edge-detector, then you could measure each side to find when it is facing properly.

Wizzup?

2009-02-08 18:36:08

From: A G E N T
I was looking at this applet: http://www.warthman.com/ex-cube.htm , (since I don't feel like getting a box random) and noticed that if there is only one face of the cube visible, then there should be 4 edges visible, and each should be very similar in size, if not equal.
So if we could come up with a quick edge-detector, then you could measure each side to find when it is facing properly.


Yes. The current implementation I made was only a quick draft of what it should actually be.
If anyone feels like spending time to improve it, just let me know… :)
(I don't have time to improve it, atm. Not since I made the above post in fact.)

EDIT:
You could alternatively try this really simple algorithm:
GetTPABounds(Box_Boundaries)
If the distances between all the four points are nearly equal, then the box is flat.