Author Topic: Nerd's Corner  (Read 79027 times)

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Nerd's Corner
« Reply #45 on: March 01, 2017, 07:45:40 PM »
Ok, firstly apologies to your good self, Incos. I started writing a quick reply about the subjects you mentioned, but as it turned out when I started writing I found I had quite a bit to say. This post rapidly turned into a monster, In fact I just started writing about some of my ideas for a new WC2 front end then went to preview it and it got rejected because its over 20,000 characters .... OMW ;D As a result I had to cut that description (which wasn't so far under the limit on its own) and will post it following this bit (which isn't too much shorter than the other bit) So sorry for turning your simple enquiry into a platform for a whole bunch of stuff that I wanted to talk about ....... but there is some info related to the topics you brought up in here somewhere.

Now I wonder if he individually changed the palette of each bmp or if this is also in the war2.exe.. I will be looking at it tonight.

The only reason I ask is i want to learn. I would like to change the black ogres as well possibly some of the colors to dif variations.

It also opens the door for a bigger player Warcraft 2, such as 10 players or 12 players. Sc2 and wc3 both do it.  I just wonder if it's the engine holding it back as well.

I know some of the guys have looked into it already. And say it's impossible for a bigger map than 128x128



Yes ... but not SC1 AFAIK. You may be aware that SC1 was basically WC2.5   It's based on the WC2 game engine, which was expanded in 2 main ways  (a) there's 3 races and (b) WC2 Humans and Orcs are very similar. There's minor differences but each unit has a directly equivalent opposite number in the other race. In SC, the races are fundamentally different, and play differently. As far as the game engine is concerned, SC being set in space with aliens is totally irreverent. That's just sounds and graphics, SC1 really was the next WC2.   

Of course, as we know, WC3 is a great steaming turd sandwich with a really sweet editor and mass of over-produced graphics. LOL... Ok maybe that's just my opinion. I'd certainly never suggest that Blizz was dumbing it down to point and click fun for the whole family, while they were all still high on the fumes from the mega-gazillion bucks they made from D2. I would never suggest such a thing as I have far too much respect for their visionary awesomeness... and in the end they woke up and redeemed themselves somewhat with SC2. At least it's a genuine RTS.

But I'm a Tolkien Nerd Goddamnit! The Nerd-Gods owe me a nice, shiny, new, awesome, challenging RTS with freakin' wizards and ogres and castles and guys with swords and orc hoards and all dat – because no matter how good the game may or may not be, there's an itch that some freak show of creepy-crawley space critters just does NOT scratch.   

Lambchops looks around and suddenly realises he's standing on a soapbox delivering some kind of weird sermon to a handful of  people at the local pub who's various reactions range from bemused indifference, through wondering if they should be concerned, to actually dialing 9-1 and waiting with their finger above the 1 key just in case this loony is about to totally lose it.

...Oh! ..Um ..... yes where was I? Expanded client features.... >8 players .. Ok, got it. Yeah really needs a complete re-write of the engine for this – even the guys who wrote it in the first place, with their own source code, when expanding it with entirely new races didn't mess with that limit... as far as I can remember, not having even seen SC1 in at least a decade....  and of course the Koreans hacked the living daylights out of it – I mean those guys went totally nuts on it, they even had full on bot leagues where their AIs could compete against each other, but I've never heard of a >8 player game... maybe there is, if anyone knows of this please let me know, but for this WC2 engine.. nah. There was a discussion on THIS thread with some more info.

As far as maps larger than 128x128, this too would require some modification to the executable, although I don't think it would be anywhere near as difficult as >8 players (which is pretty much a "complete ground-up rewrite" situation) it would still require a considerable amount of time and effort to track down, and I am of the opinion that should the availability of such time present itself, it would be put to better use developing new solutions rather than endlessly tinkering with with a chunk of 20 year old code that we will never be able to really get what we want out of for 2 very pertinent reasons:

      (1) We do not, nor will we ever conceivably own the software nor even the right to use it in the manner we wish to.

      (2) As a result we will never have access to the source code, which is the only way to effect any serious development of a software engineering project.

Even if we collectively spent the remainder of the very brief time we have on this earth painstakingly picking apart every part of the WC2 files the resultant archive of tricks and kludges would still never compare to an active, developing, well written set of source files, and furthermore we would all be too senile to appreciate the collection of kludgey little tricks we had reaped as the reward for our life's labors.

... and to put it into context people, we may all be a touch OCD about our beloved WC2 (myself no less that anyone) but these files we could spend the rest of our lives pawing over are the product of the active, well written source files that the embryonic Blizzard team developed from the ground up inside the single calendar year of 1996.  :-[

So what am I saying? We should all give up and go back to playing tiddly-winks? Hell NO! I'm saying we should get real about this stuff.

Despite the things we can't do with the .exe, IMHO there are some really cool features that COULD be implemented by a new front end using the existing client game engine as a mule of sorts.

        Lengthy rant about Lamby's pipe dreams for a new client front-end clipped and placed in following post due to forum size restrictions.
 
Check it out if you like crazy ideas ;)


