Other Blogs

Tuesday, January 29, 2019

Plants vs. Zombies (PC) (2009)

Overview: Tower defense game. Protect the house from zombies with plants!!!

20190129 Snapshot:
It's a surprise I never got around to creating a blog post for this game since I put so many hours on it.

A Nighttime Level

Steam Achievement History:
Part 1:
20111130 1616 Blow up a zombie using a potato mine
20111130 1907 Pick up 30 coins in a row on a single level without letting any disappear.
20111130 1911 Bowl over 5 zombies with a single Wall-Nut.
20111205 2021 Complete adventure mode
20111205 2134 Blow up 10 zombies with a single cherry bomb
Part 2:
20120219 1912 Complete a daytime pool level without using pea shooters of any kind.
20120219 2111 Collect all 49 plants
20120219 2126 Get 8000 sun during a single level.
20120219 2222 Beat all 20 mini games.
Part 3:
20120304 2006 Get the golden sunflower trophy
20120305 2332 Enable Mustache Mode
20120306 0018 Defeat 2 Gargantuars with Corn Cob missiles in a single level.
20120306 0047 Get to 20 flags in Survival Endless
20120309 0506 Grow the Tree of Wisdom to 100 feet

Mini-Games

Steam Game Time: 120.0 hours on record*

*Some of these hours were spent idle in order to collect coins.

20190129:
Today I revisited Plants vs. Zombies for the first time in a long time. It was, however, difficult to jump right back into the middle of the game.

Setup: Prior to being able to play the game, I had to debug an installation issue. I was able to solve the issue after looking through this Steam thread. Though issues may vary from user to user (see the thread), I was able to solve my issue as follows:
Problem: The game is uninstalled and attempting to install it gives a write error.
Solution:
1) Close Steam
2) Navigate to the Steam installation directory.

Choose up to ten plants for the level. Build a strategy based on the zombies that will appear (right of screen).

Steam Game Time: 0.5 hours (session game time)

20190131 AM Hours: Steam Game Time: 0.3 hours (session game time) / 0.8 hours (last two weeks)

20190131:
I brushed up on some strategy (via an online guide) and today I completed level 4-7 through 4-10 from the first Adventure Mode Replay (Crazy Dave selects three seeds that must be used). I began to play level 5-1, but I stopped because I was too sleepy.

Steam Game Time: 2.2 hours (session game time) / 3.0 hours (last two weeks)

20190201:
Completed up to level 5-4.

Steam Game Time: 1.1 hours (session game time) / 4.1 hours (last two weeks) / 124.1 hours (total game time)


A Rooftop Level

20190210:
Watered some plants. Thought about playing 5-4 and decided to leave.

Steam Game Time: 0.2 hours (session game time) / 4.3 hours (last two weeks) / 124.3 hours (total game time)

Thoughts:
Pros:
+ Simple mechanics, especially compared to many other tower defense games.
+ Fun animation

Neutral:
~ Who does love plants and zombies!?!
~ Levels are reasonably short

Cons:
- No level select
- Resolution is low and 4:3


Buy Upgrades and Items from Crazy Dave
(Look closely to find Wiggins the Bookworm!)


Summary:
Plants vs. Zombies is a casual tower defense which makes it accessible to a wider audience. There's also plenty of mini-games to play, a zen garden to build up and maintain, and several achievements to achieve. As such, the game stays fresh and is will likely be worth it's price.

After considering idle time (with the zen garden) and giving a conservative estimate, I've spent at least 75 hours on the game.

Plants vs. Zombies Game of the Year Edition (PC) (2009)

Relevant Links:
Plants vs. Zombies (Wikipedia.org)
Plants vs. Zombies GOTY Edition (Steam Store Page)

Wednesday, January 23, 2019

League of Legends - Season 9

20191116:
With my son being born this year I barely put time into playing League of Legends. In addition, I prioritized playing other games in my gaming library. It follows that I didn't play much Ranked either. But to be fair, I never played much Ranked in the past (I started playing League of Legends in 2012).

In any case, my promotional games this year went terrible (W: 1; L:7) and I think I ended up in Bronze I (possibly Bronze II). Luckily, I guess my MMR was high* and today I hit 100 from Bronze I and I was promoted to Silver IV without having to play a Promotion Series.

I'm not sure if I want to make an effort to go for Silver I or Gold V tomorrow. Perhaps I'll just stay Silver IV.

*The average tier of players in my games are Silver I (op.gg). Likewise my MMR is approximately Silver I (na.whatismymmr.com).

Ranked Game History:
L|Jinx|201909XX
L|Nautilus|201909XX
L|Lux|201909XX

L|Nautilus|201910XX
L|Nautilus|201910XX
L|Thresh|201910XX
L|Blitzcrank|201910XX
W|Blitzcrank|201910XX|End my promotional games with a win.

L|Nautilus
L|Blitzcrank
L|Nautilus
W|Nautilus|20191023
W|Rakan|20191023
L|Nautilus|20191028
W|Morgana|20191028
L|Lux|20191028
L|Morgana|20191028
W|Nautilus|20191029

L|Vel'Koz|20191029
L|Nautilus|20191031
L|Nautilus|20191116|Took a break after this loss.
W|Nautilus|20191116
W|Nautilus|20191116
L|Nautlius|20191117|Holy crap... I literally thought by the way Xayah and I steamrolled MF/Thresh that we'd win the game. I think Elise just needed to repeat gank bots. Instead she threw the game for us (fed Vlad and Malphite).

Wednesday, January 16, 2019

VVVVVV (PC) (2010)

Overview: A platformer where instead of jumping you are able to reverse the direction of gravity whenever you're standing on a flat surface.


Reverse gravity to go from the ceiling to the floor. Dying returns the player back to the last checkpoint (C).

20190116 Comment:
Steam Game Time: 2.0 hours (total game time)

