[ANN] The mrxak Challenge- Competition Zero

Just an update, I dropped out of the race a long time ago. Implementing it simply takes takes too much time. As simple as it is conceptually, building it is a bitch. And with no something that starts with a K at stake, my motivation has never been that high for this one.

mrxak, I'll speak only for me, but I'd say that most of the people on this board are involved with their own projects (alot of them time-eating TC's), and this project may be a bit much to ask of them. We're talking several hundred resources here- that's alot, even though quite a few only need to be copied and modifed, like the systs. It's a little late to change the requirements now, I know, but for future challenges, I'd try to keep the actual amount of work involved to, not necessarily a minimum, but at least significantly less than this. Personally, I think I might have been able to complete this challenge if the legs had only been 2 systems long, instead of 6-7, and maybe only half as many. That would still show everything you wanted to see, but cut down the extraneous work. I finished one leg of the race in my plug, and it took bloody boring ages- ages that have been spent on Sephil Saga to much greater use.

So, to sum it all up, don't expect an entry from me for this one, and possibly no entries at all. BUT, the interest is definately there. I would still love to partake, I feel plenty warmed-up, but I have too much other stuff on my plate to do a plug the size of a small TC or a major addition, especially one that other people are also doing, and in this, I think I speak for a lot of people.

------------------
~Charlie

I never said the waypoints had to be that far apart. I figured two jumps would be fine. I just didn't want things right next to each other.

That said, I will take what you're saying into consideration. The next challenge, which I've already figured out the basics for, is a medium difficulty level (which means substance K). The only hint I'll give is that it should make what a lot of people have been asking for happen. I'm only 80% sure its possible to do, but even if it falls in the 20% category, somebody is bound to figure out a way. I may lessen the requirements so it's just a taste, not the whole thing.

------------------
Moderator- (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=9&SUBMIT;=Go&mrxak;=cool")EV Developer's Corner(/url) | (url="http://"http://forums.evula.com/viewforum.php?f=18")mrxak's Assorted Webspace Forum(/url) | (url="http://"http://forums.evula.com/viewforum.php?f=48")Starcraft Forum(/url) | | (url="http://"http://directory.perfectparadox.com/profile.php?id=00008")My Profile(/url)
(url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/search.cgi?action=intro")Search First(/url) | (url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/003091.html")Need Testers?(/url) | (url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/003196.html")Need Developers?(/url) | (url="http://"http://www.evula.com/survival_guide/")EV/O/N Survival Guide(/url) | (url="http://"http://www.AmbrosiaSW.com/games/evn/addons.html")Nova Addons(/url) | (url="http://"http://w00tware.ev-nova.net/")NovaTools(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=31&SUBMIT;=Go")Bomb's Plug-in Guide(/url)
(url="http://"http://www.evula.org/mrxak/")mrxak's Assorted Webspace(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/dl-redirect.pl/TheChallenge102.sea.bin?path=evn/plugins&file;=TheChallenge102.sea.bin")The Challenge v1.0.2(/url) | (url="http://"http://www.evula.org/mrxak/Haikus/haikuarchive.html")The Haiku Archive(/url) | (url="http://"http://www.evula.org/mrxak/EV/N/mbspt/mbspt.html")mrxak's Big Secret Plug-in/Tutorial(/url) | (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/postdisplay.cgi?forum=Forum10&topic;=007599-2&whichpost;=mrxak11-06-200203:22PM")mrxak?(/url)
< . . . . . >

Quote

Originally posted by mrxak:
**Ah, but the whole thing lies in having other ships be racing too, and not having to land to pass the waypoint. These are to push the engine, not do things the easiest way...

**

Well, however this ends, you're doing a good thing, xak. 'Redefining the impossible'...if I may steal a term...

Cheers,
Guapo

------------------
"Quote it, paraphrase it, soak it in peanut oil and set it on fire. I don't mind in the least." - forge
Founding Member of WORRPBOITAMPSH
(url="http://"http://guapohq.jonpearse.net")GuapoHQ - for all your Guapo needs(/url)
(url="http://"http://insanekp.tripod.com")The Insane Klown Posse Website!!!(/url)

Awww. Thanks 🙂

------------------
Moderator- (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=9&SUBMIT;=Go&mrxak;=cool")EV Developer's Corner(/url) | (url="http://"http://forums.evula.com/viewforum.php?f=18")mrxak's Assorted Webspace Forum(/url) | (url="http://"http://forums.evula.com/viewforum.php?f=48")Starcraft Forum(/url) | | (url="http://"http://directory.perfectparadox.com/profile.php?id=00008")My Profile(/url)
(url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/search.cgi?action=intro")Search First(/url) | (url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/003091.html")Need Testers?(/url) | (url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/003196.html")Need Developers?(/url) | (url="http://"http://www.evula.com/survival_guide/")EV/O/N Survival Guide(/url) | (url="http://"http://www.AmbrosiaSW.com/games/evn/addons.html")Nova Addons(/url) | (url="http://"http://w00tware.ev-nova.net/")NovaTools(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=31&SUBMIT;=Go")Bomb's Plug-in Guide(/url)
(url="http://"http://www.evula.org/mrxak/")mrxak's Assorted Webspace(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/dl-redirect.pl/TheChallenge102.sea.bin?path=evn/plugins&file;=TheChallenge102.sea.bin")The Challenge v1.0.2(/url) | (url="http://"http://www.evula.org/mrxak/Haikus/haikuarchive.html")The Haiku Archive(/url) | (url="http://"http://www.evula.org/mrxak/EV/N/mbspt/mbspt.html")mrxak's Big Secret Plug-in/Tutorial(/url) | (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/postdisplay.cgi?forum=Forum10&topic;=007599-2&whichpost;=mrxak11-06-200203:22PM")mrxak?(/url)
< . . . . . >

Blah, I would almost second Masamune's point, except I don't even have time to work on my own TC lately )-:

I think I'll just post about how to tackle this challenge on the board (kinda like revealing the answer, though I myself hasn't have everything worked out yet).

I'll start with the straight-forward way (my way is unnecessarily complicated, and I'll post what I do with that some other day).

For the straight-forward way, for each system in the shortest route, you create a cron and a mission for each AI racer and have a control bit for it. The cron will, on start, start the associated mission (which just creates an AI racer ship in a particular system), set the associated control bit to On, and when the cron ends abort the associated mission.

The control bit which got turned on will be the required bit for the cron associated with the next system to start. For the sake of simplicity, use b1xx for AI 1 (the xx correspond to the nth system on the route), b2xx for AI 2 and so on.

These resources easily simulates the 3 AI-racers flying through the course.

Now for each system that has a waypoint, you create a mission, which places a Judge ship in the system with the waypoint with the shipgoal to be observed by the player (I like to place the judge ship in a combat-heavy system and have it flying around ranodmly cloaked...). Now, say waypoint 2 is the 8th system in the route, then b108, b208, and b308 corresponds to whether racers 1~3 have passed through this waypoint already. So when shipgoal is acheived, you can use those three bits in the desc resource to say "Racer 01 is (b108 "before" "after") you, Racer 02 is (b208 "before" "after") you, ...

This will make the judge tell you how you are doing in the race (which racers are before/after you), and hope you can figure out the placement by yourself.

The finishing line is trickier. Say that last system is the 80th system in the route, then a b180 being set means racer01 is already in the system. But technically you and racer01 might arrive at the same day. Hence a virtual-system is created that also has a cron, and sets b181, to simulate racer01 is more than a day in the system already.

When you show up in the last system, another shipgoal happens, but this time it puts 3 crons at work, each can only start under the conditions "b180", "b280", and "b380", and would randomly set or do nothing to b181, b281, and b381 respectively, so that if ships arrive in the system the same day, who wins is randomly determined by the last cron.

You need to land the last planet to win, and it'll have 4 missions corresponding to each place in the race, and only available through a huge mess of logical statements (for example, to test for third place, the expression is "(((b181 & b281) & !b381) | ((b281 & b381) & !b181)) | ((b381 & b181) & !b281)"

This only leaves out checking the race status when landing on planets, which I originally had a plan but realized it wouldn't work. One possibility is to have about 16 crons each representing each possible order of ranking of racers (including ties), and each is activated only upon a logical expression that is longer than this post to be true (or you can double the number of crons and half the size of the logical expression and keep going...). Then each cron, with duration 0, would activate a news that shows up in bars.

However, since the player is also being compared, we need bits showing players progress. We can either only do progress at waypoints (use b1x, b2x, b3x, b4x to track how many waypoints have been passed. b1x~b3x are set by their respective crons when the ai ship is in that system, b4x would be set by the judge ship when shipgoal is done), or alternately we can make the galaxy map a one-route only map, and track player's progress through each system (requiring an additional mission per system that sets bits b4xxx on shipgoal done).

For example, the logical expression to display the news "Rancer01 is taking the lead, followed by racer02, then racer03, and finally the player!" is basically testing (using a notation NOVA won't accept, but much easier for us to read):
(b19 & !b29 & !b39 & !b49 & (b28 & !b38 & !b48 & ((b37 & !b47)|(b36 & !b46)|(b35 & !b45...

This is a really really long process, though in my unnecessarily complex approach, determing this ordering is faster by an order of a log (it's complex in lots of other places though)

------------------
Fundraising to buy a mac so I can play EV:N without using a Emulator (too slow with carrier combats) or taking over my best friend's computer.
Please send all contributions via paypal to panguim@uclink4.berkeley.edu
Making a TC based on J.R.R. Tolkein's works. (url="http://"http://www.ev-nova.net/forums/viewtopic.php?t=935")http://www.ev-nova.n...topic.php?t=935(/url)

Yes , I second Masamune motion. i'm not working on a TC , but I have alot of other projects going on so... , abit less work would nice. It doesn't have to be less difficult tough !

And : Hurray 400 posts 😄

Entarus,

------------------
-Nothing lasts forever-
(url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=9&SUBMIT;=Go&urgaylol;=yes")EV Developer's Corner(/url)
(url="http://"http://www.ambrosiasw.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&forum;=Uplink+web+board&number;=69") Uplink Forum(/url)
(url="http://"http://www.apple.com")iMac, Therefore, I am(/url)

Quote

Originally posted by Pan Sola:
< snip>

Cool! If you or anyone else ever gets that working (without the news if you have to), I'd love to see it. It doesn't need to be 8 links apart, it can be 2 or 3, and only 4-5 waypoints long, but it would be great to see that implementation work.

Can't wait to see your way...

Oh, and by the way, that's the kind of description I would like from a competitor when they send me a plug, outlining in detail how the plug works to accomplish the task. It would still need a description about where and how to get the first mission, but that's easy enough to tack on. Each resource should be reasonably clear about what it does too.

------------------
Moderator- (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=9&SUBMIT;=Go&mrxak;=cool")EV Developer's Corner(/url) | (url="http://"http://forums.evula.com/viewforum.php?f=18")mrxak's Assorted Webspace Forum(/url) | (url="http://"http://forums.evula.com/viewforum.php?f=48")Starcraft Forum(/url) | | (url="http://"http://directory.perfectparadox.com/profile.php?id=00008")My Profile(/url)
(url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/search.cgi?action=intro")Search First(/url) | (url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/003091.html")Need Testers?(/url) | (url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/003196.html")Need Developers?(/url) | (url="http://"http://www.evula.com/survival_guide/")EV/O/N Survival Guide(/url) | (url="http://"http://www.AmbrosiaSW.com/games/evn/addons.html")Nova Addons(/url) | (url="http://"http://w00tware.ev-nova.net/")NovaTools(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=31&SUBMIT;=Go")Bomb's Plug-in Guide(/url)
(url="http://"http://www.evula.org/mrxak/")mrxak's Assorted Webspace(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/dl-redirect.pl/TheChallenge102.sea.bin?path=evn/plugins&file;=TheChallenge102.sea.bin")The Challenge v1.0.2(/url) | (url="http://"http://www.evula.org/mrxak/Haikus/haikuarchive.html")The Haiku Archive(/url) | (url="http://"http://www.evula.org/mrxak/EV/N/mbspt/mbspt.html")mrxak's Big Secret Plug-in/Tutorial(/url) | (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/postdisplay.cgi?forum=Forum10&topic;=007599-2&whichpost;=mrxak11-06-200203:22PM")mrxak?(/url)
< . . . . . >

(This message has been edited by mrxak (edited 04-19-2003).)

Ok, here's how my way works:

Instead of having using one control bit for each system for each AI to indicate whether that AI has visited that planet yet, and hence using as many bits as there are systems, I use a combination of bits for each AI to indicate exactly where the AI is located, using log_2(number of systems on the route) control bits per AI, rounding up to an integer.

Hence, using b10~b15 I essentially have a 6-bit integer telling me where exactly AI 1 is along the route (the integer represents distance along the route). I use 7 crons per AI to automatically evaluate and update the distance (80% of probablity that distance increases by 1, 20% probably it remains the same). Currently as I tested my crons (using 100% probably that it'll increase, for the time being) the distance count increases twice the first day (goes from zero to one to two on the same day), then increases one per day. I think it's a minor ordering issue of codes, and will solve it when I have time. I'll post the code to have the bits increment by themselves later in a different post.

Having judge inform of ranking at each waypoint requires additional bits because the desc resource cannot test multiple bits at once. So for each waypoint and each AI you need one cron testing to see if the AI has got to the specific distance corresponding to the waypoint, and if so, set a control bit. Then the rest of the judge implementation is like the straight-forward approach. Alternately, for each waypoint you can create lots of cron-activated "judge missons" and have a different one activate depending on the ranking, but that's probably even more complicated.

At the finish line, it's also very similar to the straight-forward approach. If any AI has distance representing they just got to the finishing system, cron randomly increases the distance, then you get your placement depends on how many AIs have greater distance than the finish line.

Now, displaying those AI ships is a lot trickier. I didn't want to create one cron/misn pair for per system per AI, cuz that's just not elegant. What I ended up doing however, requires 5 additional copies of each system that is on the racing route, so I'm not sure if my approach in the end is any more elegant or not (instead of having cron/misns keep starting and ending, I have systems appearing and disappearing).

For the 5 additional copies of each system, the first one is visible only if all three AI ships are at that system (all have the particular distance representing the system), the next copy of the system is visible if any two ships are at that system (because of ordering, if all three are at the system, only the first one would be effective and this one would be masked). The last three systems each visible when AIs 1~3 are at that system, respectively.

Each of these systems, besides the visibility field, differ from the original system for 1 thing: the government. The government will not be visibility different when you look at the map, because I'll still use the same names. However, the copies that are visible when multiple AIs are in the same system will get one government class (call it "class multiple", and the other three copies each get their own government class (call them "class one"~"class three").

Then, I create a bunch of missions. These missions can only be started by the cron, and will either auto-abort (not sure if this will have the effects I desire) or will end within the day. The first mission creates exactly 3 special ships (viper) in any government of "class multiple". The next mission creates exactly 2 special ships (viper) in any government of "class multiple". The next three missions create exactly 1 special ship (viper) each in any government of "class one"~"class three" respectively.

Notice that due to the visbits, there will be at most one system at any given time in the galaxy that is of any specific government classes I created. This is how I make ships appear in the system I want to without making one cron/misn for each system.

Finally, I have several crons that runs everyday during the race. First a cron is run to test if all three AIs are in the same system (doesn't matter which system, so just check if their distance are bit-wise equal), if so, start that first misson, and enable a particular bit (call it b500, though I don't really remember if it is b500). The next cron will only run if b500 is not on, and it tests to see if AIs 1 and 2 are in the same system, and if so, start the mission that makes 2 ships appear, and also start the mission that corresponds to placing a ship in system of government of "class three". then it also enable b500. 2 more crons test for AI 2 & 3 being at same place and AI 1 & 3 at the same place respectively, and do analogous actions. Finally the last cron, which also only runs if b500 is off, doesn't test for anything else (since by this point, all three ships must be in different systems), and starts the 3 missions that places 1 ship in the system of government "class one" ~ "class three".

Did I miss anything (other than actual implementation of the auto-incrementation of the distance which I will post later)?

And let me know if you can't follow my description. I personally think it's pretty evil and unnecessarily complicated (-:

------------------
Fundraising to buy a mac so I can play EV:N without using a Emulator (too slow with carrier combats) or taking over my best friend's computer.
Please send all contributions via paypal to panguim@uclink4.berkeley.edu
Making a TC based on J.R.R. Tolkein's works. (url="http://"http://www.ev-nova.net/forums/viewtopic.php?t=935")http://www.ev-nova.n...topic.php?t=935(/url)

Oh, and in both approaches (the straight forward way and my evil way), you get your first mission in the BBS, then on accept you get teleported to the starting point and ship automatically changes to viper. The mission also starts some crons which activate missions to put the AIs in the starting system, as well as starting missions that puts judges in place, as well as starting another mission that has pirates/mauraders following your viper whereever you go!

One thing I forgot to mention, that is common to both approaches, is that there are "right" and "wrong" (who tell you you are at the wrong place) judges at each waypoint. The initial mission starts a mission that puts a "right" judge in the first waypoint and 9 missions putting "wrong" judges at all other waypoits. When you see the "right" judge, on shipgoal done it aborts itself, aborts the "wrong" judge at the next waypoint, starts the "right" judge at the next waypoint, and starts the "wrong" judge at the current waypoint.

Pan Sola, Eater of Snacks

------------------
Fundraising to buy a mac so I can play EV:N without using a Emulator (too slow with carrier combats) or taking over my best friend's computer.
Please send all contributions via paypal to panguim@uclink4.berkeley.edu
Making a TC based on J.R.R. Tolkein's works. (url="http://"http://www.ev-nova.net/forums/viewtopic.php?t=935")http://www.ev-nova.n...topic.php?t=935(/url)