If we were to be able to develop a new front end anything like the one I imagine we possibly could(see next post) it would bring in new interest, and revitalize our community (including, and perhaps specifically, the development community), and I believe it would be used by the existing players also, because it would quite genuinely be a better interface.

So if that works, and it's good, and it's used.... because it's good, then that is something real that we have and can build on. Then we could work on a new back-end, then in a later release of the front-end include an option to use the new extended game engine.... which we could, of course, configure to use whatever sized maps and however many players we wanted (or could technically achieve). If its good, people will use it. If its crap or it doesn't feel right, they won't.

I installed Wargus years ago and messed around with it a bit. I didn't like it.
I thought it was a really well written, excellent piece of work. But hated playing it...

... and I have always loved any computer game that had a little guy with a sword that you could make walk around the screen, right the way from the rudimentary text-based graphics in the Ultima series on an Apple ][  in the early 80's, I'm a total junkie for them.

I remember once spending about a week playing some totally tragic freeware Mysterious "Castle" / "Dungeon" game that fitted on a single floppy disk and I think was made by 1 guy living in his Mum's basement. He did it all including drawing all the graphics himself... and it was bad... lol so bad, and it looked worse, and I knew it, but still, I played the crap out of it, stayed up all night more than once.... and I still remember that crappy little POS game over 20 years later! OMG WTH is wrong with me?!  ;D :'( ;D

But Wargus. No way. Couldn't cope with it, and it's a really nice piece of work... Why? Because it looked a lot like my beloved WC2, but it just didn't feel right. It was like fingernails on a chalkboard.

Who knows, if we all had have been introduced to Wargus first, maybe we would all love it and if someone wanted use to use the Blizzard client we'd all go, "EWW". But that's not what happened. So this is the real challenge, to improve what we've got, while still making it feel right.

This is why I think the ONLY way to go, initially, with a new interface is to just use it to drive the existing client, that way as long as we do a good enough job of it, it will still feel like WC2, because people will still be playing WC2. If they want to, people will still be able to play with the Blizzard interface in the same games as  people using a the new interface. Then if its good and people use it we have the ideal environment to develop and refine a new back-end where we can compare it side be side with the existing back-end, using exactly the same interface, and make it so it has all the traits we like but can also use huge maps, and never get a dead spot....  and everything else you ever wished you could fix.

But the real awesomeness would begin when we finally got to the stage where we could introduce a new map format and editor that could handle triggers and events etc., like the war3 or sc2 systems. Once you're working with your own code and not trying to dury-rig little bits of crap into someone else's executable you can do all that stuff.

But for any of this to work, it has to be good, and it has to be optional. There always has to be the ability to make and play standard WC2 games, and the option to play with extended features. That way if they're good, people will choose to use them, if not, they wont. But even if this idea actually turned out better and was more widely successful than we ever imagined it would be and pretty much everyone chose to spend most of their gaming time using the "new stuff", we would still always want to be able to go back and play an awesome game of oldskool-kewl WC2 every once in a while. Hell I would demand that - 'aint nobody takin my WC2 away, don't even think about it!

Oh.... Incos, ..... HI  :D  That's right. What were we discussing? Ahh that's right, editing unit graphics and/or palette entries. Well. From what I understand of the whole black-to-pink mod, its an edit of the data files, not the exe itself.

All the graphics and heaps of other resources are all stored in the mpq files.

MoPaQ

MPQ is a Blizzard proprietary cabinet format. It's short for MoPaQ. The "MO" is the author's initials, it was originally conceived by a guy named Mike O'Brien, and "paq" is just "pack". An mpq is like an archive that can contain hundreds of different files, compressed and organised into an internal directory structure.... kind of like ZIP file containing a whole bunch of different files and folders, except mpq's also have another key feature which is a quite sophisticated hashed indexing system that allows for extremely fast lookup and location and retrieval of an individual resource in a large archive.

All the game data and resources initially existed in war2dat.mpq, but IIRC the system is set up so that entries with the same name/internal path in war2patch.mpq will override the default files in war2dat.mpq, in this way blizzard could release various patches and upgrades, just by adding them to the much smaller war2patch.mpq instead  of having to reproduce and distribute the entire wad of resources for most of the game that is war2dat.mpq.

Despite being a proprietary format that has never been technically available to the public, quite a number of MPQ readers/editor have been written by third parties over the years (generally gaming enthusiasts), however Blizzard continued to use MoPaQ for many years after WC2, and they also altered and updated the specs for the the internal file structure many times along the way. Certainly WC2, SC1, WC3, D2,D3,WoW and I'm pretty sure also SC2 all use various versions of MoPaQ, and they all have the same ".mpq" file extension.

 As a result many if not all of the 3rd party MoPaQ tools tend to only work with a small subset of MoPaQ versions and therefore you need to have the right editor to open the mpq files from any particular Blizzard game. So in the case of WC2, an old one... at least that's the way it used to be, I don't know if anyone has written a more comprehensive mpq editor recently, at any rate EasyCompany is the guy to talk to about that stuff, he's much more clued up about it than me... I'm a bit of a code monkey, when I'm messing round with graphics resources it's because I've pulled them out of process memory, not the mpq files.

BTW: I think it was only last year or the year before Blizzard finally introduced its new container format, the successor to MoPaQ. Was big news for nerdy folk like me.... lol.

Pink OGRES

As far as how the pink ogres thing actually works, I don't really know, because I've never looked at it. I did have it installed on a version of war2ce a while back, but I've never looked at the internals or mechanism. That being said, however, I would be extremely surprised if it worked in any way other than replacing the 0xE4 to 0xE7 palette entries with shades of pink as against shades of grey/black.

GRP

The WC2 unit graphics are stored in a format called GRP. IIRC the GRP files are stored in war2dat.mpq then loaded into process memory when WC2 starts up.

GRP is a pretty interesting format, but I won't describe beyond saying that GRP is short for “Group” and they indeed then to contain groups of related images – in this case the various images that are used to animate the on screen unit images. Any further description isn't needed as I've actually written a pdf doc explaining the internals and implementation of GRP files in WC2 which I will attach to this post. The only other info on their internals I have come across was a text file written about 15 years ago by someone who had partially worked out how to decode them but still didn't understand some of the principles, it was however a useful starting point.

Certainly I can tell you that in the normal scheme of things, there is only ever 1 copy of each GRP in process memory. The unmodified GRP frames are all for the red player (player 1 when fixed order – or actually player 0 internally). As I understand it, the only time that images of other colored units are produced is when each frame is actually being rendered onto the screen display buffer, at which point as i decodes and renders the current frame for each on screen unit, the GRP decoder substitutes the palette indices for entries 0xD0 to 0xD3 with the appropriate entries for the color that has been assigned to the player that owns it.

I don't know if the palettes are stored in war2dat.mpq then loaded (which seems likely), however as they are not particularly large amounts of data, they could be already resident in the executable's '.data' section, but could be overwritten by a particular entry in war2patch.mpq, so the black to pink mod could be a direct edit of war2dat.mpq, or entry added to war2Patch.mpq that overrides the original palette in either war2dat.mpq or the .exe. It could also even be an edit of the palette in process memory after WC2 has loaded, but I think I remember reading/hearing somewhere that it was an mpq edit of some sort.

Anyway, as far as editing graphics and mpq's and the like, as far as I know EC is da man. :)





DOGGIE BAG


If anyone is interested I documented the GRP format which is an the attached pdf.
   ( there's even some nice pretty pictures if you don't want to read about it ;) )

Also, while we're on the subject of palettes, I've attached a basic little app for displaying the palette from 8 bit PCX files ( i.e. wc2 SS )
....Just drop a SS on it and it will produce a small bitmap file that has a 16x16 grid of colored squares on it that show the 256 colors in the PCX image's palette... Something like this:


its gooder to hax hard and NEVER get caught!

Offline Incos

  • Grunt
  • ***
  • Posts: 245
    • View Profile
Re: Nerd's Corner
« Reply #46 on: March 01, 2017, 08:03:02 PM »
Intense writeup as usual. Yes I edited the wardat.mpq and extracted the separate grps into an edit folder. I than changed the peon004 image to use green instead of black in the palette. I then used grp edit, loaded the peon grp, deleted the frame 4 and replaced with my new frame 4 with green over black. I save tried to play and gave me error... the thing is, the war2patch file is the only one downloaded through the change. So I'm not sure if it's more of a .ppl file which I have no editor for or if it's maybe a table file(which I thought was only for text like campaign or bnet graphic changes) unless it's simply in the forest file?? Which is also changed in the black to pink war2patch, in that case o would have to edit the tile palette...

And yes im obsessed.and I do like the trigger ideas, the game could develop further in the custom games that way. 
 
« Last Edit: March 01, 2017, 08:05:02 PM by Incos »
https://www.twitch.tv/incoswc - my twitch. Streaming 9:30pm - 11pm est most days!!

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Nerd's Corner
« Reply #47 on: March 01, 2017, 08:26:05 PM »
A New Face For Warcraft II
Pipe Dreams of a Madman/Black Sheep

This is, at the moment, nothing but fantasy. But as fantasy goes, at least it can be defined under the heading of “Science-Fiction”, because I'm confident that the following is all, at least technically possible using the existing game engine with only minor peripheral mods, as to whether or not any crusty old gamers ever get their stuff in a pile and actually do any of it, that remains to be seen.

I have been scheming about this for a while now, and the sorts of things that are possible are pretty cool. Here's what I imagine, and bear in mind I haven't  got anywhere near even considering when to start thinking about starting to work on such a thing yet, and when and if that ever happens it will likely take a long time to complete, but I'm starting to picture something like this:

So imagine the interface is hi-res (obviously) and the game window (aka -by me – viewport) which is currently a fixed 14x14 grid of 32x32 pixel tiles, can be zoomed in and out with the mouse-wheel so it displays as little or as much of the map as the player desires. It can also be resized – perhaps with holding the left button while you mouse-wheel or some-such to be any size you want, you could even zoom right out until the entire map is displayed, then resize it down to a small square, so it becomes just like the mini-map – in fact, the mini map is just another viewport, they are the same... BUT..  now lets add another level ... 

   You start a GOW game. You spawn at 9, drop a hall, a farm then head straight for 11 to wreak havoc with GTs and whatever else you can come up with.... and at the same time (of course) the player at 11 is doing the same thing to you. Most of us are familiar with this situation to some degree... so, now picture it on a widescreen monitor. You look at 9 to defend your base, then you need to go back to 11 to keep attacking, but instead of clicking on the mini-map to shift your viewport back to 11, you click on 11 on the mini-map but hold the button  and drag the mini-map down into the main interface area. Now you have 2 viewports open side by side. One showing 9 one showing 11. You can select a unit in one viewport and target in the other, you can open a 3rd and resize it to be just a small one in the corner to keep an eye on the smith that's blocking off S9, and just leave that there.

   But perhaps you started at 2 and there's a pard at 12. At this stage your enemies are not attacking your base, so you are rushing grunts for support and trying to power as fast as you can at the same time, but your other pard at 6 is getting hammered by all the enemies that aren't attacking you. At the same time you know that the enemy at 11 got messed with pretty badly by your other pard at 9, so you want to take advantage of that and attack him while he's weak.. IDK you tell me?... I imagine I might have a my base at 2 in a large window covering like half the widescreen, then a smaller view of 6 because you're having to send grunts there to help out, and perhaps even a little viewport showing the area below S9 so you can rally you grunts there before sending the on to 6. Maybe another small window showing the entrance to 11 where the guys at 9 and 12 are giving him hell, but his pard at 4 is helping him. 

   So you are building farms... upping your smith, pumping out peons and grunts on you main viewport, so your grunts pop and you select the 6 grunts that are there then right click where you want them on the window displaying the area below S9 at the same time there's a few more grunts already rallied there so You select them and punt them down to 6 where the enemy at 5 is attacking... Sure you can already target units using the mini-map.. still can if you want, but on the mini-map u cant tell if a passing enemy unit is a peon or a DK, or see whats attacking you or even select your ogres and lust them and you can't select units on the mini-map, on a small viewport, you could. Suddenly your rallied grunts are attacked by a group of enemies.. you grab that window with the mouse.. just click and drag and throw it up into the top right corner of the monitor. Instantly that is full screen and you can manage that battle.... or if you wanted, you could click the mini-map oldskool-style and shift you current base view to that location as per the way things are now, it would depend on your own style.

   That little battle plays itself out and 15 seconds later you are back at you base building etc. When you notice on the little 11 viewport you have in the corner of your monitor that 9 and 12 have almost broken into 11 but their attacking force is almost dead so you immediately send your first ogres that have just popped to finish the job, selecting them in your main base viewport and targeting them at the failing enemy rax on the 11 viewport. Meanwhile 6 has died you no longer need the view of 6 and your rally point, so you grab each of them with the mouse and throw them at the bottom right corner of the screen (the trashcan, if you will) and those views are disposed of, leaving u space to grab 3 from the mini-map and drag it out to create a new view there while you establish an exp.

This is an interface that could be left as absolutely standard WC2  as it is now, or just higher res with a bigger display or customised to have any number of different views of different parts of the map, each of which could be used to select, target or manipulate units, its up to the individual player how they want to use it. Of course the fog of war would still apply so if you don't have vision you just get a black or greyed-out view as per normal

I think saving/restoring the configuration of viewports would have to be limited to in-game only, i.e. I don't think it would be in the interests of game-play for people to be able to pre-configure bunch of tiny views showing, for example, the exact spot where a peon would stand to be in the top left corner of a tower underneath the mine at 9... then all someone would have to right from game start would be target a peon at this little window with a single click and wait for it to walk to that exact spot and the instant it gets there grab it and [B|T]. I think the setup and manipulation of any viewports would have to be part of the player's skill in an individual game, like accurately sending a peon from 8 to S9 at game start, however once any particular set of views is established in a game, the player should be able to save and restore that configuration; perhaps with CTRL-F1 --> F8 similarly to how groups are assigned and selected.

The interface controls, be they keys, buttons or even tablet-like “gestures” with the mouse would have to be thoroughly play-tested for the base set, but should also be customisable to suit individual taste/style.

I believe an interface like this would bring attention and an expanded player base to the WC2 community.

In the same vein, it would be incidental to creating this interface to be able to exceed current limitations for grouping/commanding units, i.e. There would be no technical limit on the number of units you could select at once, and issue any command to for example spells etc. Obviously there would have to be some limit applied, and this is something that would have to be looked at very carefully to avoid upsetting the balance of the game, however my thinking is that some increase might be beneficial. I am inclined to believe that the current 9 unit limit was more defined by the available screen area for displaying unit portraits etc. circa 1996, than it was by any game balance issue. Perhaps 12? 15? 20? this would have to be tested and evaluated.

The multi-casting commands should probably be updated. Of the 2 methods currently available I'm reasonably sure that only a handful of players even know that the second, and more effective method exists, and it's such a tricky combination to pull-off in the heat of battle that there are very few players who can effectively use it, so formalising and standardising this might be appropriate... however by the same token we don't want every noob and his dog wandering around with 20 mages multi-blizzarding bases to rubble... so: test.. balance...test...balance...

... and the other thing that keeps tickling the back of my brain is a ripper. It's a whole extra technical layer of programming, requiring the new clients to set up an independent ancillary channel of network communication with each other, but once that is done, there is no reason why we couldn't have shared control of units.

So if you have a good pard that you trust, who is effectively out of the game, say because their base has been wiped out and they don't have enough gold to build a hall, then you could grant them shared control over your units.. so perhaps you are managing your base, building, producing  units and sending them to battle at whatever locations, while your pard micro-manages your melee units on the front line in battle. This would lead to custom maps made like “watcher” style maps where 4 teams of 2 people could compete executing strats they have drilled as a team or even 2 teams of 4 people.. lol that could become totally insane.

The other thing that this could possibly lead to is.... the very thing that I have just gone to great lengths to tell you can't be done; more than 8 players in a game. Of course they wouldn't actually be “in the game”, as far as the WC2 engine is concerned, there would only ever be <=8 players in a game, but allowing additional players control of units could possibly extend to players that aren't even actually “in” the game being able to take part in the game-play, so for instance 8 teams of 2 or even 3 people going head-to-head. The game engine would still see it as 4v4, but there could be, for instance, 24 people controlling the units.

This would, however require yet another technical layer, in that the additional players would be outside the game engine's loop, indeed they wouldn't even need to be running WC2 at all, only the new front end, and they would be totally dependent on the actual “in game” player to provide them with the entire game state, all units... positions.. actions.. chat messages, everything, via the ancillary network link. This is a lot more information than just issuing a few commands. It could induce lag in poor connections, or it could possibly even reduce lag by having the connection between the endpoints re-prioritised by various servers in their connecting route, there are so many possible factors that it would be futile to attempt to predict the results before an implementation is attempted and at least alpha-tested.

If  -  and it is so very definitely IF – no promises for even the simplest of the fantasies presented herein, and this is as far as it gets from the simplest – but IF that could be achieved, and the work completed some time before my 98th birthday, then a reasonably simple to implement follow on from that would be virtually unlimited watchers. Only one player would have to send the feed of the current game state to a watcher (although in practice you would probably send multiple feeds for redundancy in case of network interruption) and from there the watchers could disseminate the feed to each other, and view it on the client front-end which would construct  and display it as if the watcher were in the game.

This stuff all has a whole bag of potential issues attached to it, of course. For starters, I think at least a 30 second delay would have to be inserted into the “watcher” feed to minimise the potential damage that could be caused by an unscrupulous player running a second front end on another machine, registering this as a “watcher” then using it as a form of map-hack.

Then there's the whole “last farm” issue. At the moment if someone is effectively dead but still has a surviving unit somewhere the remaining enemy players will usually leave the “last farm” or whatever alone to allow the “dead” player to continue to watch the rest of the game. If however, there is a very real advantage to be gained by by the other team while that player remains in the game... because they can improve the effectiveness on their teammates' attacks by micro-managing their front line units in battle, and whatever else, then players would probably start instantly killing everyone's “last farm” at the first opportunity. 

There are a few possible solutions to this: a control could be added to the front end whereby a player could declare themselves to be officially “dead”. All players would be made aware of this and once this option was used the relevant player could not, thereafter be involved in the shared control of units. If the full game-state feed suggested above could be implemented, it could automatically be used to allow dead players to continue to watch the rest of the game, thereby making it irrelevant if their “last farm” is killed or not.

It could also lead to some potentially fun scenarios where a player's last remaining peon is hiding in their pard's base while they assist with shared unit control, but thereby making the peon a high-priority target. This situation could lead to enemies actively searching for and attempting to assassinate the player's last remaining unit(s).

There's also the issue of potentially having to kill the same pro player 4 times over to win a game, which could possibly lead to even more noob-bashing that already occurs now. Consider a team of 4 players:

      W0ND3R!W0M4N, who is the super-pro player of legend who is so skilled that she is spoken about in reverent tones even in private chat channels on Farmville.

      [XL]Stinky, who was never even in [XL] in the first place, he's just a semi-skilled poser who tries to convince everyone he's totally awesome when he's obviously totally average, and very annoying.

     MERC_BEANZ, who is an old WC2 player from the battlenet glory days who has recently found server.ru and has been enjoying some games over the last couple of weeks. He's having fun but still has a bit of a way to go to catch up to the skill level of the better players around.

     Lambchops, who is a total noob with no clue and why do we even let him play?


Ok, now for this game their opponents are pretty strong, say 2 “good” players and 2 “decent” players, no real noobs. Now if they're smart they might realize that Lambchops and MERC are both no real threat until they've had a 20 minute head start. Stinky's not a big issue either, being not quite as good as either of their “decent” players. So they have options here, they can attack and easily pick off MERC and Lamb, Stinky will put up a bit of a fight, but won't really be an issue either, but the problem is that by the time they're 3/4 of the way through doing this, the behemoth that is the  W0ND3R!W0M4N war machine will have started rolling and they will be up to their armpits lusting amazonian ogres pounding   buildings flat, tearing down towers, and picking up peons by the ankles then thrashing them to death on their altar of storms. Not a good scene, in fact really scary stuff.

On the other hand, if they're clever they will realise that at the start of the game they can send one of their “decent” players to attack stinky, at least occupying, if not killing him, and they can pretty much ignore Lamb and MERC who will still be trying to work out why they're out of lumber for another 10 minutes, then they can send their best 3 players to all rush  W0ND3R!W0M4N and overwhelm her before she ever gets a chance to get properly set-up, then once  W0ND3R!W0M4N is out of the game, they can pick off the remaining noobage at will.
Good plan. Except wait. Now  W0ND3R!W0M4N and “help” Lambchops control his units. At this point W0ND3R!W0M4N strides into Lamby's base, bitch-slaps him to the ground and and snaps, “Go sit in the corner and keep you're mouth shut”. “Yes Ma'am”, says Lambchops, and now  W0ND3R!W0M4N is back in action. Depending on how badly Lamby has messed things up, it might not take her long at all to get back on track and pwn the entire map. Or if the other team sees what's going on then immediately triples “Lambchops” - now actually  W0ND3R!W0M4N, shortly afterwards  W0ND3R!W0M4N will be seen striding into  MERC's base, and on it goes.

The other team may be able to keep it up, maybe they will end up getting overrun, but they aren't really supposed to be fighting the one player 4 times over, and it also removes a lot of the incentive for the other team to try attacking a strong opponent at game start, really it lends itself to more to the “pick off the weakest noob first” ethos.

So, perhaps to avoid these kind of problems there could be a 2 different “shared control” modes, equal control of all units, for “team control” games where 2 or more players start the game collaborating, and “assist” mode which allows a “dead” player to control another player's units (if they allow it), EXCEPT for peons. So the building, resource gathering, repairing etc. must always be done by the original player, but the assisting player can still control melee units, pump more out of rax, etc.

OK?

Cool.

 So who wants to make it happen? 1-2-3-GO!

What? Me?... Awww C'mon fellers I just did the 1-byte no-math mini-map patch, must be someone else's turn to do this one...

OK. Fine. I'll definately start it sometime in the next 10 years and finish it some time in the next 80 ... Ok?
lol knowing me I'll probably start after lunch... who knows?  ;D


It should be noted that the concept for this game interface is the original work of Lambchops, and is (c)Copyright 2017 Lambchops, being the person identifying themselves as such on the Warcraft II Forum, which is currently, being the 2nd of March, 2017, hosted at forum.war2.ru, and noting that this person is an Australian male currently 46 years old and residing in Queensland, Australia. Should any software producer wish to implement any of the ideas or designs described in this document, they are urged to contact the author before proceeding as he really doesn't want much more than to be part of the team that implements them, and he's actually quite a useful coder.  :)  HI 