20190116:
I wanted to play the game today but it didn't seem to work. While I was shutting down various applications and windows on my computer, I saw a VVVVVV window open. Apparently it was open for 3 hours (from 9 PM to 12 midnight).

Steam Game Time: 5.0 hours (total game time) / 0.0 hours (session game time) + 3.0 hours (idle game time)

20190124 Hours:
Today I was able to shortly and casually play this game while keeping an eye on Mom and Baby.

The start of one of the game's harder optional challenges (trinkets): Veni Vidi Vici (Doing Things the Hard Way)

Steam Game Time: Total 7.3 hours (total game time) / 2.3 hour (session game time)

Thoughts:
Pros:
+ Fun
+ Challenging
+ Simple
+ Many checkpoints; little-to-no frustration

Summary:
Some games are fun because they are complex and offer the player many options and tools. Other games are fun because they are simply, yet challenging. VVVVVV falls under the later category and I would highly recommend it to fans of challenging platformers.

A snapshot of  the progress, or lack of (202 deaths, many of which were spent trying to complete Veni Vini Vici)


20240225 Comment:
According to the above, I only played VVVVVV for a short time in 2019. However, I believe I first played the game a long time ago in graduate school before the start of my blog. It turns out, however, that I started my blog in November 2009 and I didn't start acquiring games for my Steam library until November 2010 (VVVVVV being part of my first purchase during the Steam Thanksgiving sale).*

With that being said, I still feel as if I at least tried the game for a short time while in grad school (2014 and earlier).

*On a related note, I wasn't sure when I first started playing League of Legends. From a document where I track purchases, the earliest purchase date (using IP) is April 18th, 2012 for various runes (an older game mechanic). Five entries come before the rune purchases, but they don't have dates: Annie, Ashe, Master Yi, Alistar, and Tristana.
VVVVVV (PC) (2010)

Relevant Links:
VVVVVV (Wikipedia.org)
VVVVVV (Steam Store Page)


Geometry Dash (PC) (2014)

Overview: A rhythm-based action platformer.

20190116:
Today I played this game for the first time and I was determined to complete the first level. However, I had absolutely no feeling to play beyond that.

Jump, Jump, Jump! (hold down the jump key to immediately jump)

Setup: Default keyboard controls.

Gameplay Log:
I tried the first level a couple of times.
I went into practice mode and played until I won.
I went back into normal mode for 26 attempts; my furthest progress was 78%
I returned to practice mode until I won (it was easier than the first time, in part because of experience in normal mode)
Finally, I returned to normal mode and won on my first try! (albeit with no stars)

First Impressions:
Pros:
+ Controls are simple, easier to learn.
+ Practice mode is useful
+ Collecting stars adds for replay value.

After several attempts, I got it in one attempt! (see gameplay log)

Steam Game Time: 35 minutes

Summary:
This game can be addicting, but the reason it doesn't appeal to me is that it's centered around muscle memory and persistence. In contrast, a game like Super Meat Boy (2010) also requires muscle memory and persistence, but unlike Geometry Dash, there's a wider range of choices which the player can make in order to optimize completion of a level.

Of course, if you're hesitant about buying Geometry Dash, then you can just play a free version of it online, just without all the bells and whistles of the Steam version.

Geometry Dash (PC) (2014)*
*Geometry Dash (Android) (2013)

Carefully control your altitude in this part of the level.

Relevant Links:
Geometry Dash (Wikipedia.org)
Geometry Dash (Steam Store Page)

Tuesday, January 15, 2019

Epistory - Typing Chronicles (PC) (2016)

Overview: An action typing adventure game.

20190115/20190116 AM Hours:
I came across this title in my library a couple of days ago and made sure to prioritize it on the list of games to play. I ended up finishing it.

Eliminating wave after wave of enemies.

Setup: Graphics: 1920 x 1200 Windowed. Fantastic. (I've been playing a lot of games in Windowed mode over Fullscreen mode lately.)

Gameplay Log:
Initially playing i could use EFJI but it was confusing and eventually I used WASD.
However, eventually I got to these ice puzzles where you have to light all the blue pads and not touch the red. Due to the isometric layout, it was more useful to use the EFJI to solve the puzzle. There might be a way to abuse using WASD, but it seemed that going along the diagonals was most straightforward.
Escaping from these monsters was similar. I had to use EFJI.
Oh, I can kind if visualize why EFJI represent the diagonals:
ISOMETRIC CONTROLS   | TRADITIONAL CONTROLS
DIRTN  KEYS  ACTUAL  | DIRTN  KEYS  ACTUAL 
NW NE  E I           |   N      W     W
             E____I  |  W E    A D   ASD
SW SE  F J   _F__J_  |   S      S

Use WASD or EFJI to moe around the world.

Finished the story and most achievements. 7.0 hours. Still need the following:
A) Kill 10,000 enemies. 2,258/10,000
B) Burn 500 Words with fire magic. 440/500
C) Stop 500 enemies with ice magic. 302/500
D) Repel 500 enemies with wind magic. 223/500
E) Use all 4 magic types on a unique enemy
F) Find the prickly fisherman
G) Type 500 characters without a mistake. Best: 217.
H) Type 1000 characters without a mistake. Best: 217.
I) Surpass the average and reach typewriting speed of 60WPM. Best: 57.
J) 5 Hidden Achievements (e.g., the 1% Muse achievements)
Played a little bit more. Still need the following:
A) 2,821/10,000. F-I). J) 4 Hidden Achievements

There are plenty of puzzles.

Steam Game Time: 7.7 hours (total game time)

20190116 Part 1:
Today I tried to complete the achievements. After completing some of them and having a go at the one with Words Per Minute, I decided to stop playing.

Gameplay Log:
Today I played the arena with a focus on not making any mistakes. Note that I want to do this organically. There are ways to easily get this achievement, such as using a Steam Workshop level that has only A's.
Let's see how many times I die before I reach the achievement H (dying does not reset the counter). As an estimate, 1000 characters is about 200 5-letter words.


