Rogue and Tetris ported to . . . . . Diablo II?!?!
lord2800 writes "While Diablo II is nearing the end of it useable life-cycle, it would seem
that
Diablo II hacking is still alive and well. Diablo II hacking pioneer Syadasti
(Mike Gogulski), has recently ported and released both Rogue and Tetris for
Diablo II. Since Blizzard has not yet released their
upcoming patch, is it left up to the open source programmers to breathe some
life into modern games, with a little retro twist. A quote from the author:
Finally, an answer to the question "what the hell do I do while my bot is
running?" Play Tetris!
Grab yours today at from Otaku-Elite.
Requires bind.d2h and d2hackit. Self-documenting.
(tetris.d2h features an autopilot mode as well, so if you get as tired of
playing Tetris as you are of playing Diablo II, well just turn that puppy
on
and let the computer play for you)
Syadasti (Mike Gogulski) is also the Head of Research for the d2jsp
Development
Team which, among other things, has embedded a Javascript engine within
Diablo
II to facilitate the creation of AI "bots" which can play the game on their
own, "thus freeing the user from the tedium of playing with ... er ... for ...
himself," he says."
After all Diablo really is just a slick commercial version of rogue/nethack
thus freeing the user from the tedium of playing with ... er ... for ... himself
Why bother playing at all? I gave up playing mud for Progress Quest
Nobody can beat my level 66 battle finch!
Live web cams
Get this guy to work with your applications, and suddenly your word processor turns into an adventure game, you surface plots fill with small creatures fighting and, well, your internet browser turns into a pacman clone.
I'd say that this shows that todays game engines are pretty flexible, to say the least. How about hacking Quake into a Pacman clone, imagine your own mirror image: big, yellow and round with a mouth covering 50% of your body. And wouldn't it be nicer to get hunted by yellow, pink and blue ghosts instead of really scary corpses and zombies...
Sure. It's not even particularly new. (ok, hacking totally diffferent platform styles into an existing game MAY be...) but back in 1990 I was using the level editor that came with Arkanoid 2: Revenge of Doh to build self clearing boards of increasing complexity. Since all the angles in paddle/ball games are predictable, you could arrange bricks in such a fashion that releasing the initial ball from center, far right or far left would clear the board without further player input.
This sig intentionally left justified.
In EverQuest, there's a built-in feature similar to this called the "gem game," which is what one plays while EQ itself becomes tedious. I would assume that this feature is used a great deal.
We can neither love nor pity nor forgive. If you make a slip in handling us you die!
I hoped it was classic rogue implement as an ordinary Diablo II quest.
It's for people with really short attention spans who don't like to swap CD's. "Well I'm bored with Diablo... hey how 'bout Tetris" and then, "Stupid Tetris, I'll just play some Diablo."
Now Doctor Mario! There's a game to port!
I planned on inserting something witty here but never got around to it.
LONDON, England -- A newlywed man has been jailed for four months after playing a game of Tetris on his mobile phone during the flight back from his honeymoon
Unless they got permission from The Tetris Company LLC to use the TETRIS mark, this mod may infringe on Elorg's registered trademark on TETRIS for video game software.
Will I retire or break 10K?
There was a flash based golf game that was the rage several years ago. I got tired of playing so I wrote a macro to play for me. After some script tweaking and 2 days of run time I had the top 10 scores sewn up out of over 3 million users.
The game was pulled by the website hosting it.
Using a bot to play a game is pretty lame.
I was working on a CS bot at the time too. It never saw the light of day after I realized just how lame it was.
Play for fun. Hack AI to provide yourself challenge. Do not hack to play.
If voting were effective, it would be illegal by now.
Dark Reign II has an official add-on that lets you play a Tetris Clone called "Dark Rain" when you're in a warroom waiting for a match.
*That* is cool.
We suffer more in our imagination than in reality. - Seneca
Uh, can you hear *ban*, RUSH home, UO moderators are closing your account right now. Ever heard that they kind of dislike unattended macroing (and that they might also be rather active slashdot readers). ;) ?
Hacking the game hack in the game hack in the game!
Tired of Tetris in Diablo II? Play NetHack in Tetris in Diablo II!
Well, it would be an interesting thought, how far into a game can you hack before it becomes useless to do so?
Human nature is the same everywhere; the modes only are different. -- Earl of Chesterfield
What's the point of having a AI play your game for you.
:-)
To me sort of like having someone else make love to your girl friend for you, while you watch!
Then again some of you may enjoy that......
Wise men speak because they have something to say, Fools because they have to say something!!!!
What if you really have to use the restroom?
So go to the restroom. Oh, you might lose? Yeah... so what? If you're playing on the stratospheric level where there's actually money involved that's one thing. Otherwise does it really matter?
And yes, I play online games. I know that there's other people playing as well and that in team games they're relying on you -- if you can't just quit the game to go AFK, then let them know you're AFK and they'll cover for you.
Ever heard of Core Wars? That was one of the first popular bot vs. bot games
Non sequitor. The OP was not playing a bot-vs-bot game, where the purpose is to write a better program than your adversary. It's a level playing field.
Writing a bot for a human played game may show you have programming skill, but actually using it to defeat other players is just lame. It doesn't prove you have any skill regarding the actual game. It just proves that you can code and are willing to cheat to make you look better.
Using a bot written by someone else to play is even lamer. That just shows you have no skill in any manner.
Here's how it works. There is a clever hack called d2hackit. The way it works is very complicated but to put it short...
/. computer geeks... you should take a look at some of the source code for d2hackit. Pure genious... definitely the route to take when you want to write some insanely cool hacks for your favorite games. However, it's not for the faint of heart!
1) Gain access to the running diablo ii process
2) replace the diablo 2 window's message handler with a dumby one to trick diablo ii into loading some assembly code.
3) The assembly code loads up a dll and therefore causes the dllmain function to be executed.
That's how the loader works.
Now, let's get an idea of how d2hackit works.
1) Patches variuos diablo ii functions so that it can intercept them and then run custom code. (replace an assembly call with a jmp call to your own code, execute... have another jmp call return it back to the diablo code.
2) Locates various functions for send messages, packets, etc... (makes them available so that the d2hackit can print messages to the user or spoof packets to the battlenet servers)
3) Creates a sort of command line system using the text message prompt.
4) implements various commands for loading up other custom dynamic libraries
Okay, now that you have an idea of how the hack actually inserts itself into the diablo runtime, let's evaluate what it took to get this example to work.
1) Locate the Diablo II call for printing text to the D3D context.
2) Port a text based tetris game to the windows api and modify it to print the text to the diablo ii window instead of to a terminal.
To all you