its gooder to hax hard and NEVER get caught!

Offline shesycompany

  • Death Knight
  • *********
  • Posts: 3587
  • retired, be in music section
    • View Profile
Re: Nerd's Corner
« Reply #48 on: March 01, 2017, 09:01:18 PM »
this is the .ppl ..i have to go thru the order again sometime.....it can turn tress, land etc to a solid color...helps performance boost old machines.
(and i mean like a 386-25)
it can chang color of the mini map units and units but it is very wierd...like blackish redish blue etc...




its kinda like (00 00 00) RGB? html colorchart worked for my colors ...

conclusion .ppl's is pretty good for changing tiles colors ..instead of having to create them.

now back to lamb ..im reading it man got my high hoped up beer, it will more than likely slow my brain down...if not ill put in some added music!
---------------------------------------------------------------------------------
"""... and the other thing that keeps tickling the back of my brain is a ripper. It's a whole extra technical layer of programming, requiring the new clients to set up an independent ancillary channel of network communication with each other, but once that is done, there is no reason why we couldn't have shared control of units."""
  :o omg man
« Last Edit: March 01, 2017, 09:19:48 PM by easycompany »

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Nerd's Corner
« Reply #49 on: March 01, 2017, 09:50:40 PM »
Intense writeup as usual. Yes I edited the wardat.mpq and extracted the separate grps into an edit folder. I than changed the peon004 image to use green instead of black in the palette. I then used grp edit, loaded the peon grp, deleted the frame 4 and replaced with my new frame 4 with green over black. I save tried to play and gave me error... the thing is, the war2patch file is the only one downloaded through the change. So I'm not sure if it's more of a .ppl file which I have no editor for or if it's maybe a table file(which I thought was only for text like campaign or bnet graphic changes) unless it's simply in the forest file?? Which is also changed in the black to pink war2patch, in that case o would have to edit the tile palette...