Now I go for the WPM achievement.
Run #1 (Labyrinth). Used Ice until the very end when they were really advancing. Ends @ 1374 errors / 36055 letters typed / 59.32 WPM.
Before my words per minute was down at around the 34s when I was playing for no mistakes. With taht being said, I believe the errors are what lower my WPM.
Run #2 (Labyrinth). Ends @ 1427 errors / 38002 letters typed / 54.52 WPM.
I try going into Story Mode.

Upgrade abilities throughout the game.

I finish Achievement F. As such, now I only have the following:
A) 3,683/10,000. I) Best: 60 (which really means 59 point something rounded up). J) 3 Hidden Achievements.
I return to the arena and after two or three tries I decide to put the game aside.

Steam Game Time: 9.9 hours (total game time) / 2.2 hours (session game time)

20190116 Part 2:
However, something about the achievement called me back for a little more.

Gameplay Log:
I had various ideas and tried them out until I eventually got achievement I.


Tip: After movement is initiated, sprinting is toggle by the Shift key (after unlocking the ability). I previously thought the Shift key had to be held down.

Enjoy the story

Steam Game Time: 10.6 hours (total game time) / 0.7 hours (session game time)

Thoughts:
Pros:
+ Decent story.
+ Beautiful world and good atmosphere
+ Great visual choices. For example, paper style, narration getting written onto the world
+ The existence of narration is nice in theory
+ Adaptive difficulty.

Neutral:
~ Decent music.
~ The isometric+typing controls are sometimes necessary, not most intuitive.
~ Might be fun to speedrun.

Minor Con:
- Sometimes it can be hard to focus on the narration, because I'm focused on the game.
- Supposedly adaptive difficulty is able to extend beyond "Insane difficulty." Why?


Cons:
- The map doesn't rotate with the player's view.
- The map is not available on the HUD; I would have liked to have it whenever I'm not in typing mode. It must be accessed from the menu.
- Powers cannot be turned off.
- Poor WPM calculation. If there are no enemies, there should be no deduction to the WPM metric.

Summary:
Overall, Epistory is a short and decent typing game. However, while the adventure and story elements of the game are enjoyable, the core of the game, that is, the typing itself, is not as polished as other typing games I've played.

Personally, I type at about 80 words per minute when copying text (via online typing tests) and the top end difficulty of this game is reasonably difficult for me. Players who are newer to typing (but already know all the letters) may find Epistory's range of difficulty to be reasonable as well, because the game gives a choice of adaptive difficult (essentially based on typing speed, adjusted for accuracy) or a range of fixed difficulties.

Finally, while the mood of the game is generally casual, the game can sometimes feel dark and can sometimes be difficult (with respect to the adventure elements of the game).



20240114 Snapshot:
For some reason the last played date matches the last entry above, but the play time differs. I would guess I loaded the game back up while adding the "Thoughts" and "Summary" sections.

Steam Game Time: 11.1 hours (cumulative game time) / 11h 8m (Playnite)
Last Played: 20190116
20240114:
Today I started resuming the game. It looked as if my save file was loaded because the different arena leaderboards each had unique ranks under my Steam username. As such, I started playing the arena. However, after some time, it occurred to me that perhaps my statistics were reset or that my old saves were not loaded, because I felt I should be progressing the Steam Achievement. I had the following stats:
(before session) WPM 52.95 | Words typed 270 | Letters typed 1186 | Total errors 33 | Best combo 81 | Best no miss streak 159 | Total kills 66 | Total steps 2433
(after session) WPM 43.00 | Words typed 3441 | Letters typed 14834 | Total errors 553 | Best combo 758 | Best no miss streak 186 | Total kills 1853 | Total steps 2433

In any case, I decided I would try and recover my old statistics. Before trying anything with the files, I went into the menu and poked around. It seems the game was currently loading a save file called 'WPM Achievement' - I'm guessing I created it specifically to easily get a high WPM on the profile. Switching back to the main profile, I saw all my older statistics. Unfortunately, while these numbers are higher, some of my latest contribution via arena is lost (~3000 words and 1800 kills over 1.5 hours). These are the statistics on my main profile: (before session) WPM 47.84 | Words typed 11223 | Letters typed 49368 | Total errors 1757 | Best combo 454 | Best no miss streak 1010 | Total kills 4712 | Total steps 74098

With that being said, my leaderboard numbers are still high and just trying to drive them down will result in getting enough words typed and total kills for the Steam achievements. My goal is to get the rank for each arena to under 1000. They are current 2532 (Forest), 1732 (Factory), 1522 (Island), and 1390 (Labyrinth). They were much higher before I started playing today and I think with practice and luck I will be able to get them all to sub-1000.

Playing while watching some movies, I made some progress on words typed and total kills via the first Arena level, Forest, but I had trouble beating my personal best rank of 2180 from a score of 39904, which apparently I achieved some time today.
(after session) WPM 45.28 | Words typed 16409 | Letters typed 75072 | Total errors 2633 | Best combo 464 | Best no miss streak 1010 | Total kills 7585 | Total steps 74397

Steam Game Time: 15.3 hours (cumulative game time) / 4.2 hours (session game time)

20240115:
Today I played while watching La La Land and finished the final achievement of this game ("Kill 10,000 enemies") by the end of the movie (I'm typing this sentence during the movie's credits).
(after session) WPM 45.92 | Words typed 20688 | Letters typed 96117 | Total errors 3414 | Best combo 471 | Best no miss streak 1010 | Total kills 10131 | Total steps 74397

Steam Game Time: 17.4 hours (cumulative game time) / 2.1 hours (session game time)

Epistory - Typing Chronicles (PC) (2016)

