hltb deps update, monkey 2: lechucks revenge

This commit is contained in:
Wouter Groeneveld 2022-09-15 10:11:12 +02:00
parent d0d398f24b
commit 7fe84458d3
10 changed files with 53 additions and 248 deletions

Binary file not shown.

View File

@ -13,9 +13,9 @@ tags:
- monkey island
---
If there is any [adventure game](/tags/adventure) that doesn't need an introduction, it's LucasArts masterpiece _Day of the Tentacle_ (DOTT). And with that, I've already spoiled our evaluation of the game: it's nothing less than amazing. This month, we've replayed the remastered edition of the game, which gives it a fresh new coat that... we ended up disliking and brushing aside.
If there is any [adventure game](/tags/adventure) that doesn't need an introduction, it's LucasArts' masterpiece _Day of the Tentacle_ (DOTT). And with that, I've already spoiled our evaluation of the game: it's nothing less than amazing. This month, we've replayed the remastered edition of the game, which gives it a fresh new coat that... we ended up disliking and brushing aside.
But before we get into that, let's refresh our memory for a bit. In 1993, LucasArts Entertainment released the DOS version of Day of the Tentacle, designed by David Grossman and Tim Schafer. After Monkey Island's _LeChuck's Revenge_ two years ago, the grandmaster of witty Lucasfilm/arts point & clicks---Ron Gilbert---left to create his own company. You'd think that was the sign of a sinking ship, but somehow, Tim & David managed to pull it off without Ron's help.
But before we get into that, let's refresh our memory for a bit. In 1993, LucasArts Entertainment released the DOS version of Day of the Tentacle, designed by David Grossman and Tim Schafer. After Monkey Island's _LeChuck's Revenge_ two years ago, the grandmaster of witty then still called Lucasfilm point & clicks---Ron Gilbert---left to create his own company. You'd think that was the sign of a sinking ship, but somehow, Tim & David managed to pull it off without Ron's help.
Well, that's not entirely true. In Retro Gamer's [The Making Of Day of the Tentacle](https://www.retrogamer.net/retro_games90/the-story-of-thor-2/), we learn that Ron Gilbert and Gary Winnick, two Lucasfilm and Monkey Island veterans, were still around for the initial story planning and brainstorm sessions, even though Tim & David took over the lead. As Darth Vader would have said: _the circle is complete, the apprentice has become the master_.

View File

@ -0,0 +1,45 @@
---
title: "Monkey Island 2: LeChuck's Revenge (Special Edition)"
date: 2022-09-14
score: 4
game_release_year: 1991
howlongtobeat_id: 6136
howlongtobeat_hrs: 6.8
game_name: "Monkey Island 2: LeChuck's Revenge"
game_developer: 'Lucasfilm Games LLC'
game_genre: 'Adventure'
tags:
- adventure
- monkey island
---
It has been since December 2021 that I touched a Monkey Island game: [The Curse of Monkey Island](/games/pc/the-curse-of-monkey-island/). What better way to celebrate the exciting upcoming release of _Return to Monkey Island_ next week than to replay all the other games? Or at least the most revered ones, _The Secret of Monkey Island_ and its successor, _LeChuck's Revenge_. Both got a "special edition" fresh coat of paint, just like [Day of the Tentacle Remastered](/games/pc/day-of-the-tentacle/), which you might or might not like: we'll see in a bit what's so special about the special edition.
I honestly can't believe _LeChuck's Revenge_ is 31 years old, stemming from 1991, when EGA was barely shoved aside by VGA, and that 256-color scenery of the original game wowed us all with its perfect blend of pixels and usage of masterful dithering techniques. If you do decide to play in the "old" mode, the added bonus of compatibility on modern operating systems and the speeches (the "talkie" version!) persists, including the classic Lucasfilm SCUMM control bar that takes up almost 1/4th screen estate. That very same "old" mode hold up surprisingly well. What other game from '91 still makes your jaw drop simply by looking at it, and by hearing its iconic Roland-enabled synth tunes?
![](graveyard.jpg "You can again freely switch between classic and new modes.")
Compared to Monkey 1, number 2 steps down from approaching puzzling in a serial way and instead relies more on item sequences that can be found on multiple islands at the same time, where the player is given the freedom to chase whatever lead they think is interesting. While this sounds superb, it also makes the game a lot **harder**, leaving Guybrush often flabbergasted as to what to do with a rusted saw or ornamental oar you happened to pick up along the way.
In Day of the Tentacle, that freedom is reflected in the three different time zones where you have to swap items. I found those puzzles to be less menacing, as most of the time the items themselves provide hints or the subtle hints from the characters or location provide clues. In _LeChuck's Revenge_, that was much less the case. Aside from the obnoxious but common monkey wrench problem---who on earth picks up a dog or sticks a banana on a metronome? We had to look up almost a dozen hints, even though I played this game twice before. The more we got stuck and gave up, the more we felt we were just following a script and not really playing, which is a bit of a shame. Sure, that one is on us. Not every game should be constantly throwing hints towards the player, like in [Dexter Stardust](/games/switch/dexter-stardust). Still, we found Monkey Island 2's puzzle design to be... bad. Gasp!
I know _LeChuck's Revenge_ is universally hailed as the best Monkey Island game in the entire series. I love the jokes, the graphics, the music, and some puzzles. But if I'm being objective, I think I'd choose Day of the Tentacle over this any day. Sorry Ron.
![](party.jpg "So... Any more drinks? Got any good jokes? Hey, where's my costume?")
As for the special sauce in the Special Edition, one obvious change is the graphics. They tried to emulate the colorfulness and cheeriness of the original and largely succeeded in doing so. I found the new graphics in this SE to be vastly superior to the new graphics from Monkey Island 1 SE, especially Guybrush himself. I found myself regularly switching between old and new mode, just to marvel at both works. Some changes are very odd though: the telephone helpline in the jungle of Dinky Island is now answered by a guy instead of a girl---why?
Again, as with Day of the Tentacle, you might prefer the SCUMM interface over the new one, as a constant eye on items as a reminder might help in solving a puzzle. Since Guybrush picks up so much junk, and most of it stays there during the entire course of the game, the old interface doesn't really help either, as it also requires a lot of scrolling. The SE layout, with its subtle changes, do make the game a bit easier: the wheel menu where you pick your actions from (Talk to, Open, Push, ...) only provide valid options. That is, you don't need to think "should I push this thing?", select PUSH from the SCUMM bar, and click on the item. Right-clicking on it simply reveals if you can or cannot push it.
![](map.jpg "Where do you want to go?")
Some islands require more work than others. In Phatt island, you'll end up meeting the local ruler (not governor Marley), and that room is very vibrant and "interesting". It triggered our "ooh we should do something with this or that!" adventure sense---incorrectly, it turned out. The only thing worth investigating is a stupid book, which seemed like a missed opportunity for at least some well-placed animated jokes.
Scabb island, the one you start on, contains that classic Monkey 1 vibe, as it's nighttime and contains a bar (and the Voodoo Lady, of course). Booty island, on the other hand, is completely different: bright colors, a jungle to "explore" (not really, but still), Stan's Previously Owned Coffins, and of course the Mardi Gras festival. In your quest to hunt down four map pieces, you know you'll eventually land on a fourth island, but that one was over before we knew it, and contained too easy puzzles for a change. Weird.
![](library.jpg "As soon as Guybrush says something (to explain an item to the player), he's reprimanded to 'SHHHHHH'!")
I can see why this game gets a lot of love, but at the same time, I honestly think there are better---and by that, I mean non-Monkey Island---adventure games out there. Pacing issues and ridiculous puzzles redacts from the overall experience, which was still very much enjoyable, just not as exceptional as I remembered. Nostalgia can be a bitch.
Let's hope for the best for [Return to Monkey Island](https://returntomonkeyisland.com/)!

View File

@ -22,7 +22,7 @@
},
"homepage": "https://jefklakscodex.com",
"dependencies": {
"jam-my-stack": "^1.0.31"
"jam-my-stack": "^1.0.32"
},
"devDependencies": {
"@babel/cli": "^7.17.6",

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

BIN
static/img/hltb/6136.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

250
yarn.lock
View File

@ -1539,15 +1539,6 @@ __metadata:
languageName: node
linkType: hard
"axios@npm:^0.22":
version: 0.22.0
resolution: "axios@npm:0.22.0"
dependencies:
follow-redirects: ^1.14.4
checksum: 8238c34fe3cec0ac3a09b00c1c6b355f99d37f9d3950dc570803ef4b4a6dd4971462ec94ecd2b3a89f4b13cda2568d8ac6d96abffb71ae2f0e9962bf5806b2e0
languageName: node
linkType: hard
"babel-plugin-dynamic-import-node@npm:^2.3.3":
version: 2.3.3
resolution: "babel-plugin-dynamic-import-node@npm:2.3.3"
@ -1607,13 +1598,6 @@ __metadata:
languageName: node
linkType: hard
"boolbase@npm:^1.0.0":
version: 1.0.0
resolution: "boolbase@npm:1.0.0"
checksum: e827963c416fdb1dbcd57e066a43c40829518f4dcdc9f58ed04519daeebb610adacbb6cf102518bda9f08be593c5b1b49a83e36bf6b7d91b3403f7e35510eeae
languageName: node
linkType: hard
"brace-expansion@npm:^1.1.7":
version: 1.1.11
resolution: "brace-expansion@npm:1.1.11"
@ -1742,35 +1726,6 @@ __metadata:
languageName: node
linkType: hard
"cheerio-select@npm:^2.1.0":
version: 2.1.0
resolution: "cheerio-select@npm:2.1.0"
dependencies:
boolbase: ^1.0.0
css-select: ^5.1.0
css-what: ^6.1.0
domelementtype: ^2.3.0
domhandler: ^5.0.3
domutils: ^3.0.1
checksum: e7aef207ba55a8c16aa98eeffd285fabd6242d31f5d2e49a002aca60390ec0b63967e1b7ae9b49ff89774d94c6f16cefc6828c870eeb696c729bf0317006cd38
languageName: node
linkType: hard
"cheerio@npm:^1.0.0-rc.2":
version: 1.0.0-rc.12
resolution: "cheerio@npm:1.0.0-rc.12"
dependencies:
cheerio-select: ^2.1.0
dom-serializer: ^2.0.0
domhandler: ^5.0.3
domutils: ^3.0.1
htmlparser2: ^8.0.1
parse5: ^7.0.0
parse5-htmlparser2-tree-adapter: ^7.0.0
checksum: b0b23c42245746f05798112fef55f677e7268c5c40ab8e273ba662a88be4996ff8d6956296b9c34de36abe62bb30ec9ee1cf03b8017771a1bab68b7b5dcc1636
languageName: node
linkType: hard
"chokidar@npm:^3.4.0":
version: 3.5.3
resolution: "chokidar@npm:3.5.3"
@ -1904,26 +1859,6 @@ __metadata:
languageName: node
linkType: hard
"css-select@npm:^5.1.0":
version: 5.1.0
resolution: "css-select@npm:5.1.0"
dependencies:
boolbase: ^1.0.0
css-what: ^6.1.0
domhandler: ^5.0.2
domutils: ^3.0.1
nth-check: ^2.0.1
checksum: b59f94619cd36ae465e216a2703136e6c10f5ca15db25df3f8ff3621557c1d34c87e5faa1964761b06c4fb36e8be4560bead9c6db91f83481fe02ad3c8c8906b
languageName: node
linkType: hard
"css-what@npm:^6.1.0":
version: 6.1.0
resolution: "css-what@npm:6.1.0"
checksum: 9ea7e863d9f286c35d9856f8bcb4fff18e289ec096005816438fd5e672b13f29b42371a6c3ed94f7ee52df9849eb7c05558376957ab4ac1d730116bd73aecdce
languageName: node
linkType: hard
"dargs@npm:~7.0.0":
version: 7.0.0
resolution: "dargs@npm:7.0.0"
@ -1990,71 +1925,6 @@ __metadata:
languageName: node
linkType: hard
"detect-indent@npm:~6.0.0":
version: 6.0.0
resolution: "detect-indent@npm:6.0.0"
checksum: ad0619414151942d278c06cd4b6b79feb96c16eebf4979ef1d03433941f1a85c9bba7daba73a73814d629923716169da5416bbc4290c232d53a2dc06f462da5f
languageName: node
linkType: hard
"docopt@npm:~0.6.2":
version: 0.6.2
resolution: "docopt@npm:0.6.2"
checksum: 956f40c184511e9691deafc5e205d0261f3d90def7f6a0c9caa189020ee968da2c05af4083851f38e7ea6ffbccef2f77d4e3a5ad7a3c9c1a23f85bc3b83368bb
languageName: node
linkType: hard
"dom-serializer@npm:^2.0.0":
version: 2.0.0
resolution: "dom-serializer@npm:2.0.0"
dependencies:
domelementtype: ^2.3.0
domhandler: ^5.0.2
entities: ^4.2.0
checksum: bf20b38ea932142d73a95840b8de87ca021132d65d0d7f1df2616ec91d6ba3db3ba14ebb5ffc9967cd6af42a7b54a7c70cf9459739871c12eff7452f77c905d4
languageName: node
linkType: hard
"domelementtype@npm:^2.3.0":
version: 2.3.0
resolution: "domelementtype@npm:2.3.0"
checksum: 661829f0c64908d8220a5abd94f8ef7faa4cff64c58bba41ad25cb80cb43fadcf44b81ae469b2f29823b657f842d8a66355f08f11c2e739263d134ef540e03f0
languageName: node
linkType: hard
"domhandler@npm:^5.0.1, domhandler@npm:^5.0.2, domhandler@npm:^5.0.3":
version: 5.0.3
resolution: "domhandler@npm:5.0.3"
dependencies:
domelementtype: ^2.3.0
checksum: 12878420200fc76710a440f7e60917a1fe41d2bbdaafee815a1c6f038196cc09e67048e7c3d4e4ed5d84d1ba5d24204038ae1a06e505bb9017f5bd9d50d43de2
languageName: node
linkType: hard
"domutils@npm:^3.0.1":
version: 3.0.1
resolution: "domutils@npm:3.0.1"
dependencies:
dom-serializer: ^2.0.0
domelementtype: ^2.3.0
domhandler: ^5.0.1
checksum: 6e17ca5bffc5dd6c35b1a5976566a09c5ad75edc6297575d3befa4fa179006bfa21bd03d2fb1124f661d64e863a7e96d70eb8f8966e9118d8c12845a0f46e02c
languageName: node
linkType: hard
"dot-json@npm:^1.2.2":
version: 1.2.2
resolution: "dot-json@npm:1.2.2"
dependencies:
detect-indent: ~6.0.0
docopt: ~0.6.2
underscore-keypath: ~0.0.22
bin:
dot-json: bin/dot-json.js
checksum: 3113cbf01a69b1f23e66937ed5a3b4d3f4a57ada893aea40bfdb45e245596734d57abbbfa01a352cf9cae586da2d62a1503e14f597da66df26c6adc74c30538f
languageName: node
linkType: hard
"ejs@npm:^3.1.6":
version: 3.1.8
resolution: "ejs@npm:3.1.8"
@ -2105,13 +1975,6 @@ __metadata:
languageName: node
linkType: hard
"entities@npm:^4.2.0, entities@npm:^4.3.0, entities@npm:^4.4.0":
version: 4.4.0
resolution: "entities@npm:4.4.0"
checksum: 6ead62f0710579c2ca2d821bfd5ac95cf2d84208e269c21781e13e514944e66f7ebf69d7871e376b8c9fd3130b22bc8c790aff3182dd599dd28bf7fadafd1067
languageName: node
linkType: hard
"env-paths@npm:^2.2.0":
version: 2.2.1
resolution: "env-paths@npm:2.2.1"
@ -2183,13 +2046,6 @@ __metadata:
languageName: node
linkType: hard
"fast-levenshtein@npm:^2.0.6":
version: 2.0.6
resolution: "fast-levenshtein@npm:2.0.6"
checksum: a2d03af3088b0397633e007fb3010ecfa4f91cae2116d2385653c59396a1b31467641afa672a79e6f82218518670dc144128378124e711e35dbf90bc82846f22
languageName: node
linkType: hard
"fast-xml-parser@npm:^3.18.0":
version: 3.21.1
resolution: "fast-xml-parser@npm:3.21.1"
@ -2229,16 +2085,6 @@ __metadata:
languageName: node
linkType: hard
"follow-redirects@npm:^1.14.4":
version: 1.15.1
resolution: "follow-redirects@npm:1.15.1"
peerDependenciesMeta:
debug:
optional: true
checksum: 73c47c2a294638f12b18644d0f6226cbb4594ee87f01a8f38af8462c7211f0c2633f036bf93ada5656db784c4a2b0046e018f95d062578ddb20c82ce684e396c
languageName: node
linkType: hard
"for-in@npm:^1.0.2":
version: 1.0.2
resolution: "for-in@npm:1.0.2"
@ -2471,30 +2317,6 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
"howlongtobeat@npm:^1.5.1":
version: 1.5.1
resolution: "howlongtobeat@npm:1.5.1"
dependencies:
axios: ^0.22
cheerio: ^1.0.0-rc.2
fast-levenshtein: ^2.0.6
user-agents: ^1.0.580
checksum: 19900d03e50365b0e9e5a682bab5cb9b03805fed9815acce21212ac20cffc9d24205b4063fa0864b38b0197c4517cf22bffd8495e0e5158bc01b50ae2884ee8d
languageName: node
linkType: hard
"htmlparser2@npm:^8.0.1":
version: 8.0.1
resolution: "htmlparser2@npm:8.0.1"
dependencies:
domelementtype: ^2.3.0
domhandler: ^5.0.2
domutils: ^3.0.1
entities: ^4.3.0
checksum: 7d3be08f8f382ca61b64ae4d39eca881e8aacdc597c36fe860ef91c3cef98cc88d7bbdd254178bc68296c4a4f24637dc446b4c86e5dd79b51be2b8df04e8fb3c
languageName: node
linkType: hard
"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0":
version: 4.1.0
resolution: "http-cache-semantics@npm:4.1.0"
@ -2748,19 +2570,18 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
"jam-my-stack@npm:^1.0.31":
version: 1.0.31
resolution: "jam-my-stack@npm:1.0.31"
"jam-my-stack@npm:^1.0.32":
version: 1.0.32
resolution: "jam-my-stack@npm:1.0.32"
dependencies:
dayjs: ^1.10.4
ejs: ^3.1.6
ent: ^2.2.0
fast-xml-parser: ^3.18.0
got: 11.8.3
howlongtobeat: ^1.5.1
parser-front-matter: ^1.6.4
youtube-dl-exec: ^1.2.4
checksum: 6bc9e152b38ef3fac33623250714fd583fe6000be4db7bef7d845e821f89ff677f7e146a6e6414188b4cec25b33e95c58f07cd2cadf095e436ca00348fa492db
checksum: 2cb37015dffaa7a585d3299381f20a1a73028a5a34e2d1e1ecc506b82ff97a591788f234f814dc7443214c9dc659d084cdf58420d9248993299f523a88f1abf4
languageName: node
linkType: hard
@ -2771,7 +2592,7 @@ fsevents@~2.3.2:
"@babel/cli": ^7.17.6
"@babel/core": ^7.17.9
"@babel/preset-env": ^7.16.11
jam-my-stack: ^1.0.31
jam-my-stack: ^1.0.32
languageName: unknown
linkType: soft
@ -2862,13 +2683,6 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
"lodash.clonedeep@npm:^4.5.0":
version: 4.5.0
resolution: "lodash.clonedeep@npm:4.5.0"
checksum: 41e2fe4c57c56a66a4775a6ddeebe9272f0ce4d257d97b3cb8724a9b01eeec9b09ce7e8603d6926baf5f48c287d988f0de4bf5aa244ea86b1f22c1e6f203cc27
languageName: node
linkType: hard
"lodash.debounce@npm:^4.0.8":
version: 4.0.8
resolution: "lodash.debounce@npm:4.0.8"
@ -3176,15 +2990,6 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
"nth-check@npm:^2.0.1":
version: 2.1.1
resolution: "nth-check@npm:2.1.1"
dependencies:
boolbase: ^1.0.0
checksum: 4c4fe247599a7b6a1565245ed3921b31873117c547d41cefe4fbb37bc52ec0b890a9064f26ff4d75b19befc99812a0f86b77f0974ff194a9082f486584613810
languageName: node
linkType: hard
"object-keys@npm:^1.1.1":
version: 1.1.1
resolution: "object-keys@npm:1.1.1"
@ -3238,25 +3043,6 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
"parse5-htmlparser2-tree-adapter@npm:^7.0.0":
version: 7.0.0
resolution: "parse5-htmlparser2-tree-adapter@npm:7.0.0"
dependencies:
domhandler: ^5.0.2
parse5: ^7.0.0
checksum: 9000f382c201b559c4af9b09d6e9978dbfd27ed1df2f31c1242d2243cb4bdc0b243e48788653c797c57b39cb80cc374e8b0d6d028cb8c11e02c228ae0b484fbb
languageName: node
linkType: hard
"parse5@npm:^7.0.0":
version: 7.1.1
resolution: "parse5@npm:7.1.1"
dependencies:
entities: ^4.4.0
checksum: b9710b5ee3df926365964b9688e847954c04142c82280120fc7cf17bb49bcae388454fe60e0837e09702fb28ccc8f465a3f32f7fd73a32725dc98dc368f25afc
languageName: node
linkType: hard
"parser-front-matter@npm:^1.6.4":
version: 1.6.4
resolution: "parser-front-matter@npm:1.6.4"
@ -3762,22 +3548,6 @@ resolve@^1.14.2:
languageName: node
linkType: hard
"underscore-keypath@npm:~0.0.22":
version: 0.0.22
resolution: "underscore-keypath@npm:0.0.22"
dependencies:
underscore: "*"
checksum: aaab5256d2be2a2ad29b28ac78a17f44b49ed3fd966d91ee91839e68c0470804618167181473c8adccb2cdd6649601d833e526d09c3b828036c1eeea1f378695
languageName: node
linkType: hard
"underscore@npm:*":
version: 1.13.4
resolution: "underscore@npm:1.13.4"
checksum: 4dcffbb1ae299b289add2397a747619af35049a8384adfd4f1cd0590113acbb96282b2c3e3721a9b805a0380c468dc6fefcac99c000cb0cdda35e4217f7b5ec2
languageName: node
linkType: hard
"unicode-canonical-property-names-ecmascript@npm:^2.0.0":
version: 2.0.0
resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0"
@ -3841,16 +3611,6 @@ resolve@^1.14.2:
languageName: node
linkType: hard
"user-agents@npm:^1.0.580":
version: 1.0.1136
resolution: "user-agents@npm:1.0.1136"
dependencies:
dot-json: ^1.2.2
lodash.clonedeep: ^4.5.0
checksum: dcb20bc6d7b51ad253f5a7e918162a663512ce84c0d07308f45bd01355200978d9a6b463ff97928c4bb057d758f373cb8904522b3ede1854e5a3fca3102af073
languageName: node
linkType: hard
"util-deprecate@npm:^1.0.1":
version: 1.0.2
resolution: "util-deprecate@npm:1.0.2"