And yes im obsessed.and I do like the trigger ideas, the game could develop further in the custom games that way. 

Hey Buddy,
Sorry, took me ages to get all that stuff posted.... and oh hey of course - we're all obsessed, that's why we're all still here tinkering with this thing lol, but I certianly wouldn't have thought anything at all about you from your post other than you're a guy who is interested in graphics mods. Really, as I noted at the top, the most of that post was nothing at all to do with you personally. These discussions about a new font end and client mods have been going on for some time now and I've been spending some time thinking about the possible outcomes that could realisticly be achieved. In a modular sense. So we're not trying to achieve the impossible and never getting a result... but I thought I might try to fire people's imaginations about how far we could actually take this if we got serious.

But breaking it down, step 1 is driving the existing client from an external source, and developing a screen renderer that can produce arbitrary views of the game. At this point we only have to write some basic interface stuff: selecting things by clicking on them, by dragging a box around them, issuing commands with the mouse, checking the keyboard and cross-referencing the keypresses with the currently active command panel hotkeys... blah blah blah... and then drive the game engine to execute those commands.

At this point we have, if nothing more, a hi-res front end for wc2, which is something.
... and the real point is, once we have that done, if we can render one view of the game, then we can render 10, because it's our code, not a crude hack of someone else's exe.

So at that point the multiple viewport interface i described is not very far away at all, in fact at that point we would have already coded all of the main components that would be needed to produce it.