Relevant Links:
Epistory - Typing Chronicles Website
Epistory - Typing Chronicles (Wikipedia.org)
Epistory - Typing Chronicles (PC) (MetaCritic.com)
Epistory - Typing Chronicles (Steam Store Page)

Sunday, January 6, 2019

Shenzhen I/O (PC) (2016)

Overview: You're an electronics engineer working for Shenzhen Longteng Electronics in Shenzhen, China. Your job is to create products using the company's circuits and programming language.

20190106 AM Hours:
I was thinking about playing some games for which I had not yet blogged, but had already tried. Instead, I decided to play a fresh new game: Shenzhen I/O.

In general, levels consist of producing the correct output from the input.

First Impressions:
The game is more difficult than most other programming games* I've played thus far, but it's still fun. Part of the difficulty was having to refer to the manual; to be fair, the game suggests printing out a hard copy. In any case, I enjoy the challenge. Like the other programming games, I derive a lot of fun and entertainment from attempting to optimize the solutions.

With respect to optimizing solutions, I have three Steam friends who have also played the game, and their best scores show up in the game. These values are much more helpful than just looking at histograms, which won't always indicate the best possible score value. I like these individual benchmarks.**

Steam Game Time: 3.0 hours (total game time) | Game idled during two trips to the restroom.

*Roughly from hardest to easiest: TIS-100 (3.1 hours), Shenzhen I/O, SpaceChem (8.7 hours), Human Resource Machine (25.8 hours). Both TIS-100 and SpaceChem share the same developer, Zachtronics, as Shenzhen I/O.
**[20190108: Today I was browsing the discussion threads and found one where various players were sharing "Add Me on Steam" for this purpose. I added some of their profiles and posted my own (Jan 8).]
[20190108 Edit]

20190106 PM Hours/20190107 AM Hours:

Setup: Before playing today, I printed out the manual. To save some paper, I printed consecutive pages in a given section double-sided (loses efficiency when a section has an odd number of pages). Then, instead of dividers, I used sticky notes to separate the stack.

Receive e-mails from other members in the company.

Setup Tip: For the ultimate experience, play one level a day and coordinate with a friend to put the appropriate Supplemental Data sheet on your desk. In this case, you'll want to print out the Supplemental Data section single-sided.

Gameplay Log:
One subtlety I learned is that if an XBUS value is written, it must be read. [The reverse is true as well.]
After several hours into the game, I finish by winning some solitaire games (10, for a total of 11 wins).

Steam Game Time: 14.4 hours (total game time) / 11.4 hours (session game time)

20190107:
Today I hit a point of difficult coinciding with feeling overwhelmed and tired of the game. It's a challenging puzzler. I might be done with it for the time being.

I've read the game has about 30 puzzles in the main game. By the end of today, I had unlocked 18 puzzles and completed 13 of them.

