Valhalla Legends Forums Archive | General Discussion | Does anyone remember what features SCE (Starcraft Chat Enhancements) had?

AuthorMessageTime
warz
I'm looking for a list of features this dll by Skywing had, or if anyone remembers specific ones, I'll take whatever I can get. The readme would be intense, and best would be possible a zip containing the actual release files (the dll itself, readme, whatever else).

Thanks to anyone that replies. :-)
October 19, 2006, 9:41 AM
MrRaza
Wasn't it something that had scv's auto-gathering resources/repairing, auto-nuking by ghosts, colors, mpahack, minimap hack, there's tons more, anyway hopes this helps.
October 19, 2006, 1:35 PM
warz
Ah, don't remember it containing in-game hacks.
October 19, 2006, 4:46 PM
MrRaza
Hmm,

I forget then, SCE was a couple of years ago..
October 21, 2006, 9:15 AM
dRAgoN
[quote author=MrRaza link=topic=15895.msg160068#msg160068 date=1161422110]
Hmm,

I forget then, SCE was a couple of years ago..
[/quote]
Think it was more than a cupple.
October 22, 2006, 6:55 AM
Grok
Ohh this was a fun project I got to help with.  The autogathering was one feature I wrote the algorithm and code for that I couldn't play without.  SCE did so many things, let me think ... or better ... let me peek at the code real quick.

Auto-Repair ... if SCVs were within range of something needing repair, several would repair that unit, then return to what they were doing before.  This was awesome, we would put a few SCVs near our front defenses and they reacted to attacks much faster than we could.

Attack-Move .. under some conditions you sent something from A to B, it was with a MOVE command.  SCEnhancements would change the command to ATTACK-MOVE instead.

Ally Notification .. this was anti-backstab.  When your ally would unally you, SCEnhancements would immediately unally and unvision that person in response.

Diplomacy ... never implemented, but I had planned on organizing secret groups of allies for everyone using SCE.  Meant for FFA games, you could remain hostile with all 7 other players, yet your units would never attack those you had diplomatic relations with!

Formline .. simply orders units to move to equally spaced locations along a straight line at a given angle from a vertex.

Stack .. orders all the units to the same location.

AllyHumans .. // ally and share vision with all humans

Performance ... this is the function which did the auto-gathering ... I used comments liberally in the code .. here they are:
// every turn, build OUR list of units, i.e. workers, troops, buildings, etc
// just units with sprites
// gather resources listing
// gather rally point listings
// gather my home base listings
// worker listings
// drone listings
// probe listings
// larvae listings
// for each of our workers, see if it is mining, and if so, update its mineral patch with workercount.
// this worker in on given patch.  go through minerals and find matching patch.
// we don't want to perform every AI on every turn, so this expression structure
// handles doing things every Nth turn:
// assign all patches to the closest base and record their distance
// once for every idle worker we have, find closest mineral patch with available bandwidth
// then find the closest idle worker to this patch, and put him to work
// now we have the patchid that is closest to base and can take a worker.
// find the closest idle worker.
// order him to work, and increment workercount on the patch.  reduce idleworkercount.
// ATTACK-MOVE
// also on 4th turn, units that are moving should have their commands altered to attackmove
// SCV AUTOREPAIR SECTION
// get list of my buildings needing repair
// while ( idleworkercount && repairobjcount ) {
// AI_Repair( idlescvs[--idlescvcount], repairobjects[--repairobjcount] );
// }


Now there's LOTS of other cool stuff in other modules, nearly all of which was written by Skywing.  If he wants to comment on those =)

Oh one more thing, I just found these comments at the top of the file ...  I know the first 3 were done, but the rest looked like plans.
However, Adron had his own project on which some of these were completed and working beautifully!  You might POKE him for some memories.

// To add still:
//    scv autorepair -- adding 1/13/2002
//    scarab autobuild
//    interceptor autobuild
//    psi storm scatter
//    teams
//    nuking ghost search and destroy
//    auto stim
//    auto scan
//    auto web
//    auto shield battery usage
//    auto high priority kill of charged templars in range when psi storm is developed
//    auto mind control of priority targets, ie. full overlords, carriers, battle cruisers, etc
//    auto broodling of tanks
//    auto burrow lurkers if being attacked
//    lurkers pop up and run if scanned and in danger
//    overlord scatter when enemy corsairs close in

Hope this helps!
October 23, 2006, 10:13 PM
Grok
If you want to make a history section on really cool stuff ... get Kp to fess up with his features list.
October 23, 2006, 10:21 PM
Kp
Never!  I will say that I had some enhancements which never made it into SCE, but I never got an auto-harvest that I liked.  It was always bouncing between being too cautious and too aggressive.  Of course, I was determined to make it smarter about what to consider.  As I recall, SCE had an unfortunate tendency to consider resource distance as the Overlord flies, which led to it sending workers on very long trips to reach resources that were "far" due to obstacles, yet "close" as measured by pixel distance.

SCE was definitely more than a couple of years ago.  I haven't touched my Starcraft code in about two years, and I stayed with Starcraft long after Skywing and Grok moved on to other games.

Amazingly, Grok neglected to mention one of the great features that SCE and my plugin both had: xtm!
October 23, 2006, 11:46 PM
Disco
[quote author=Kp link=topic=15895.msg160125#msg160125 date=1161647182]Amazingly, Grok neglected to mention one of the great features that SCE and my plugin both had: xtm!
[/quote]

I'm intrigued.  Anyone care to elaborate?
October 23, 2006, 11:56 PM
Grok
More to warz question, SCE supported PKE in battle.net channels as one of its most-used features.  This allowed even eaves-dropped channels to be used for discussion on any topic.
October 24, 2006, 12:12 AM
warz
Ah, well lately I've been working on a simple dll of my own. I named it bw enhancements, for lack of originality, after skywing's dll. I didn't know sce had in-game modifications too. I thought it was strictly battle.net channel modifications.

My dll, so far, only changes some in-channel stuff. It's been fun to work on so far, and is really what I always wanted to be doing anyways. Who knows why I'm just now getting around to it, but I'm probably better for that. It really lacks a lot of changes right now, because I've been busy trying to graduate with some sort of school issued paper saying I know what I'm talking about when it comes to finance and stocks, lol.

Anyways, just a couple things it currently does I will paste below. I intend to move to in-game things in a week or so. I had an entire dll going for the 1.13f patch. I had a pretty clean looking stats hack, similar to Adron's SC HUD thing.

Thanks for replying with some of those features, I didn't think I'd get any actual response. Lots of ideas for things to play with. Seems like automating tasks is a popular feature.

Excerpt from a post on thepanoramic.org
[quote]
This is my first release for the 1.14 patch.

Brood War Enhancements v.1.0 (BWE)

This dll modifies the Battle.net chat aspect of Brood War. It has no in-game modifications. There are plenty of hacks that modify in-game things, so I figured I would attempt to turn the Brood War client into something similar to a chat bot. I will paste the read me file below, but I want to explain the message queue that I have implemented.

I have added a message queue system so that it is more difficult to flood off when typing a lot. The delay between messages is computed with the length of the message in mind, as well as how many items are already placed in the message queue. You can still flood off by typing short messages very quickly. Battle.net's flood algorithm cuts users off using variable constraints, so it's difficult to counter them. I did the best that I could, though. Also, everyone knows that the client allows you to type more text into the 'send text box' than is allowed to be sent to Battle.net. This results in a truncated message if you type too much. The limit that Battle.net allows is 233 characters approx., so I have made it so that if any message is longer than about 200 characters, BWE truncates the message first, and queues up all of the segments. This way there are no messages cut short while chatting. All local commands provided by BWE are not queued, and are executed immediatly.

When can you inject this? It is safe to inject this dll at any time. If you have not connected to Battle.net yet, that is ok. BWE waits for a handle on battle.snp before applying any patches. As a side note, battle.snp is unloaded when you disconnect from Battle.net, thus removing all patches made - basically removing BWE.

Now, I know this dll doesn't offer a ton of things that are very interesting, and that is fine. The purpose of this dll was to get myself back into the reverse engineering scene. I will begin on my in-game hacks soon. I just don't like making things that already exist. I do plan on adding more features to this, such as optional time stamps and the ability to clear the chat window. So, if there are any bugs (somebody will most likely point out a few), or if anyone wants to see something added or changed, just let me know. I will be actively working on this.

Note: BWE is completely self-dependant. It does not require any other dll's to be injected, because it calls Brood War's native print text and send text functions.

readme.txt
[quote]
- Once loaded, BWE will check for an instance of battle.snp, to ensure that you are going to be using Battle.net. If no instance is found, meaning you haven't attempted to connect Battle.net yet, BWE will check for an instance of battle.snp every second until it has been loaded.

- If you disconnect from Battle.net, Brood War unloads battle.snp. This undoes all memory patches that BWE creates, thus disabling BWE. You must reinject BWE.

- BWE offers a variety of useful features, such as:

enhanced battle.net channel commands
- /r <text>, /reply <text>
This command will reply to the last user that whispered you.

- /wb <text>
This command will whisper the last user that you directly whispered, using the /w, /m, /msg, /whisper commands.

- /ver, /version
This command will display BWE's current version information.

- /scn <text>
This command will make it look like your name is different when you chat in Battle.net channels. This is clientside only.

- /sln <text>
This command will make it look like your name is different when you join game lobbies, as well as in the after game summaries. This change is visible to other users.

- /rejoin
This command will make Brood War quickly rejoin the current channel you are in.

- /uptime
This command will display the computers running uptime, as well as the time elapsed since BWE was injected.

- BWE has a built in anti-flood system. If you begin to quickly send messages, BWE calculates the amount of time that it will wait, based on the length of the message, before sending it to Battle.net. Also, since the send text box allows you to type in more text than Battle.net allows to be sent, BWE will split up your messages at 233 characters and queue your entire message to be sent. This is so that your messages do not get cut short if you type in more than Battle.net allows.

- Since your chat messages are placed in a message queue, I have synchronized the print text routines, and send text routines. You will now see your text when it is actually sent, rather than when you hit enter.[/quote]

This dll is pretty straight-forward. There is a custom command handler, and a variety of custom commands. I would like to thank p00onu and madd0x for being helpful.

I have also provided the source code to this hack, incase anyone is interested in learning how to play with Brood War.

Enjoy.

Updates:
- 10/20/06 11:00PM: Changed the patch location of my outgoing text handler. If a user in the channel list was highlighted, it would whisper them the /command that was issued. It no longer does.

[/quote]
October 24, 2006, 8:43 AM
Grok
[quote author=Kp link=topic=15895.msg160125#msg160125 date=1161647182]
Never!  I will say that I had some enhancements which never made it into SCE, but I never got an auto-harvest that I liked.  It was always bouncing between being too cautious and too aggressive.  Of course, I was determined to make it smarter about what to consider.  As I recall, SCE had an unfortunate tendency to consider resource distance as the Overlord flies, which led to it sending workers on very long trips to reach resources that were "far" due to obstacles, yet "close" as measured by pixel distance.

SCE was definitely more than a couple of years ago.  I haven't touched my Starcraft code in about two years, and I stayed with Starcraft long after Skywing and Grok moved on to other games.

Amazingly, Grok neglected to mention one of the great features that SCE and my plugin both had: xtm!
[/quote]

XTM, what a fantastic invention!  It's been so long I cannot explain it adequately, but XTM lets us set up games in non-native configurations.  Natively if you wanted 4 teams you would have 2 player slots and 3 computers.  XTM gave us the ability to have 4 teams, but 5 players on team 1, versus 3 different computer teams.  In a game like this, each player could control any of the units on our team.  So one person would start the build, then another person would start grabbing various units and working on an area.  After a while, yet a third person on our team would expand and manage the expansion.  When the computers attacked, we would all have our roles in defense.

XTM gave new life to Starcraft for us.

[quote author=warz link=topic=15895.msg160134#msg160134 date=1161679415]Thanks for replying with some of those features, I didn't think I'd get any actual response. Lots of ideas for things to play with. Seems like automating tasks is a popular feature.[/quote]

In the past I wouldn't have replied, but since it has been a number of years, I don't think there's much harm to talk about many of the neat fun things that had been built.  Did Adron ever release MemoryAnalyzer to the public?  I think without it, much of the advanced SCE work would have taken much longer.

It's really too bad Kp is protecting his feature list.  I'm thinking of some specific ones that would make you smile.  His UI mods alone are nice work, but what they do ...  =)
October 24, 2006, 12:33 PM
warz
What did Memory Analyzer do?
October 24, 2006, 9:42 PM
Zakath
Holy crap, I completely forgot about XTM! XTM was brilliant.
October 24, 2006, 9:48 PM
rabbit
[quote author=warz link=topic=15895.msg160144#msg160144 date=1161726148]
What did Memory Analyzer do?
[/quote]I'm gonna go with...analyze memory.  But that's just a wild guess.
October 25, 2006, 12:47 AM
Kp
Mez was a tool to make it easier to analyze memory.  It's a nice alternative to using a debugger.
October 25, 2006, 2:42 AM
UserLoser
[quote author=Grok link=topic=15895.msg160128#msg160128 date=1161648757]
More to warz question, SCE supported PKE in battle.net channels as one of its most-used features.  This allowed even eaves-dropped channels to be used for discussion on any topic.
[/quote]
What's PKE and XTM?
October 25, 2006, 3:00 AM
Grok
Public Key Encryption.
eXtended Team Manager (iirc)
October 25, 2006, 8:09 AM
rabbit
?
XTM seems like it'd be Cross Team Management to me :\
October 25, 2006, 11:21 AM
Networks
Sounds pretty intense and like a lot of work.
November 7, 2006, 9:01 AM
Hostile
SCRL > SCE
November 23, 2006, 12:23 AM
warz
SCRL?
November 23, 2006, 1:53 AM
JoeTheOdd
Starcraft in real life. It's the game NASA will play when they find the Martians.
November 23, 2006, 3:54 AM
Denial
I remember gaming with grok or was it adron? Also i gamed with darkminion. There was also the way to kick anyone out of a game even the host which pretty much dropped the whole game it was like banning anyone from the game create list. was pretty fun to annoy gamers with.


SCE was fun as well i remember using it years ago. I should find it and check to see what it had.

I know chewbotplugin was made for channel only which is why your thinking sce was as well.

Chewbotplugin was made by bacca after battle.net did a major patch on bots and he released it to the public i believe maybe which gave people the ability to get their broodwar client to act pretty much like a bot.
November 23, 2006, 8:54 AM

Search