---------------------------------------------------------------------------------------------

Now as far as your graphics editing goes, I'm afraid I may be of little use. I am not familiar with the tools you are using, and to be perfectly honest, using a bunch of of amateur written apps (which, regardless of how good they may actually be, all fit into a box in my head labelled "work's partially, some of the time") to try to edit a collection of datafiles I don't completely understand, sounds like what I would find in the room purpose built to be my own personal hell, should Santa ever see fit to put me on the naughty-list.... so I try really hard to be good :)

anyway... i think EC said something about .ppl files a while back and the conversation at the time was about palettes. Also I note, just pulling the mpq content paths and filenames from the running wc2 process Swamp.ppl, Forest.ppl and Wasteland.ppl (but no Winter.ppl). Perhaps winter is the default, or perhaps it hasn't been dynamically loaded because I haven't played a winter map since I started the WC2 client today.... idk.

However my suspicion is that these files containing palette entries.

Tell me are they exactly 768bytes long?    or perhaps 1024bytes?
If so I would take this as confirmation ...........  If not then IDK

-----

But if they are, then if you want to edit the palette entries you can do it with a hex editor, if you know what you want to do.

There are 256 palette entries in an 8 bit palette. Each entry will consist of either 3 or 4 bytes.

... if the file is length 768 they are 3 byte entries
                   if len: 1024, they are 4 byte entries (or an "RGBQUAD")