Gameplay Log:
I was using complicated code in this one level and I noticed I was repeatedly using a series of commands. I kept repeating these three sets of lines: `mov 100 R | slp 1 | mov 0 R` (where R is a register). Eventually, I realized I can make use of a recently introduced instruction (in-universe, it was surprisingly not in the manual: gen). With it, the aforementioned three lines becomes one line: `gen R 1 0` (which technically stands for `mov 100 R | slp 1 | mov 0 R | slp 0`.

A mini-game that unlocks after a couple of levels. A solitaire game inspired by FreeCell and Mahjong.

Steam Game Time: 18.2 hours (total game time) / 3.8 hours (session game time)

20190108 Part 1:
I'm back for a little more. Some of these levels are truly difficult and I cannot even complete some of them inefficiently.

In any case, one of the tasks is to create and upload a level. I decided to put some effort into this task and actually create a legitimate level (as opposed to just using the example level or creating a trivial level). In the end, I almost spent four hours creating one! Although I absolutely had fun making it (and I learned a little about a programming language called Lua, it was my first time being exposed to it). Here's the finished level: CHRISTMAS LIGHTS (Steam Workshop).

On a related note, I encountered a compile error while creating the level and I went to the Steam Discussions to look for answers. While there I noticed a thread where people were adding each other on Steam to compare scores. I thought it was a great idea and added a handful of people. I mostly added players that were, one, still active on Steam and, two, said they played other Zachtronics games or represented competence in programming (e.g., engineer, programmer).

Steam Game Time: 21.9 hours (total game time) / 3.7 hours (session game time)

20190108 Part 2:
Adding other players (see 20190108 Part 1) rejuvenated my desire to play some more!

Steam Game Time: 26.6 hours (total game time) / 4.7 hours (session game time)

20190109/20190110 AM Hours:

The first level.

Gameplay Log:
I tried to play around with the PGA33X6, but I didn't quite understand it.
The PGA33X6 is in the manual, but in Chinese. I ran it through Google Translate, but only partially understood it's purpose.
I tried to play around with the PGA33X6 some more, but I didn't make much more progress.
In the end, I went to a Reddit post, read a Wikipedia article about Programmable logic arrays, and watched a YouTube video (possible spoilers starting at 9:30, Simple explanation of PGA33X6).

Steam Game Time: 34.9 hours (total game time) / 8.3 hours (session game time)

20190111 PM/20190112 AM Hours:
Today I spent almost 10 hours playing the game. However, I also spent some time with two of the puzzles offline. I randomly picked two of the specifications which I hadn't done yet and theory crafted their solutions.

Steam Game Time: 44.5 hours (total game time) / 9.6 hours (session game time)

20190112:
I made it my goal to reach the near end of the game. That is, to avoid optimization.

Unfortunately, even my best attempt to avoid optimization required that I make the obvious optimizations (and sometimes while looking for obvious optimizations I essentially began optimizing and thus failed to avoid it. With that being said, the amount of time I spent optimizing was small compared to the amount of time I spent determining a solution.

In hindsight, this was a complicated solution. But oftentimes, it's easier to find a single solution and optimize it than to start off finding an optimal solution.

In any case, it's getting late and given the increasing puzzle difficulty, I decided to stop playing for the night (there are four levels left in the main campaign).

Gameplay Log:
First, I was able to finally solve "Traffic Signal," the level I spent most of my time on yesterday.
"Meat-Based Printer" wasn't nearly as bad.
"Electronic Door Lock" was tricky because of reading and writing. At least initially. Once I got a solution, it was easy to simplify (over four iterations). The fourth iteration was half the cost (10 Yuan) of the second iteration (20 Yuan)!
"Deep Sea Sensor Grid" was similar in difficult to "Electronic Door Lock."

Steam Game Time: 51.7 hours (total game time) / 7.2 hours (session game time)

20190113:
One thing that's interesting about this game is that each puzzle is so different and what makes a particular level difficult is also different. I think about the difficulty in solving the puzzle, but creating the puzzle must have also been difficult.

With that being said, I have to temporarily set this game aside.

Steam Game Time: 54.9 hours (total game time) / 3.2 hours (session game time)

20190117:
"Spoiler Blocking Headphones" has been on my mind lately and so I try to give it another go. The main problem I'm having is trying to use too many components. What am I missing?

Steam Game Time: 55.6 hours (total game time) / 0.7 hours (session game time)

20190127:
Someone commented on my custom level and I went into the game to try and answer their feedback. The user's comment made me realize my solution was not even close to optimal. I was eventually able to match his/her score.

Steam Game Time: 58.1 hours (total game time) / 2.5 hours (session game time)*

*Most of the time spent was idle. Now that I'm a father, this will inevitably happen more frequently.

Thoughts:
Pros:
+ Having a manual to refer to is fun. Makes the game more real. (but see also cons)
+ Compare scores globally (histograms) and with friends (leaderboard) across three separate categories; optimizing can be addicting (Tip: don't get bogged down in optimizing early on, because parts and commands available latter in the game can often make optimization easier or even trivial)
+ Challenging for the niche player (I also list "Challenging" as a con. But if you find yourself unchallenged by the average puzzle game, then check out Shenzhen I/O and feel humbled).
+ Good learning curve for someone familiar with programming

Neutral:
~ Includes a minigame which is like a mix of solitaire and FreeCell. It's simple, but fun. Can be addicting, but I am not. The developer eventually made it available on it's own: SHENZHEN SOLITAIRE (Steam Store).
~ Niche audience.

After completing a level, you can see how your solution compares globally (all Steam players) and locally (Steam friends)

Cons:
- Slow paced
- Challenging (for the average player)
- Steep learning curve (for someone who's unfamiliar with programming and puzzle games; medium for someone who is good with logical thinking, puzzles & instructions; perfect for someone with programming skills)
- A lot of reading (I'm not a reader; I dislike having to read so much just to play a level).

[20190107][20190110]

Comparison of Difficulty:
I felt as if this game was difficult, but how does it compare? I chose three puzzle games to compare to Shenzhen I/O: Eets Munchies, Human Resource Machine, and Hexcells. I used SteamDb and HowLongToBeat.com to gather some statistics.

NameSteamDB Rating (+/- Reviews)Median Time Played (Steam)Median Time to Complete Main (# Polled) | Completionist (# Polled)%age of Players to Complete...
Shenzhen I/O91.65% (1633/57)3.2 hrs28.6 hrs (2) | 78.0 hrs (1)2.4% Solve Main / 0.5% Solved Bonus
Human Resource Machine89.26% (2131/148)2.0 hrs4.4 hrs (32) | 7.0 hrs (33)7.0% Completed All Levels
Eets Munchies75.56% (474/119)1.4 hrs1.0 hrs (24) | 3.0 hrs (41)3.0% Completed All Puzzles
Hexcells92.43% (3419/128)2.1 hrs2.0 hrs (49) | 2.5 hrs (198)46.6% Completed All Levels

Program the lights of a billboard.

So what can we say?
1) Three of the games are closely rated. Among them, Hexcells is clearly an easy game: short completion time and most players completing all the levels.
2) Human Resource Machine (HRM) has nearly three times the completion rate (of the main campaign) of Shenzhen I/O and the completion time is approximately four times faster (7 hours to complete all the levels in HRM compared to a rough 28 hour figure for Shenzhen I/O).
3) Inferring from the median hours played, the player dropoff for Shenzhen I/O is higher. At the 50th percentile, players have only put 3.2 hours into the game (which again is estimated to be 33 hours long game). Compared to HRM for which players at the 50th percentile put in 2 hours (out of an estimated 7 hour long game).
4) The Steam Achievements also reflect observation #3: 60.6% of all players have reached the third milestone in HRM (between a third to half of the game's levels).
5) Despite being a short game, Eets Munchies only has a 3.0% completion rate. This is probably due to the fact that players don't have as much playing it (lower rating).

Overall, Shenzhen I/O is objectively harder than the three other games I chose. However, that's neither good nor bad. It simply means a certain type of player will enjoy the game more. I'm almost certain that although the median time spent with Shenzhen I/O is comparable to the other games, a fanatic will find hours upon hours of fun with the game. Speaking from my own experience, I'm not actually interested in completing the game, but with getting the best scores on each level (and mostly through self-discovery).

Do you know of any fun, difficult games? Share them in the comments!

Summary:
The design of this game is meant to give the player the feeling he/she is actually an electronics engineer who has been hired at a company in Shenzhen, China. There are emails, an emulated desktop, and even a reference manual (which I printed as recommended and adds to the theme of the game).

Your (simulated) desktop.

Unfortunately, work is hard, and most people don't like working. As such, the game immediately narrows its audience: players who either like working or playing games that feel like work. However, not everyone in that subset will enjoy learning the game's assembly language. However, it makes the game difficult to complete (see the above section on difficulty).

In the end, if you're drawn to the idea of the game, I would highly recommend it. But be warned, it can be a challenge, and the challenge can be addicting!

[20190107][20190110]

20220705:
I resumed this game today, but I spent most of the time reviewing the mechanics in the manual and revisiting old puzzles.

Steam Game Time: 66.8 hours (total game time) / 8.7 hours (session game time)
20220706:
Gameplay Log:
Trying to tackle "Spoiler Blocking Headphones"
With some mild frustration, I read a Steam thread looking to understand conversion between XBus and Simple I/O.
Pivoted to tackling the override component of "Spoiler Blocking Headphones". It might end up being helpful from a space perspective.
Oh! I was looking at an old attempt where the destination register is "nop"! I was previously making a solution where I wanted to cycle through the ROM, but I thought I needed a physical destination for the XBUS data. With "nop" I should be good to go! [CORRECTION. It should be "null" not "nop". "nop" is an empty instruction...]
HOORAY! I finally got the solution to "Spoiler Blocking Headphones"! Terrible stats, but it's a start. My stats: 22 yuan, 4.4K power, 39 lines of code. Top among Steam friends: 8 yuan, 274 power, 11 lines. [That's crazy, the four 200P-14 modules I used cost 8 yuan as it is...]
Oh my! It's cause I didn't read the manual carefully. It specifies it's sufficient to start with just one of the categories. ;_; I feel so silly. And I would never have realized if it weren't for the knowledge of cheaper and shorter solutions. So basically I made the problem much harder than it really was.
With that in mind, some quick changes makes for a 15 yuan solution (4.3K power, 27 lines of code). Still not ideal.
Alright. Got a decent cost: 10 yuan, 3.1K power, 23 lines of code.
8 yuan would seem as if it would take more thought than I care to continue to give to the puzzle. In particular, I think it's closely associated to the number of lines.
Completed "Color Coordinating Shoes"
I think one of the parts I'm underusing is the DX300. It can be used to convert three signals into a number...

