commit - 26e2c1090089cd168c05cbb54957beacbef234fb
commit + ad91daad33d7c6e4aaed555ef7af44cd8bf1bf90
blob - 5353a85a1d346f07eead89f22f4b2863e26beb5b
blob + 4e346c5b424f4b090215ed1ebe52e8a02e53ede4
--- .build.yml
+++ .build.yml
- https://git.sr.ht/~bt/btxx.org
tasks:
- install-gems: |
- sudo gem install bundler kramdown rss
+ sudo gem install bundler 'kramdown:2.4.0' 'rss:0.3.0'
- build: |
cd btxx.org
sudo make build
blob - 3415f5c499700f31cd00e456d7f702bad1ddda73
blob + c09f8e22fb088468671ae83423a8b4f4751a2309
--- header.html
+++ header.html
<link rel="icon" href="data:,">
<title>{{TITLE}}</title>
<link href="/index.rss" type="application/rss+xml" rel="alternate" title="RSS feed for blog posts" />
-<style>*{box-sizing:border-box;}body{font-family:sans-serif;line-height:1.33;margin:0
-auto;max-width:650px;padding:1rem;}blockquote{border-left:4px
- solid;padding-left:5px;}img{max-width:100%;}pre{border:1px solid;overflow:auto;padding:5px;}table{text-align:left;width:100%;}.posts,#menu{list-style:none;padding:0;}.posts li{margin-bottom:8px;}.posts li span{display:block;font-size:90%;}#menu li{display:inline-block;margin-right:8px;}.footnotes{font-size:90%;}</style>
+<style>*{box-sizing:border-box;}body{font-family:sans-serif;line-height:1.33;margin:0 auto;max-width:650px;padding:1rem;}blockquote{border-left:4px solid;padding-left:5px;}img{max-width:100%;}pre{border:1px solid;overflow:auto;padding:5px;}table{text-align:left;width:100%;}.posts,#menu{list-style:none;padding:0;}.posts li{margin-bottom:8px;}.posts li span{display:block;font-size:90%;}#menu li{display:inline-block;margin-right:8px;}figcaption{font-size:90%;}.footnotes{font-size:90%;}@font-face{font-family:'Monaspace';src:url('/public/fonts/MonaspaceKrypton-SyntaxHighlighter-Regular.woff2') format('woff2');}code{font-family:"Monaspace",monospace;background-color:#000;color:#f1f1f1;border-radius:.2rem;padding:.1rem;}pre:has(code){border:2px solid #f9f9f9;background-color:#000;color:#f1f1f1;padding:.5rem;border-radius:.5rem;}</style>
</head>
<nav id="top">
blob - 28b68505811e352bfb0c585a76f64903e56c2ed6
blob + 84e0d0f9971f1b541e776d1bde63ccb93a2b0aa6
--- pages/wiki/ps2/networking.md
+++ pages/wiki/ps2/networking.md
## Emulator Settings
-![Mac OS Settings](https://btxx.org/wiki/ps2/networking/Screenshot_2024-03-20_at_10.49.01__8239__AM.png)
+![Mac OS Settings](/public/images/Screenshot_2024-03-20_at_10.49.01__8239__AM.png)
If you're finding things tricky, [this YouTube video is extremely helpful](https://www.youtube.com/watch?v=9uXjpkBNkCk).
blob - /dev/null
blob + 174b9e0636582d60af100b6929418151c387fe8a (mode 644)
--- /dev/null
+++ posts/useless-key.md
+# "This Key is Useless Now. Discard?"
+
+2024-08-28
+
+The title of this article probably triggers nostalgic memories for old school Resident Evil veterans like myself. My personal favourite in the series (not that anyone asked) was the original, 1998 version of Resident Evil 2 (RE2). I believe that game stands the test of time and is very close to a masterpiece. The recent remake lost a lot of the charm and nuance that made the original so great, which is why I consistently fire up the PS1 version on my PS2 Slim.
+
+<figure>
+ <img src="/public/images/re2-crt.jpg" alt="A photo of RE2 on my CRT TV, running on PS2">
+ <figcaption>Resident Evil 2 (PS1) running on my PS2, hooked up to my Toshiba CRT TV.</figcaption>
+</figure>
+
+But the point of this post isn't to gush over RE2. Instead I would like to discuss how well RE2 handled its interface and user experience across multiple in-game systems.
+
+## HUD? What HUD?
+
+Just like the first Resident Evil that came before it, RE2 has no in-game HUD (heads-up display) to speak of. It's just your playable character and the environment. No ammo-counters. No health bars. No "quest" markers. Nothing.
+
+<figure>
+ <img src="/public/images/re2-no-hud.jpg" alt="The player character aiming at a zombie in RE2">
+ <figcaption>This is how the game looks while you play. Zero HUD elements.</figcaption>
+</figure>
+
+The game *does* provide you with an inventory system, which holds your core items, weapons and notes you find along your journey. Opening up this sub-menu allows you to heal, reload weapons, combine objects or puzzle items, or read through previously collected documents. Not only is this more immersive (HUDs don't exist for us in the real world, we need to look through our packs as well...) it also gets *out of the way*.
+
+<figure>
+ <img src="/public/images/re2-inventory.png" alt="The main inventory screen in RE2">
+ <figcaption>The main inventory screen. Shows everything you need to know, only when you need it. (I can <i>hear</i> this screenshot...)</figcaption>
+</figure>
+
+I don't need to a visual element in the bottom corner showing me a list of "items" I can cycle through. I don't want an ammo counter cluttering up my screen with information I only need to see in combat or while manually reloading. If those are pieces of information I need, I'll explicitly open and look for it. Don't make assumptions about what is important to me on screen.
+
+Capcom took this concept of less visual clutter even further in regards to **maps** and the character **health status**.
+
+## Where We're Going, We Don't Need <strike>Roads</strike> Mini-Maps
+
+A great deal of newer games come pre-packaged with a mini-map on the main interface. In certain instances this works just fine, but most are 100% UI clutter. Something to add to the screen. I can only assume some devs believe it is "helpful". Most times it's simply a distraction. Thank goodness most games allow you to disable them.
+
+As for RE2, you collect maps throughout your adventure and, just like most other systems in the game, you need to consciously open the map menu to view them. You know, just like in real life. This creates a higher tension as well, since you need to constantly reference your map (on initial playthroughs) to figure out where the heck to go. You feel the pressure of someone frantically pulling out a physical map and scanning their surroundings. It also helps the player build a mental model in their head, thus providing even more of that sweet, sweet immersion.
+
+<figure>
+ <img src="/public/images/re2-map.jpg" alt="A map of the police station in RE2">
+ <figcaption>The map of the Raccoon City Police Station.</figcaption>
+</figure>
+
+## No Pain, No Gain
+
+The game doesn't display any health bar or player status information. In order to view your current status (symbolized by "Fine", "Caution" or "Danger") you need to open your inventory screen. From here you can heal yourself (if needed) and see the status type change in real-time.
+
+<figure>
+ <img src="/public/images/re2-health.png" alt="The condition section in RE2 inventory screen showing 'Fine'">
+ <figcaption>The "condition" health status. This is fine.</figcaption>
+</figure>
+
+But that isn't the only way to visually see your current status.
+
+Here's a scenario: you're traveling down a hallway, turn a corner and run right into the arms of a zombie. She takes a couple good bites out of your neck before you push her aside. You unload some handgun rounds into her and down she goes. As you run over her body she reaches out and chomps on your leg as a final "goodbye". You break free and move along but notice something different in your character's movement - they're holding their stomach and limping.
+
+<figure>
+ <img src="/public/images/re2-injured.jpg" alt="The player character in RE2 holding their stomach because of an injury">
+ <figcaption>Here we can see the character "Hunk" holding his stomach and limping, indicating an injury without the need for a custom HUD element.</figcaption>
+</figure>
+
+If this was your first time playing, most players would instinctively open the inventory menu, where their characters health is displayed, and (in this instance) be greeted with a "Caution" status. This is another example of subtle UX design. I don't need to know the health status of my character until an action is required (in this example: healing). The health system is *out of the way* but not hidden. This keeps the focus on immersion, not baby-sitting the game's interface.
+
+## A Key to Every Lock
+
+Hey! This section is in reference to the title of the article. We made it!
+
+...But yes, discarding keys in RE2 is a subtle example of *fantastic* user experience. As a player, I know for certain this key is no longer needed. I can safely discard it and free up precious space from my inventory. There is also a sense of accomplishment, a feeling of "I've completed a task" or an internal checkbox being ticked. Progress has been made!
+
+Don't overlook how powerful of a interaction this little text prompt is. Ask any veteran of the series and they will tell you this prompt is almost euphoric.
+
+<figure>
+ <img src="/public/images/re2-discard.png" alt="Text prompt asking to discard the useless key in RE2">
+ <figcaption>The game's prompt asking if you'd like to discard a useless key. Perfection.</figcaption>
+</figure>
+
+## Inspiring Greatness
+
+RE2 is certainly not the first or last game to implement these "minimal" game systems. A more "modern" example is Dead Space (DS), along with its very faithful remake. In DS the character's health is displayed directly on the character model itself, and a similar inventory screen is used to manage items. An ammo-counter is visual but only when the player aims their weapon. Pretty great stuff and another masterpiece of survival horror.
+
+<figure>
+ <img src="/public/images/dead-space.jpg" alt="Screenshot of Dead Space, showing the lack of UI">
+ <figcaption>In Dead Space, the character's health bar is set as part of their spacesuit.</figcaption>
+</figure>
+
+## The Point
+
+I guess my main takeaway is that designers and developers should try their best to keep user experience intuitive. I know that sounds extremely generic but it is a lot more complex than one might think. Try to be *as direct as possible* while remaining subtle. It's a delicate balance but experiences like RE2 show us it is attainable.
+
+I'd love to talk more, but I have another play-through of RE2 to complete...
blob - /dev/null
blob + 881cb67378ecc0ac3baeb637577d48564553a78f (mode 644)
Binary files /dev/null and public/images/Screenshot_2024-03-20_at_10.49.01__8239__AM.png differ
blob - /dev/null
blob + ecd9daadcbc17041480309383890f0995faa7651 (mode 644)
Binary files /dev/null and public/images/dead-space.jpg differ
blob - /dev/null
blob + 0e4c411857bae5bedd2ab0b8eaf61a4245e53afa (mode 644)
Binary files /dev/null and public/images/re2-crt.jpg differ
blob - /dev/null
blob + f953e574d010bd6c35f95b574498e8f6733be43b (mode 644)
Binary files /dev/null and public/images/re2-discard.png differ
blob - /dev/null
blob + 635fffbe9eda62562359b83a3d8ec75e84bd8fa1 (mode 644)
Binary files /dev/null and public/images/re2-health.png differ
blob - /dev/null
blob + 1157a1d7e63533e8ffe5c4504d8c6e1082af1d9e (mode 644)
Binary files /dev/null and public/images/re2-injured.jpg differ
blob - /dev/null
blob + eb0a51cb647d79a393c034e62dc308aa4f918356 (mode 644)
Binary files /dev/null and public/images/re2-inventory.png differ
blob - /dev/null
blob + 9add8aae4bcd0f8d2517eaa6aa440767998dc428 (mode 644)
Binary files /dev/null and public/images/re2-map.jpg differ
blob - /dev/null
blob + c55890a0bb030a115115b3ca0f83c6514be2858b (mode 644)
Binary files /dev/null and public/images/re2-no-hud.jpg differ
blob - /dev/null
blob + 6b94a21f0d751a52f3cfbcfb9938ee8e7d913e18 (mode 644)
Binary files /dev/null and public/fonts/MonaspaceKrypton-SyntaxHighlighter-Regular.woff2 differ