So the first 3 bytes will correspond to the intensities of RED, GREEN, and BLUE in the color for that palette entry. The will be values between 00 and FF in a hex editor (0 and 255) in decimal.

if they are 4 byte entries, then the 4th byte in each entry is the "Alpha" channel which designates the overall intensity of the color, but in many cases, and I would expect in an app as old as wc2 this 4th byte is just always set to 0 and ignored. The main thing are the R,G,B values.

SO:

FF,FF,FF  = bright white
00,00,00 = black

88,00,00 = red
FF,00,00 = brighter red
30,00,00 = dark red
00,00,90 = blue
00,FF,00 = bright green
80,00,80 = some purple     (red+blue=purp)
etc...
         .... its how bright the RED,GREEN,BLUE is for each color

** SOMETIMES, particularly for quads, you may find that each entry is stored in reverse order:
          i.e.       B, G, R
           or   A, B, G, R
if you're going to mess around with them you will quickly discover if they are reversed.

Also, please note that the first entry  i.e. the first 3 or 4 bytes is Entry 0
                                                           the next 3 or 4 bytes is Entry 1 .... etc.

Will try to help with other stuff later, but really gtg right now
going to be late for an appt.
HF
 :)


(EDIT:  This discussion led me to investigate .ppl files then make the palette editor (below). In doing so I discovered that the RGB color values  that Blizzard decided to save in its .ppl files aren't values from 0 --> 255 like normal 8 bit palette entries, for some reason they have used values of 0 --> 63. IDK why. Perhaps as a way of standardizing color values among a team of graphic artists who were using very similar but slightly different shades. That's just conjecture, but the end result is: to convert a .ppl palette to a standard 8 bit palette you have to multiply the R,G and B values by 4.... and of course divide by 4 when going back the other way)