Steam Game Time: 80.2 hours (total game time) / 13.4 hours (session game time)
20220707:
Gameplay Log:
Woke up in the morning with a great idea for "Airline Cocktail Mixer." I miss waking up with solutions to math problems
Been trying to improve my solution to "Airline Cocktail Mixer"
My curiosity asked about PGA33X6 and I landed on a thread with a picture for which I didn't really learn about PGA33X6 but was inspired with two very interesting mechanics: reuse of XBUS and passing wires through the center of a circuit (underneath). Both are gamechanging for making use of space.
This page was a much more useful read regarding how the PGA33X6 works.
In "Safetynet Tracking Badge" I was using a RAM to store the audio input but apparently (from looking at a blog post) that this isn't necessary and the input will wait to be consumed... Testing how this works. The input stacks on a cache. For example, let's say I read input on every odd time unit. If [1, 2, 3] is sent on time 1, and [4, 5, 6] is sent on time 4, then I will consume the values 1, 2, 3, 4, 5, and 6 on time units 1, 3, 5, 7, 9, and 11, respectively.
Hooray! I completed "Safetynet Tracking Badge." I separately completed the "speaker" then the "radio-tx," and then worked out the kinks in order to combine them. In any case, that completes the main campaign.
Revisited "Control Signal Amplifier" and wanted to use the ROM. At first I was thinking inside the box, until I just randomly had it run and observed the pointer moving. It then clicked for me. I recalled that a value passed to the accessor will take the modulus (14).

Steam Game Time: 89.4 hours (total game time) / 7.2 hours (session game time)
20220708:
Gameplay Log:
As I'm trying to improve on earlier puzzles, I try out "nop" and notice that nothing happens but power is consumed. Why would that be desirable? Apparently the answer is that it can be used to keep two chips in sync. I recall a place where I could have potentially made use for that. Since otherwise synchronization has to occur with XBUS signals and there's not always inputs available for that. Note that since "slp 0" is equivalent to "nop" then it takes up power and hence a fully run "gen P R/I R/I" will take 4 power.
Putting a rule into place. The time that I get to spend on trying to improve a score should be equal to `(MY_SCORE/TOP_SCORE)*50 - 50` (that is, half the percentage increase).
Holy moly. While working on "Signal Amplifier", I discovered that a simple I/O output can read from (and in my use case compared with). Unfortunately I didn't get huge gains, but the knowledge is incredible.
After successfully using PGA33X6 in a puzzle, I went to read a guide on flip-flop switches (since it's been said the job of a PGA33X6 can be done with logic gates.

Steam Game Time: 96.5 hours (total game time) / 7.1 hours (session game time)
20220709:
Gameplay Log:
Spent more time processing that thread and working out both what a flip-flop switch does and how to implement one in the game that starts with the desired state. This is what I've learned:
- At the time of the guide, Shenzhen didn't have "NOR" gates, so the guide implements them with "OR" + "NOT" gates. Now the game has an "OR/NOR" gate.
- But there are times when one runs into needing to set the state, so a user offers a solution which is hard to read. This is how I would write his/her solution:
-- There are five parts: reset output, set output, "AND/NAND" gate, "OR/NOR" gate, and "NOT" gate. We use the "AND" and "OR" output of the "AND/NAND" and "OR/NOR" gates, respectively.
-- 1) Connect the reset output to the "NOT" gate input.
-- 2) Connect the "NOT" gate output to one of the "AND/NAND" gate inputs.
-- 3) Connect the "AND" output to one of the "OR/NOR" gate inputs.
-- 4) Connect the set output to the other "OR/NOR" gate inputs.
-- 5) Finally, connect the "OR" gate output the other "AND/NAND" gate input.
-- Note that there are 2 pairs of signals available. (1) The set signal (which starts off) which is coming out the "OR" output and the "AND" output and (2) the reset signal (which starts on) which is coming out the "NOR" output and the "NAND" output.
-- Technically the reset signal is just the inverse of the set signal. So with "NOT" gates, one has up to four copies of the same signal. This is useful to know when it comes to positioning signals to components...