« Last Edit: March 06, 2017, 06:21:50 AM by Lambchops »
its gooder to hax hard and NEVER get caught!

Offline shesycompany

  • Death Knight
  • *********
  • Posts: 3587
  • retired, be in music section
    • View Profile
Re: Nerd's Corner
« Reply #50 on: March 01, 2017, 10:13:56 PM »
go cool off them thoughts  ;D gl hf!


edited the .pal but for some reason it didnt stick....
http://imagizer.imageshack.com/img924/4285/mf6byL.th.jpg

so maybe these colors are still called at the start ,dont know cheers!

just use lambs patch or the other one...the colors that do stay are all the other colors of the .pal
so lamb is in the right place!

but u can still do this!!

http://imageshack.com/i/pmB3f7QHj

the green flashes orange lol its kinda comical!

but if your just dying to...all buildings have to be enlarged canvas to 128x128..with out a automated macro or a program, unit creation is to much to bear...

but to fill it in even more... after we got our macro in place to make for you...i got one that will doit....

u got to go to the web or wherever make/or get  a sprite sheet...pal it..prep it so it will have team colors..and no flashing unwanted colors thus editing the pal to the sprite sheet.

then your ready!

its not that hard.

and i got a swamp.pal that i edited at the start..its 99% finished..which means any sprite u .pal will look almost like it. from donkey kong to idk a rainbow zelda ..