Steam Game Time: 98.2 hours (total game time) / 1.7 hours (session game time)

[20220710]
20220710:
As I mentioned previously, it's interesting how knowledge of a record makes the record more achievable. Otherwise, there is a lack of motivation to spend so much time seeking a solution that might not be possible. In application to the game, I worked on optimizations for production cost and lines of code for "Laser Tag Equipment" because I can see better records than my own. Technically, the records themselves are a hint to the components that I should consider using to form the solution.

Gameplay Log:
Filled out some notes on flip-flip switches for 20220709.
Completed the 6 Yuan production cost for "Laser Tag Equipment"
Completed the 5 lines of code for "Laser Tag Equipment"
Completed "Laser Tag Equipment" with 190 power usage, with the top among my Steam friends having only 128 power usage... Well, my previous best was 218, so it's still an improvement
Completed the 6 Yuan production cost for "Color-Changing Vape Pen"

Steam Game Time: 105.9 hours (total game time) / 7.7 hours (session game time)

20220711:
Steam Game Time: 106.9 hours (total game time) / 1.0 hours (session game time)

20220712 AM Hours:
Gameplay Log:
A rare occasion where I go for low Power Usage and get it: "Unknown Optimization Device". My score is 601 and the top score among my Steam friends is 600. Not too shabby! I'll take it!

Steam Game Time: 108.5 hours (total game time) / 1.6 hours (session game time)

20220713:
Steam Game Time: 114.7 hours (total game time) / 6.2 hours (session game time)

20220713:
Steam Game Time: 115.4 hours (total game time) / 0.7 hours (session game time)

20220715:
Gameplay Log:
This is the first time, at least that I'm aware, that I got a unique top score among my Steam friends: 10 lines of code for "Remote Kill Switch"; with that being said, I noticed the other day there's a community leaderboard on the Shenzhen I/O reddit. After playing through all the levels generally, I'm going to go through all the levels for each individual category, and then finally compare with the Reddit leaderboards.

Steam Game Time: 122.9 hours (total game time) / 6.5 hours (session game time)

20220716:
Alright, I'm reaching a point where I both enjoy and no longer enjoy optimizing these puzzles. There's kind of a general formula thus far with just different variations (for cost and lines). And I'm mostly avoiding power which is kind of a different beast.

Steam Game Time: 126.0 hours (total game time) / 4.0 hours (session game time)

20231103 Snapshot:
Steam Game Time: 127.0 hours (cumulative game time)
Last Played: 20220716
20231103:
I loaded up the game today and was surprised to find I had completed the first part of the game. Barely spending time with the game ("Diagnostic Pulse Generator" level), I turned it off and once again read about the PGA33X6.

Steam Game Time: 127.2 hours (cumulative game time)

20231104 (Part 1):
Today I reminded myself about flip-flop switches (still thinking about the "Diagnostic Pulse Generator" level). However, I think I've lost interest in the game.

Steam Game Time: 127.8 hours (cumulative game time) / 0.6 hours (session game time)

20231104 (Part 2):
I can't help but continue to think about the "Diagnostic Pulse Generator" level. I see persons on the leaderboard with 1 line of code (I'm at a best of 3). So I watch the video again about how to use the PGA as a rising edge detector, because I feel the key is in detecting when the signal rises but timing that with the pulse.

Eventually I caved and looked for a solution. Found one on Reddit. While my brain did think of a part of this solution, I definitely would never have gotten it. The part I thought of is the following: when the button is pressed, a 100 - 0 signal needs to be sent out. There are two core concepts that I see in the solution (the parts that I never would have come up with): 1) the pulse generation using a variable input (as opposed to a constant such as `gen p1 1 1`) and 2) somewhat intertwined with the first is the need to convert the signal from simple I/O to XBus.
Tried to take this newly learned solution and apply it to "Animated Esports Sign." Nothing is clicking.

Steam Game Time: 129.2 hours (cumulative game time) / 1.4 hours (session game time)

20240104:
Today I loaded up the game to help a friend who was stuck on a puzzle.

Steam Game Time: 129.7 hours (cumulative game time) / 0.5 hours (session game time)

Shenzhen I/O (PC) (202016)

Relevant Links:
SHENZHEN I/O Webpage (Zachtronics Website)
Shenzhen I/O (Wikipedia.org)
Shenzhen I/O (PC) (MetaCritic.com)
Shenzhen I/O (Steam Store Page)

Saturday, January 5, 2019

Shock Troopers (PC) (2016)

Overview: A PC port of an arcade 2D top-down action shooting game first released in 1997.

20180614:
This 2D arcade game was decent.

Marie Bee

The direction of fire being locked into the initial direction of movement was strange; is it intentional or a limitation of my keyboard?*

Offline Game Time: 7 minutes