and with exe..pud edits u could bring in...warcraft1 units, starcraft units etc 3 races impossible? no thought of the way around of it with a simplier approach mirror exe's.

and also red alert loool i still like that game hate the engine

:o dude can jump in if he wants taking over this game is just what u make of it
« Last Edit: March 02, 2017, 01:59:56 AM by easycompany »

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Nerd's Corner
« Reply #51 on: March 02, 2017, 04:57:41 AM »
but u can still do this!!

OMG man!             
PIMP MY MILL!

I LOVE that show...  who dobbed u in?

Did they really just roll up unannounced at your great hall or was it staged?  ;D
its gooder to hax hard and NEVER get caught!

Offline shesycompany

  • Death Knight
  • *********
  • Posts: 3587
  • retired, be in music section
    • View Profile
Re: Nerd's Corner
« Reply #52 on: March 02, 2017, 05:15:12 AM »
take your ass to bed!

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Nerd's Corner
« Reply #53 on: March 02, 2017, 06:06:18 AM »
take your ass to bed!

Ye. Been 3 days (oops).
Thx for noticing.

But I deserve a couple of games first. Spent most of the last 24 hours writing, until a had to go to an appointment just after lunch, nearly made it too - but then my crappy old chunk of car blew a head gasket. Like BIG TIME... like blowing the smokey exhaust directly out of the radiator big-time  :'(

« Last Edit: March 03, 2017, 02:10:59 AM by Lambchops »
its gooder to hax hard and NEVER get caught!

Offline Incos

  • Grunt
  • ***
  • Posts: 245
    • View Profile
Re: Nerd's Corner
« Reply #54 on: March 02, 2017, 11:38:21 AM »
So you need to make a sheet up for the animation file. And it's restricted to 8 bit 64 colors?

Thought you could string images together in a grp file. I imagine the parameters would include a transparent background as obvious.  I like the green mill haha.
It seems really simple to me, i use to mess with bullletin board systems and the text games that surround but for the love of me can't implant a character in Warcraft 2.

Imagine it's more complex than just replacing one frame, like if I wanted a peon with a Mohawk and replace one frame where he has a Mohawk such as walking down. The one dude added the whole dwarf race with the strat engine. I'll tinker today
« Last Edit: March 02, 2017, 11:58:41 AM by Incos »
https://www.twitch.tv/incoswc - my twitch. Streaming 9:30pm - 11pm est most days!!

Offline shesycompany

  • Death Knight
  • *********
  • Posts: 3587
  • retired, be in music section
    • View Profile
Re: Nerd's Corner
« Reply #55 on: March 02, 2017, 03:40:26 PM »
car blew a head gasket    :o

Offline Delete mine too

  • Death Knight
  • *********
  • Posts: 2652
  • http://meatspin.com
    • View Profile
    • http://meatspin.com
Re: Nerd's Corner
« Reply #56 on: March 02, 2017, 06:58:06 PM »
car blew a head gasket    :o
I hate that my Monte Carlo went out like a champ! The fucker would over heat and I would pull over and put a rag over this metal tube and push a screw driver to release all the air building up. Then I would be good for another day! Sadly I sold that bitch for a grand :, ( the mechanic I sold it to fixed it for like 300 and did 24 hours worth of work :) lucky dude!

Offline shesycompany

  • Death Knight
  • *********
  • Posts: 3587
  • retired, be in music section
    • View Profile
Re: Nerd's Corner
« Reply #57 on: March 03, 2017, 12:49:37 AM »
yeah inco.

if your wanting to mess with 2d. this ripper is nice.
http://www.alferdspritesheetunpacker.forkandbeard.co.uk/forkandBeard/apps/AlferdSpritesheetUnpacker/Download.aspx

i do all my sprite sheets then use this..

then use gamemaker ...any of the old ones 7 - 8.1 etc with my macro to resize canvas for all of them.

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Nerd's Corner
« Reply #58 on: March 03, 2017, 02:04:10 AM »
So you need to make a sheet up for the animation file. And it's restricted to 8 bit 64 colors?


8 bit = 256 possible colors, although much of the palette in wc2 will change from forest to winter etc. so is inappropriate for units, and as discussed obviously there are 32 entries (4x8 players) reserved for player colors, so 64 colors is probably about right, never actually counted them.

Thought you could string images together in a grp file.


Yes. GRP is actually an abbreviation of "group". There are only a handful of GRP's in WC2 that only have one image (oil patch, runestone, circle of power, dark portal, human and orc start locations) The buildings have 2 frames: half built and complete for each.

Most of the units have quite a few, i.e. the knight/paladin has 70:



Have a look at my GRP format pdf.

its gooder to hax hard and NEVER get caught!

Offline Incos

  • Grunt
  • ***
  • Posts: 245
    • View Profile
Re: Nerd's Corner
« Reply #59 on: March 03, 2017, 11:50:32 PM »
If anyone is interested, its like a hue'd lime green instread of the Pink.
https://www.twitch.tv/incoswc - my twitch. Streaming 9:30pm - 11pm est most days!!