*[20190105: It's intentional.]

[20190105 Edit]

20190105 AM Hours:
Today I played Shock Troopers for a second time, but played until I finished the Jungle Route. It took me many continues,* but eventually I did it.

Setup: Was having trouble installing the game. Had to disable Avast. Right-click tray icon > Avast Shield Controls > Disable. Getting into the game, I played Freeplay > Normal.

After I finished playing, I was in appreciation for what the game offered, but didn't feel like playing more. In fact, the first thing I did was load up a speedrun of the game on YouTube.

Jackal in the motorcycle stage.

In any case, I had various remarks about the game worth noting. First, the direction of fire being locked does make sense; the alternative (back then) would be to have the direction of fire move together with the direction of movement (the modern alternative would be a twin-stick shooter). Second, the game offers two modes of play "Lonely" and "Team." Each time the player dies (health bar reaches zero), he/she may continue and change the mode of play. When choosing "Lonely," the player will chooses one character; when choosing "Team," the player chooses three characters and may rotate between them during the game. While there may be other differences, a noticeable difference between the characters is their grenade attack. Third, it was difficult for me to get a handle on dodging and using grenades, but doing so is surely part of mastering the game.

On a different note, the default keyboard controls repeatedly triggered hotkeys for two of my programs. This was mildly annoying and eventually I turned the programs off.

Steam Game Time: 51 minutes (session game time)

*Apparently it was less than 10, because I unlocked the achievement "Super Gamer": "Complete the game using less than 10 credits."


Jackal with a flamethrower.

20190105 Pt. 1:
Today I tried playing the game with a controller in order to test how it may or may not be different. I used a Wired XBOX controller and for whatever reason, it actually felt harder to use. In particular, I could not lock into a firing direction. Even though I was holding the button down, it seemed as if the button would get released after a couple seconds. After about a minute of trying to play with a controller, I switched back to using a keyboard and continued playing the game in order to unlock one or two achievements (last night I passively completed 6 Steam achievements).

Setup: Freeplay > Easy.

Steam Game Time: 92 minutes (total game time) / 41 minutes (session game time)

20190105 Pt. 2:
Due to bugs with the way the game handles achievements, I have trouble getting many achievements.

Gameplay Log:
I don't understand why some achievements didn't trigger. According to a Steam Achievement guide for the sequel, it might just be a bug that can be fixed by editing the UserDefault.xml file. Just to be sure I looked at the file and then played the game. I thought perhaps the game only triggered using a character if a level was completed with him/her. However, I undoubtedly finished the game with Maru and he's still flagged as "false". As such I'm going to set the three false character flags to "true".

Big Mama with a Missile Launcher

The "newHighScore" value changed, but the "specialWeaponUsed" value did not.
Unfortunately, just changing the three values didn't work and the game just overwrote my changes. So then I tried something that I had seen in the aforementioned guide: I set all the characters "true" and the first character (Jackal) to "false". Then I went into the game and played Jackal. It worked (and I got the "Team" achievement). As a bonus, the "specialWeaponUsed" value had increased (and eventually I got the "Boom" achievement).
Now a strange occurrence is that all the weapons are used (flagged as "true") but I didn't unlock the "Rambo" achievement. This game is strange. In any case, I loaded up the game, then loaded up the files, changed the heavy gun flag to "false" and then it turned back to "true" and I got the achievement. I didn't even have to pick up the heavy gun. Note: I didn't keep good track of the order on when to make a change and which file to change (there are two "UserDefault.xml" files), but there are finitely many combinations.
Nooooo! First I accidentally didn't continue after dying so I dropped a good score on Insane (while also going for the "Noob" achievement). I went to play Insane again, but this time didn't care about a high score (so just sped through instead of going for diamonds. I kept track of my deaths and counted 42. Unfortunately I didn't get the achievement. For the record, I died a total of 9 times by the end of stage 2 (of Jungle Route), 20 by stage 3, 26 by stage 4, 33 by stage 5 and 36 by the time the final boss came. I let him kill me 6 more times. Note that the final boss kills you slowly, and one of the best places is the end of stage 4.

Rio fires his Special Weapon: Exploding Arrow

Although dying 40 times seems like an easy task, it's the rarest achievement. Some speculate that only those who have cheated have been able to unlock it.
My guess then would be that the 40 deaths have to register before the end of the final boss. However, on my next attempt, I somehow skipped a stage and ended up getting to the final boss sooner than I expected. I didn't want to test out dying to him twenty times (I was only at about twenty) only to fail.
I next went to easy mode with twenty credits. But I was greedy for points and so went for mostly gems (knife kills) as well as take a detour to the Mountain route after starting the Jungle Route. As such, I made it to the final boss with 0 credits and almost no life. Unfortunately I lost. Fortunately, I still got 74 on the leaderboard of high scores. I assume not too many people play this game, especially not on easy, so I wouldn't think too highly of a 74. With that being said, Insane isn't that much harder than Easy. I can probably do an Insane run without the detour in twenty credits. The thing about knife kills is they also provide health, so someone who perfects a knife kill can get both more points and sustain.

Steam Game Time:* 5.8 hours (total game time) / 4.3 hours (session game time)

*About half an hour to an hour was spent idle due to other activities (e.g., bringing in groceries or taking a call)

Thoughts:
Pros:
+ Different routes, different characters, different difficulty levels
+ Balanced difficulty (I was just playing 'Normal' but it neither felt too hard nor too easy)

Jackal goes down. Only four credits left! (I started with 20)

Neutral:
~ Default keyboard controls involve the Shift, Control, and Alt keys. Yikes. Perhaps best to change or use a controller.

Minor Con:
- I kept accidentally skipping the dialogue.
- Just have to try the different characters to see what they do different; no explanation/visibility [technically there is a picture of the secondary at character select]
- Not sure why I didn't feel hooked into the game; though I may end up playing more for some of these Steam achievements :D

Con:
- Steam Achievements are bugged.

[20190105 AM Hours]

Summary:
This game is potentially fun for those interested in arcade 2D shooters, especially run-and-gun shooters, and playing them over and over for high scores. Personally, I inconsistently enjoy 2D shooters and for whatever reason, Shock Troopers isn't my cup of tea - though the game did grow on me as I was trying to accomplish various Steam achievements.

Marie Bee gives the player a thumbs up.

Speaking of Steam Achievements, they are bugged. If Steam Achievements are a big deal to you and you don't like getting your hands dirty with the game's save file, then it's best to skip Shock Troopers.

In general, I believe a select few will truly enjoy this game, while most players can happily ignore it.

Shock Troopers (PC) (2016)*
*Shock Troopers (Arcade) (1997)

Relevant Links:
Shock Troopers (Wikipedia.org)
Shock Troopers (PC) (MetaCritic.com)
Shock Troopers (Steam Store Page)