Grumpy Gamer https://grumpygamer.com/ Recent content on Grumpy Gamer Hugo en-us Tue, 17 Mar 2026 15:40:56 +1300 My Dinner With AI https://grumpygamer.com/my_dinner_with_ai/ Tue, 17 Mar 2026 15:40:56 +1300 https://grumpygamer.com/my_dinner_with_ai/ <p>I&rsquo;ve been very critical of AI but have never really used it in depth and I feel that needs to change.</p> <p>Don&rsquo;t criticize what you don&rsquo;t know.</p> <p>I&rsquo;m going to ignore the moral, ethical and privacy implementation of AI and just focus on the practical. Morally and ethically, AI is a train wreck. But I&rsquo;m not going to focus on that.</p> <p>I&rsquo;m also going to only focus on AI for programming as that is my area of expertise, at least in this case.</p> <p>I&rsquo;ve done a lot of looking into how LLM&rsquo;s work and I get the basics in the same way that I understand quantum physics. Enough to make me entertaining at a cocktail party, but not much after that.</p> <p>I am starting a new game proto-type project using Raylib and it feels like this is a good place to experiment with AI. So for the next 30 days I&rsquo;m going to use AI for programming and see how it goes.</p> <p>I&rsquo;ve been programming C since 1987 and C++ since 1993 so I have a lot of experience (although <code>const</code> in all but it&rsquo;s basic form still messes me up, but I thinks that true for a lot of people).</p> <p>I am using Claude AI (basic subscription) cli for general programming, Co-pilot in VSCode and Gemini for quick unrelated to programming questions.</p> <h2 id="gemini">Gemini</h2> <p>I was only using Gemini on the free trier that everyone with a Goggle account gets and it was worthless for programming, so we&rsquo;ll skip it.</p> <h2 id="copilot">Copilot</h2> <p>Copilot comes integrated with VSCode, so it was easy to try out and doesn&rsquo;t cost anything (I already pay for Github).</p> <p>Copilot treads this line between being somewhat useful and maddeningly annoying.</p> <p>Copilot is good at realizing I&rsquo;m going to make the same small change to the next 10 lines and offer (mostly correctly) to make it for me. It&rsquo;s not making big AI decision about my code base, just that I&rsquo;m going to add <code>Ox</code> in front of a list of <code>ints</code> or that I&rsquo;m going to fill out an <code>enum</code>. Good stuff. I do find that useful in the same way Intellisense can be useful.</p> <p>What Copilot is not good at is making larger AI decisions about what I&rsquo;m trying to add right after the <code>if(</code>. I&rsquo;ve found it to be mostly wrong. It&rsquo;s double or triple irritating that it interrupts my flow by popping up a huge block of text that is wrong with the excitement of a poorly trained intern on their first day.</p> <p>I wish I could keep the first part and disable the second, but I have not found a way to do that. What it needs is a char limit to the amount of new text it will try and insert. If it&rsquo;s about 20 characters then STFU.</p> <h2 id="claude-code">Claude Code</h2> <p>Again, ignoring the ethics of the company that make Claude Code.</p> <p>What Claude code is good at is doing rote things that don&rsquo;t need a lot of (ironically) &ldquo;Intelligence&rdquo;.</p> <p>I asked it to make be a <code>.yml</code> file for Github actions for building Mac, Linux and Windows version of my game and it did a 99% right version. Only thing wrong was the way it named the executable, but anyone could make that mistake. Maybe I could have been clearer.</p> <p>Which brings me to a point. The clearer you are the better AI is. But at some point I&rsquo;ve spent so much time writing the spec that I could have just done it myself. And it&rsquo;s not just a high level spec, you have to get into the weeds.</p> <p>I asked Claude Code to write a <code>.py</code> program that did texture packing, taking a folder of <code>.png</code> files and making a sprite sheet with a <code>.json</code> file describing where everything was. Basically what TexturePacker does.</p> <p>After a few seconds I had to stop it because it was freely pulling in python packages that I didn&rsquo;t have.</p> <p>I then told it to use Pillow (PIL) and nothing else that wasn&rsquo;t standard.</p> <p>After a few minutes it had a runnable program, but not correct. It was putting the <code>.json</code> and sheet <code>.png</code> in different places despite me tell it they should be together. It was also processing the <code>.png</code> files twice, once to check for changes and another before adding them. I called it out and it apologized profusely and fix it.</p> <p>There were several other instances where it wrote c++ code that was technically correct, but horrible inefficient like passing <code>std::string</code> around when it could have done <code>std::string &amp;</code>. I caught this, but a junior dev might not have.</p> <p>I had it write some c++ code to read the sprite sheet it had created and it took 5 failed attempts to get the origins right for rotation and scaling. I finally fixed it myself but it was a frustrating back and forth. Are new devs being trained to think this is normal?</p> <p>I also had it write code so billboard sprites in my 3D particle system were always camera-facing. It never got that right and had generated such mess of code that I just scrapped the idea. Math is not my strong point so I didn&rsquo;t feel like I could just fix it.</p> <p>I also had a instance where a file was being read from the wrong path and instead of prepending the right path it tried to completely rewrite my library.</p> <p>Ironically it also had a problem with <code>const</code>. It recompiled the program three times randomly changing where <code>const</code> appeared. I feel for ya.</p> <p>I have spent a lot time over this experiment correcting AI.</p> <p>I could go on and on. But I won&rsquo;t.</p> <h2 id="conclusions">Conclusions</h2> <p>AI for coding is very impressive. It is a lot more then a fancy auto-complete.</p> <p>But it can also be very wrong and you don&rsquo;t really know it unless you look closely and have the experience to do that and I fear that new devs won&rsquo;t ever get that experience. I hear about new devs freaking out when they run out of tokens for AI. They are lost without it.</p> <p>I have a few friends who work at companies where their managers are telling them to use AI. This isn&rsquo;t coming from &ldquo;it&rsquo;s a useful tool&rdquo; place, but rather that AI feels like magic to some managers who don&rsquo;t program.</p> <p>Someone once said that &ldquo;AI feels amazing when it&rsquo;s talking about a subject you know nothing about, but is laughably wrong when you do&rdquo;. I couldn&rsquo;t agree more.</p> <p>I doubt I&rsquo;ll use AI beyond this 30 day experiment. I spend too much time correcting it plus I enjoy programming.</p> <p>Someone else also said &ldquo;I want AI to do my laundry so I can make Art, not make my Art so I can do laundry&rdquo;.</p> <p>I also worry that AI was trained on real programmers, but now it will just be training on itself. There is no good end to that story.</p> <p>I blame the <code>I</code> in AI. It&rsquo;s not <code>Intelligent</code> and it&rsquo;s important to remember that. It&rsquo;s a really good encyclopedia of (stolen) knowledge but AI is not figuring things out on it&rsquo;s own.</p> <p>Autopilots in modern planes are amazing. They can take off and land the plane. But pilots are also legally requited to hand fly the plane several times a month. Training requires them to hand fly the simulators or simulators with broken autopilots. Pilots use the auto pilot as a tool not a crutch. It&rsquo;s also not called a AI Pilot (yet).</p> <h2 id="more-conclusions">More conclusions</h2> <p>AI will get better. It might even get as good as we see in Star Trek. I know I felt like Geordi programming the computer in engineering at times.</p> <p>I grew up in a time where everyone was afraid computers would take their jobs. And they were right. Computers did. There are fewer longshoremen because of automated ports, short-haul commercial flights don&rsquo;t need three pilots anymore, there aren&rsquo;t rooms full of accountants hand writing figures into a book.</p> <p>That will happen with AI.</p> <p>Let&rsquo;s just hope it also doesn&rsquo;t make us too stupid in the process.</p> <p>Of course, someone from 1793 would say the same thing about me as I could not survive the night in the wilderness.</p> <p>In the meantime, I&rsquo;m going to enjoy programming and not being a baby sitter to an AI programmer.</p> Tomorrow Never Came https://grumpygamer.com/tomorrow_never_came/ Fri, 13 Mar 2026 11:28:13 +1300 https://grumpygamer.com/tomorrow_never_came/ <p>Here is a movie I made with my friend, Tom, back when I was 15 or so. We were sure we&rsquo;d be the next George Lucas or Steven Spielberg.</p> <p>Little did I know a few years later I&rsquo;d be working at Lucasfilm and Steven Spielberg would call me up for hints on Monkey Island. He couldn&rsquo;t use the 1-900 number like everyone else.</p> <p>The movie has sound, but it was lost when it was transferred to VHS and this goofy music was added.</p> <p>In case the Smithsonian wants to preserve the movie as historically important, here is the link.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe src="https://player.vimeo.com/video/2699486" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="vimeo video" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> </div> Death by Scrolling Bug https://grumpygamer.com/dbs_bug/ Sun, 18 Jan 2026 10:24:55 +1300 https://grumpygamer.com/dbs_bug/ <p>Interesting bug in Death by Scrolling. Let&rsquo;s dive in.</p> <p>This morning I got up to several Mastodon, Forum messages and Steam posts about a crash in Death by scrolling.</p> <p><code>ferryman.yack(90) Can't find var CHALLENGE_GEM</code></p> <p>Interesting. Never seen that before and why now?</p> <p>Turns out this bug is in a Daily Challenge, which is why we&rsquo;re getting a lot of bug reports all at once. That Daily Challenge must have just pop up for everyone.</p> <p>But why didn&rsquo;t we catch it before? Both in human testing and in our automated tests?</p> <p>Here is the core issue. <code>CHALLENGE_GEM</code> is a const. But it turns out that consts that are not defined in <code>defines.dinky</code> (and this one wasn&rsquo;t) aren&rsquo;t seen in Dinky code run inside of Yack files. This is a bug in the Dinky compiler.</p> <p>But to complicated matters even more, the compiler bug is not seen in our dev environment, so it only happens with fully packed release files.</p> <p>Our automated testing does test all the Challenges, but this is an odd Challenge in that it is completed in a dialog (Yack file), so while the Challenge was tested for completion it was not trigger via the Yack file by our testing unit.</p> <p>But it does deeper.</p> <p>After the first release on Steam it was discovered that this challenge only gave <code>1</code> Gem, not the normal <code>5</code>. This was due to this code in the Yack file:</p> <pre tabindex="0"><code>STATS_TOTAL.gems_from_challenges += 1 PLAYER.onGainGem(1) </code></pre><p>I had hard coded <code>1</code> long ago. So I changed it to</p> <pre tabindex="0"><code>STATS_TOTAL.gems_from_challenges += CHALLENGE_GEM PLAYER.onGainGem(CHALLENGE_GEM) </code></pre><p>So, the first version with the hard coded <code>1</code> was the one that went though most of the play testing and testing.</p> <p>When I changed it to <code>CHALLENGE_GEM</code> it ran fine for me because I was in the dev environment and the automated testing didn&rsquo;t catch this because it was in a .yack file and it was a Daily Challenge so had odds of about 1/100 of happening means it slipped through.</p> <p>A lot of 20/20 hindsight.</p> <p>This is fixed in the new expansion, but I&rsquo;m not sure I want to push a fix to the Steam release because it is rare and there are risks in just building a new build.</p> <p>P.S. I am going to do a new build for Steam. Turns out the crashing challenge will reappear on the 22nd.</p> This Time For Sure https://grumpygamer.com/this_time_for_sure/ Tue, 06 Jan 2026 08:56:58 +1300 https://grumpygamer.com/this_time_for_sure/ <p>I think 2026 is the year of Linux for me. I know I&rsquo;ve said this before, but it feels like Apple has lost it&rsquo;s way. Liquid Glass is the last straw plus their draconian desire to lock everything down gives me moral pause. It is only a matter of time before we can&rsquo;t run software on the Mac that wasn&rsquo;t purchased from the App Store.</p> <p>I use Linux on my servers so I am comfortable using it, just not in a desktop environment.</p> <p>Some things I worry about:</p> <ol> <li> <p>A really good C++ IDE. I get a lot of advice for C++ IDEs from people who only use them now and then or just to compile, but don&rsquo;t live in them all day and need to visually step into code and even ASM. I worry about CLion but am willing to give it a good try. Please don&rsquo;t suggest an IDE unless you use them for hardcore C++ debugging.</p> </li> <li> <p>I will still make Mac versions of my games and code signing might be a problem. I&rsquo;ll have to look, but I don&rsquo;t think you can do it without a Mac. I can&rsquo;t do that on a CI machine because for my pipeline the CI machine only compiles the code. The .app is built locally and that is where the code signing happens. I don&rsquo;t want to spin up a CI machine to make changes when the engine didn&rsquo;t change. My build pipeline is a running bash script, I don&rsquo;t want to be hoping between machines just to do a build (which I can do 3 or 4 times a day)</p> </li> <li> <p>The only monitor I have is a Mac Studio monitor. I assume I can plug a Linux machine to it, but I worry about the webcam. It wouldn&rsquo;t surprise me if Apple made it Mac only.</p> </li> <li> <p>The only keyboard I have is a Mac keyboard, I really like the keyboard especially how I can unlock the computer with the touch of my finger. I assume something like this exist for Linux.</p> </li> <li> <p>I have an iPhone but I only connect it to the computer to charge it. So not an issue.</p> </li> <li> <p>I worry about drivers for sound, video, webcams, controllers, etc. I know this is all solvable but I&rsquo;m not looking forward to it. I know from releasing games on Linux our number-one complaint is related to drivers.</p> </li> <li> <p>Choosing a distro. Why is this so hard? A lot of people have said that it doesn&rsquo;t really matter so just choose one. Why don&rsquo;t more people use Linux on the Desktop? This is why. To a Linux desktop newbie, this is paralyzing.</p> </li> <li> <p>I&rsquo;m going to miss Time Machine for local backups. Maybe there is something like it for Linux.</p> </li> <li> <p>I really like the Apple M processors. I might be able to install Linux on Mac hardware, but then I really worry about drivers. I just watched this video from <a href="https://www.youtube.com/watch?v=Y4DKg4WZRx4">Veronica Explains </a> on installing Linux on Mac silicon.</p> </li> <li> <p>The big big worry is that there us something big I forgot. I need this to work for my game dev. It&rsquo;s not a weekend hobby computer.</p> </li> </ol> <p>I&rsquo;ve said I was switching to Linux before, we&rsquo;ll see if it sticks this time.</p> <p>I have a Linux laptop but when I moved I didn&rsquo;t turn it on for over year and now I get BIOS errors when I boot. Some battery probably went dead. I&rsquo;ve played with it a bit and nothing seems to work. It was an old laptop and I&rsquo;ll need a new faster one for game dev anyway.</p> <p>This will be along well-thought out journey. Stay tuned for the &ldquo;2027 - This Time For Sure&rdquo; post.</p> Hugo comments https://grumpygamer.com/hu_comments/ Sun, 04 Jan 2026 19:12:42 +1300 https://grumpygamer.com/hu_comments/ <p>UPDATE: It is now live at: <a href="https://github.com/grumpygamer/static-hugo-comments">static-hugo-comments</a></p> <p>I&rsquo;ve been cleaning up my comments script for hugo and am about ready to upload it to Github.</p> <p>I added an option to use flat files or sqlite and it can notify Discord (and probably other services) when a comment is added. It&rsquo;s all one php file.</p> <p>The reason I&rsquo;m telling you this is to force myself to actually do it. Otherwise there would be &ldquo;one more thing&rdquo; and I&rsquo;d never do it.</p> <p>I was talking to a game dev today about how to motivate yourself to get things done on your game. We both agreed publicly making promises is a good way.</p> Making New IP https://grumpygamer.com/making_ip/ Sat, 03 Jan 2026 11:37:08 +1300 https://grumpygamer.com/making_ip/ <p>This one hits a little too close to home. Like Tim Cain, I am done with making other people rich off my IP. I enjoying making small games like Death By Scrolling and I&rsquo;m going to keep making games and having fun.</p> <p>You may like the games, you may not, but I&rsquo;m making what I want. I&rsquo;m not rich but I can pay for food and rent and make what I want.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/MvSwGYStIho?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>People often ask about a Thimbleweed Park 2.</p> <p>Thimbleweed Park cost around $1.1M to make. $600k came from Kickstarter backers and $500k came from private investors I found later. Kickstarter for digital games is all but dead. I could not raise the money to make Thimbleweed Park 2 on Kickstarter today. I couldn&rsquo;t even raise the full amount back then.</p> <p>I have spoken to publishers and they have been willing to fund Thimbleweed Park 2, but they get rich and I get very little and have to do most of the work.</p> <p>I am done with that.</p> <p>From now on I&rsquo;m going to make the small games I want and have fun doing it.</p> <p>I&rsquo;ve been in the games industry for 40+ years. I think I&rsquo;ve earned that.</p> <p>P.S.</p> <p>MicroProse is publishing Death by Scrolling, but unlike other publishers they offered an very fair deal. Also, unlike a game like Thimbleweed Park 2, there wasn&rsquo;t a lot of upfront money and that probably helps.</p> Sqlite Comments https://grumpygamer.com/sqlite_comments/ Tue, 30 Dec 2025 10:29:13 +1300 https://grumpygamer.com/sqlite_comments/ <p>When I started using Hugu for static site generation I lost the ability to have comments and we all know now supportive the Internet can be, so why wouldn&rsquo;t you have comments?</p> <p>I wrote a few php scripts that I added on to Hugo and I had comments again. I decided to store the comments as flat files so I didn&rsquo;t complicate things by needing the bloated MySQL. I wanted to keep it as simple and fast as possible.</p> <p>When a comment is added, my PHP script created a directory (if needed) for the post and saves the comment out as a .json file with name as the current time to make sorting easy.</p> <p>When the blog page was displayed, these files (already sorted thanks to the filename) were loaded and displayed.</p> <p>And it all worked well until it didn&rsquo;t. Flat files are simple. but they can be hard to search or maintain if they need cleaning up or dealt with after a spam attack. I figured I use commandline tools to do all of that, but it&rsquo;s a lot more cumbersome than I first thought.</p> <p>I missed have them in a sql database.</p> <p>I didn&rsquo;t want to install MySQL again, but my site doesn&rsquo;t get a lot of commenting traffic so I could use Sqlite instead. The downside is Sqlite write-locks the database while a write is happening. In my case it&rsquo;s a fraction of a second and wouldn&rsquo;t be a issue.</p> <p>The second problem I had was the version of Ubuntu my server was using is 5 years old and some of the packages I wanted wouldn&rsquo;t available for it. I tried to update Ubuntu and for reasons I don&rsquo;t fully understand I couldn&rsquo;t.</p> <p>So I spun up a new server. Since grumpygamer.com is a statics site I only had to install Apache and I was off and running. Fun times.</p> <p>But the comment flat files still bugged me and I thought I&rsquo;d use this as an opportunity to convert over to Sqlite. PHP/Apache comes with Sqilte already installed, so that&rsquo;s easy.</p> <p>A long weekend and I rewrote the code to save comments and everything is back and working.</p> <p>Given that a webserver and PHP already needed to be installed, it isn&rsquo;t a big deal to use Sqlite. If you&rsquo;re not comfortable with SQL, it might be harder but I like SQL.</p> Death By Testing https://grumpygamer.com/dbs_testing/ Wed, 22 Oct 2025 09:35:25 +1300 https://grumpygamer.com/dbs_testing/ <p>The following is a guest post by Robert Megone, the lead tester on Death by Scrolling.</p> <p><a href="https://store.steampowered.com/app/3773590/Death_by_Scrolling/">Wish List today!</a></p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dbs_testing_image1.png"> <h2 id="testing-against-a-moving-target-my-role-on-death-by-scrolling">Testing Against a Moving Target: My Role on Death by Scrolling</h2> <p>Most of the games I&rsquo;ve worked on over the years have been slow and deliberate. Narrative-driven adventures like Return to Monkey Island, Thimbleweed Park, Broken Sword 5 and The Darkside Detective invite you to take your time to sit with every line of dialogue, carefully piece together puzzles, and explore the world at your own pace.</p> <p>That kind of work has always suited me. It gives you space to be meticulous, to catch the tiniest continuity errors or subtle logic gaps before anyone else does.</p> <p>Death by Scrolling is the complete opposite of that.</p> <h2 id="a-game-that-never-stops-moving">A Game That Never Stops Moving</h2> <p>Unlike an adventure game, Death by Scrolling never gives you a moment to breathe. The screen scrolls constantly and the player must run constantly. As soon as you think you&rsquo;ve found your footing the game throws something new at you.</p> <p>That&rsquo;s part of its charm but it&rsquo;s also what makes testing it such a unique challenge.</p> <p>This is a game where players can dramatically alter or buff their stats in a whole range of ways, upgrading movement speed, stacking power-ups, boosting damage and more. Each player&rsquo;s setup can be wildly different from the next, which makes it impossible to test just &ldquo;one version&rdquo; of the game.</p> <p>Instead, I&rsquo;ve had to test against what feels like a moving target. Sometimes literally.</p> <p>The moment I think I&rsquo;ve pinned down a bug, the next run will throw me something entirely different, a new combination of buffs or modifiers that bends the rules in unexpected ways and reveals a completely new edge case to investigate.</p> <h2 id="the-need-for-heavy-testing">The Need for Heavy Testing</h2> <p>Because of that unpredictability, Death by Scrolling demands heavy, sustained testing. There&rsquo;s little room for error. A single overlooked bug can completely break the flow and ruin a run.</p> <p>Where adventure games give you space to be methodical, this one forces you to be reactive to stay just as alert and fast-moving as the game itself.</p> <h2 id="a-collaborative-effort">A Collaborative Effort</h2> <p>Thankfully, I haven&rsquo;t been tackling this beast alone. We&rsquo;ve had a host of fantastic playtesters who&rsquo;ve been instrumental in helping us track down some of the more elusive issues.</p> <p>Their feedback has been invaluable not just in surfacing bugs, but in showing us how different players approach the game, what kinds of setups they gravitate towards, and where the game balance can wobble.</p> <p>It&rsquo;s been a collaborative effort, and the game is so much stronger for it.</p> <h2 id="enter-testertron3000">Enter TesterTron3000™</h2> <p>With so many different level prefabs (used to randomly generate the levels that you traverse in the game), ensuring full coverage across every biome, enemy type, and powerup combo quickly became a task that I was battling to manage through manual testing alone, despite having the assistance of so many wonderful playtesters.</p> <p>That’s where TesterTron3000™ came in. TesterTron3000™ is a name that may be familiar to some, it’s been a faithful helper that’s proved its worth time and time again, across Thimbleweed Park and Return to Monkey Island, albeit by name only. The underlying functionality is vastly different in this game.</p> <p>TesterTron3000™ is a script that mimics player input, automatically testing many of the core game mechanics while blasting through level after level at an impressive speed. It has been most helpful in uncovering gameplay blockers and crash bugs that could take many hours to find through manual play.</p> <p>It’s been especially useful during build sign off. While I’m testing one platform, TesterTron3000™ can be burning through hundreds of levels on Mac, Windows, or Steam Deck/Linux, this gives us wider test coverage and extra confidence in the stability of a build.</p> <h2 id="stepping-outside-my-comfort-zone">Stepping Outside My Comfort Zone</h2> <p>For me, Death by Scrolling has been a complete change of pace from my usual work. It’s chaotic, unpredictable, and relentless in all the best ways.</p> <p>This has tested not just the game, but my own ability to adapt, to keep up with something that never stands still long enough to let you catch your breath.</p> <p>And honestly? I&rsquo;ve loved every minute of it.</p> <p>&ndash; Robert Megone</p> Death by Scrolling Release Date https://grumpygamer.com/dbs_release_date/ Tue, 14 Oct 2025 19:59:29 +1300 https://grumpygamer.com/dbs_release_date/ <h2 id="october-28-on-steam">October 28 on Steam</h2> <p>I know you&rsquo;re thinking the same thing I am: &ldquo;About f-ing time!&rdquo;</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/8GrQcM349mg?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>You won&rsquo;t even have to fake an illness to take the day off to play because your boss will be spending the day playing Death by Scrolling and won&rsquo;t notice you&rsquo;re gone.</p> <p>Coming soon to Switch, Xbox, and PlayStation. We&rsquo;re working as fast as we can.</p> <p><a href="https://store.steampowered.com/app/3773590/Death_by_Scrolling/">Wish List today!</a></p> A History of Death by Scrolling https://grumpygamer.com/dbs_history/ Mon, 13 Oct 2025 16:26:07 +1300 https://grumpygamer.com/dbs_history/ <p>Who doesn&rsquo;t enjoy a good history lesson? I know I do. Oh please let there be a test at the end.</p> <p>Let me take you back to 2018. We had just released Thimbleweed Park, finished all the ports, done an update, and I am thinking about something new.</p> <p>I was regularly going to Daniel Cook&rsquo;s Seattle prototyping meet-up and trying to come with a new game to show every two weeks. It was my personal game jam.</p> <p>I created a lot of odd games, one was a huge multi-screen breakout game, the other was a narrative game about someone being lost in a cave. The cave was procedurally generated and there was literately no way out. It also included a procedural swearing engine.</p> <p>I was also working on a little top down pixel art rpg game, but is was missing something. I went dinner with some other game designers at PAX that year and buried in a conversation someone said something to how they try and come up with wacky ideas for their new games.</p> <p>The next morning I woke thinking about the screen always scrolling, never stopping and the player needs to keep up. I hurriedly made those changes but it still didn&rsquo;t feel right.</p> <p>Trying to aim and run while the screen scrolled felt like cognitive overload. I switched it so the firing and targeting was all automatic and the player just had to run, avoid enemies, and grab things for upgrades.</p> <p>There was a frantic energy to the game. The perfect party or steaming game.</p> <p>I finished up the prototype and took it to the prototyping meet-up and it was a big hit. Lots of laughing as the death was narrowly avoided and the screen never stopped moving.</p> <p>I was feeling pretty good about the game and decided to move it from a prototype to a real game. I knew I needed an artist but didn&rsquo;t have the money to afford one.</p> <p>By pure coincidence I was talking to a new steam-like platform just coming on a scene about Thimbleweed Park and figured I&rsquo;d ask about this game. I put together a quick video and a pitch email.</p> <p>You can see the video below.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/e_9y5X0k0u8?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>To my surprise they said yes, gave me some money and I was off.</p> <p>Side note: I recently did an interview for Death by Scrolling and they wanted to know if I was inspired to make Death by Scrolling after playing Vampire Survivors. Except for the auto-fire this game isn&rsquo;t much like Vampire Survivors and I have to been working on it since 2018. So&hellip; I love Vampire Survivors, but no.</p> <p>I worked on the game for about 9 months and really struggled with progression. The core game was still a lot of fun but everything I put onto it to make it a deeper game wasn&rsquo;t working.</p> <p>It was round this time that the possibility to make Return to Monkey Island came up and it seemed like an opportunity I couldn&rsquo;t pass up.</p> <p>I was struggling with the game I called simply called &ldquo;Runner&rdquo; and it made sense to returned the money I had taken and move to Return to Monkey Island.</p> <p>I took all the engine improvements Derek and I had made and built Delores in prep for Return to Monkey Island all based on the Runner engine (but without the tile rendering).</p> <p>&laquo;INSERT MAKING RETURN TO MONKEY ISLAND MONTAGE HERE&raquo;</p> <p>Return to Monkey Island wrapped and I was once again thinking about something new. I had the idea of taking the pixel art tile engine from Runner and making an old school Zelda game (the only Zelda games I like).</p> <p>I hired an artist, brought on Elissa as a designer and we were off.</p> <p>A year into the game it became obvious that making an open world RPG was a lot of work and we didn&rsquo;t have the resources (money) for that.</p> <p>I thought about Runner, dug up the video and sent it to Elissa and said &ldquo;What if we made this? We could have it done in a less than a year.&rdquo;</p> <p>She loved it and her epiphany was to forget about deep progression and just make it like an arcade game. In and out quickly and retain all the frantic fun of the original.</p> <p>As I was thinking about the game&rsquo;s name Elissa died from the scrolling and the text &ldquo;Death by Scrolling&rdquo; appeared and she said that should be the name of the game. Perfect.</p> <p>A quick name change and Death by Scrolling was (re-)born.</p> <p>The theme of the game being about stuck in purgatory and purgatory being taken over by investment bankers and corporations for profit took hold and provided a nice framework for narration.</p> <p>A lot came together at the end and it all just made sense.</p> <p>It&rsquo;s a game about greed and the never ending grind in life and death for more and more. The absurdity of social media even make an appearance when you die.</p> <p>The game is mirror into the world we live (and die) in.</p> <p>Death by Scrolling</p> <h2 id="pop-quiz">Pop quiz</h2> <ol> <li>What was the original name of Death by Scrolling?</li> <li>What city was the prototype meet-up in?</li> <li>Who did I bring on to help with design?</li> <li>What game did I make between the prototype and Return to Monkey Island.</li> </ol> Git, JSON and Markdown walk into bar https://grumpygamer.com/git_json_markdown/ Sun, 05 Oct 2025 09:36:48 +1200 https://grumpygamer.com/git_json_markdown/ <p>I want to talk about three things that has fundamentally changed my dev-life. There are a lot of things, like ImGUI, that are very amazing and useful but they don&rsquo;t provide a general solution across many problems.</p> <p>In no particular order&hellip;</p> <h2 id="git">Git</h2> <p>I&rsquo;ve been using Git since 2010 and it really has changed my dev-life. I&rsquo;d used version control before that, mainly Perforce, SVN and PVSC, but Git felt nice and unobtrusive and I like that everything was local until I pushed to the server.</p> <p>It&rsquo;s both nice and annoying that you can&rsquo;t lock files (like art). You can (kind of) with LFS but that feels tacked on and not ready for primetime. Don&rsquo;t think so? Try explaining installing and using it to a non-technical artist sometime.</p> <p>Git can be frustrating if you&rsquo;re trying to do anything but the basics.</p> <p>Accidentally check in a secret file months ago and need to scrub it? Good luck with that. There are ways but it requires a lot of Git-Fu.</p> <p>I mainly use a GUI for git (<a href="https://git-fork.com/">Fork</a>) and that takes most of the pain away. I do use the command line, but mostly in automation scripts.</p> <h2 id="markdown">Markdown</h2> <p>Before Markdown became the de-facto standard, I used my own custom format. It worked but wasn&rsquo;t great and only I understood it.</p> <p>Markdown has it&rsquo;s issues when you start using the more esoteric features. I&rsquo;m also annoyed at bold and italics notation. Why is italics <code>*italics*</code> and bold is <code>**bold**</code>? Why not <code>*bold*</code> and <code>_italics_</code>. That would make a lot more sense to me.</p> <p>I also have issue with it&rsquo;s creator, John Gruber. He is a highly annoying smug Apple Fanboy. His writing was fine in the early days when Apple was #3, but got intolerable as Apple became the 800lb gorilla. It&rsquo;s changed recently as Apple has snubbed him but I still can&rsquo;t read anything he writes.</p> <p>But, I like his Markdown.</p> <h2 id="json">JSON</h2> <p>I use JSON for just about every data file format in my games. JSON was created by Douglas Crockford as a notation for Javascript objects.</p> <p>I worked with Doug Crockford at Lucasfilm for several years. I always had a lot of respect for Doug and was somewhat intimidated (in a good way) by him. Doug was also the producer for the Nintendo Maniac Mansion.</p> <p>As much as I love JSON, there are some things about it that annoy me. I dislike that trailing commas are not allowed</p> <pre tabindex="0"><code>&#34;name&#34;: [ &#34;value1&#34;, &#34;value2&#34;, &lt;- Opps ] </code></pre><p>There is no need for this and it makes writing out valid JSON more complex. I also don&rsquo;t like you that have to wrap keys names in quotes if they are simple ascii.</p> <pre tabindex="0"><code>name: &#34;value&#34; &lt;- Opps </code></pre><p>I wrote a custom JSON parser I use in all my games that relaxes these, but then general JSON readers fail on my data.</p> Death By Scrolling Level Design https://grumpygamer.com/deathbyscrolling7/ Mon, 08 Sep 2025 10:46:37 +1200 https://grumpygamer.com/deathbyscrolling7/ <p><em>Hi there! I&rsquo;m Elissa, and I&rsquo;m the other designer on Death by Scrolling and doing a guest post this week. It’s technically my second project with Ron now, and when I&rsquo;m not designing my own Roguelike (Dungeons of Freeport), or other games such as Deck &amp; Conn, I&rsquo;m drinking coffee and fighting drop-bears here here in the sunbaked land of Australia. If you want to follow me on social media, I&rsquo;m on Mastodon primarily at @[email protected] and on Bluesky sometimes at @elissablack.com</em></p> <p>A confession to make. I started writing this blog post, got a ways in, and then realized there was a critical problem with it: almost nobody reading the post would have any idea just how Death by Scrolling actually plays, so it&rsquo;d probably wash right on over them producing a painted-on polite smile.</p> <p>So here I am, back at the start, suddenly finding myself giving the elevator pitch and basic game play description of the game. It&rsquo;s also easier now that some game play footage as been released.</p> <p>Death by Scrolling is a vertically scrolling action-roguelike game.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/RExz4x55lR8?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p><a href="https://grumpygamer.com/deathbyscrolling6">TesterTron3000 playing Death by Scrolling</a></p> <p>You select one of several different characters and progress through increasingly long and densely populated levels full of villainous nasties, treasures, gold coins, traps, collectables, and simple puzzles. At the end of each level you get a brief moment of respite at a camp where you can pick up and buy powerups, take or turn in quests, and go make another tea in the kitchen before returning to your computer before venturing ever-further into the fantastical worlds of Purgatory.</p> <p>At first glance, the game doesn&rsquo;t look like a Roguelike. Even in the most loose definition of the term - it&rsquo;s vertically scrolling and action-driven. If anything, it seems to have more in common with something like River Raid or 1942 than a dungeon crawler. But to me, where it starts to show its lineage is when it comes to do level design in the game.</p> <p>In terms of my work on the project, I&rsquo;m designing &amp; writing the game with Ron, but probably the majority of my time is spent doing the level design. As such, I felt like that was a good place to start when writing a guest blog post - I could focus on one of the only things I actually do more than Ron on the game.</p> <p>In the most superficial sense, the game&rsquo;s levels are top-down 2d level prefabs designed in <a href="https://www.mapeditor.org/">Tiled</a>, a very useful open-source tile-based map editor, and stitched together at run-time by the game.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dbs7_image2.png"> <p>The individual pieces (we refer to them as prefabs) each have different bits of meta data attached to them such as their Land (or biome), what kind of prefab they are, what other prefabs they can attach to and what the probability is that they might appear, what mobs can spawn, etc.</p> <p>For instance, a very simple, short bit of green grass with a small hill and some simple decorations might be pretty common, and appear regardless of what level you&rsquo;re at, where-as a more complex prefab featuring a maze may be rare, limited to higher levels only, and might be flagged to only appear once in a level.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dbs7_image3.jpeg"> <p>Using this metadata we can set it up so that early levels are shorter, simpler, and contain fewer ‘puzzle’ prefabs (what we call the more complex prefabs that have optional mazes, gates or enemy ambushes in them).</p> <p>If a new player starts on the first level of a run (which is always in the grassy Land), the prefabs that get chosen to assemble the level are different to, say, the 15th level for a player who&rsquo;s unlocked lots of upgrades and is currently in the Swamp land.</p> <p>So, to create a single Land means designing the aesthetics, the enemies that occupy its levels, the basic gameplay style, and then, finally, a good hundred or more prefabs that make it up.</p> <p>Doing those first bits isn&rsquo;t easy, but it isn&rsquo;t as time consuming as the weeks and months spent making up all the prefabs. This process usually has three steps.</p> <p>First step: drinking coffee.</p> <p>Second step: coming up with basic shapes and paths. This I tend to do in batches, doodling in a notepad or on my tablet, sometimes at a cafe, on a train, or really anywhere that isn&rsquo;t my work desk (for a change).</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dbs7_image4.png"> <p>With enough of these basic shapes figured out in varying levels of detail, it&rsquo;s then time for-</p> <p>Third step: spend days in Tiled, creating first at first the basic layouts, then adding more aesthetic detail.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dbs7_image5.png"> <p>I usually alternate between doing all three of these critical steps - a few hours in Tiled, then going for a walk to clear my head, get a coffee, and come up with some more prefab ideas.</p> <p>It&rsquo;s this design process that to me really drives home how much the game is a Roguelike (or is at least related to them - ask two fans of roguelikes what makes something a roguelike and you will get five different answers).</p> <p>Just like designing most any other Rogue-adjacent game, it also means that staring at prefabs and their metadata until your eyes go square won&rsquo;t truly tell if what you&rsquo;ve built plays well. Great ideas on paper don&rsquo;t always work. Or maybe they do, but with a few powerups they become too easy (or too hard).</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dbs7_image6.png"> <p>In Tiled, shown above, we have data layers that exist along with aesthetic ones. Different data types (each a unique colour for easy recognition) can be painted on that layer to allow the prefab designer to, for instance, stop a player jumping onto that square, stop power-ups from randomly spawning there, or forcing a square to be non-passible.</p> <p>Which means built into this prefab design cycle is also a crap-ton of testing. From almost the very start we&rsquo;ve had regular QA and play-testing done at least a few hours a week. What puzzles are too hard when you&rsquo;re moving at speed? What other forms end up being fun and should be put into more prefabs?</p> <p>Even the simple act of adding more prefabs can unbalance the game if we aren&rsquo;t careful. Add 20 more prefabs to a given Land, and suddenly those rare ones you made might occur less frequently than you&rsquo;d like.</p> <p>In the end, it&rsquo;s meant that designing this game has been a massively cyclic process. Adding features, prefabs, or puzzles, tinkering with them, experimenting, and even removing some if they turn out to have been better left on that scrap of napkin at the cafe down the road from my place.</p> Comments are back https://grumpygamer.com/comments_back/ Sat, 06 Sep 2025 17:32:29 +1200 https://grumpygamer.com/comments_back/ <p>&ldquo;But? Wait?&rdquo; I can hear you saying, &ldquo;Isn&rsquo;t <em>grumpygamer.com</em> a static site built by Hugo? What dark magic did you use to get comments on the static site?&rdquo;</p> <p>No dark magic. But it does involve a small php script.</p> <p>You can embed php in a hugo page and since <em>grumpygamer.com</em> is hosted on my server and it&rsquo;s running php it wasn&rsquo;t that hard.</p> <p>No tricky javascript and since it&rsquo;s all hosted by me, no privacy issues. All your comments stay on my server and don&rsquo;t feed Big Comment.</p> <p>Comments are stored in flat files so no pesky SQL databases. It only took me about a day, so all in all not bad.</p> <p>I may regret this.</p> <p>I&rsquo;m only turning on comments for future posts.</p> <p>Be nice!</p> <p>P.S. I will post the code and a small guide in a few days, so you too can invite the masses to critic and criticize your every word. Good times.</p> TesterTron3000 https://grumpygamer.com/testertron3000/ Wed, 03 Sep 2025 19:04:13 +1200 https://grumpygamer.com/testertron3000/ <p>Have I mentioned that you should <a href="https://store.steampowered.com/app/3773590/Death_By_Scrolling/">Wish List</a> Death by Scrolling now, before you finish reading this?</p> <p>Here is the code the runs TesterTron3000 in Death by Scrolling.</p> <p>There is some code not listed that does set up, but the following runs the level.</p> <p>It&rsquo;s written in Dinky, a custom language I wrote for <a href="https://github.com/grumpygamer/DeloresDev">Delores</a> based on what we used for <a href="https://thimbleweedpark.com">Thimbleweeed Park</a> and then used in <a href="https://returntomonkeyisland.com/">Return to Monkey Island</a>.</p> <p>TesterTron3000 is as dumb as a box of rocks, but in some ways that&rsquo;s what makes it fun to watch.</p> <p>Before we get into code, here is another sample run.</p> <p>‏ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/x78MXivr7bM?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> </p> <p>‏</p> <p>It&rsquo;s not the best code I&rsquo;ve written but far from the worst and it gets the job done. TesterTron3000 has run for over 48 hours and not found a serious bug, so I&rsquo;m happy.</p> <p>Source code follows, you&rsquo;ve been warned&hellip;</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-c" data-lang="c"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1</span><span>function <span style="color:#a6e22e">runLevel</span>() { </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2</span><span> local last_pos </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3</span><span> local reset_time <span style="color:#f92672">=</span> <span style="color:#a6e22e">gametime</span>()<span style="color:#f92672">+</span><span style="color:#a6e22e">MINUTES</span>(<span style="color:#ae81ff">3</span>) <span style="color:#75715e">// Reset if level took longer than 3 minutes </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4</span><span><span style="color:#75715e"></span> local dest </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5</span><span> <span style="color:#66d9ef">do</span> { </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6</span><span> <span style="color:#66d9ef">if</span> (PLAYER<span style="color:#f92672">?</span>.dead) <span style="color:#66d9ef">return</span> </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7</span><span> <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">gametime</span>() <span style="color:#f92672">&gt;</span> reset_time) <span style="color:#66d9ef">return</span> </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8</span><span> local pos </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9</span><span> <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">ROOT</span>(in_camp)) { </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10</span><span> pos <span style="color:#f92672">=</span> MAP<span style="color:#f92672">?</span>.start </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11</span><span> dest <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;start&#34;</span> </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12</span><span> } <span style="color:#66d9ef">else</span> { </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13</span><span> local targets </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14</span><span> targets <span style="color:#f92672">=</span> null </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15</span><span> <span style="color:#66d9ef">if</span> (PLAYER.max_health<span style="color:#f92672">-</span>PLAYER.health <span style="color:#f92672">&gt;</span> <span style="color:#ae81ff">1</span>) { </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16</span><span> <span style="color:#a6e22e">print</span>(<span style="color:#e6db74">&#34;Looking for heart&#34;</span>) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17</span><span> targets <span style="color:#f92672">=</span> <span style="color:#a6e22e">entityFindSortedForwardEntities</span>(PLAYER, <span style="color:#a6e22e">point</span>(<span style="color:#ae81ff">0</span>,<span style="color:#ae81ff">1</span>), <span style="color:#ae81ff">10</span>, <span style="color:#ae81ff">360</span>, TYPE_HEART) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18</span><span> dest <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;heart&#34;</span> </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19</span><span> } </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20</span><span> <span style="color:#66d9ef">if</span> (<span style="color:#f92672">!</span><span style="color:#66d9ef">sizeof</span>(targets)) { </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21</span><span> <span style="color:#a6e22e">print</span>(<span style="color:#e6db74">&#34;Looking for powerup&#34;</span>) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22</span><span> targets <span style="color:#f92672">=</span> <span style="color:#a6e22e">entityFindSortedForwardEntities</span>(PLAYER, <span style="color:#a6e22e">point</span>(<span style="color:#ae81ff">0</span>,<span style="color:#ae81ff">1</span>), <span style="color:#ae81ff">10</span>, <span style="color:#ae81ff">360</span>, TYPE_POWERUP) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23</span><span> dest <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;powerup&#34;</span> </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24</span><span> } </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25</span><span> <span style="color:#66d9ef">if</span> (<span style="color:#66d9ef">sizeof</span>(targets)) { </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26</span><span> local target <span style="color:#f92672">=</span> targets[<span style="color:#ae81ff">0</span>] </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27</span><span> pos <span style="color:#f92672">=</span> <span style="color:#a6e22e">entityPos</span>(target) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28</span><span> local dist <span style="color:#f92672">=</span> pos<span style="color:#f92672">?</span>.y <span style="color:#f92672">-</span> <span style="color:#a6e22e">cameraAt</span>().y </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29</span><span> <span style="color:#66d9ef">if</span> (dist <span style="color:#f92672">&lt;</span> <span style="color:#f92672">-</span><span style="color:#ae81ff">6</span>) { <span style="color:#75715e">// Don&#39;t grab powerups near the bottom </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30</span><span><span style="color:#75715e"></span> pos <span style="color:#f92672">=</span> <span style="color:#a6e22e">point</span>(<span style="color:#a6e22e">random</span>(<span style="color:#ae81ff">5</span>,<span style="color:#a6e22e">mapSize</span>(MAP).x<span style="color:#f92672">-</span><span style="color:#ae81ff">5</span>), <span style="color:#a6e22e">entityPos</span>(PLAYER).y<span style="color:#f92672">+</span><span style="color:#a6e22e">random</span>(<span style="color:#ae81ff">5</span>,<span style="color:#ae81ff">20</span>)) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31</span><span> dest <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;pos&#34;</span> </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32</span><span> } </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33</span><span> } <span style="color:#66d9ef">else</span> { </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34</span><span> pos <span style="color:#f92672">=</span> <span style="color:#a6e22e">point</span>(<span style="color:#a6e22e">random</span>(<span style="color:#ae81ff">5</span>,<span style="color:#a6e22e">mapSize</span>(MAP).x<span style="color:#f92672">-</span><span style="color:#ae81ff">5</span>), <span style="color:#a6e22e">entityPos</span>(PLAYER).y<span style="color:#f92672">+</span><span style="color:#a6e22e">random</span>(<span style="color:#ae81ff">5</span>,<span style="color:#ae81ff">20</span>)) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35</span><span> dest <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;pos&#34;</span> </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36</span><span> } </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37</span><span> } </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38</span><span> <span style="color:#a6e22e">printf</span>(<span style="color:#e6db74">&#34;TesterTron3000 moving to %@ (%@)&#34;</span>, pos, dest) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39</span><span> dest <span style="color:#f92672">=</span> pos </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40</span><span> <span style="color:#a6e22e">entityPathTo</span>(PLAYER, dest, <span style="color:#ae81ff">9999</span>) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41</span><span> <span style="color:#a6e22e">breaktime</span>(<span style="color:#ae81ff">0.5</span>) <span style="color:#75715e">// Need time to finish pathing (happens on a real thread) </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">42</span><span><span style="color:#75715e"></span> local bail_time <span style="color:#f92672">=</span> <span style="color:#a6e22e">gametime</span>()<span style="color:#f92672">+</span><span style="color:#a6e22e">SECONDS</span>(<span style="color:#ae81ff">8</span>) <span style="color:#75715e">// Seconds to path before changing location </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">43</span><span><span style="color:#75715e"></span> <span style="color:#66d9ef">while</span>(<span style="color:#a6e22e">isPathing</span>(PLAYER)) { </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">44</span><span> <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">gametime</span>() <span style="color:#f92672">&gt;</span> reset_time) <span style="color:#66d9ef">return</span> <span style="color:#75715e">// Player probably stuck somewhere </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">45</span><span><span style="color:#75715e"></span> <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">gametime</span>() <span style="color:#f92672">&gt;</span> bail_time) <span style="color:#66d9ef">break</span> <span style="color:#75715e">// Took too long on path </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">46</span><span><span style="color:#75715e"></span> <span style="color:#66d9ef">if</span> (<span style="color:#f92672">!</span><span style="color:#a6e22e">entityPos</span>(PLAYER)) <span style="color:#66d9ef">return</span> <span style="color:#75715e">// Something is wrong </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">47</span><span><span style="color:#75715e"></span> <span style="color:#66d9ef">if</span> (<span style="color:#f92672">!</span>MAP<span style="color:#f92672">?</span>.end) <span style="color:#66d9ef">return</span> <span style="color:#75715e">// No end pos, something is wrong </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">48</span><span><span style="color:#75715e"></span> <span style="color:#66d9ef">if</span> (PLAYER<span style="color:#f92672">?</span>.dead) <span style="color:#66d9ef">return</span> <span style="color:#75715e">// We died </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">49</span><span><span style="color:#75715e"></span> <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">entityPos</span>(PLAYER).y <span style="color:#f92672">&gt;=</span> MAP.end) <span style="color:#66d9ef">return</span> <span style="color:#75715e">// Got to end camp </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">50</span><span><span style="color:#75715e"></span> local dist <span style="color:#f92672">=</span> dest.y <span style="color:#f92672">-</span> <span style="color:#a6e22e">cameraAt</span>().y </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">51</span><span> <span style="color:#66d9ef">if</span> (dist <span style="color:#f92672">&lt;</span> <span style="color:#f92672">-</span><span style="color:#ae81ff">6</span>) <span style="color:#66d9ef">break</span> <span style="color:#75715e">// Too close to the bottom </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">52</span><span><span style="color:#75715e"></span> <span style="color:#a6e22e">ROOT</span>(took_step)<span style="color:#f92672">++</span> <span style="color:#75715e">// So powerups will tick </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">53</span><span><span style="color:#75715e"></span> PLAYER.last_move_vec <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">dirToVec</span>(<span style="color:#a6e22e">entityFacing</span>(PLAYER)) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">54</span><span> <span style="color:#66d9ef">if</span> (PLAYER<span style="color:#f92672">?</span>.range_image) { <span style="color:#75715e">// Spin targeting range around </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">55</span><span><span style="color:#75715e"></span> <span style="color:#a6e22e">imageRotate</span>(PLAYER<span style="color:#f92672">?</span>.range_image, <span style="color:#a6e22e">angle</span>(<span style="color:#a6e22e">point</span>(<span style="color:#ae81ff">0</span>,<span style="color:#ae81ff">0</span>), PLAYER<span style="color:#f92672">?</span>.last_move_vec)) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">56</span><span> } </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">57</span><span> <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">entityPos</span>(PLAYER) <span style="color:#f92672">==</span> last_pos) <span style="color:#66d9ef">break</span> <span style="color:#75715e">// Didn&#39;t move, something is wrong </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">58</span><span><span style="color:#75715e"></span> last_pos <span style="color:#f92672">=</span> <span style="color:#a6e22e">entityPos</span>(PLAYER) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">59</span><span> <span style="color:#a6e22e">breaktime</span>(<span style="color:#ae81ff">0.1</span>) </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">60</span><span> } </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">61</span><span> <span style="color:#75715e">// Choose new destination </span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">62</span><span><span style="color:#75715e"></span> } </span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">63</span><span>} </span></span></code></pre></div> Death by TesterTron3000 https://grumpygamer.com/deathbyscrolling6/ Sun, 31 Aug 2025 13:43:13 +1200 https://grumpygamer.com/deathbyscrolling6/ <p>I first created TesterTron3000 during Thimbleweed Park (hence the name). It was a simple automated tester that randomly clicked on the screen. It couldn&rsquo;t play the game because it has no knowledge of inventory or puzzles. It did find the odd errors, but was of little real value.</p> <p>Fast forward to the futuristic year of 2025 and I&rsquo;m working on Death by Scrolling and need a new automated game play tester.</p> <p>Death by Scrolling, not being an adventure game, comes along and I need a whole new program to test with, but I like the name so I keep that.</p> <p>TesterTron3000 is pretty simple, it just runs through the level, looks for power-ups and if its health is low, it looks for hearts. It&rsquo;s not rocket science. I could make it a lot smarter, but what I really need is tool that stress tests the game so smarts of low on the list.</p> <p>I can leave it running overnight and it plays thousands of levels and in the morning I see if any errors occurred or if there are memory leaks.</p> <p>None so far.</p> <p>Its been a great tool for consoles because we can only do limited testing before sending it to outside testers due to limited dev kits<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>, so running TesterTron3000 on it for 24 hours is good piece of mind.</p> <p>There are little animation glitches because it&rsquo;s not running through the normal controller code and I&rsquo;ve spotted some missing sfx.</p> <p>TesterTron3000 is written 100% in Dinky and only about 100 lines of code.</p> <p>I might ship it with the final game as an attract mode, but it&rsquo;s kind of buggy, has bad path finding, and really stupid so I worry players would fixate on what it&rsquo;s not doing right. It&rsquo;s not a tool for playing the game with any degree is skill, it&rsquo;s a stress tester and a dev tool.</p> <p>But, it&rsquo;s fun to watch.</p> <p>‏</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/RExz4x55lR8?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>‏</p> <div class="footnotes" role="doc-endnotes"> <hr> <ol> <li id="fn:1"> <p>Something a lot of people don&rsquo;t know is for consoles you need special dev kits to test with, it&rsquo;s not like the PC (or even the SteamDeck) where you can use any device. You have to buy (often very expensive) special dev kits, even just to test. It&rsquo;s really annoying.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p> </li> </ol> </div> Death By Scrolling Announcement https://grumpygamer.com/deathbyscrolling5/ Tue, 19 Aug 2025 14:25:32 +1200 https://grumpygamer.com/deathbyscrolling5/ <p>It is with great pleasure, relief and waiting that we can finally announce Death By Scrolling, one of the most anticipated games of 2025.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/fXIGtCVH5Wo?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p><a href="https://store.steampowered.com/app/3773590/Death_By_Scrolling/">Wish List now</a>, coming soon.</p> Death By Scrolling Part 4 https://grumpygamer.com/deathbyscrolling4/ Wed, 13 Aug 2025 13:59:51 +1200 https://grumpygamer.com/deathbyscrolling4/ <p>I was having a discussion with someone on Mastodon about unit testing games and how it is a next to impossible job. Once clarified, I think we saw eye-to-eye on it, but I do hear about it a lot, mostly from programmers that don&rsquo;t live in game dev.</p> <p>Testing games is hard. So much of what fails during testing is due to random behavior by the player. Them doing something you didn&rsquo;t anticipate.</p> <p>I break testing down to three groups.</p> <p>1 - Unit testing</p> <p>This is what I hear about the most and how this would be a good way to test games. It is not. Unit testing will test code components of your game, but not the game. If you have a sorting routine, this will test that, but it has little effect on testing your game.</p> <p>I do unit testing, mostly on the engine commands. This get run once a week or when I add a new feature. It&rsquo;s testing that all the command or functions return correct values, but has little to do with &ldquo;testing the game&rdquo;.</p> <p>It&rsquo;s also something that would be very hard to run from the build process since the entire engine needs to start up. This is why I run it by hand every so often. If it&rsquo;s not being run in a real engine environment, it&rsquo;s not accurate.</p> <p>2 - Automation</p> <p>I&rsquo;ve been using automation since Thimbleweed Park.</p> <p>I called it TesterTron 3000 it ran through the game and randomly simulated clicks and tried to follow some logic. It found a few things, mostly bugs that would only happen if you clicked very fast.</p> <p>It was fun to watch and gave mostly peace of mind testing. It often broke because we changed the games logic and it could no longer follow along. If I had a team that did nothing but keep TesterTron 3000 working, it would be more useful but given the limited resources of an indie team, I&rsquo;m not sure it would have been worth it.</p> <p>I have something similar in Death By Scrolling, it runs through the levels and randomly picks up things and try to attack enemies.</p> <p>I could have it follow a set sequence of key strokes, but then it&rsquo;s only testing what you know works, not the goofy stuff that real bugs are make of. I&rsquo;ve run into programmers that build something like this and at first it feels good but as the game changes it falls apart and doesn&rsquo;t get used much after that.</p> <p>Maybe if you had a simple puzzle game, this might be useful.</p> <p>TesterTron 3000 a good stress tester and it needs to run overnight to be truly useful.</p> <p>3 - Human Tester</p> <p>The most important testing we do is with testers who play the game all day long. They look at the Git history and see what has changed and beat on that. 99% of our bugs are found this way and I can&rsquo;t emphasis enough how important it is.</p> <p>Players do odd things that automation never will.</p> <p>While it is important to test your own code, you will never find the &ldquo;good&rdquo; bugs. Programmers are lousy testers because they test what they know, you need to be testing what you don&rsquo;t know. Be afraid if management that says they don&rsquo;t need testers because the programmer should test their own code.</p> <p>I grew up in a world where a bug meant you have to remake a million floppy disks and it would take months to get the change out to players, if they ever got it.</p> Death By Scrolling Part 3 https://grumpygamer.com/deathbyscrolling3/ Mon, 28 Jul 2025 10:13:23 +1200 https://grumpygamer.com/deathbyscrolling3/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dbs_switch1.jpg"> <p>We just got Death By Scrolling running on the Switch. We had to do some optimization because we were doing stupid stuff with rendering the tile map. Modern PC machines are so fast these days that you can do a lot of stupid stuff and it doesn&rsquo;t matter. Back in the day (queue angry old man) I had to count cpu cycles and every byte of memory was precious. Nowadays memory is basically infinite.</p> <p>But it&rsquo;s different for consoles, they do have a limited amount of memory and you do have to pay attention to performance.</p> <p>One thing that really bothers me when I play Switch games ported from PC or other consoles is the lack of care over font size. Things that look good on a big monitor or TV are unreadable on the Switch (and the Steamdeck).</p> <p>We&rsquo;ve taken great care to make everything big enough to be readable on handhelds, but it&rsquo;s a real pain. As a designer you want to cram enough information on each screen, especially for RPG-ish games.</p> <p>People get used to html/css rendering and how good it is at flowing to fill space and around images. Games often don&rsquo;t have text rendering engines that are that complex (using a html/css engine internally is overkill).</p> <p>One of the big upgrades I want to do to my engine is better text flow rendering, it will never be as good as html/css in the browser, but it could be a lot better/easier. It&rsquo;s one of the things I&rsquo;m envious of Godot.</p> Death By Scrolling Part 2 https://grumpygamer.com/deathbyscrolling2/ Thu, 17 Jul 2025 14:23:20 +1200 https://grumpygamer.com/deathbyscrolling2/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dbs_title.png"> <p>If you haven&rsquo;t <a href="https://grumpygamer.com/deathbyscrolling">read my previous post</a> about Death By Scrolling way back in February, I suggest you do.</p> <p>Of course this is my lazy way of doing the 2nd promised blog post for Death By Scrolling.</p> <p>In all fairness, I started to write it and it seem awfully familiar so I went back and checked and sure enough I had already written about it.</p> <p>But, I&rsquo;ll do another real post&hellip;</p> <p>I asked for beta testers on Mastodon and got close to 300 sign-ups. I didn&rsquo;t want to invite everyone all at once. There is an old saying that you can only make a first impression once.</p> <p>Every time I make a new beta version I invite 25 more people.</p> <p>Couple of stats:</p> <p>About 25% of the people never redeem the steam key. Or they redeem it weeks later. This is a little surprising, but maybe it shouldn&rsquo;t be. People are busy.</p> <p>Of the people who did redeem the key a third play the game once or twice and never again. This is not surprising. Death By Scrolling is a rogue-like and you die a lot. I do mean a lot, it&rsquo;s right in the title. Some people do not like this type of game, and I&rsquo;m OK with that.</p> <p>Maybe half the people who play the game never visit the Discord. We can get only so much info from analytics. Having a conversation about what you like and don&rsquo;t like is very helpful. Again, this isn&rsquo;t too unexpected.</p> <p>The players that do play more than a few times play a lot and that is good to see. It&rsquo;s nice to see strategies emerge that we, as the designers, didn&rsquo;t think of. That is always a good sign.</p> <p>This is the first time I&rsquo;ve done large-ish beta test for one of my games and it&rsquo;s been fascinating and very insightful.</p> <p>I&rsquo;m about to invite the next group of 25 testers. If you&rsquo;re among this group, please visit the Discord.</p> <p>&ndash; Ron</p> Death By Scrolling Part 1 https://grumpygamer.com/deathbyscrolling1/ Tue, 08 Jul 2025 13:21:45 +1200 https://grumpygamer.com/deathbyscrolling1/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dbs_title.png"> <p>I miss the Kickstarter days of Thimbleweed Park where each week I would write a blog post about how things were going and we&rsquo;d to a podcast. If we were doing Thimbleweed Park today we&rsquo;d have a video podcast on YouTube.</p> <p>I watch a lot of YouTube videos from indie game devs where they document everything they are doing on their game with a fancy video and my first thought is: &ldquo;Where do you find the time to make this&rdquo;. I barely have enough time to work on my game.</p> <p>Now that Death By Scrolling is getting close to releasing, I really should start blogging again about the game. There are a lot of interesting things happening and there is no reason I should keep those to myself.</p> <p>I have found that as I get older I enjoy pontificating less and less. I&rsquo;ve stopped doing talks, doing interviews and podcasts. I really enjoy <a href="https://www.youtube.com/@CainOnGames">Tim Cain YouTube channel</a> but I could never do that. It&rsquo;s not that I don&rsquo;t have anything to say, it&rsquo;s that I have become self-conscious that I&rsquo;m just pontificating for no reason and don&rsquo;t have anything deep and interesting to say.</p> <p>Now that I&rsquo;ve got you all primed and ready, starting next week you can plan your day around the Death By Scrolling blog update.</p> <p>Or maybe I&rsquo;ll delete this post like it never happened.</p> <p>^^^ this</p> Steam Auth Issues https://grumpygamer.com/steam_auth/ Mon, 14 Apr 2025 17:26:07 +1200 https://grumpygamer.com/steam_auth/ <p>When I build my game for testing, it&rsquo;s a completely automated process from the command line.</p> <p>I type <code>pub.sh --test</code> on the command line and a long chain of events is started.</p> <p>The script pushes to git, which starts the cloud based CI machine (Azure) building the Mac, Windows and Linux executables.</p> <p>When they are done, my local script is notified and they are download locally.</p> <p>Game files are added and they are signed and packaged up.</p> <p>The script then logs into Steam and uploads the game.</p> <p>A change list is built from the git log and uploaded to a private website.</p> <p>When that is complete, a message is sent to Discord to notify testers that the build is done.</p> <p>This is all done with no interaction on my part.</p> <p>It makes doing test builds quick, easy, and painless. But more important is there is no human interaction, so there is less chance of a mistake being made.</p> <p>To upload to Steam you need to authenticate, which usually involves getting an email and typing in a code or doing the same with their authentication app. It&rsquo;s not very conducive to automated builds.</p> <p>Fortunately <a href="https://partner.steamgames.com/doc/sdk/uploading#automating_steampipe">Steam has an process</a> where you authenticate once and then pass a token from the command line and that logs you in without a password. Wonderful.</p> <p>This worked fine for what seem like years, then on Jan 1, 2025 I got a error saying my token was expired. OK, makes some sense.</p> <p>I re-ran the process to get a new token and everything was fine for a day or so, then it failed again saying the token was expired. Then it happened again. And again.</p> <p>Frustrated, I reached out to the friend who works at Valve and was put in contact with a programmer there. He watched the back-end and said everything was fine for the first few auths and then the old expired token as submitted. Rebuilding the token worked for a while and then the old token was submitted again.</p> <p>We began to suspect the token file on my machine was being overwritten but I couldn&rsquo;t see it happening and didn&rsquo;t know how it was happening. It not like the whole directory was being restored from a backup, it was just that one file sitting in an obscure Steam folder.</p> <p>We tried everything and never solved the problem.</p> <p>The solution I finally arrive at &ndash; and has worked fine for the past three months &ndash; was to get an auth token and then save that file away. Just before my script uploads to Steam it copies that good file over the current one and uploads. This is what Steam recommends for full CI builds, but until Jan 1, I never had to do this locally.</p> <p>I&rsquo;m still mystified who is overwriting that file but I guess it&rsquo;s moot now.</p> April Fools' 2025 https://grumpygamer.com/april_fools_2025/ Tue, 01 Apr 2025 00:00:00 +0000 https://grumpygamer.com/april_fools_2025/ <p>Going on n+1 years, I proclaim grumpygamer.com to be 100% April Fools&rsquo; Day joke free.</p> <p>I realized that I lost a large chunk of the early April Fools&rsquo; posts due to moving content from one back-end to another over time. It pains me as I&rsquo;m sure they are seen as culturally significant and worth preserving for future generations.</p> <p>&ldquo;Grandpa! Tell us the story of when the web used be be April Fools&rsquo; joke free!&rdquo;</p> <p>I might have to go track them down on the Wayback Machine and pretend it all never happened and I have perfect back-up and archiving practices.</p> Death by Scrolling https://grumpygamer.com/deathbyscrolling/ Sun, 02 Feb 2025 00:00:00 +0000 https://grumpygamer.com/deathbyscrolling/ <p>First screen shot from my new game called Death by Scrolling.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/deathbyscrolling.png"> <p>I started working on this game back in 2019. It started out great and everybody I showed it to loved it, but it was simple. Everyone asked for progression and &ldquo;game&rdquo; stuff and over the next six months I proceeded to ruin it.</p> <p>Then a little game called Return to Monkeys island came along and I took the next two years to build that with Dave Grossman and a wonderful team.</p> <p>Monkey Island ended and I started working on a new game I dubbed &ldquo;RPGTBD&rdquo;. It was a classic Zelda-like pixel art RPG and was a lot of fun. I brought on an artist (Craig) and a designer (<a href="https://mastodon.gamedev.place/@[email protected]">Elissa</a>) to help.</p> <p>When I first started RPGTBD everyone told me that it&rsquo;s unrealistic to do a open world RPG with a small team. Morons. What do they know?</p> <p>Well, a lot actually.</p> <p>It became obvious that my vision for the game was never going to get done and on top of that I was spending a lot of money so something had to give. I could pay off the contracts for Craig and Elissa and call it a day.</p> <p>But I had all this wonderful art and a nice quest and exploration system from RPGTBD it felt odd to let them go to waste.</p> <p>Then I remembered Death By Scrolling. I shared the prototype with Elissa and she really liked it. There is something about the game that I could never let go of.</p> <p>I rebuilt the whole project, stripping out all the stupid stuff and returned it to the core of the game back when it was fun.</p> <p>Over the next 3 months Elissa and I added back pieces bit-by-bit with a nice progression system, story, quests and challenges.</p> <p>It&rsquo;s not going to be everybody&rsquo;s cup of tea, but Elissa and I get lost in playing it when we should be testing a new feature, so I guess that&rsquo;s good.</p> <p>ELissa and Craig leave the project on March 1 then it&rsquo;s just me for a few months and then release it in 2025.</p> <p>This time for sure.</p> Damage Poll https://grumpygamer.com/damage_poll/ Sun, 26 Jan 2025 00:00:00 +0000 https://grumpygamer.com/damage_poll/ <p>I recently asked on Mastodon how a player would expect damage to be computed in an RPG.</p> <pre><code>(base_damage + extra_damage) * damage_buff </code></pre> <p>or</p> <pre><code>(base_damage * damage_buff) + extra_damage </code></pre> <p>General consensus is there was no consensus.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/damage_poll.png"> <p>The one thing people did agree on was that the skill/weapon description should say what the order of operation is.</p> <p>Fair enough.</p> <p>I am worried about the amount of information that needs to be conveyed to players. The game needs to work well on the Switch and the Steam Deck with limited screen size. I play a lot of games where the 20-something devs with perfect eyesight spent too much time looking at the game on a large monitor. I&rsquo;ve purposely kept the text large enough to read on a small screen. It means I need to be succinct.</p> <p>Some people suggested that players should be able to order the weapons/skills as they wanted. This is problematic since weapons/skills come in a very random order and a UI to reorder them seems like a lot of work and not really what the game is about.</p> <p>It also doesn&rsquo;t matter what order the weapons/skills are evaluated. I compute damage_buff then compute damage_extra when the weapon/skill is acquired. Later on those are used to compute damage and that is where the order matters.</p> <p>It&rsquo;s also basically an action game and players shouldn&rsquo;t get too deep into stat management for a character that is going to last a few minutes.</p> <p>Maybe I&rsquo;m wrong about that.</p> <p>I think I will opt for the 1st method since it allows for bigger numbers and that is something players do want.</p> 12 Days of Crunch Time Mention https://grumpygamer.com/12_days_of_crunch_time_mention/ Sat, 18 Jan 2025 00:00:00 +0000 https://grumpygamer.com/12_days_of_crunch_time_mention/ <p>I&rsquo;m a big fan of <a href="https://www.youtube.com/@CainOnGames">Tim Cane&rsquo;s YouTube channel</a>.</p> <p>If I was going to have a YouTube channel, I would want it to be like his but talking about adventure games, not RPGs. Maybe someday.</p> <p>So imagine my delight when he posted this:</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/-OFoUSPuByU?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>Clayton and I wrote this poem many years ago, but not much as changed.</p> <p>I&rsquo;ve never met Tim Cane but hope to someday. Maybe he will come to New Zealand.</p> Hugo https://grumpygamer.com/hugo/ Mon, 13 Jan 2025 09:55:45 +1300 https://grumpygamer.com/hugo/ <p>!! P.S. Static site is now live on grumpygamer.com !!</p> <p>I spent the last weekend converting grumpygamer.com to a static website using <a href="https://gohugo.io/">Hugo</a>.</p> <p>I don&rsquo;t really know why. The old dynamic site was working fine.</p> <p>It&rsquo;s still hosted it on my server but there is no php, etc. I may move it to a static site hosting platform.</p> <p>If your reading this, you&rsquo;re on the new static site.</p> <p>So far <a href="https://gohugo.io/">Hugo</a> has been great. It&rsquo;s Go mark-up language is a little odd, but I&rsquo;m used to it now.</p> <p>The old site used markdown but I added some odd new rules and porting all the posts over was kind of a pain. Wrote a php script that pulled down all the posts and wrote them out as json. I then wrote a Python script to find all my odd markdown hacks and convert them to the standard markdown that Hugo uses.</p> <p>All in all, it only took a few hours and now it render 90% right. There are still a few goofy tags I need to fix by hand.</p> <p>The images were hosted on a CDN and I moved them locally. I&rsquo;ve become concerned with the complexity of software. I&rsquo;m getting to the point where I want everything under my control and simple.</p> <p>The <a href="https://blog.thimbleweedpark.com/index.html">Thimbleweed Park dev blog</a> was a complicated mess of databases and servers. Something went wrong and the whole thing collapsed. I ending up rendering the whole site out as static html and just hosting that since it wasn&rsquo;t changing.</p> <p>I would have been better off with a static site from the beginning, hence this move to Hugo.</p> <p>One of the reasons I haven&rsquo;t posted much was the complexity to writing an article</p> <p>I&rsquo;m hoping this will be easier.</p> <p>The one big issue is comments.</p> <p>I shut down comments after the Return to Monkey Island shit storm and I&rsquo;ve been reluctant to turn them back on. Can&rsquo;t we all just get along.</p> <p>Comments on a static site are an tricky issue. There are some third party solutions like Disqus but I worry about Big Comment sucking up personal information of anyone who comments on my site.</p> <p>I did watch a YouTube video about how to add comments to a Hugo site and it just requires a little javascript and I can hook it into my existing comment system.</p> <p>The good news if that system goes down all I lose are the comments, not the whole site. I might give that a try at some point.</p> <p>Things I still need to do:</p> <ol> <li><del>Make the site responsive to changes in window size (i.e. mobile)</del></li> <li><del>Fix up the missing markdown.</del></li> <li><del>Get rss working again so the old url still works.</del></li> <li><del>Clean up my crappy css.</del></li> <li><del>Get social media cards working again.</del></li> <li>Write some new posts that makes this all worth it.</li> </ol> <p>I&rsquo;d also like the site to be built with CI when I push it.</p> <blockquote> <p>P.S. I decided not to do this. A simple and quick rsync command gets it to my server and it&rsquo;s one less thing I need to worry about. Remember, this was about keeping it simple.</p> </blockquote> <p>If you notice anything odd or broken, let me know on <a href="https://mastodon.gamedev.place/@grumpygamer">Mastodon</a></p> <blockquote> <p>P.S. I work on my website on the weekends, weekdays are for working on my game. See you next Sat.</p> </blockquote> April Fools' 2024 https://grumpygamer.com/april_fools_2024/ Mon, 01 Apr 2024 00:00:00 +0000 https://grumpygamer.com/april_fools_2024/ <p>As the world spins into chaos, the one constant that brings stability into your world is knowing that grumpygamer.com will always remains April Fools&rsquo; joke free.</p> Quest Feedback https://grumpygamer.com/quest_feedback/ Mon, 27 Nov 2023 00:00:00 +0000 https://grumpygamer.com/quest_feedback/ <p>I recently asked on <a href="https://mastodon.gamedev.place/@grumpygamer">Mastodon</a> about favorite quests. I&rsquo;ve collected some of the responses here. I apologize that I can&rsquo;t credit the individuals who posted, but you can find them there. I need to update grumpygamer so I can post rich Mastodon links.</p> <p>If you have a favorite, post it on Mastodon and @ me.</p> <ul> <li>Baldur&rsquo;s Gate 3 quest to safe Arabella on the druid&rsquo;s grove is a turning point for me. (1) You have options on how to act and what to do after you acted, (2) these choices impact the game and future choices, both in the near future and far future; and (3) when playing for the first time I didn&rsquo;t feel like I had a choice, there was only thing my character would have done.</li> <li>I like sidequest with &ldquo;treasure hunt&rdquo; like the maps in Red Dead Redemption</li> <li>I like tiny quests about interpersonal relationships, like resolving a conflict between a mortician and his gravedigger employee in Ultima 6, or babysitting a dock worker&rsquo;s daughter in Citizen Sleeper.</li> <li>the Tarrey Town quest arc from Zelda Breath of the Wild is one of my all time favorites. It&rsquo;s really just a series of supply fetch quests and &ldquo;find yet another character whose name rhymes with &lsquo;son&rsquo; (in this big huge open world)&rdquo; but it <em>feels</em> like you are helping establish an entire new town in the wilderness - leaves you with a genuine &ldquo;I helped people&rdquo; feeling. After which it becomes a real town that is quite a useful outpost with lots of new quests it opens up in turn.</li> <li>I like quests where you have to run around between a few characters, doing small tasks for them or delivering messages between them to get them to work together eventually. Like with getting Olga and Boris to make up in Quest for Glory 4, or the Chinese hitmen quest in VtM: Bloodlines.</li> <li>quests that leave lasting impact on the game world (like rebuilding a village, changing the landscape, that sort of thing)</li> <li>one that comes to mind is having to sneakily follow someone to find out what they&rsquo;re up to without them noticing</li> <li>I&rsquo;ll have to come back to this, but I think scenarios are important. Why you are doing the quest isn&rsquo;t always as important as what you do during the quest.</li> <li>I&rsquo;m currently playing through Baldurs Gate 3 and in one instance i began fighting one group of enemies, only for another to show up that distracted them. Essentially you have to use this distraction effectively to win the fight because it collects the enemies in a group and the interjecting enemy eventually leaves. If you didn&rsquo;t do enough with it, you are left with an army of enemies.</li> <li>I also like murder mysteries. Locked in a house or something, talk to people, figure out who is the killer.</li> <li>There was another game where during a fight a fire is spreading, so you have to manage the fight while getting distance from the fire. If you move too quick the enemies are able to surround you, too slow or let someone get knocked down, the fire gets them.</li> <li>I don&rsquo;t think it&rsquo;s super important for a game to be incredibly hard or easy or whatever. I think the sweet spot for video games is &lsquo;hard enough that I need to pay attention, and no harder.&rsquo;</li> <li>different outcomes for people or places. For example, depending on your efficiency on solving the quest (or on decisions), you save a family or they get killed; or someone gets in debt with you and will help you later or he will hire killers to slay you; you may save a town from evil wizards or it may be cursed with fatal consequences</li> <li>I like quests with options. Say I need to get inside the castle. Is my only option stealth? Or could I bribe the guard, or seduce the guard, or distract the guard, or find an old tunnel from the monastery?</li> <li>Quests that do world building. I loved all the side quests in The Witcher 3 for example. They were all unique little stories in the Witcher universe, making the game more immersive as you played it.</li> <li>There was one in Neverwinter Nights with a glass sphere that contained a parallel world? And One in Dragon Age with a mouse hole. - Can´t remember exactly.Generally ones that are less predictable but logical to solve.</li> <li>I always liked questions where I brought NPCs back together or highly political strategic ones ;)</li> <li>I love it when quests are smaller pieces of bigger quests. For example in GTA when you do heists, a few missions set up the heist then you perform the actual heist which makes use of the earlier things you did.</li> <li>I love ones that involve mystery. The Dark Brotherhood questline in TES: Oblivion comes to mind. Specifically &ldquo;Whodunit&rdquo;, where you participate in a murder mystery party where you are the murderer.</li> <li>first thing that came to mind was the spell book in King&rsquo;s Quest 6. Travel around gathering ingredients (which didn&rsquo;t feel tedious as you needed to Island-hop for other story &amp; puzzle reasons) then cast spells that advance the story. Not all spells were required due to different ways to win the game.</li> <li>Helping a NPC gets you a pet/sidekick</li> <li><a href="https://en.wikipedia.org/wiki/The_Bloody_Baron">https://en.wikipedia.org/wiki/The_Bloody_Baron</a></li> <li>may I chime in? I like quests which turn out to be something completely different than you expect, and where the good writing/setup makes you forget that its a scripted event. RPG or adventure, makes no difference. Most memorable quest: Warhead on Amiga, where you eatch Constrictor annihilate the entire Sirius fleet with single missile (while going la-de-da), and then you get mission from your headquarters to go and attack it</li> <li>I&rsquo;m fine with them being tiny impacts on the world. if I&rsquo;m fetching an hat for the person, the person wears it after. If I fetch an item for a shopkeeper, it increases stock</li> <li>If there&rsquo;s a side quest where I need to make medicine because someone is sick, I need to do it immediately</li> <li>The quests where we need to make choices (maybe moral ones) with consequences hard to predict. Hag quest in Baldur&rsquo;s Gate 3 is one of my favourite quests, for example.</li> <li>Legend of Mana, the lamp selling quest: <a href="https://mana.fandom.com/wiki/Lumina_(location)#Faeries'_Light">https://mana.fandom.com/wiki/Lumina_(location)#Faeries&rsquo;_Light</a> You had to learn the Dudbears&rsquo; language and answer their questions. <a href="https://gamefaqs.gamespot.com/ps/256525-legend-of-mana/faqs/7963">https://gamefaqs.gamespot.com/ps/25652</a></li> <li>I like the help korok to reach his friend in Tears of the Kingdom. (Although many seem to prefer to torture them) Most of it because of the sound. The koroks really sound sad and distressed but when you put them together you hear the sound of relief. &ldquo;Helping them&rdquo; is a good theme by itself but the sound really adds to the feeling and role play.</li> <li>I like quest for adding new team members That was old chaps from the original once</li> <li>quests that affect the ending for sure, even if it&rsquo;s an extra sprite in the lineup. It blew my child mind they you can save Luca&rsquo;s mom from losing her legs in Chrono Trigger and it affected that particular line of endings (game has over a dozen). It&rsquo;s a thing you end up having to do regardless, a little action sequence, but it&rsquo;s hard enough to not telegraph in any way that it&rsquo;s actually possible to win and save your mom. Like it seems as if you&rsquo;re supposed to simply relive trauma.</li> <li>i like the ones that get initiated by the player - technically, it&rsquo;s you who just walked up to a random person and tried to ask what&rsquo;s up.</li> <li>one I did yesterday while playing Mario rpg. The quest triggers when you arrive in a town and you meet a trio of characters that tell you they hid something around the world, and they give you clues like &ldquo;it&rsquo;s genuine a wooden flower&rdquo; or &ldquo;under a green bed&rdquo;. You have to revisit and find these things. I liked it, solving the clues made me feel smart, and the places I revisited felt deeper now.</li> <li>The &ldquo;small favor&rdquo; ones, where you start with a very simple task but it slowly unfurls into an endless quest.</li> <li>I really like the quests that seem simple at first but reveal a lot of world behind them. Like, the initial quest is &ldquo;get me some widgets&rdquo; but you start looking into why there&rsquo;s a widget shortage and you discover the frobnicator is down due to sabotage because there are warring factions of frobnicator builders and their disagreements are deep-seated, sensible, and not trivially solvable. Then the wish fulfillment part is that you solve them.</li> <li>The ones where, just when you have everything ready to turn in for a reward, you suddenly get new information casting doubt on whether you should do so, and have to make a choice about which side to take. It&rsquo;s that moment of player agency right after a stretch of non-agency, doing stuff because someone else told you to.</li> <li>I like quests where you&rsquo;ve been manipulated to side with someone. You do their quest, and then they destroy the town, kill the king, release the kraken etc..setting you up for quests to undo what you did.</li> <li>The ones that stick with me involve making choices that seem unconnected until later (e.g. the treatment of specific monsters in Witcher 3 affecting the fates of characters you may or may not meet) or that build connections with people and places (like how completing a fetch quest or taking care of a problem aids in reconstructing a colony in Xenoblade Chronicles).</li> <li>Mass Effect 2 - been a while but I recall caring enough about the party members that doing their personal quests seemed like an intrinsically motivated thing to do. Basically either give me a good enough motivation to do the quest, or keep the downside/extra effort low. And please don&rsquo;t try to abuse my FOMO.</li> <li>Witcher 3 - Practicum quest. Funny, and builds NPC character (which they don&rsquo;t do much with after). I also enjoy the simpler contracts as &ldquo;go there, kill huge thing&rdquo; fits the game.</li> <li>The hunted hotel from Vampire Bloodlines is one quest I will always remember. Not because is a brilliant quest, but because the twist of the mood of the game. Suddenly, I&rsquo;m in a horror game and still it uses the mechanics from the general game. I love that quest.</li> <li>I just did a quest* in GuildWars2 where I collected bits of a renowned family&rsquo;s tapestry from all over the world, starting in the previous big expac. Like the Snargle Goldclaw achievements (look him up), I liked how this connected to the changing world of the story, but on the fringes. It connected to NPCs I&rsquo;d heard arguing about mass-producing artisan blankets now that borders were open and&hellip;</li> <li>&ldquo;signs of the sojourner&rdquo; has beautifully done quests. there&rsquo;s an overarching quest to learn about your mom, and progress comes naturally through conversation games (the game&rsquo;s main mechanic). you receive additional tasks, like to bring back vinegar or a musical instrument, and if you don&rsquo;t complete these, the outcome of your game is changed. then there are fetch quests for individual characters and exit ramps through certain characters. it&rsquo;s very artfully put together, to me.</li> <li>Some memorable quests: In &ldquo;Dragon&rsquo;s Dogma,&rdquo; breaking into the Duke&rsquo;s castle to rescue a princess. Also, stealing a ring for the Duke, forging it, giving him the forgery, and using the original to rob him dry.</li> <li>Anything which has a lasting effect on the Gameworld. Megaton in Fallout 3 being an easy example.</li> <li>The Purification quest in Oblivion at the end of the Dark Brotherhood questline, when you have to kill al the NPCs of the brotherhood you have been getting quests from and interacting with. It felt so weird.</li> </ul> Speed running Monkey Island https://grumpygamer.com/speed_running_mi/ Fri, 02 Jun 2023 00:00:00 +0000 https://grumpygamer.com/speed_running_mi/ <p>I recently did an interview about speed running Monkey Island (I&rsquo;ll post a link when it&rsquo;s available).</p> <p>One of the topics was how speed runners dislike random events and the end of Monkey Island 2 has a lot of randomness around when LeChuck appears. I was asked how this worked and to be honest that was a long time ago and I don&rsquo;t remember every little scrap of code. It is also possible that I didn&rsquo;t write it. But what I do have is the SCUMM source code for Monkey Island 2 and I tracked down the code.</p> <pre tabindex="0"><code>lechuck-appearance-chance is 4 lechuck-appearance-interval is 300 times-lechucks-appeared-recently += 1 foo = (3 - times-lechucks-appeared-recently) foo = (random foo) if (!foo) { ; after he&#39;s popped up a couple times he&#39;s likely to disappear for a while times-lechucks-appeared-recently = 0 lechuck-appearance-chance is 10 ; that is, 1 in 10 lechuck-appearance-interval is 500 } if (magic-doll) { ; speed him way up after you make the doll if (owner-of needle is selected-actor) { ; and have the needle lechuck-appearance-chance is 2 lechuck-appearance-interval is 120 } } </code></pre><p>There are some other random conditions about what item you picked up last, etc, but this is the core of it.</p> <p>P.S. If you&rsquo;re wondering my SCUMM uses <code>-</code> in variable names, it&rsquo;s because it started out as a variant of LISP.</p> <p>P.P.S. It&rsquo;s also worth noting that this is for the original MI2, The special editions and SCUMMVM might have changed how this works.</p> Unions https://grumpygamer.com/unions/ Wed, 03 May 2023 00:00:00 +0000 https://grumpygamer.com/unions/ <p>I posted this chain on Mastodon, but am reposting it here&hellip;</p> <p>Getting AI to write your game dialog is about the same as getting some C- high school student to do it. At least with the later you be giving a high school student a job.</p> <p>I really hope the TV writers can get something meaningful from the strike. I&rsquo;m skeptical only because big companies taking advantage of creatives is burnt into their DNA. I see this all the time. Thimbleweed Park was the first game I ever saw anything from. I am getting something from RtMI but it&rsquo;s small. I&rsquo;ve created a lot over the years and only made other people rich.</p> <p>I support the game industry unionizing, not only to create reasonable working hours, but also to stop companies from getting rich off our hard creative work. I don&rsquo;t think game writers should be part of the WGA, the businesses are too different, and I&rsquo;ve seen the cluster fuck of Hollywood unions trying to get into games.</p> <p>Unions can also be their own oppressive mess but it&rsquo;s probably slightly better than what we have now. I do worry about how rigid unions would hamper true indie game work.</p> Loom https://grumpygamer.com/loom/ Mon, 03 Apr 2023 00:00:00 +0000 https://grumpygamer.com/loom/ <p>All the dialogs in Return to Monkey Island were done in a format called <code>yack</code>. These were created for Thimbleweed Park and (very) loosely based on <a href="https://www.inklestudios.com/ink/">Ink</a>.</p> <p>During the Secret of Monkey Island and LeChucks Revenge, these were all hand-coded in SCUMM and a pain in the [REDACTED].</p> <p>The goal is to free the writer from &ldquo;programming&rdquo; and focus just on the writing and logic of the scene.</p> <p>In lines like <code>GUYBRUSH(38260,&quot;{fist_pump}Yes!&quot;)</code> the GUYBRUSH is a macro to replaces the text with &ldquo;@38260:GUYBRUSH&rdquo;. This removes the text from the compiled code and forces the engine to look it up in the translation file as well as directing the VO to play the correct audio. Everything is linked to the id <code>38260</code> including the actor&rsquo;s scripts.</p> <p><code>{fist_pump}</code> calls an animation on actor saying the line and <code>(mocking)</code> is direction for the actor and ignored by the engine.</p> <p>The writer will write (for example):</p> <p>guybrush: &ldquo;Aye, Cobb.&rdquo;</p> <p>And then towards the end of production a python script turns it into</p> <p>guybrush: GUYBRUSH(38219,&ldquo;Aye, Cobb.&rdquo;)</p> <p>Adding the unique line ids.</p> <p>Enjoy Cobb&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/rtmi_loom.png"> April Fools' 2023 https://grumpygamer.com/april_fools_2023/ Sun, 02 Apr 2023 00:00:00 +0000 https://grumpygamer.com/april_fools_2023/ <p>I got Covid from someone who went to GDC and today is the first day I&rsquo;ve been well enough to make it to the computer. It pains me to have dropped the ball on my long running April 1st post and to have missed the one year RtMI announcement.</p> <p>Rest assured, grumpygamer.com will always remains April Fools&rsquo; joke free.</p> Early Return to Monkey Island Puzzle Dependency Chart https://grumpygamer.com/rtmi_pdc/ Wed, 23 Nov 2022 00:00:00 +0000 https://grumpygamer.com/rtmi_pdc/ <p>** SPOILERS IF YOU HAVEN&rsquo;T PLAYED THE GAME YET ***</p> <p>Game design isn&rsquo;t a destination, it&rsquo;s a journey and this was one of the stops along the way.</p> <p>There are some fun puzzles in here but they all were cut for a reason, mostly pacing but sometimes because it wasn&rsquo;t as interesting as we thought. Part 3 got cut in half at some point because it felt too long in the wrong place.</p> <p>From Aug 21, 2020&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/PuzzleChart17.png"> Oh yeah... Return To Monkey Island is out https://grumpygamer.com/rtmi_is_out/ Fri, 23 Sep 2022 00:00:00 +0000 https://grumpygamer.com/rtmi_is_out/ <p><a href="https://returntomonkeyisland.com/">Click here!</a></p> The Monkey Island Monday Hit Parade https://grumpygamer.com/monkey_island_monday/ Wed, 14 Sep 2022 00:00:00 +0000 https://grumpygamer.com/monkey_island_monday/ <p>Compiled by the <a href="https://mixnmojo.com/">International House of Mojo</a></p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/Ob77A_BLIkI?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> Return to Monkey Island Trailer https://grumpygamer.com/rtmi_trailer/ Tue, 28 Jun 2022 00:00:00 +0000 https://grumpygamer.com/rtmi_trailer/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/p3mxq44HhnU?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> Return to Monkey Island Dev Diary https://grumpygamer.com/dev_diary/ Wed, 25 May 2022 00:00:00 +0000 https://grumpygamer.com/dev_diary/ <h3 id="jul-17-2020">Jul 17, 2020</h3> <p>First official day is Monday but I&rsquo;ve started setting up Slack and other web services.</p> <h3 id="jul-18-2020">Jul 18, 2020</h3> <p>Ordered Linux machine. Talked to Dave about maybe controlling Elaine for a section of the game.</p> <p>Starting to worry about finding great people. It&rsquo;s going to be hard because we have to keep the project a secret.</p> <p>Played MI1 again. Taking a lot of notes about what made MI MI. After TWP and fast walk and other almost invisible improvements, it&rsquo;s painful to play a 35 year-old adventure game.</p> <p>I was surprised at how many objects didn&rsquo;t have custom default responses. A large number of objects just said &ldquo;That doesn&rsquo;t seem to work.&rdquo;</p> <h3 id="jul-19-2020">Jul 19, 2020</h3> <p>Played MI again.</p> <h3 id="jul-20-2020">Jul 20, 2020</h3> <p>Working with the lawyer to get contractor contracts done that conform to Disney&rsquo;s requirements. Taking longer than I thought.</p> <p>Hope to get Dave&rsquo;s contract done by tomorrow.</p> <h3 id="jul-23-2020">Jul 23, 2020</h3> <p>First &ldquo;real&rdquo; design meeting with dave. Laying down the backbone puzzles for Act 1.</p> <h3 id="jul-24-2020">Jul 24, 2020</h3> <p>Started the Puzzle Dependency Chart for Act 1.</p> <h3 id="jul-27-2020">Jul 27, 2020</h3> <p>Jenn started</p> <h3 id="jul-28-2020">Jul 28, 2020</h3> <p>Making good progress on design. I know we&rsquo;ll slow down when we have to do all the details. Looking forward to getting a concept artist. Things come alive for me when concepts start to come in.</p> <h3 id="nov-17-2020">Nov 17, 2020</h3> <p>Starting up diary again&hellip; maybe I&rsquo;ll be able to keep it going this time.</p> <p>Thinking about the ui. I hate the current status-quo.</p> <h3 id="nov-18-2020">Nov 18, 2020</h3> <p>Meeting with Disney.</p> <h3 id="may-25-2022">May 25, 2022</h3> <p>Yep, this dev diary didn&rsquo;t last long.</p> When I Made Another Monkey Island https://grumpygamer.com/when_i_made_another_monkeyisland/ Sun, 01 May 2022 00:00:00 +0000 https://grumpygamer.com/when_i_made_another_monkeyisland/ <p>Nine years ago I wrote a blog post titled <a href="https://grumpygamer.com/if_i_made_another_monkeyisland">&ldquo;If I made another Monkey Island&rdquo;</a> and it feels like there are some things I need to say.</p> <p>I can&rsquo;t remember the exact incident, but the day I wrote that I was feeling down about never being able to make another Monkey Island. I wrote it in a single afternoon, and it was not much more than a stream of thoughts. In the movie version, tears would have been pouring down my cheeks, but it wasn&rsquo;t the movie version so I was probably sipping coffee and eating a chocolate chip cookie.</p> <p>My point is these were not commandments handed down and etched in stone on a giant tablet. They were just random thoughts about a (then very unlikely) new Monkey Island game.</p> <p>None of these are promises or anything I owe anybody.</p> <p>People talk a lot about Monkey Island 3a as if it was the game I would have made after Monkey Island 2 had I stayed at Lucasfilm.</p> <p>Here&rsquo;s the deal.</p> <p>The totality of that idea was &ldquo;Guybrush chases the demon pirate LeChuck to hell and Stan is there.&rdquo; That&rsquo;s it. That&rsquo;s all it was.</p> <p>Games, movies, and books don&rsquo;t come out fully formed. They start as a morsel of an idea and then all the hard work begins.</p> <p>Roger Ebert had a great quote that I am constantly reminding myself of:</p> <blockquote> <p>&ldquo;The muse visits during the act of creation, not before.&rdquo;</p> </blockquote> <p>Had I stayed at Lucasfilm I might have started with that idea, but by the time the game was done it would have been something completely different and better.</p> <p>And that is exactly what Return to Monkey Island is.</p> <p>When Dave and I first got together to talk about Return to Monkey Island we had a nearly blank slate. We talked over ideas we&rsquo;d had over the years including one of mine where Guybrush wakes up 3000 years in the future on a snowball Earth.</p> <p>We talked about my original &ldquo;hell&rdquo; idea but other Monkey Island games had already done much of that (by pure coincidence) and there was little point in rehashing it.</p> <p>The one thing I wanted to do was start the new game right where LeChuck&rsquo;s Revenge ended, and that became the one unmovable stone.</p> <p>I have made one pixel art game in my entire career and that was Thimbleweed Park. Monkey Island 1 and 2 weren&rsquo;t pixel art games. They were games using state-of-the-art tech and art. Monkey Island 1 was 16 color EGA and we jumped at the chance to upgrade it to 256 colors. Monkey Island 2 featured the magical wizardry of scanned art by Peter Chan and Steve Purcell and we lusted to keep pushing everything forward.</p> <p>If I had stayed and done Monkey Island 3 it wouldn&rsquo;t have looked like Monkey Island 2. We would have kept pushing forward, and Day of the Tentacle is a good example of that.</p> <p>I never liked the art in DotT. Technically and artistically it was fantastic, but I never liked the wacky Chuck Jones style. But that was Dave and Tim&rsquo;s game, not mine. They can do what they want and I completely supported that.</p> <p>Curse of Monkey Island also took a leap forward. It introduced us to a fully voiced and taller, lankier Guybrush with painted backgrounds that were all the rage in the late 90s. It was very much a game of its time.</p> <p>When Dave and I first started brainstorming Return to Monkey Island we talked about pixel art, but it didn&rsquo;t feel right. We didn&rsquo;t want to make a retro game. You can&rsquo;t read an article about Thimbleweed Park without it being called a &ldquo;throwback game&rdquo;. I didn&rsquo;t want Return to Monkey Island to be just a throwback game, I wanted to keep moving Monkey Island forward because it&rsquo;s interesting, fun, and exciting. It&rsquo;s what the Monkey Island games have always done.</p> <p>I wanted the art in Return to Monkey Island to be provocative, shocking, and not what everyone was expecting. Rex is an amazing creative force and we have a team of incredible artists, animators, sound designers, programmers, and testers all pouring their souls into this game and it&rsquo;s beautiful to see, play, and listen to.</p> <p>The music Michael, Peter, and Clint are doing is equally amazing. It&rsquo;s not AdLib, Sound Blaster, or even Roland MT-32 music. Its stunning, interactive, and recorded live.</p> <p>Return to Monkey Island may not be the art style you wanted or were expecting but it&rsquo;s the art style I wanted.</p> <p>When I started this game my biggest fear was Disney wouldn&rsquo;t let me make the game I wanted to make but they have been wonderful to work with.</p> <p>It&rsquo;s ironic that the people who don&rsquo;t want me to make the game I want to make are some of the hard core Monkey Island fans. And that is what makes me sad about all the comments.</p> <p>Return to Monkey Island is an incredible rollercoaster. Get on and have some fun or stomp out of the amusement park because it&rsquo;s not exactly the rollercoaster you wanted.</p> <p>I hope you&rsquo;ll jump on with the rest of us.</p> <p><a href="https://grumpygamer.com/if_i_made_another_monkeyisland">*Seventeen</a> - The game would be the game I wanted to make. I don&rsquo;t want the pressure of trying to make the game you want me to make. I would vanish for long periods of time. I would not constantly keep you up-to-date or be feeding the hype-machine. I&rsquo;d show stuff that excited me or amused me. If you let me do those things, you will love the game. That, I promise.</p> Return to Monkey Island https://grumpygamer.com/return_to_monkey_island/ Mon, 04 Apr 2022 00:00:00 +0000 https://grumpygamer.com/return_to_monkey_island/ <p>I felt bad about the April Fools&rsquo; joke so over the weekend I whipped up the game so no one was disappointed.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/sahskKAxSCY?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> April Fools' 2022 https://grumpygamer.com/april_fools_2022/ Fri, 01 Apr 2022 00:00:00 +0000 https://grumpygamer.com/april_fools_2022/ <p>For 18 years the Grumpy Gamer blog has been April Fools&rsquo; day free because it&rsquo;s a stupid tradition.</p> <p>So to mix things up a little I&rsquo;m taking this opportunity to announce I&rsquo;ve decided to make another Monkey Island.</p> 2021 https://grumpygamer.com/the_future/ Sat, 01 Jan 2022 00:00:00 +0000 https://grumpygamer.com/the_future/ <p>Well, it&rsquo;s 2022 and everything is turning out exactly as I predicted back when I was 7. Self-driving cars, space stations, the internet. Nailed it.</p> <p>Favorite TV show of 2021 was Only Murders in the Building.</p> <p>Favorite game of 2021 was Loop Heroes.</p> <p>Favorite book of 2021 was Einstein&rsquo;s Fridge.</p> <p>Favorite rediscovered joy of 2021 was reading physical books.</p> <p>Favorite movie of 2021 was Dune.</p> <p>Favorite time waster of 2021 was watching physics videos on YouTube.</p> <p>Least favorite movie of 2021 was anything with f**king superheroes.</p> <p>Favorite pandemic of 2021 was Covid-19 (three years running).</p> <p>See you in an exciting 2022 where everyone will be nice and respectful and personal agendas are put aside for the greater good and we all come together and save the planet.</p> <p>Either that or a horrific dystopian post-apocalyptic world where we hunt each other for food.</p> <p>2022 could go either way.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/future.jpg"> Lego Report 7 https://grumpygamer.com/lego7/ Mon, 27 Dec 2021 00:00:00 +0000 https://grumpygamer.com/lego7/ <p>Placing the last piece.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego13.jpg"> <p>And then disaster stuck while moving it.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego14.jpg"> <p>Most of the debris is still assembled large chucks, so it shouldn&rsquo;t take long to fix. I&rsquo;m sure this happened to the real coliseum.</p> Lego Report 8 https://grumpygamer.com/lego8/ Mon, 27 Dec 2021 00:00:00 +0000 https://grumpygamer.com/lego8/ <p>That didn&rsquo;t take long to fix and rebuild. I don&rsquo;t know what is taking the city of Rome so long.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego15.jpg"> <p>Start to finish, it took just over a year. I blame Limited Run Games.</p> The Twelve Days of Crunch Time Again https://grumpygamer.com/12_days_of_crunch_time_yet_again/ Sun, 26 Dec 2021 00:00:00 +0000 https://grumpygamer.com/12_days_of_crunch_time_yet_again/ <p>Holiday repost!</p> <p>Clayton and I did this back in Dec of 2004. Interesting how much hasn&rsquo;t changed. We&rsquo;d have more &ldquo;male&rdquo; spouses now, something about loot crates and IAP, kissing up to steamers, and maybe change the last verse to be more &ldquo;indie&rdquo;, but its shockingly accurate years later.</p> <h2 id="the-twelve-days-of-crunch-time">The Twelve Days of Crunch Time</h2> <p>A poem by Gilbert and Kauzlaric</p> <p>On the twelfth day of crunch time, My project gave to me&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day12-erk.gif"> <p>Twelve cents in royalties,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day11-swi.gif"> <p>Eleven kiss-ass previews,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day10-ztq.gif"> <p>Ten nerdy testers,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day9-bvu.gif"> <p>Nine patent lawsuits,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day8-cis.gif"> <p>Eight unplanned for features,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day7-vya.gif"> <p>Seven frames a second,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day6-akt.gif"> <p>Six angry spouses,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day5-zui.gif"> <p>Five focus groups!</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day4-oqm.gif"> <p>Four unstable hacks,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day3-mbp.gif"> <p>Three days without sleep,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day2-ilq.gif"> <p>Two surly artists,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day1-jcy.gif"> <p>and a crappy publishing deal.</p> Lego Report 6 https://grumpygamer.com/lego6/ Wed, 22 Dec 2021 00:00:00 +0000 https://grumpygamer.com/lego6/ <p>We should be done in time for the upcoming gladiator &lsquo;22 season. Tickets are still available. I hear Ferocianus Maximus is going to do well this year.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego12.jpg"> Lego Report 5 https://grumpygamer.com/lego5/ Sun, 12 Dec 2021 00:00:00 +0000 https://grumpygamer.com/lego5/ <p>After 7000 signatures, some progress. I am getting help.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego11.jpg"> 7000 Signatures later... https://grumpygamer.com/lrg_signing/ Fri, 19 Nov 2021 00:00:00 +0000 https://grumpygamer.com/lrg_signing/ <p>Last month I finally got done signing over 7000 cards for the Limited Run Games physical release of Monkey Island.</p> <p>They asked if I would hand sign cards to go in the boxes. Sure, how many can that be? 500? 800?</p> <p>Nope.</p> <p>They had over 7000 preorders and I signed every one of those cards. If you bought one of the LRG Monkey Island boxes you won&rsquo;t get a Certificate of Authenticity with a crappy machine printed signature.</p> <p>I signed them all.</p> <p>I even left a few special messages on the backs.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/signing.jpg"> How to make your own game engine https://grumpygamer.com/make_your_own_game_engine/ Fri, 12 Nov 2021 00:00:00 +0000 https://grumpygamer.com/make_your_own_game_engine/ <p>At first I was going to just copy/paste his article and call it my own then I realized that is kind of a dick move.</p> <p><a href="https://medium.com/@tglaiel/how-to-make-your-own-game-engine-and-why-ddf0acbc5f3">How to make your own game engine (and why) by Tyler Glaiel</a></p> <p>Well worth a read.</p> <p>In my 35+ year career in games I&rsquo;ve never used an off the shelf game engine. Starting with SCUMM I&rsquo;ve always build my own. I love the power and the freedom. It&rsquo;s hard work and probably cost me more but I love making game engines and writing compilers. It&rsquo;s a skill you slowly acquire and after the 5th one it&rsquo;s not a daunting task anymore.</p> <p>I ran into a programmer at an indie meet-up and she told me this story about how another programmer at her company brought up building their own game engine. Someone responded with &ldquo;What! Are you Ron Gilbert!&rdquo;</p> <p>I wear that as a badge of honor. :-)</p> I'm tired of dystopia fiction https://grumpygamer.com/dystopia/ Thu, 11 Nov 2021 00:00:00 +0000 https://grumpygamer.com/dystopia/ <p>Yes, I&rsquo;m tired of dystopia fiction. A sentiment I probably didn&rsquo;t need to repeat because it&rsquo;s in the title, but I really am. Nothing points this out more to me than Star Trek.</p> <p>In a Star Trek vs. Star Wars internet argument I am firmly in the Star Trek camp and this is with eight years of working at <del>The Death Star</del> Lucasfilm (I kid, working at Lucasfilm was magical but I&rsquo;m still a Star Trek person).</p> <p>Star Trek used be be about hope. Even in the dark days of the 1960&rsquo;s cold war you could see hope for our future in Star Trek. They mange to comment on our then messed up world while being optimistic about the future. It&rsquo;s a lesson current Star Trek could learn from.</p> <p>Next Generation followed in that tradition. There was conflict but also hope in what the future could be.</p> <p>Voyager was still about hope and the ideals of the federation.</p> <p>Deep Space Nine started out that way and then it became a serial about war.</p> <p>Enterprise also started out in a hopeful future, then it became a show about war and dystopia.</p> <p>Years later Picard showed up. How I wanted to like this show, but it&rsquo;s a bleak show in a bleak future.</p> <p>And Discovery. WTF! Yes, they saved the future federation but it&rsquo;s a bleak dystopia world I don&rsquo;t want to relax in after a day of hard work.</p> <p>And I won&rsquo;t get into the bad writing where every problem on Discovery is solved by deus ex machina or some mind-bending quantum physic problem being solved by some crew member in 30 minutes.</p> <p>There is a lot of long overdue cast diversity in Discovery. They get some kudos for that. Just not for their writing.</p> <p>I am holding out hope for The Captain Pike Show where they claim to get back to the roots of Star Trek. We&rsquo;ll see.</p> <p>Lower Decks is great! It&rsquo;s funny and takes place in the Next Generation world.</p> <p>Now comes the worst offender of them all: Star Trek Prodigy.</p> <p>Prodigy is a show on Nickelodeon for kids but it takes place in a dark dystopia world. Did I mention this is for kids? Seriously? The first 45 minutes is fighting and killing and people trapped in a forced labor camp. Did I mention this is for kids?</p> <p>Maybe it gets better after the first episode (which I didn&rsquo;t even make it through).</p> <p>Prodigy should have been set on a Next Generation Enterprise-like ship. Next Generation had families on board and would have been a perfect setting for Prodigy. Smart and precocious kids getting into trouble and saving the day.</p> <p>But in the optimistic future that we owe our kids.</p> <p>P.S. No matter how bad these Star Trek shows get, I will still watch them all.</p> <p>P.S.S. The Orville isn&rsquo;t &ldquo;Star Trek&rdquo; but it&rsquo;s a darn good &ldquo;Star Trek&rdquo; show. I hope it returns, but I don&rsquo;t have my hopes up. Stupid Pandemic.</p> Twitter https://grumpygamer.com/twitter_part2/ Wed, 10 Nov 2021 00:00:00 +0000 https://grumpygamer.com/twitter_part2/ <p>I&rsquo;ve decided to go back on Twitter but with a few changes:</p> <ol> <li>I unfollowed everyone.</li> <li>I will only post once (or maybe twice) a week.</li> <li>I only check twitter once every 1 or 2 days.</li> <li>I will only post positive things and mostly about game dev.</li> <li>I will not add rubbish to the Twitter dumpster fire.</li> </ol> <p>I used to follow 200+ people and now I follow 0. I apologize if I unfollowed you. It doesn&rsquo;t mean I love you any less. I might follow people at some point, but only friendly positive people.</p> <p>I left Twitter because it was doing serious mental damage to me.</p> <ol start="6"> <li>Maybe, just maybe this will help make twitter a better place.</li> </ol> Happy Birthday ScummVM https://grumpygamer.com/scummvm_20/ Sun, 10 Oct 2021 00:00:00 +0000 https://grumpygamer.com/scummvm_20/ <p>I wrote Scumm and I don&rsquo;t think I could do what they did.</p> <p>Respect.</p> <p><a href="https://www.scummvm.org/news/20211009/">Happy Birthday ScummVM</a></p> Favorite Puzzle https://grumpygamer.com/favorite_puzzle/ Fri, 08 Oct 2021 00:00:00 +0000 https://grumpygamer.com/favorite_puzzle/ <p>Chatting with a game designer friend the other day and we were bemoaning the state of adventure game puzzles and it got us talking. So I was wondering what is your favorite puzzle in Thimbleweed Park, Maniac Mansion, Monkey Island or any other classic point-and-click game?</p> <p>Do you like head scratchers? What makes a puzzle good? What makes a puzzle hard? What makes a puzzle just busy work? Is that bad?</p> Commodore Assemblers https://grumpygamer.com/commodore_asm/ Sat, 12 Jun 2021 00:00:00 +0000 https://grumpygamer.com/commodore_asm/ <p>This series on <a href="https://www.pagetable.com/">Commodore&rsquo;s Assemblers</a> from pagetable.com is giving me flashbacks to hacking out <a href="https://en.wikipedia.org/wiki/Graphics_BASIC">GraphicsBASIC</a> in my childhood bedroom. Good times.</p> Guild of Dungeoneering https://grumpygamer.com/dungeoneering/ Mon, 07 Jun 2021 00:00:00 +0000 https://grumpygamer.com/dungeoneering/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/kF0eFotat2k?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>I loved this game&hellip; all I want is for it to be on the Switch.</p> Judith Lucero https://grumpygamer.com/judith_lucero/ Sun, 02 May 2021 00:00:00 +0000 https://grumpygamer.com/judith_lucero/ <p>It is with great sadness that I found out that Judith Lucero passed away.</p> <p>Judith was the lead tester on Monkey Island, Monkey Island 2 as well as a vast number of other Lucasfilm games.</p> <p>She was the one who taught me the importance of testers and how they are a critical gear in the machinery that makes up making a game. Testers aren&rsquo;t just unit tests in human form. They have a unique perspective on the game and poke not only at the bugs but also the design and the thought process of playing a game.</p> <p>It&rsquo;s a lesson I have never forgot and never will and I owe most of that to Judith.</p> <p>Here is a email Judith and MI2 testers sent me. It goes on for 5 pages. Some of the suggestions were implemented.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/MI2_testers.jpg"> <p>&ldquo;D&rdquo; bugs were design bugs.</p> Apple and Privacy https://grumpygamer.com/apple_privacy/ Wed, 28 Apr 2021 00:00:00 +0000 https://grumpygamer.com/apple_privacy/ <p>If Apple really cared about iOS privacy they would give the user to ability to block any app from reaching the internet. A lot of the iOS apps I used have no need to ping the internet but they all do to gather metrics and do who-knows-what.</p> <p>Rather than create a complex and unenforceable privacy policy Apple should just let users block the app from using the internet. Or require a certificate to access the internet and don&rsquo;t allow it if the fundamental use of the app isn&rsquo;t to connect to the internet. There is no need for single player games to hit the internet all the time.</p> <p>I use Little Snitch on the Mac and everything f**king program tries to connect to the internet. I block them all and only a handful fail so, yeah, they don&rsquo;t need to.</p> <p>If Apple really cared about my privacy they would do this.</p> April Fools' 2021 https://grumpygamer.com/april_fools_2021/ Thu, 01 Apr 2021 00:00:00 +0000 https://grumpygamer.com/april_fools_2021/ <p>For going on 17 years the Grumpy Gamer blog has been and always will be April Fools&rsquo; day free.</p> <p>Stay strong.</p> Today's Sudoku https://grumpygamer.com/sudoku58/ Thu, 11 Mar 2021 00:00:00 +0000 https://grumpygamer.com/sudoku58/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/sudoku58.png"> Apple? https://grumpygamer.com/sigh_apple/ Thu, 18 Feb 2021 00:00:00 +0000 https://grumpygamer.com/sigh_apple/ <p><a href="https://sixcolors.com/offsite/2021/02/apple-makes-a-strategic-retreat/">Jason Snell is confusing pride with arrogance</a></p> <p>I have largely given up on Apple. Once one of it&rsquo;s stanchest supporters I no longer &ldquo;believe&rdquo; (I&rsquo;m also rewatching X-Files). Apple has a massive disrespect for its customers. They cram things down our throats and call it &ldquo;security&rdquo;. P.S. I would use the word &ldquo;control&rdquo;.</p> <p>The App Store is a f-ing mess. Filled with scams and crap but Apple chooses to come after legit devs for&hellip; for&hellip; I don&rsquo;t know&hellip; but let&rsquo;s cancel their accounts with no warning or recourse. Is it so hard to send an email?</p> <p>My $160 Apple Airpods stopped connecting to my Mac. The error: &ldquo;Can&rsquo;t Connect&rdquo;. Ok, so why! How about a little information! It&rsquo;s due to arrogance. Apple products &ldquo;just work&rdquo; so there is no need for an error message.</p> <p>For months now iPhotos won&rsquo;t download new photos from the Photosteam? Why? No error. No information. I used to be able to click a button and import photos directly from the phone&hellip; that is now gone? Why? Because Apple products &ldquo;just work&rdquo;. Dear Apple: You suck at the cloud.</p> <p>My next phone won&rsquo;t be a iPhone.</p> <p>Apple has locked down the Mac is such hamfisted way that it&rsquo;s getting hard to be a developer (let alone a user) on the Mac. Admit that your heart was in the right place but you botched the implementation of the sandbox and come up with some that protects people and also respects us. Ben Franklin&rsquo;s quote works for operating systems just as well: &ldquo;Those who desire to give up freedom in order to gain security will not have, nor do they deserve, either one.&rdquo;</p> <p>I&rsquo;m really getting tried of Apple apologists who are basically the MAGA/Fox News equivalents for Apple. Any criticism is quickly countered with praise or excuses. Any critique of Apple is followed with awe over some new product. Apple is never going to fix #1 if you keep praising #2. Why would they?</p> <p>Please explain to me why the wealthiest company in the world still has the same open bugs year after year after year. Hire some more programmers&hellip; it&rsquo;s not rocket science.</p> <p>My day-to-day home use as moved to Linux&hellip; but Linux is also a mess. Why isn&rsquo;t there a good high quality IDE for C++ on Linux? I&rsquo;ve tried them all&hellip; WTF. Just be as good as Xcode or VS (it&rsquo;s not a high bar).</p> <p>This might be good time to give up on computers. Cabin in the woods, scruffy beard, flannel shirt. Bonus points if my new best friend is a grizzly bear.</p> <p>P.S. I promise my next post will be about Lego. That is assuming Lego doesn&rsquo;t add DRM&hellip; you know&hellip; for my protection</p> Good Riddance https://grumpygamer.com/01202010/ Wed, 20 Jan 2021 00:00:00 +0000 https://grumpygamer.com/01202010/ <p>Farside image removed due to DCMA takedown notice*</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/takedown.png"> <ul> <li>Yeah, seriously. I&rsquo;ve unsubscribed to the Farside RRS feed.</li> </ul> Lego Report 4 https://grumpygamer.com/lego4/ Mon, 04 Jan 2021 00:00:00 +0000 https://grumpygamer.com/lego4/ <p>Making progress. I expected to be farther along but New Years has taken more time away than I wanted and tomorrow it&rsquo;s back to work.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego7.jpg"> <p>This thing is way over engineered. Lost of small sub-pieces like this:</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego9.jpg"> <p>But the more I put it together the more I realize that it&rsquo;s actually engineered for &ldquo;fun&rdquo;. The whole thing could have been constructed a lot simpler, look just as good (most of what I&rsquo;m building is completely hidden) but wouldn&rsquo;t be as much fun to put together.</p> <p>I also wonder if there was some Lego marketing person pushing the designers to &ldquo;add more pieces&rdquo; so they could cross 9000.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego8.jpg"> <p>I&rsquo;m done with box I, starting box II.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego10.jpg"> Monkey Island with Various Sound Cards https://grumpygamer.com/monkey_sound/ Sun, 03 Jan 2021 00:00:00 +0000 https://grumpygamer.com/monkey_sound/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/Fr-84mjV3CI?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> Lego Report 3 https://grumpygamer.com/lego3/ Tue, 29 Dec 2020 00:00:00 +0000 https://grumpygamer.com/lego3/ <p>I didn&rsquo;t get as much done today as I wanted due to having to &ldquo;work&rdquo;. I put &ldquo;work&rdquo; in quotes because I make games and is that really work? My college adviser didn&rsquo;t think it was.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego6.jpg"> <p>I&rsquo;m also assuming, much like Ikea furniture, it&rsquo;s ok to have left over parts. I&rsquo;m sure the builders of the ancient coliseum had this same issue. A couple of left over 10 ton blocks.</p> Lego Report 2 https://grumpygamer.com/lego2/ Sun, 27 Dec 2020 00:00:00 +0000 https://grumpygamer.com/lego2/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego5.jpg"> <p>Almost done. Much like making a game, it&rsquo;s just polish from here on out.</p> Lego Report 1 https://grumpygamer.com/lego1/ Sat, 26 Dec 2020 00:00:00 +0000 https://grumpygamer.com/lego1/ <p>The lego kit is packaged in four different boxes that need to be completed in order. I was relived to see this. It keeps the 9000+ piece set from being completely overwhelming.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego4.jpg"> <p>The pieces come in numbered bags and each step of the instructions tell you what bag you&rsquo;ll need.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego3.jpg"> <p>Wish me luck.</p> Lego https://grumpygamer.com/lego/ Fri, 25 Dec 2020 00:00:00 +0000 https://grumpygamer.com/lego/ <p>Look what I bought myself for xmas:</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lego_spqr1.jpg"> <p>It&rsquo;s Lego&rsquo;s largest set.</p> <p>As a kid I played with and build Lego&rsquo;s non-stop. I&rsquo;m sure it&rsquo;s like riding a bike.</p> <p>I&rsquo;ll post regular picture of my progress.</p> Pop Quiz #1 https://grumpygamer.com/popquiz1/ Sat, 19 Dec 2020 00:00:00 +0000 https://grumpygamer.com/popquiz1/ <p>Which of these is the newer version?</p> <p><code>1.9.8</code> or <code>1.9.13</code></p> AppVeyor CI https://grumpygamer.com/appveyor/ Sat, 12 Dec 2020 00:00:00 +0000 https://grumpygamer.com/appveyor/ <p>I <a href="https://www.grumpygamer.com/azure">posted before</a> over my frustrations with Microsoft Azure taking so long to do a Windows+Mac build. The frustration reached a boiling point last week when for no reason the Windows build started generating compile errors in <code>stdlib</code> headers. I reverted back to the last build that compiled but the errors continued.</p> <p>I&rsquo;ve got to assume something changed in the Azure Windows VM, but there was no mention of it. Maybe it was just a temp glitch.</p> <p>I decided the time was right to get the game building on <a href="https://www.appveyor.com/">AppVeyor</a> if for nothing more than just having a backup.</p> <p>AppVeyor has some (how to I say this kindly) horrific documentation.</p> <p>It took me a day to cobble together snippets posted by others on the world wide web but it&rsquo;s finally working (now I just need to get Linux compiling).</p> <p>The good news is AppVeyor builds both platforms in around 5 mins (running 2 parallel jobs like Azure was).</p> <p>Big win over Azure.</p> <p>What&rsquo;s interesting is the Mac builds twice as fast as Windows. I don&rsquo;t know if this is a Visual Studio vs. XCode thing or just the VMs they are running on.</p> <p>I thought I&rsquo;d post my <code>appveyor.yml</code> so others can benefit from my pain. I couldn&rsquo;t get <code>$(configuration)</code> (and the like) to work, so I ended by hand pasting values like <code>Release</code>.</p> <p>If you&rsquo;re a AppVeyor expert, I&rsquo;m open to suggests on making it better.</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">version</span>: <span style="color:#ae81ff">1.0</span><span style="color:#ae81ff">.{build}</span> </span></span><span style="display:flex;"><span><span style="color:#f92672">image</span>: </span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">macos-mojave</span> </span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">Visual Studio 2019</span> </span></span><span style="display:flex;"><span><span style="color:#f92672">platform</span>: </span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">x64</span> </span></span><span style="display:flex;"><span><span style="color:#f92672">configuration</span>: </span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">Release</span> </span></span><span style="display:flex;"><span><span style="color:#f92672">environment</span>: </span></span><span style="display:flex;"><span> <span style="color:#f92672">game_name</span>: <span style="color:#ae81ff">MyGameName</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#f92672">matrix</span>: </span></span><span style="display:flex;"><span> <span style="color:#f92672">fast_finish</span>: <span style="color:#66d9ef">true</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#f92672">for</span>: </span></span><span style="display:flex;"><span> - </span></span><span style="display:flex;"><span> <span style="color:#f92672">matrix</span>: </span></span><span style="display:flex;"><span> <span style="color:#f92672">only</span>: </span></span><span style="display:flex;"><span> - <span style="color:#f92672">image</span>: <span style="color:#ae81ff">macos-mojave</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">artifacts</span>: </span></span><span style="display:flex;"><span> - <span style="color:#f92672">path</span>: <span style="color:#ae81ff">_Build/XCode/build/Release</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">name</span>: <span style="color:#ae81ff">$(game_name)-mac-Release</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">type</span>: <span style="color:#ae81ff">zip</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">deploy</span>: </span></span><span style="display:flex;"><span> <span style="color:#f92672">provider</span>: <span style="color:#ae81ff">S3</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">access_key_id</span>: [<span style="color:#ae81ff">REDACTED]</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">secret_access_key</span>: </span></span><span style="display:flex;"><span> <span style="color:#f92672">secure</span>: [<span style="color:#ae81ff">REDACTED]</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">bucket</span>: [<span style="color:#ae81ff">REDACTED]</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">region</span>: <span style="color:#ae81ff">us-west-2</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">unzip</span>: <span style="color:#66d9ef">true</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">set_public</span>: <span style="color:#66d9ef">false</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">folder</span>: <span style="color:#ae81ff">appveyor/$(game_name)/Mac</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">artifact</span>: <span style="color:#ae81ff">$(game_name)-mac-Release</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">before_build</span>: </span></span><span style="display:flex;"><span> - <span style="color:#f92672">sh</span>: <span style="color:#ae81ff">Bin/cmake.sh --xcode</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">build_script</span>: </span></span><span style="display:flex;"><span> - <span style="color:#f92672">sh</span>: <span style="color:#ae81ff">cmake --build _Build/XCode --config Release</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> - </span></span><span style="display:flex;"><span> <span style="color:#f92672">matrix</span>: </span></span><span style="display:flex;"><span> <span style="color:#f92672">only</span>: </span></span><span style="display:flex;"><span> - <span style="color:#f92672">image</span>: <span style="color:#ae81ff">Visual Studio 2019</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">artifacts</span>: </span></span><span style="display:flex;"><span> - <span style="color:#f92672">path</span>: <span style="color:#ae81ff">_Build/VS16/Release</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">name</span>: <span style="color:#ae81ff">$(game_name)-win-Release</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">type</span>: <span style="color:#ae81ff">zip</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">deploy</span>: </span></span><span style="display:flex;"><span> <span style="color:#f92672">provider</span>: <span style="color:#ae81ff">S3</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">access_key_id</span>: [<span style="color:#ae81ff">REDACTED]</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">secret_access_key</span>: </span></span><span style="display:flex;"><span> <span style="color:#f92672">secure</span>: [<span style="color:#ae81ff">REDACTED]</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">bucket</span>: [<span style="color:#ae81ff">REDACTED]</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">region</span>: <span style="color:#ae81ff">us-west-2</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">unzip</span>: <span style="color:#66d9ef">true</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">set_public</span>: <span style="color:#66d9ef">false</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">folder</span>: <span style="color:#ae81ff">appveyor/$(game_name)/Windows</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">artifact</span>: <span style="color:#ae81ff">$(game_name)-win-Release</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">before_build</span>: </span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">cmake -G &#34;Visual Studio 16 2019&#34; -A x64 -S . -B &#34;_Build/VS16&#34;</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">build</span>: </span></span><span style="display:flex;"><span> <span style="color:#f92672">project</span>: <span style="color:#ae81ff">_Build/VS16/$(game_name).sln</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">parallel</span>: <span style="color:#66d9ef">true</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">verbosity</span>: <span style="color:#ae81ff">minimal</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#f92672">notifications</span>: </span></span><span style="display:flex;"><span> - <span style="color:#f92672">provider</span>: <span style="color:#ae81ff">Webhook</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">url</span>: <span style="color:#ae81ff">https://[REDACTED].php?build_status_appveyor=Succeeded</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">method</span>: <span style="color:#ae81ff">GET</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">on_build_success</span>: <span style="color:#66d9ef">true</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">on_build_failure</span>: <span style="color:#66d9ef">false</span> </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span> - <span style="color:#f92672">provider</span>: <span style="color:#ae81ff">Webhook</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">url</span>: <span style="color:#ae81ff">https://[REDACTED].php?build_status_appveyor=Failed</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">method</span>: <span style="color:#ae81ff">GET</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">on_build_success</span>: <span style="color:#66d9ef">false</span> </span></span><span style="display:flex;"><span> <span style="color:#f92672">on_build_failure</span>: <span style="color:#66d9ef">true</span> </span></span></code></pre></div> Denied https://grumpygamer.com/oh_please_let_this_finally_be_over/ Wed, 09 Dec 2020 00:00:00 +0000 https://grumpygamer.com/oh_please_let_this_finally_be_over/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/court.jpg"> Polls https://grumpygamer.com/polls/ Mon, 07 Dec 2020 00:00:00 +0000 https://grumpygamer.com/polls/ <p>Two side-by-side articles in my news reader from the same site.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/polls.png"> Guybrush Fact vs Fiction https://grumpygamer.com/guybrush_fact_fiction/ Sat, 28 Nov 2020 00:00:00 +0000 https://grumpygamer.com/guybrush_fact_fiction/ <p>I remember the first time I read this I just chuckled. That was 10 years ago and the myth keeps going. It&rsquo;s been printed (well, web printed) so many times that it is slowly going to become fact and I want to set the world straight.</p> <h2 id="what-is-true">What is true</h2> <p>During the early days of Monkey Island I didn&rsquo;t have a name for Guybrush. We just called him the &ldquo;guy&rdquo;.</p> <p>When Steve Purcell was doing concepts for &ldquo;the guy&rdquo; he was doing them in <a href="https://en.wikipedia.org/wiki/Deluxe_Paint">dpaint</a>. In <a href="https://en.wikipedia.org/wiki/Deluxe_Paint">dpaint</a> you could select a section of the screen called a &ldquo;brush&rdquo; and save it out.</p> <p>It was these files I got from Steve. I saw the file names so many times that the name &ldquo;guybrush&rdquo; stuck.</p> <h2 id="what-is-not-true">What is NOT true</h2> <p>I have seen multiple places recount this story (<a href="https://www.thegamer.com/monkey-island-series-facts-trivia/">most recently</a>) but they get one fact wrong.</p> <p>The file I would get from Steve was called <code>guybrush.lbm</code> not <code>guy.brush</code>. All artwork on Monkey Island was done on the PC under MSDOS. MSDOS had a limit of three letters for filename extensions. It could not have been <code>.brush</code>. One of three things is going wrong here.</p> <ol> <li>People are forgetting or never knew that MSDOS had a three letter file extension limit and the files dpaint saved out where <code>.lbm</code> or <code>.bbm</code> files.</li> </ol> <p>or</p> <ol start="2"> <li>The Amiga allowed longer filename extensions and people assumed we did art on the Amiga. We did not. It was all done on MSDOS using dpaint or dpaint animator.</li> </ol> <p>or</p> <ol start="3"> <li>It makes a better story and screw the facts. Facts are so 2015.</li> </ol> <p>If you read this incorrect fact anywhere, please direct them to this link.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/duty_calls.png"> <p><strong>[1]</strong> For Monkey Island 1 all the art was gone in dpaint on MSDOS. For Monkey Island 2, the backgrounds were scanned on a Mac using Photoshop 1.0 and then moved to a PC and finished on dpaint.</p> MI Game History Stream https://grumpygamer.com/monkey_island_game_history/ Wed, 25 Nov 2020 00:00:00 +0000 https://grumpygamer.com/monkey_island_game_history/ <p>Thanks to everyone who showed up. If you missed it, here it is&hellip;</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ikaqus5_QIg?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> Cloud compiling with Azure https://grumpygamer.com/azure/ Fri, 20 Nov 2020 00:00:00 +0000 https://grumpygamer.com/azure/ <p>I use Microsoft&rsquo;s Azure to do cloud compiles of the c++ engine for my new game. For Thimbleweed Park builds were hand compiled which took a lot of time and was very error prone. More than once I made DEBUG builds rather than RELEASE builds or forgot to change some debug setting back. It&rsquo;s nice to have builds compiled in the cloud and know they are from a pristine environment each time. I also don&rsquo;t have to keep a Windows machine (or a VM) around just to do a build.</p> <p>Cloud builds are also critical for my (slow) move off the Mac to Linux (more on that later).</p> <p>To compile the Windows build on Azure takes between 6 and 15 minutes which is crazy since I can compile the game locally in 1-2 minutes. Same with the Mac build. For me to get a new playtest or (more importantly) a dev engine build can take 15-30 minutes.</p> <p>While waiting on compiles to fix a critical bug, I can&rsquo;t help but imagine Azure is running hundreds of jobs on some pour Windows machine stuffed in the corner of Steve Ballmer&rsquo;s old and forgotten office. I know this isn&rsquo;t true, but it&rsquo;s what it feels like when I desperately need a new engine.</p> <p>I might give AppVeyor another try now they can do Mac builds. The <code>.yml</code> files for Azure and AppVeyor are annoyingly different so I&rsquo;ve resisted doing a compile speed run-off.</p> <p>On Azure you can pay for 2 jobs which does allow the Mac and Windows builds to compile concurrently, but what I really want is to run on less overloaded machines. It&rsquo;s not worth paying for a dedicated machine due to it being idle 99% of the time. Self-hosting is another option but it defeats the purpose of wanting to make maintaining machines &ldquo;someone else&rsquo;s problem&rdquo;.</p> <p>Ideally I would be able to get builds in less than 5 minutes.</p> <p>Bitch. Bitch. Bitch.</p> Calm https://grumpygamer.com/calm_2020/ Sat, 07 Nov 2020 00:00:00 +0000 https://grumpygamer.com/calm_2020/ <p>For the first time in four years I am slowly remembering a feeling known as calm. I look forward to Jan 21st when I can read the morning news and not feel a sense of dread.</p> <p>We now have two+ months of a narcissist ranting, blaming, and of course suing. Oh, he also has nukes.</p> <p>What was I saying about calm? Never mind that.</p> Current Status https://grumpygamer.com/1092fb6ef01aefda7480fae/ Fri, 16 Oct 2020 00:00:00 +0000 https://grumpygamer.com/1092fb6ef01aefda7480fae/ <p><code>git switch -</code> is my new favorite command.</p> Monkey Island Game History https://grumpygamer.com/mi_game_history_stream/ Thu, 15 Oct 2020 00:00:00 +0000 https://grumpygamer.com/mi_game_history_stream/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/game_history.jpg"> <p>The <a href="https://gamehistory.org/">Video Game History Foundation</a> is working to save the history of the making of video games.</p> <p>On Oct 30th they are doing a live stream <a href="https://www.eventbrite.com/e/the-secrets-of-monkey-island-30th-anniversary-livestream-tickets-124486302883">special event to help raise money</a> and I&rsquo;ll be a guest talking about the making of Monkey Island where you can ask me questions (as long as it&rsquo;s not about the secret because after 30 years I&rsquo;ve completely forgotten what it was).</p> Happy Talk Like A Pirate Day https://grumpygamer.com/talk_like_pirate_2020/ Sat, 19 Sep 2020 00:00:00 +0000 https://grumpygamer.com/talk_like_pirate_2020/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/takedown.png"> Ads https://grumpygamer.com/ads/ Wed, 16 Sep 2020 00:00:00 +0000 https://grumpygamer.com/ads/ <p><a href="https://www.cnn.com/2020/09/16/tech/att-wireless-advertising-offset/index.html">Some marking people just don&rsquo;t understand</a> that people hate ads not because they aren&rsquo;t targeted, they hate them because they are fucking ads.</p> <p>The only time I&rsquo;ve ever enjoyed ads are when I would read Byte magazine as a kid. That didn&rsquo;t mean everywhere I went I wanted to see ads for 16K of memory being as low as $795.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/byte_ad.jpg"> Delores Open Alpha/Beta Testing... https://grumpygamer.com/delores_linux_testing/ Sun, 13 Sep 2020 00:00:00 +0000 https://grumpygamer.com/delores_linux_testing/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/delores_dev.png"> <p>We&rsquo;ve started doing some open alpha/beta testing for Linux Delores. If you run Linux and are interested in helping out, visit the <a href="https://forums.thimbleweedpark.com/t/open-beta-testing/4482">Thimbleweed Park Forums Linux Test Topic</a></p> <p>Thanks!</p> Time Fly docs? https://grumpygamer.com/time_fly2/ Sun, 13 Sep 2020 00:00:00 +0000 https://grumpygamer.com/time_fly2/ <p>I went and looked through my old design notebooks and found these. I don&rsquo;t know if they are related to Time Fly or not. Some of the dates I used for &ldquo;present&rdquo; are 1990? That would have put it right before or during Monkey Island 1. I wish I would have put dates on my old design docs.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_20200729_110545.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_20200729_110530.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_20200729_110509.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_20200729_110448.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_20200729_110428.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_20200729_110404.jpg"> Time Fly https://grumpygamer.com/time_fly/ Sat, 12 Sep 2020 00:00:00 +0000 https://grumpygamer.com/time_fly/ <p>Noah recently sent me a photo of an old Lucasfilm Games design doc of mine. I don&rsquo;t know when I wrote this. After Maniac Mansion but probably before Monkey Island.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/aTimefly.jpg"> Dear Facebook https://grumpygamer.com/dear_facebook/ Tue, 08 Sep 2020 00:00:00 +0000 https://grumpygamer.com/dear_facebook/ <p>Dear Facebook:</p> <p>I am not on Facebook. Anyone on Facebook claiming to be Ron Gilbert and a game developer is impersonating me. It&rsquo;s frustrating because my friends think they are following me. They are not.</p> 30 years ago today... https://grumpygamer.com/thirty_years_ago/ Wed, 02 Sep 2020 00:00:00 +0000 https://grumpygamer.com/thirty_years_ago/ <p>Thirty years ago today I made the final gold masters for Monkey Island.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/floppies.jpg"> <p>Some notes about these.</p> <p>These are the final source backups I made when the game left test and the gold masters were sent off.</p> <p>They are labeled 1.1 because the game got bounced out of test during the final two weeks and so the version got bumped when it went back in.</p> <p>For the younger readers out there: These are not USB devices and you can&rsquo;t text your friends or watch TikTok videos on them. I know. Crazy.</p> <p><strong>UPDATE:</strong></p> <p>The day has come and gone and I didn&rsquo;t get a happy birthday card from Disney with the Monkey Island IP tucked inside. There is always next year. Fingers crossed. Maybe it because I don&rsquo;t subscribe to Disney+.</p> This is disappointing https://grumpygamer.com/disappointing/ Tue, 25 Aug 2020 00:00:00 +0000 https://grumpygamer.com/disappointing/ <p><a href="https://www.theverge.com/2020/8/24/21398868/nasa-asteroid-election-day-2018vp1-danger-hit-chance">Well, this is disappointing.</a></p> The Muse https://grumpygamer.com/the_muse/ Mon, 24 Aug 2020 00:00:00 +0000 https://grumpygamer.com/the_muse/ <p>&ldquo;The Muse visits during the act of creation, not before. Don&rsquo;t wait for her. Start alone.&rdquo; - Roger Ebert</p> <p>One of my favorite quotes and one I keep needing to remind myself of. No matter how blocked or stuck I am, if I just force myself to start writing or designing, it&rsquo;s not long before the ideas start flowing.</p> JSON https://grumpygamer.com/json/ Fri, 21 Aug 2020 00:00:00 +0000 https://grumpygamer.com/json/ <p>After posting the Delores code, I read a comment from someone who lambasted me for not using compliant JSON for the .wimpy and other data files.</p> <p>They are 100% right, I did not use compliant JSON for those or any of my JSON-like files.</p> <p>JSON was created by Doug Crockford, whom I worked with at Lucasfilm. Doug is a super smart guy and JSON is one of the best formats I&rsquo;ve ever seen. Fully compliant JSON is also a pain in the ass.</p> <p>Given that this was my engine, I decided to change it. For the record, my JSON reader can read compliant JSON just fine. With the right flags, it can also write fully compliant JSON.</p> <p>Here is how my JSON differs and the reason for those changes.</p> <ol> <li>Keys in a dictionary don&rsquo;t have the be quoted if they are simple alphanumerics. <code>a-zA-Z0-9_</code></li> </ol> <pre tabindex="0"><code>{ foo: 100 } </code></pre><ol start="2"> <li>Values that are simple alphanumerics don&rsquo;t need to be quoted.</li> </ol> <pre tabindex="0"><code>{ name: Delores } </code></pre><ol start="3"> <li>If a file doesn&rsquo;t start with a <code>{</code> or <code>[</code> then it is assumed to be a dictionary.</li> </ol> <pre tabindex="0"><code>foo: 100 </code></pre><p>The main reason for this change was for the Prefs.json file. I expect these to be edited by consumers and <code>{</code> <code>}</code> is hard to understand if you&rsquo;re not a techie person. I was seeing people add new keys after the closing <code>}</code></p> <pre tabindex="0"><code>{ foo: 100 } bar: 1 </code></pre><p>99% of my JSON files are dictionaries, so it seem fine to drop this requirement.</p> <ol start="4"> <li>Commas are optional and ignored.</li> </ol> <pre tabindex="0"><code>{ foo: 100 bar: 200 list: [ 1 2 3 &#34;four&#34; 5 6 ] } </code></pre><p>There is no syntactical reason for commas. If you need multiple items on one line, then you use them.</p> <pre tabindex="0"><code>{ foo: 100, bar: 200 } </code></pre><p>This is also OK. Commas don&rsquo;t matter</p> <pre tabindex="0"><code>foo:100,,,,,bar: 200 </code></pre><p>The only thing I don&rsquo;t like about my custom format (and the reason for the initial complaint) is they can&rsquo;t be loaded into any of the excellent JSON editors.</p> <p>That is true.</p> <p>I guess everyone needs to come around to my JSON format.</p> Raspberry Pi Update https://grumpygamer.com/rpi_2/ Thu, 20 Aug 2020 00:00:00 +0000 https://grumpygamer.com/rpi_2/ <p>Good news everyone&hellip; I got my microSD card and Plex installed!</p> <p>Bad news everyone&hellip; The Plex server is running. I can watch video from another computer, but I can&rsquo;t get my Amazon Fire TV to see the new Plex server. I used to run a Plex server on my Mac and everything worked fine with the Fire TV, but no-go on the Pi. I&rsquo;ll dig deeper next weekend.</p> Raspberry Pi https://grumpygamer.com/rpi/ Sun, 09 Aug 2020 00:00:00 +0000 https://grumpygamer.com/rpi/ <p>My latest weekend project. I&rsquo;m going to build a <a href="https://www.maketecheasier.com/create-plex-server-raspberry-pi/">Plex server</a> using a Raspberry Pi. I&rsquo;m tried of having to run Plex on my computer every time I want to watch something.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/rpi.jpg"> <p>I&rsquo;m always amazed they can sell these so cheap. The 11 year-old me&rsquo;s head would have exploded.</p> <p><strong>UPDATE:</strong> My plans have been thwarted by not owning a microSD card. I guess it will have to wait until next weekend.</p> Linux Password Manager https://grumpygamer.com/linux_password_manager/ Sun, 26 Jul 2020 00:00:00 +0000 https://grumpygamer.com/linux_password_manager/ <p>This isn&rsquo;t really about Linux password manager, it&rsquo;s more about password managers in general. It seems like everyone is going for &ldquo;cloud storage&rdquo; of my passwords. This is nuts. I know they &ldquo;claim&rdquo; they are fully encrypted and they don&rsquo;t have access to the passwords, but why should I trust them? These passwords are my life. It&rsquo;s crazy that this has become standard practice in the password manager world.</p> <p>I use 1Password version 6, because after that they went subscription with MY passwords stored in the cloud with a &ldquo;promise&rdquo; that they couldn&rsquo;t decrypt them. I can&rsquo;t get (or find where to get) 1password 6 for Linux.</p> <p>I might opt for one of the command line managers. I loose browser extensions, but honestly, those are probably way more insecure then cloud storage.</p> Linux First Post https://grumpygamer.com/linux_first_post/ Thu, 23 Jul 2020 00:00:00 +0000 https://grumpygamer.com/linux_first_post/ <p>Here is my first Grumpy Gamer post from my new Linux laptop!</p> <p>Installation basically went OK. There was some confusion because I don&rsquo;t want to dual boot into Windows, I want Windows gone gone gone from this laptop. I had to disable a thing call RST and turn some stuff off in the BIOS I don&rsquo;t understand, but in the end it&rsquo;s all working with a minimal amount of swearing.</p> <p>Two issues I see right away is I really miss Little Snitch. It&rsquo;s a great Mac firewall that monitors all out going internet connects by program and allows you to selectively block them for a given duration (with a nice UI including a map showing where in the world it&rsquo;s trying to connect to). If you&rsquo;ve never run with something like this, it&rsquo;s damn scary how many programs try and connect to the internet. Not sure if there is anything like it on Linux.</p> <p>I use One Password a lot. There is a Linux version, but it seems to only be available with their horrible subscription. I&rsquo;ll have to investigate more.</p> <h3 id="update-1">Update 1</h3> <p>I miss dropbox. That might be an issue for working the game as we rely on dropbox a lot. It&rsquo;s not that there aren&rsquo;t other services like it, it more that the entire team uses it and I can&rsquo;t make everyone switch. I might be stuck using the web interface.</p> <p>Slack won&rsquo;t run. It launches and then quits. I can use the web interface if I have to.</p> <p>I really miss the cmd key for copy/paste in the terminal. My laptop has one of those silly Windows keys, I want to remap that so it can copy/paste/undo across all apps.</p> <p>It&rsquo;s going to be at least a week before the machine &ldquo;feels&rdquo; right.</p> Linux https://grumpygamer.com/my_linux_laptop/ Wed, 22 Jul 2020 00:00:00 +0000 https://grumpygamer.com/my_linux_laptop/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/linux_laptop.jpg"> <p>My linux Laptop (Dell XPS 13) arrives today. I tried to order it from Dell, but ended up canceling the order twice. Every time I order something from a on-line store not named Amazon I&rsquo;m repeatably shocked at how bad it is. I eventually canceled both incorrect orders and just bought the same laptop from Amazon for the same price and it took 2 days to arrive, not the 9-15 days directly from Del. There is a reason Amazon is eating everyones lunch.</p> <p>Enough ranting about Dell. On a lot of levels, Amazon is also a crappy company in that they don&rsquo;t pay taxes, screw over Seattle, refuse employee attempts to unionize, etc, etc, etc. But they do know how to ship stuff and run a website. If I had 140 billion dollars I&rsquo;d sure as hell be super nice to my employees.</p> <p>I digress again&hellip;</p> <p>Anyway, my Linux laptop arrives today&hellip; wait it&rsquo;s not actually a Linux laptop, it&rsquo;s a Windows laptop because Dell doesn&rsquo;t make a Linux laptop with a 512GB SSD, so I had to buy a Windows one and will install Linux as soon as it arrives.</p> <p>My goal is to see how far I can get developing my new game on directly on Linux and not the Mac (I haven&rsquo;t developed on Windows in years). Can I ditch the Mac and go 100% Linux?</p> <p>For working on the &ldquo;game&rdquo;, this shouldn&rsquo;t be a problem once the engine runs on Linux. The few custom tools I use (Wimpy, for example) and all built from the same code the engine is, so once it&rsquo;s working under Linux, they should compile as well.</p> <p>The real issue is going to be developing the &ldquo;engine&rdquo;, which I spend most of my day doing. Writing C/C++ code in a nice text editor and compiling it isn&rsquo;t really the issue. It&rsquo;s mostly that I&rsquo;ve gotten very used to the visual debugging found in Xcode and Visual Studio.</p> <p>It seems that Linux IDEs are really behind in this. Once I get started I&rsquo;ll explore it deeper and I hope I&rsquo;m wrong.</p> <p>I&rsquo;ve been a full-time Mac user for 20 years but Apple seems to get more and more paranoid and authoritarian as time goes buy. I would love to move to Linux, but I don&rsquo;t know if I can without making a lot of productivity sacrifices.</p> <p>I&rsquo;m going to install <a href="https://ubuntubudgie.org/">Ubuntu Budgie</a> going solely on the fact that I like the looks. I&rsquo;ve resigned myself to installing Linux several times before I find something I like.</p> <p>We&rsquo;ll see&hellip; I have my finger crossed.</p> Masks https://grumpygamer.com/masks/ Mon, 20 Jul 2020 00:00:00 +0000 https://grumpygamer.com/masks/ <p>It really boggles my mind when people refuse to wear a mask*. These same people don&rsquo;t refused to wear pants because it violates their freedom of express or first amendment rights.</p> <p>These are the same idiots that gave us Trump. And yes, they are idiots.</p> <p>I do like that masks have become a fashion statement for some. When I&rsquo;m out and about, I&rsquo;m always on the lookout for great and creative masks.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/pacman-mask.jpg"> <p>*Legitimate medical reason aside, but I have yet to hear of one put forth by an actual doctor.</p> View out my window https://grumpygamer.com/view_window/ Fri, 17 Jul 2020 00:00:00 +0000 https://grumpygamer.com/view_window/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0245.jpg"> <p>The view out my window.</p> Red Shirt https://grumpygamer.com/3ccfce227f5ccdaf3745635/ Thu, 02 Jul 2020 00:00:00 +0000 https://grumpygamer.com/3ccfce227f5ccdaf3745635/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/Star-Trek-Mask.jpg"> <p><a href="https://laughingsquid.com/star-trek-redshirt-covid-19/">via Laughing Squid</a></p> The future is a shitty place... https://grumpygamer.com/1956fb68cd8e4810bc554d2/ Wed, 01 Jul 2020 00:00:00 +0000 https://grumpygamer.com/1956fb68cd8e4810bc554d2/ <p>&hellip;<a href="https://techcrunch.com/2020/07/01/bmw-wants-to-sell-you-subscriptions-to-your-cars-features/">it just got a little shittier</a></p> What the hell happened to Boing Boing? https://grumpygamer.com/2b51cf685635aaf29a87959/ Wed, 01 Jul 2020 00:00:00 +0000 https://grumpygamer.com/2b51cf685635aaf29a87959/ <p>They used to be a great counter culture site and now they are just a shopping channel. I&rsquo;m sure it makes them a lot of money, but they have lost all respect and authority in my eyes. They have joined the ranks of sell-outs. I&rsquo;m sure they all drive BMWs.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/boing2.png"> Static website converter? https://grumpygamer.com/static_converter/ Sun, 21 Jun 2020 00:00:00 +0000 https://grumpygamer.com/static_converter/ <p>Does anyone know a good tool that can convert a dynamic website into a static website?</p> <p>The Thimbleweed Park blog was built using PHP and a MongoDB database and it&rsquo;s quite complex. The website won&rsquo;t ever change and I like to turn it into a static site so I can host the files somewhere else and can shut down the server.</p> <p>Ideally it would be a tool that you just point at the url and it scrapes the site, producing a bunch of .html files.</p> <p>Does such a thing exist?</p> Bad Apples https://grumpygamer.com/bad_apples/ Fri, 05 Jun 2020 00:00:00 +0000 https://grumpygamer.com/bad_apples/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/1h5sRgW6sQY?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> Delores GOG https://grumpygamer.com/delores_gog/ Wed, 03 Jun 2020 00:00:00 +0000 https://grumpygamer.com/delores_gog/ <p>Given everything going on the America right now, I don&rsquo;t feel like a celebratory post about a game. So I&rsquo;ll do a factual one: <a href="https://www.gog.com/game/delores_a_thimbleweed_park_miniadventure">Delores is now on GOG</a>.</p> <p>If I hear one more person say &ldquo;this is not who we are&rdquo; I&rsquo;ll scream. This may not be who we want to be, but it is exactly who we are.</p> Thimbleweed Park Forums are down https://grumpygamer.com/twp_forums_down/ Mon, 01 Jun 2020 00:00:00 +0000 https://grumpygamer.com/twp_forums_down/ <p>The Thimbleweed Park Forums seem to be down (or at least inconsistently down). I moved the DNS to a new server and it seems to have broken them. Top people are working on it.</p> WTF! https://grumpygamer.com/gbt_url/ Wed, 27 May 2020 00:00:00 +0000 https://grumpygamer.com/gbt_url/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/GBT_urls.png"> <p>I offer you $100 each.</p> <p>Cash. Small bills. Clean serial numbers.</p> Delores Source Code Released! https://grumpygamer.com/delores_dev/ Mon, 25 May 2020 00:00:00 +0000 https://grumpygamer.com/delores_dev/ <p>Oh crap!</p> <p>I accidentally pushed the wrong button and made the <a href="https://github.com/grumpygamer/DeloresDev">Delores source code available on GitHub</a>.</p> <p>I guess there is no putting Delores back in the bottle now&hellip;</p> <p>(wait for laughter)</p> <p>I&rsquo;m only half kidding.</p> <p>(wait for Todd in the third row, who laughs at anything, to stop laughing)</p> <p>I did publish all the <a href="https://github.com/grumpygamer/DeloresDev">source code to Delores on GitHub</a>, but it wasn&rsquo;t an accident. It was a well planned endeavor to give you even more to do during pandemic lock-down. I&rsquo;m sure everyone is getting tired of playing Animal Crossing, and what better way to exercise your grey-matter than modding your favorite game.</p> <p>But wait&hellip; there&rsquo;s more&hellip;</p> <p>(wait for oohs and ahhs)</p> <p>Not only did I upload all the source, but I also uploaded all the art and the entire FMOD project (many thanks to FMOD).</p> <p>But wait&hellip; don&rsquo;t hit the back button yet&hellip;</p> <p>I also uploaded the dev build of the Delores engine (including the complete debugger) so you can run all your edits and changes. Also included is Wimpy, the executable that allows you to add and edit objects in Rooms.</p> <p><strong>&ldquo;Holy crap-a-reno! What&rsquo;s the catch Ron?&rdquo;</strong></p> <p>While you can do pretty much anything you want to the game, including writing a whole new UI, or translating into any language, or returning it to the verb matrix, you can&rsquo;t release or publish a game. <strong>This is intended for personal and hobby use only.</strong></p> <p>The other downside is these really are the dev tools we used to make the game, and like most in-house dev tools, they are poorly documented and very crude around the edges. While I do provide some help documentation it is mostly limited to an index of Dinky commands, not a tutorial.</p> <p>What? You want a Hello World example? OK, fine.</p> <p><code>local image = createTextImage(FONT_SYSTEM, &quot;Hello World&quot;, 48)</code></p> <p>There is a fairly high degree of technical and programming knowledge needed. I&rsquo;ve always skewed away from visual programming and dialogue engines. While they are great for beginners, getting real work done is problematic. Again, these are the real tools we used, not watered down &ldquo;consumer&rdquo; tools.</p> <p>I&rsquo;ve been using Git for 10+ years, but this is the first time I&rsquo;ve ever had a public repo and had to deal with pull requests, etc. This will be a big learning curve for both of us.</p> <p>I generally won&rsquo;t be accepting pull requests just for modifications to the game unless they fix bugs related to getting this repo working. I might accept pull requests for documentation and new translations and if they are good they maybe-might be integrated into the shipping game.</p> <p><strong>&ldquo;But Ron, why won&rsquo;t you accept my bug fixes and improvements to the game?&rdquo;</strong></p> <p>Good question little Timmy&hellip; let&rsquo;s dive into that&hellip;</p> <p>A game that goes on Steam, Epic, or GOG requires a great deal of testing. Delores had/has two full-time paid testers and before any build was uploaded to a store, it got a good deal of testing around the fix, plus a complete play through of 30 photos was required on each platform. Each of the stores uses the same &ldquo;bits&rdquo;, but we still had to download each platform from each store and do a run through.</p> <p>And that was for an easy fix. If the fix was more involved or changed logic significantly it could require 20-40 hours of testing. If we broke a store build, it would be hours of tech support emails.</p> <p>I believe a lot in testing and testers and much of that came from my time at Lucasfilm and dealing with hard media. To even put a build of Monkey Island into test required over an hour of work as I made and verified 5+ floppies. Just rebuilding the SCUMM scripts to Monkey Island took over an hour (a job that takes a fraction of a second for Delores).</p> <p>Releasing a build going to manufacture was nerve wracking and very expensive. If you introduced a stupid bug, you&rsquo;d remake 200,000 floppies. While Monkey Island was in final testing, any change had to live in test for two weeks. If we found a bug and made a new build, we&rsquo;d reset the clock.</p> <p>Today it&rsquo;s easy. I start a shell script, wait 15 minutes for the CI machine to build the new engines and 5 seconds later it&rsquo;s on Steam and I can push the &ldquo;publish&rdquo; button. It&rsquo;s too easy.</p> <p>BONUS NOTE: Don&rsquo;t believe the myth that programmers can test their own code. They can&rsquo;t. Programmers will test for all the conditions they can imagine, but a good tester will imagine many many more and players will try things programmers never even considered. Knowledge of their code is the achilles heel of programmers. I&rsquo;ve had code I was 100% sure was rock solid, only to have one of our testers reduce me to tears. A good tester excels at poking your code in places you never considered. I&rsquo;m not talking about your unit tested sort routine, I&rsquo;m talking about complex puzzle logic and odd UI uses. It&rsquo;s the stuff unit tests will never catch, but a good tester will. Testers are the unsung heroes of your team, treat them very well.</p> <p>Every time you do a build, you also run the risk of accidentally introducing an error. Once I did a build from the wrong branch, everything looked fine but after a few bugs came in, I realized something was very wrong. I&rsquo;m glad I didn&rsquo;t just build and hit &ldquo;publish&rdquo;. Even fixing a typo requires testing.</p> <p><strong>&ldquo;Hey Ron, little Timmy again&hellip; why don&rsquo;t you release the source to the engine?&rdquo;</strong></p> <p>Another great question.</p> <p>Releasing the engine source (c++) is problematic for a few reasons. The first is that it uses a very large library of mine, most of which is not used in this engine, so I&rsquo;d have to go though and cull out all the cruft, not to mention all the proprietary console crap. I also use some third party source I don&rsquo;t have the rights to release. It&rsquo;s a big job and would split my main engine off from the released engine, which becomes a merge catastrophe (either that or a million #if&rsquo;s).</p> <p><strong>&ldquo;Little Timmy again, I have a followup question&hellip; Why don&rsquo;t you license the executable for us to use in our shipping games?&rdquo;</strong></p> <p>Allowing others to release games using the engine is a support nightmare for me. A game would be released and then customers would have issues, or it wouldn&rsquo;t work on specific hardware, and then I&rsquo;d be stuck (indirectly) supporting it. I could charge money, but unless hundreds (if not thousands) of people licensed the engine, I fear the cost would be more than a game is likely to make.</p> <p>But the most important reason is that I like to make games and want to dedicate most of my time to making new ones, not supporting an engine.</p> <p>Once you&rsquo;ve had a chance to look at all the source, I think you&rsquo;ll realize there is no &ldquo;secret sauce&rdquo; here. It&rsquo;s just an adventure game engine. Why did I create a new one? Because I enjoy it.</p> <p>This post ended up being longer than I expected. I hope you enjoy looking through my and David&rsquo;s crappy code. Happy modding. I&rsquo;m excited to see what you do.</p> <p>(wait for laughter from todd)</p> <p>Keep in mind, the Delores source is intended solely for personal use to learn and explore. Please respect our choice to release the source by using it as intended.</p> <p>P.S. The dev engine has all the same limitations as the game, so Mac 10.10, Win 10 (dx12) and unfortunately (at this time) no Linux build. As soon as the Linux version is done, I will upload that as well. It might be a month, or months, or longer.</p> <p>P.P.S If you have questions or want to help others out, visit <a href="https://forums.thimbleweedpark.com/c/delores-engine/18">the Thimbleweed Park Forums</a></p> historyofpants.com https://grumpygamer.com/historyofpants_com/ Wed, 20 May 2020 00:00:00 +0000 https://grumpygamer.com/historyofpants_com/ <p>Why do I own <a href="https://historyofpants.com">historyofpants.com</a>? I own a lot of stupid URLs.</p> Python https://grumpygamer.com/python/ Tue, 19 May 2020 00:00:00 +0000 https://grumpygamer.com/python/ <p>I know you&rsquo;ll hate me for saying this, but Python is a mess. I love programming in Python, but holy crap-a-reno is dealing with all the modules a pain-in-the-ass-a-who. Then python 3 came out. Now I have a complete mess of modules on my machine. I have some modules that are system wide and others that are install just for me. I have no idea how it got so screwed up. It&rsquo;s probably that my Mac is 6 years old and it&rsquo;s just been a slow module death. I&rsquo;d love to wipe it all clean and start over. I think that would just make it worse.</p> <p>I&rsquo;m sure there is some logic behind it, and I&rsquo;m sure all the python pros are laughing, but getting python working for the average user is nuts. I&rsquo;m trying to walk some people through it now and it&rsquo;s just impossible.</p> Delores Podcast https://grumpygamer.com/delores_podcast/ Mon, 18 May 2020 00:00:00 +0000 https://grumpygamer.com/delores_podcast/ <p>Back by court order, it&rsquo;s the Last Thimbleweed Park Post + 1.</p> <p>Today, David and I chat about the new Delores game.</p> <p>@@soundcloud=823244485@@</p> Delores AMA podcast https://grumpygamer.com/delores_podcast_call_for_questions/ Wed, 13 May 2020 00:00:00 +0000 https://grumpygamer.com/delores_podcast_call_for_questions/ <p>Succumbing to overwhelming requests, we&rsquo;ve decide to record a special Delores podcast.</p> <p>Also realizing that we&rsquo;re really bad at figuring out what to say, we&rsquo;ve decided to make it a AMA podcast. But it&rsquo;s not just me doing it, so it more &ldquo;us&rdquo;, so it&rsquo;s really a AUA podcast. And when I say &ldquo;anything&rdquo; I really mean anything about the new Delores game. So, I guess it&rsquo;s really a AUAAD podcast. Kind of rolls off the tongue, doesn&rsquo;t it.</p> <p>Anyway&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/podcast_radio.png"> <p>Post your questions in the comments thread and Sat at 11am (PDT) we&rsquo;ll gather the best of the best and answer them and post the podcast on Monday. Please try and keep the questions about the new Delores game and not general TWP questions.</p> <p><strong>COMMENTS are now closed</strong> while I gather up all the questions.</p> Right-click to Skip Dialog https://grumpygamer.com/right_click_to_skip_dialog/ Tue, 12 May 2020 00:00:00 +0000 https://grumpygamer.com/right_click_to_skip_dialog/ <p>Much like when TWP launched, people have been asking for right-click to skip dialog in Delores. I&rsquo;ve really pushed back on doing this for one reason: It&rsquo;s too damn easy.</p> <p>During the TWP playtests, I watch players right-click to skip dialog so fast that it didn&rsquo;t even register something came on the screen. Then a bit later they would be confused. I&rsquo;d ask some questions and it was clear that the dialog was never even seen.</p> <p>The problem with right-click is that the right/left-button twitch is so ingrained that the moment text flashed on the screen players would instinctively right-click like they were playing a round of Jeopardy. Most of the time they wouldn&rsquo;t even notice they were doing it.</p> <p>This isn&rsquo;t matter of me being a prima donna about players not reading my glorious dialog, this is about players not reading any dialog, being confused, and inevitably blaming the game (my therapist keep reminding me that there is a line between me and the game).</p> <p>If you have ever watched someone playtest something you&rsquo;ve done, you will know the feeling.</p> <p>While players can skip dialog with the PERIOD key it&rsquo;s not as automatic as right-click. Just that small separation helps a great deal.</p> <p>All that said, you can middle-click to skip dialog, but it&rsquo;s not as instinctually ingrained as right-click. Even skipping dialog on controllers isn&rsquo;t as pavlovian as right-click.</p> <p>You can add <code>rightClickSkipsDialog: 1</code> to your <code>Prefs.json</code> file (finding that is an exercise left up to the reader) and happily skip as much dialog as you want. It is good for speed runners, or the 10th time player, but it&rsquo;s hell on new players.</p> <p>Like in TWP right-click only skips dialog in cut-scenes and other situations where input (the cursor) is off.</p> Linux laptop https://grumpygamer.com/linux_laptop/ Sun, 10 May 2020 00:00:00 +0000 https://grumpygamer.com/linux_laptop/ <p>I&rsquo;m looking for a good Linux laptop. I&rsquo;ve hunted around (probably not in the right places) and found a few I like, but then I go to buy them and they all come with Windows. I&rsquo;ve had several bad experiences with trying to install Linux, flashing boot roms, plugging in USB drives, etc, etc. I just want to buy a laptop that already has Linux. Is this possible? I want a very small and light weight laptop, but I want it to run real Linux, not a silly Chrome book or the like.</p> <p>Does such a thing exist? I was pointed to <a href="https://system76.com/">System76</a> but the laptop looks very bulky. I want something smaller.</p> <p>P.S. I don&rsquo;t know if it&rsquo;s still true, but there was a time when it cost retailers more (due to MS contracts) the ship a computer WITHOUT Windows than with.</p> <p><strong>UPDATE:</strong> I&rsquo;m getting a Dell XPS 13. Thanks for all your feedback.</p> What I did during the Pandemic https://grumpygamer.com/what_i_did_during_the_pandemic/ Sat, 09 May 2020 00:00:00 +0000 https://grumpygamer.com/what_i_did_during_the_pandemic/ <p>By Ron Gilbert</p> <p>As I write this on the 9th day of May in the year of 2020 the Pandemic is far from over. Different people deal with isolation, fear, social distancing and hoarding toilet paper differently. I built a game. It helped keep me sane.</p> <p>As I mentioned back in March, I began rewriting the Thimbleweed Park engine with no real goal in mind, it just seemed like something to do and I had a few ideas about UI I wanted to explore.</p> <p>What began as a way to waste time, turned into a fun little game prototype. A little over a month ago David Fox came on, then Robert, Katerina, and Octavi jumped on to help. The game was built almost entirely from existing art, sounds and music from Thimbleweed Park, more of a remixing into a new game that can be seen as an addendum to Thimbleweed Park. It is not a sequel.</p> <p>We hope you enjoy it, it&rsquo;s complete FREE on <a href="https://store.steampowered.com/app/1305720">Steam</a> and the <a href="https://www.epicgames.com/store/product/thimbleweed-park/delores">Epic Store</a>. A strange little game for the strange and stressful times we find ourselves in.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe src="https://player.vimeo.com/video/414364945" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="vimeo video" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> </div> <p>Did I mention it&rsquo;s FREE.</p> <p>Stay safe and I hope this little game helps, even a little.</p> <p>In the coming weeks I&rsquo;ll be posting more about the new engine and how it&rsquo;s different and hopefully better.</p> Sprites-as-a-Service https://grumpygamer.com/sprites_as_a_service/ Thu, 07 May 2020 00:00:00 +0000 https://grumpygamer.com/sprites_as_a_service/ <p><a href="https://ljvmiranda921.github.io/sprites-as-a-service/">clicky-click-click here</a></p> Nerd Alert https://grumpygamer.com/craftinginterpreters/ Sun, 19 Apr 2020 00:00:00 +0000 https://grumpygamer.com/craftinginterpreters/ <p><a href="http://craftinginterpreters.com/">Crafting Interpreters</a></p> <p>I hope everyone is doing well and staying safe.</p> <p>As a fairly extreme introvert, all this stay-at-home social distancing isn&rsquo;t much change for me. Most restaurants are offering &ldquo;no contact&rdquo; delivery where they place the food at your door, ring the doorbell, then leave. I like this. I hope this practice continues after the apocalypse.</p> Boring title https://grumpygamer.com/mad_world/ Mon, 06 Apr 2020 00:00:00 +0000 https://grumpygamer.com/mad_world/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/NEpfvTdR5-U?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> April Fools' 2020 https://grumpygamer.com/april_fools_2020/ Wed, 01 Apr 2020 00:00:00 +0000 https://grumpygamer.com/april_fools_2020/ <p>For sixteen years now, Grumpy Gamer has been 100% April Fools&rsquo; joke free. I&rsquo;m a little disappointed the gaming press hasn&rsquo;t caught onto this. You&rsquo;d think it would be a good human interest story.</p> <p>Oh well, maybe I should do a Twitch channel ranting about April Fools&rsquo; day. I&rsquo;m only on once a year.</p> <p>If there is any good to come out of this horrible COVID-19 disaster, it&rsquo;s that most big outlets have canceled their April Fools&rsquo; pranks.</p> <p>Stay safe. Stay inside.</p> Guilty Pleasures https://grumpygamer.com/guilty_pleasures/ Tue, 24 Mar 2020 00:00:00 +0000 https://grumpygamer.com/guilty_pleasures/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/supernatural.jpg"> <p>After 15 years of defeating one apocalypse after another, Sam and Dean are finally taken down by a real one. With only two episodes left in the 15 year run of the series, <a href="https://popculture.com/tv-shows/2020/03/15/supernatural-final-season-hold-due-coronavirus-precautions/">production has been shut down</a> due to CORVID-19. Two episodes!</p> <p>Supernatural has been one of my guilty pleasures for two episodes shy of 15 years. My guess is they will turn it in to a crappy comic book for the final two episodes. That would be a shame.</p> <p>At a game design workshop 8 years ago, one of the question we all got asked was about guilty pleasures and I mentioned Supernatural expecting to get laughed out of the room, but to my surprise it was greeted with a huge round of &ldquo;me too!&rdquo;.</p> <p>If you&rsquo;ve never seen Supernatural, you have 15 years of Netflix binge watching ahead during home confinement.</p> Lock-down in Seattle https://grumpygamer.com/lock_down/ Sun, 22 Mar 2020 00:00:00 +0000 https://grumpygamer.com/lock_down/ <p>Speaking with a friend the other day and I was talking about how being confided to my house doesn&rsquo;t really feel like much of a life or work change. I suppose that&rsquo;s a sad reflection on my life. I just don&rsquo;t go out much. I&rsquo;m a life-long introvert, so I don&rsquo;t crave the company of groups or a wild social life. I have a few very close friends and we continue to talk.</p> <p>There is a bi-weekly game prototype group I would meet-up with and I do miss that.</p> <p>A few weeks ago I decided to completely rebuild the Thimbleweed Park engine, and I guess the timing was very auspicious given that it&rsquo;s been great at keeping me distracted and from reading the news non-stop.</p> <p>It all started from having this idea about how to do a better point-and-click interface. As long-time readers will know, I&rsquo;m not a big fan of the &ldquo;poke&rdquo; interface where you just &ldquo;use&rdquo; every object until something works. I&rsquo;ve always felt there was a better way and I had an epiphany the other day which lead to rewriting the TWP engine.</p> <p>I started to hack my new UI in but my OCD quickly took over and I just had to start over.</p> <p>There is a lot of good code in the TWP engine and the goal was to sort that out and only take the good. I started with a new project and then slowly moved pieces of the old engine over rewriting it as I went.</p> <p>At this point the engine is 100% working and it feels a lot better. It can&rsquo;t run TWP dues to a complete removal of the UI code from the engine.</p> <p>About a year ago I removed squirrel from my code base and wrote a new custom scripting language called Dinky. It&rsquo;s 90% squirrel compatible but has a cleaner interface into the backend and the compiler generates much better code due to an optimizer pass.</p> <p>Due to Dinky, I felt a lot more comfortable moving 100% of the UI code into script and out of the c++ engine. This follows the pattern of SCUMM where all the the UI was written in 6502 in Maniac Mansion and slowly moved to SCUMM code as the projects went by. By the time of MI2, most of the UI was done in script.</p> <p>So anyway&hellip;</p> <p>Most of the TWP engine is now back up and running and my new experiments with UI are 100% in script and so far I&rsquo;m quite please with it.</p> <p>One of the changes I made to the engine was severing it from pixel art. It can still do pixel art, but it&rsquo;s better at doing higher res formats and I implemented Spine as an option for character animations.</p> <p>One of the problems with Spine is it&rsquo;s a lot harder to do &ldquo;<a href="https://www.grumpygamer.com/designer_programmer_artist">programmer art</a>.&rdquo; I&rsquo;ve been looking for some humanoid Spine animations in 4 or 8 directions. If anyone knows where to find something like this, please let me know.</p> <p>I hope everyone out there is doing OK and this doesn&rsquo;t turn in to a full-scale Stephen King novel. I&rsquo;m not sure how long I will last if the only thing I have to barter for food with is designing adventure games.</p> <p>But so far, I&rsquo;m healthy and safe, I hope you all are as well.</p> The CORVID-19 edition https://grumpygamer.com/confinded_to_home/ Sun, 22 Mar 2020 00:00:00 +0000 https://grumpygamer.com/confinded_to_home/ <p>Speaking with a friend the other day and I was talking about how being confided to my house doesn&rsquo;t really change my life or my work too much. I suppose that a sad reflection on my life. I just don&rsquo;t go out much. I&rsquo;m a life-long introvert, so I don&rsquo;t crave the company of groups or a wild social life. I have a few very close friends and we continue to talk.</p> <p>There is a bi-weekly game prototype group I would meet up with and I do miss that.</p> <p>A few weeks ago I decided to completely rebuild the Thimbleweed Park engine, and I guess the timing was very auspicious given that it&rsquo;s great at keeping me distracted and from reading the news non-stop.</p> <p>It all started from having this idea about how to do a better point-and-click interface. As long-time readers will know, I&rsquo;m not a big fan of the &ldquo;poke&rdquo; interface where you just &ldquo;use&rdquo; every object until something works. I&rsquo;ve always felt there was a better way and I had an epiphany the other which lead to rewriting the TWP engine.</p> <p>I started to hack my new UI in but my OCD quickly took over and I just had to start over.</p> <p>There is a lot of good code in the TWP engine and the goal was to sort that out and only take the good. I started with a new project and then slowly moved pieces of the old engine over rewriting it as I went.</p> <p>At this point the engine is 100% working and it feels a lot better. It can&rsquo;t run TWP dues to a complete removal of the UI code from the engine.</p> <p>About a year ago I removed squirrel from my code base and wrote a new custom scripting language called Dinky. It&rsquo;s 90% squirrel compatible but has a cleaner interface into the backend and the compiler generates much better code due to an optimizer.</p> <p>Due to Dinky, I felt a lot more comfortable moving 100% of the UI code into script and out of the c++ engine. This follows the pattern of SCUMM where all the the UI was written in 6502 and slowly moved to SCUMM code as the projects went by. By the time of MI2, most of the UI was done in script.</p> <p>So anyway&hellip;</p> <p>Most of the TWP engine is now back up and running and my new experiments with UI are 100% in script and so far I&rsquo;m quite please with it.</p> <p>One of the changes I made to the engine was severing it from pixel art. It can still do pixel art, but it&rsquo;s better at doing higher res formats and I implemented Spine for character animations.</p> <p>One of the problems with Spine is it&rsquo;s a lot harder to do <a href="https://www.grumpygamer.com/designer_programmer_artist">&ldquo;programmer art&rdquo;</a>. I&rsquo;ve been looking for some humanoid Spine animations in 4 or 8 directions. If anyone knows where to find something like this, please let me know.</p> <p>I help everyone out there is doing OK and this doesn&rsquo;t turn in to a full-scale Stephen King novel. I&rsquo;m not sure how long I will last if the only thing I have to barter for food with is designing adventure games.</p> <p>But so far, I&rsquo;m healthy and safe, I hope you all are as well.</p> Camera Code https://grumpygamer.com/camera_code/ Thu, 06 Feb 2020 00:00:00 +0000 https://grumpygamer.com/camera_code/ <p>Camera code is really hard. Don&rsquo;t let anyone tell you otherwise. Writing camera code that is technically correct is easy. Writing camera code that feels right is really hard. You will spend the entire duration of your project tweaking your camera code to make it feel right. You will never be happy with it.</p> A Simple Commodore 64 Game in C++ https://grumpygamer.com/c64_in_cpp/ Wed, 29 Jan 2020 00:00:00 +0000 https://grumpygamer.com/c64_in_cpp/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/zBkNBP00wJE?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>I&rsquo;m petty sure I&rsquo;m going to <a href="https://cppcon.org">CppCon 2020</a> in sept.</p> Boring title https://grumpygamer.com/378bfcdd7f74f199e1236e5/ Wed, 29 Jan 2020 00:00:00 +0000 https://grumpygamer.com/378bfcdd7f74f199e1236e5/ Bartlow's Dread Machine https://grumpygamer.com/bartlows_dread_machine/ Tue, 28 Jan 2020 00:00:00 +0000 https://grumpygamer.com/bartlows_dread_machine/ <p>I first met Clayton Kauzlaric when he was hired at Cavedog to be the lead artist on Total Annihilation. We quickly because good friends and over years have collaborated on countless games (if you can&rsquo;t count higher than 9). We made casual games for Real Networks, co-created DeathSpank, and made iOS games like The Big Big Castle and Scurvy Scallywags.</p> <p>Clayton just announced his latest game, <a href="https://www.dreadmachine.com">Bartlow&rsquo;s Dread Machine</a>. Unfortunately I didn&rsquo;t work on the game, but I have seen it and it&rsquo;s amazing. It&rsquo;s basically a video game built in 1900. Everything is mechanical and it&rsquo;s a wonder to watch everything unfold and run on wires and gears.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/NXZ6j8Z7R4k?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>Take a gander.</p> Purple Meteor https://grumpygamer.com/purple_meteor/ Sat, 25 Jan 2020 00:00:00 +0000 https://grumpygamer.com/purple_meteor/ <p>&ldquo;<a href="https://arstechnica.com/gaming/2020/01/color-out-of-space-review-nic-cage-lovecraft-match-made-in-rlyeh/">A glowing purple meteorite makes life, uh, difficult and gross for an isolated farm family after it crashes in their yard</a>.&rdquo;</p> <p>I think i&rsquo;ve heard this before&hellip;</p> Disassembling Link's Awakening https://grumpygamer.com/disassembling_links_awakening/ Mon, 20 Jan 2020 00:00:00 +0000 https://grumpygamer.com/disassembling_links_awakening/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/LADX-move.gif"> <p>A fascinating series of posts on <a href="https://kemenaran.winosx.com/posts/category-disassembling-links-awakening/">Disassembling Link&rsquo;s Awakening</a></p> <p>I never programmed the Gameboy (or any Nintendo system) but so much of this brings back strong C64 memories.</p> False Positives? https://grumpygamer.com/false_positives/ Tue, 14 Jan 2020 00:00:00 +0000 https://grumpygamer.com/false_positives/ <p>Seems like there is <a href="https://ww.9to5mac.com/2020/01/14/apple-watch-tachycardia-youtuber/#">always a story</a> about how the Apple Watch saved someone&rsquo;s life by alerting them to some irregular heart problem. Being the cynical person I am, I always wonder how many false positive have there been? How many people were alerted to a &ldquo;problem&rdquo; only to visit their doctor and be told is was nothing, or worse, visit the emergency room and be billed thousands of dollars (US citizens only).</p> <p>I&rsquo;d love to get a smart watch and the Apple Watch suits my needs due to me having a iPhone, but I refuse to wear a silly square watch. I haven&rsquo;t worn a watch since 2002. I dug out my old watch and I&rsquo;m tempted to start wearing it again. It&rsquo;s pretty cool because it has an analog flight computer built in. I&rsquo;m going to be the center of attention at the next party.</p> My guild RIP https://grumpygamer.com/my_wow_guild/ Mon, 13 Jan 2020 00:00:00 +0000 https://grumpygamer.com/my_wow_guild/ <p>My Wow classic guild fell apart. Not sure what happened, no big drama. Everything seemed good and then I went on Hollidays and when I got back it was a ghost town. Guild officers are still in the guild, but none have logged on in close to a month. Maybe I was the secret glue that held it all together (joke).</p> <p>So, now I start looking for a new guild. I want a guild that actively runs 5 player dungeons and is raiding at 60 or pushing towards it. But I don&rsquo;t want to be in a guild that takes it all too seriously. All guilds say they want to help players get geared and learns dungeons and raids, but what I&rsquo;ve often found is that they turn into cliques where the cool kids raid and the rest&hellip; well I&rsquo;m not sure.</p> <p>There are a few guilds on my server where you have to &ldquo;apply&rdquo; and give them logs of your runs. Yeah&hellip; that sounds !fun.</p> <p>I don&rsquo;t want to start my own guild. When it comes to Wow, I&rsquo;m a follower not a leader. I think that&rsquo;s why I love healing. The only decisions I want to make in a dungeon is who lives and who dies.</p> <p>If your guild meets the above criteria and wants an amazing undead priest healer named Delores&hellip; hit me up.</p> <p>Now, back to my pile of adventure games I&rsquo;m speed running.</p> Verbs and Adventure Games https://grumpygamer.com/verbs_verbs_verbs/ Sat, 11 Jan 2020 00:00:00 +0000 https://grumpygamer.com/verbs_verbs_verbs/ <p>I was chatting with a friend the other day and the conversation turned to modern point-and-click adventure games and there was much lamenting on how the UI (the way you interact with the game) hasn&rsquo;t changed that much.</p> <p>I&rsquo;ll be the first to admit I don&rsquo;t play a lot of adventure games these days. It&rsquo;s an occupational hazard. I usually rage quit or eye-roll quit within 20 minutes. I spend too much time analyzing puzzle structure.</p> <p>While I love making adventure games, I love playing RPGs (I use this term loosely). If I have free time I&rsquo;ll go slaughter enemies in some dungeon or log onto Wow Classic and&hellip; go slaughter enemies in some dungeon.</p> <p>I do quickly look at new adventure games but as soon as I realize they aren&rsquo;t doing anything new or interesting I&rsquo;ll bounce off. Occupational hazard.</p> <p>Thimbleweed Park used the maniac mansion/monkey island style verb interface mostly because of nostalgia reasons (see Kickstarter), but I&rsquo;d never use that for a new game. It&rsquo;s a very functional interface and there is a lot I like about it, but it looks old and dated and a simple screenshot can turn off a lot of people. It&rsquo;s a problem we had with Thimbleweed Park. I don&rsquo;t regret using it, it was there for a purpose and it served that purpose brilliantly.</p> <p>It seems like most new point-and-click games op for the &ldquo;use verb&rdquo; interface. Maybe you have &ldquo;Look&rdquo; and &ldquo;Pick-up&rdquo;, but after that everything can be done with just a &ldquo;Use&rdquo; verb. &ldquo;Push?&rdquo; &ldquo;Pull?&rdquo; just use &ldquo;Use&rdquo;. It&rsquo;s probably better called the &ldquo;Poke&rdquo; verb. Just poke at everything and see what it does.</p> <p>Much of the puzzle solving then falls to what is in your inventory. How do I &ldquo;use&rdquo; this thing I&rsquo;m carrying with something in the world? Now the game becomes an exercise in dragging everything in your inventory to everything on a screen to see if it does anything. The only friction is how tedious that is. The &ldquo;verbs&rdquo; interface didn&rsquo;t make this any better, so I&rsquo;m not trying to defend it with regard to using everything with everything in desperate frustration.</p> <p>So I turn to my esteemed readers and ask the following:</p> <p>Name a point-and-click adventure game that has come out in the last few years and had a novel and interesting way to interact with the world, your inventory and solve puzzles. Something that really felt new and fresh. Something that made you say &ldquo;Yeah, that&rsquo;s the way I wish all adventure games worked.&rdquo;</p> <p>I have a small list of my own, but I&rsquo;m curious what you&rsquo;ve found.</p> Wanted: writer https://grumpygamer.com/tag_line/ Sun, 05 Jan 2020 00:00:00 +0000 https://grumpygamer.com/tag_line/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/college.jpg"> <p>I think the Seattle Central College needs a better tagline writer. No tagline would have been better.</p> <p>Monkey Island<br> One of the games released in 1990</p> <p>Stores wouldn&rsquo;t have been able to keep it in stock.</p> Warning! https://grumpygamer.com/warning_2020_lists/ Thu, 02 Jan 2020 00:00:00 +0000 https://grumpygamer.com/warning_2020_lists/ <p>Only 350 days until the appearance of idiotic &ldquo;Best Games of 2020&rdquo; lists.</p> Current Status https://grumpygamer.com/af4fd83d8159e4c31fa38ad/ Wed, 01 Jan 2020 00:00:00 +0000 https://grumpygamer.com/af4fd83d8159e4c31fa38ad/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/wavelength.jpg"> 2019 Year in Review https://grumpygamer.com/2019_year_in_review/ Tue, 31 Dec 2019 00:00:00 +0000 https://grumpygamer.com/2019_year_in_review/ <p>Meh</p> Current Status https://grumpygamer.com/eb229e017b0912a472a808d/ Sun, 22 Dec 2019 00:00:00 +0000 https://grumpygamer.com/eb229e017b0912a472a808d/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/tree2.jpg"> Current Status https://grumpygamer.com/f46a3ce4dab45c42d352fd8/ Thu, 19 Dec 2019 00:00:00 +0000 https://grumpygamer.com/f46a3ce4dab45c42d352fd8/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/beach3.jpg"> Current Status https://grumpygamer.com/870e85aff598f9e0d44be7a/ Wed, 18 Dec 2019 00:00:00 +0000 https://grumpygamer.com/870e85aff598f9e0d44be7a/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/flender2.jpg"> Current Status https://grumpygamer.com/759a3bd1c6e6711a1bc91ac/ Fri, 13 Dec 2019 00:00:00 +0000 https://grumpygamer.com/759a3bd1c6e6711a1bc91ac/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/singapore.jpg"> Forager https://grumpygamer.com/forager/ Mon, 19 Aug 2019 00:00:00 +0000 https://grumpygamer.com/forager/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/forager.gif"> <p>Been playing a lot of Forager lately. I&rsquo;m not a big fan of gather and build games so I didn&rsquo;t really expect to get into this, but I was wrong. I started off playing for around 20 minutes and put it down, figuring I saw what I needed for &ldquo;professional&rdquo; reasons, but a day later I was back, and then back again.</p> <p>I can&rsquo;t place my finger on what is different about Forager. It might be the overly simplistic graphics give it a light, charm and whimsy that other game don&rsquo;t. When I was on Twitter, I followed <a href="https://twitter.com/_hopfrog">@_hopfrog</a> and I have to admit I was very skeptical. I was also completely wrong.</p> <p>Forager is a great game.</p> <p>I added it my short list of &ldquo;I wish I&rsquo;d made this&rdquo; games.</p> People I Wish Weren't Dead https://grumpygamer.com/dead/ Fri, 16 Aug 2019 00:00:00 +0000 https://grumpygamer.com/dead/ <p>A complete list of people I wish weren&rsquo;t dead:</p> <ul> <li>John Candy</li> <li>My Dad</li> </ul> <p>A complete list of people I wish were dead:</p> <ul> <li>[REDACTED]</li> </ul> Not Okay! https://grumpygamer.com/not_okay/ Tue, 13 Aug 2019 00:00:00 +0000 https://grumpygamer.com/not_okay/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/wow_name.jpg"> <p>Someone took the name Guybrush on my preferred Wow classic server. I don&rsquo;t see the point of playing anymore.</p> <p>Okay, I&rsquo;ll play but only to hunt the fake guybrush down.</p> Boring title https://grumpygamer.com/76ff8a6ba8fb46f7813e1ce/ Thu, 25 Jul 2019 00:00:00 +0000 https://grumpygamer.com/76ff8a6ba8fb46f7813e1ce/ <p>It&rsquo;s just a fad&hellip; dead in 5 years.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/40Za0kCdQjE?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> Not Talk Like a Pirate https://grumpygamer.com/not_talk_like_a_pirate/ Mon, 15 Jul 2019 00:00:00 +0000 https://grumpygamer.com/not_talk_like_a_pirate/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/hWWrOtaEVtw?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> FU Dropbox https://grumpygamer.com/fu_dropbox/ Wed, 10 Jul 2019 00:00:00 +0000 https://grumpygamer.com/fu_dropbox/ <p>Dropbox used to be a perfect service. I happily paid them money every month. They silently synced files across all my machines (and with friends) with 99.999999999999% accuracy.</p> <p>Good job Dropbox.</p> <p>Then&hellip; Dropbox decided they needed there own app (for reason that I still have yet to figure out). Now at random time this stupid dropbox app shows up in my doc and I see no way to turn it off. I can close it, bit it keeps coming back.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dropbox.png"> <p>Congratulation Dropbox, you ruined a near perfect service.</p> <p>Why? Probably because they wanted more &ldquo;engagement&rdquo; from users. Netflix suffers from this by auto playing video and previews to create more engagement despite almost everyone hating it. They don&rsquo;t care because a) They get more engagement (even is that engagement is rage) and b) No one leaves their service.</p> <p>Thing is, I don&rsquo;t want to engage with Dropbox, I want it to silently (and magically) run in the background.</p> <p>What&rsquo;s next dropbox? A Dropbox social feed?</p> <p>FU Dropbox.</p> <p>It seems that wherever a company creates a wonderful service or product they quickly ruin it by adding features no one asked for in slave to their algorithms. AI isn&rsquo;t going to end the world via Skynet, they are going to do it by algorithming us to insanity and complacency.</p> <p>Pro-tip: If you want to add features, give people a way to turn them off to create a perfect service for everyone (I&rsquo;m looking at you Netflix).</p> <p>P.S.</p> <p>If anyone knows how to stop the Dropbox app from appearing in my doc, please let me know.</p> <p>P.P.S</p> <p>I&rsquo;m sure there are people who like autoplaying video and binge mode on Netflix. Fine, just give the rest of us a way to turn it off. Then everyone is happy&hellip;. hell, I&rsquo;d even pay a few more bucks a month for this option.</p> My new favorite YouTube channel https://grumpygamer.com/35033655e546a5d262131b2/ Sat, 06 Jul 2019 00:00:00 +0000 https://grumpygamer.com/35033655e546a5d262131b2/ <p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/XVjeYW6S8Mo?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/om6BMBhhoPo?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> </p> <p>:-)</p> Rogueli[kt]es https://grumpygamer.com/roguelikes2/ Sat, 06 Jul 2019 00:00:00 +0000 https://grumpygamer.com/roguelikes2/ <p>What are some good dungeon crawl roguelikes or roguelites released in the last year?</p> <ul> <li>Must be a roguelike/lite</li> <li>Must be a dungeon crawl</li> <li>Must have been released in the last year</li> </ul> Right after Maniac Mansion shipped https://grumpygamer.com/great_wall/ Sun, 30 Jun 2019 00:00:00 +0000 https://grumpygamer.com/great_wall/ <p>Me on the Great Wall of China right after Maniac Mansion shipped. Relax&hellip; it was the 80s.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ron_great_wall.jpg"> Boring title https://grumpygamer.com/6888868558b6be7d019e991/ Sat, 29 Jun 2019 00:00:00 +0000 https://grumpygamer.com/6888868558b6be7d019e991/ <p><a href="https://www.vulture.com/2019/06/eyes-wide-shut-orgy-scene-oral-history.html">&ldquo;The rich are too busy screwing the world over to screw each other with any imagination.&rdquo;</a></p> Stop on by https://grumpygamer.com/7dcb6ee2cfa548013bc47d6/ Sun, 02 Jun 2019 00:00:00 +0000 https://grumpygamer.com/7dcb6ee2cfa548013bc47d6/ <p>I&rsquo;m playing a Alliance priest named Wilma on the PvP classic beta server. If you&rsquo;re in the beta, stop on by and we&rsquo;ll go kill some stuff.</p> Quit Twitter https://grumpygamer.com/quit_twitter/ Sat, 01 Jun 2019 00:00:00 +0000 https://grumpygamer.com/quit_twitter/ <p>&ldquo;<a href="https://www.washingtonpost.com/nation/2019/05/30/twitter-hurting-intelligence-not-smart-study">But new evidence shows that the platform may be inflicting harm at an even more basic level. It could be making its users, well, a bit witless.</a>&rdquo;</p> <p>I quit Twitter and haven&rsquo;t post or even logged on in over a year. I can safely say I have never been happier. Twitter is a complete dumpster fire that consumes you and everything thing the demon touches. If I was a religious person I&rsquo;d say with complete confidence that Twitter is a product of Satan run by one of this minions.</p> <p>Just quit.</p> <p>It will be hard for the first few months. It&rsquo;s like a drug you have to detox from.</p> <p>Just do it.</p> <p>I&rsquo;ve heard all the excuses for not quitting (I made them all), just substitute the words &ldquo;heroin&rdquo; or &ldquo;booze&rdquo; for &ldquo;twitter&rdquo; and see if your excuses make sense anymore.</p> <p>You will be a happier person.</p> <p>Just quit.</p> WoW 2 https://grumpygamer.com/wow_2/ Fri, 24 May 2019 00:00:00 +0000 https://grumpygamer.com/wow_2/ <p>I got an invite to the World of Warcraft Classic Beta. I imagine that&rsquo;s because I&rsquo;ve been a paying customer since the night it launched in the early 1900s (I might have the date wrong) and have leveled countless toons. Less than a lot of hardcore players. but more than most.</p> <p>I&rsquo;ve never seriously played a Priest before so I started leveling one then realized that when the game goes live they are going to wipe the beta servers and I&rsquo;ll loose all progress. So I decided to level something that I wasn&rsquo;t going to play and in an area that was new to me. Other then the first toon I had I&rsquo;ve always been Horde so I figured I&rsquo;d level an Alliance night elf. Never played a night elf before (and unlikely to again) so it seemed good for the beta.</p> <p>It&rsquo;s interesting playing classic Wow again. So many rough edges that they filed away over the years. I imagine it&rsquo;s like someone liking Thimbleweed Park and then going back to the original Monkey Island.</p> <p>I&rsquo;m really enjoying all the pointy edges. It seems more raw and honest. I miss the skill trees that modern Wow lacks.</p> <p>While you could go back and level through original content, it was all nurfed with accelerated leveling and it&rsquo;s fun that it&rsquo;s a small challenge.</p> <p>I tried to do a little healing in a dungeon run and it&rsquo;s really hard without add-ons. I imagine that classic era add-ons will show up and I have no problem installing them as long as they are time-canon. They might already be out there, I haven&rsquo;t looked.</p> <p>I felt this tinge to join a guild and start raiding again. My raiding career started with Lich King so I&rsquo;ve never done the classic raids while level appropriate.</p> Game Postponed Indefinitely https://grumpygamer.com/game_postponed/ Wed, 15 May 2019 00:00:00 +0000 https://grumpygamer.com/game_postponed/ <p>I just wanted to make an announcement here, but my new game will be <a href="https://news.blizzard.com/en-us/world-of-warcraft/22990080/mark-your-calendars-wow-classic-launch-and-testing-schedule">postponed indefinitely on August 27th</a>.</p> <p>I apologize to everyone that was looking forward to playing it.</p> <p>Ron</p> Monkey Island TV Show https://grumpygamer.com/monkey_island_tv/ Sun, 14 Apr 2019 00:00:00 +0000 https://grumpygamer.com/monkey_island_tv/ <p><a href="https://www.smithsonianchannel.com/shows/monkey-island/leaving-home/1005772/3470247?an=science-and-nature">I kid you not.</a> But I think they&rsquo;ve strayed too far from the source material, I don&rsquo;t know if I can call it canon.</p> April Fools' 2019 https://grumpygamer.com/april_fools_2019/ Mon, 01 Apr 2019 00:00:00 +0000 https://grumpygamer.com/april_fools_2019/ <p>Fifteen years of Grumpy Gamer being 100% April Fools&rsquo; joke free. Of course the real April Fool&rsquo;s joke is that it&rsquo;s the year 2019 and we don&rsquo;t have moonbases, flying cars and giant pneumatic tubes that whisk us around the city. As a young child of the 70s, I was promised these things. Oh sure, I can now carry a super computer in my pocket and talk to anyone in the world via a planet wide connection of billions of computers&hellip; but come on&hellip; moonbase!</p> <p>And&hellip; kudos to <a href="https://www.theverge.com/2019/3/27/18283674/microsoft-april-fools-day-ban-pranks-internal-memo">Microsoft for sending out this memo banning April Fools&rsquo;</a>. I guess someone there reads Grumpy Gamer.</p> WTF MS https://grumpygamer.com/6254192ddda7934478dc2f7/ Mon, 18 Mar 2019 00:00:00 +0000 https://grumpygamer.com/6254192ddda7934478dc2f7/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/wtfms.png"> For your listening pleasure... https://grumpygamer.com/mi_music1/ Sat, 02 Mar 2019 00:00:00 +0000 https://grumpygamer.com/mi_music1/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/qUMKy2Jk3Oo?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> Dead Cells https://grumpygamer.com/deadcells/ Wed, 27 Feb 2019 00:00:00 +0000 https://grumpygamer.com/deadcells/ <p>I buy a lot of games. Most of them I play for 10 minutes just to scope out the competition.</p> <p>For most games 10 minutes is more than enough.</p> <p>I bought Dead Cells to other day for just this reason. I heard interesting things about it and thought it warranted a 10 minute &ldquo;checking out&rdquo;.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/deadcells.jpg"> <p>I&rsquo;m not a platform person. I grew up playing PC games and largely skipped the early Nintendo phase including games like Mario and never fully embraced console gaming. I never got good at platforming and hate it to this very day. There is a lot to like about Spelunky, but the platforming has always gotten in the way and I plough my way though to marvel at the design. The same is true of Celeste.</p> <p>I expected Dead Cells to be more of the same. But I was wrong. I&rsquo;m having a great time.</p> <p>I think the key difference is the platforming in Dead Cells is easy. It doesn&rsquo;t seem to be a skill they want you to grow in any meaningful way. The &ldquo;game&rdquo; isn&rsquo;t about getting good at complex platformobatics (I just made that word up); it&rsquo;s more about quick combat skills and building your character. That&rsquo;s stuff I like and am good at.</p> <p>For a pixel game its also very polished and has set a new bar for my game. Well done Dead Cells.</p> Fuck Subscription Software https://grumpygamer.com/fuck_subscription_software/ Tue, 26 Feb 2019 00:00:00 +0000 https://grumpygamer.com/fuck_subscription_software/ <p>nt</p> Darkest Dungeon https://grumpygamer.com/darkest_dungeon/ Tue, 19 Feb 2019 00:00:00 +0000 https://grumpygamer.com/darkest_dungeon/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/SS-03_1000.png"> <p>What did you like about Darkest Dungeon? If you hated Darkest Dungeon, I&rsquo;m not interested in hearing from you, only from those who liked (or so-so liked) it.</p> Current Status https://grumpygamer.com/042d95387e3186868dff0b2/ Sun, 10 Feb 2019 00:00:00 +0000 https://grumpygamer.com/042d95387e3186868dff0b2/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/twisty.jpg"> Boring title https://grumpygamer.com/9a95ab189b236dc71ea8a45/ Wed, 30 Jan 2019 00:00:00 +0000 https://grumpygamer.com/9a95ab189b236dc71ea8a45/ <p><a href="https://www.oliviaderecat.com/shop/closeness-lines-print">The dog one is heart breaking.</a></p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/Closeness.jpg"> Boring title https://grumpygamer.com/7ac05e7792e15247cce3723/ Tue, 29 Jan 2019 00:00:00 +0000 https://grumpygamer.com/7ac05e7792e15247cce3723/ <p>&ldquo;ALL THESE WORLDS ARE YOURS, EXCEPT <a href="https://www.scientificamerican.com/article/scientists-prepare-for-mission-to-europa/">EUROPA</a>&rdquo; - Arthur C. Clarke</p> Finally! https://grumpygamer.com/voyager/ Thu, 24 Jan 2019 00:00:00 +0000 https://grumpygamer.com/voyager/ <p>This always annoyed me. I&rsquo;m not only glad it annoyed someone else, but glad they decided to make video about it. I feel like I can put years of annoyance to rest now.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/xUiDc6pOfxw?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> Technology, Ranked https://grumpygamer.com/technology_ranked/ Sat, 05 Jan 2019 00:00:00 +0000 https://grumpygamer.com/technology_ranked/ <p>While I am slightly disappointed that SCUMM didn&rsquo;t make the list of <a href="https://paleofuture.gizmodo.com/technology-ranked-1830501100">Technology, Ranked</a>, I am perplexed how the screw gets #99 while many of the inventions from #98-#1 couldn&rsquo;t been made without the screw, so it seems like the screw should be higher on the list. Certainly #1 couldn&rsquo;t have been made without the screw as well as most of the other deadly inventions, so I blame the screw for all evil human inventions. Screw you screw.</p> What Game Dev Feels Like https://grumpygamer.com/3568a6e5d615bbba0faaf76/ Fri, 04 Jan 2019 00:00:00 +0000 https://grumpygamer.com/3568a6e5d615bbba0faaf76/ <ol> <li>Add new game feature</li> <li>Comment out new game feature</li> <li>Go to step 1</li> </ol> Goodbye 2018. Hello 2019. https://grumpygamer.com/goodbye_2018/ Mon, 31 Dec 2018 00:00:00 +0000 https://grumpygamer.com/goodbye_2018/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/roll.jpg"> Thimbleweed Park Sales https://grumpygamer.com/twp_sales/ Thu, 20 Dec 2018 00:00:00 +0000 https://grumpygamer.com/twp_sales/ <p>Interesting tidbit. Last quarter, Thimbleweed Park did 3x as well on Switch than Steam and overall has done better than Steam. It&rsquo;s hard to tell if we did really well on Switch are just badly on Stream. Probably a little of both. Steam sales were never where I thought they should be.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/twp_sales_2018.png"> <p>The Apple number is a little misleading due to the Mac App Store and iOS being lumped together. Also, the GOG number does not include Q3 due to not receiving money from them yet.</p> <p>Given that it&rsquo;s a controller based console, I am pretty impressed with the Xbox number. Microsoft has been a great partner.</p> <p>The Sony numbers are perplexing. Compared to the Xbox, the PS4 has a much larger installed base, especially in Europe where Thimbleweed Park sales have been overwhelmingly the strongest. I am constantly asked why we don&rsquo;t do a Vita port. This is why.</p> <p>These are all LTD (Life to Date) numbers, so Steam, GOG and Xbox had a lead, which makes the Switch all the more impressive.</p> Ten Great Adventure-Game Puzzles https://grumpygamer.com/ten_great_puzzles/ Sat, 08 Dec 2018 00:00:00 +0000 https://grumpygamer.com/ten_great_puzzles/ <p><a href="https://www.filfre.net/2018/11/ten-great-adventure-game-puzzles/">Ten Great Adventure-Game Puzzles</a></p> <p>P.S. I&rsquo;m not linking this just because I&rsquo;m mentioned three times. Really. I&rsquo;m not.</p> Where's the Pulley? https://grumpygamer.com/pulley/ Tue, 04 Dec 2018 00:00:00 +0000 https://grumpygamer.com/pulley/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/83UViMHeizw?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>It&rsquo;s missing the pulley in the middle. Archie McPhee&rsquo;s is only a 5 minute drive from me, so I might head down there and protest. I&rsquo;ll need signs. Someone call the local TV station.</p> World of Warcraft https://grumpygamer.com/wow2/ Wed, 14 Nov 2018 00:00:00 +0000 https://grumpygamer.com/wow2/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ggwow2.jpg"> <p>I think the game I&rsquo;m looking forward to the most next year is <a href="https://www.polygon.com/2018/11/9/18076494/world-of-warcraft-classic-interview-impressions">Classic World of Warcraft</a>. I spent a good chunk of my waking life playing WoW when it first came out. I even started a Monkey Island themed guild that sported over hundred members, most of which never got above level 12. But it was good times.</p> <p><a href="https://grumpygamer.com/world_of_warcraft">Here is the blog entry I write way back in 2005 on WoW</a></p> What do you think? https://grumpygamer.com/what_do_you_think/ Fri, 02 Nov 2018 00:00:00 +0000 https://grumpygamer.com/what_do_you_think/ <p>Doing testing on closures. This also makes my head hurt.</p> <p>What do you think this will print?</p> <pre tabindex="0"><code>local t = { bar = 100 f = function() { print(this.bar) } } t2 &lt;- { bar = 200 } t2.f &lt;- t.f local r = { bar = 1000 function do_call(f) { f() } } r.do_call(t2.f) </code></pre><p><strong>Now with Answers</strong></p> <p>Well, not answers in the definitive truth of the universe way&hellip;</p> <p>If you compile and run this code in <a href="http://www.squirrel-lang.org/">Squirrel</a>, the answer is 1000. This surprised me a little. I was expecting 200, but would have taken 100. As I build this new compiler, being some-what compatible with Squirrel is important, since I have a shit-lot of code already written in Squirrel that needs to run in the new compiler.</p> <p>My new language (called Dinky, btw) is about 90% syntactically compatible with Squirrel, but subtile functionality like what &rsquo;this&rsquo; means might be more important since it can fundamentally change the nature of the game&rsquo;s scripting code I&rsquo;ve already written.</p> <p>I don&rsquo;t think I&rsquo;ve ever written anything as convoluted as the last function call shown, so it might not be important to adhere to, and instead treat &rsquo;this&rsquo; more conventionally. I do wish I knew what the philosophy behind Squirrel&rsquo;s notion of &rsquo;this&rsquo; is. I&rsquo;m hesitant to just change it and miss some genius buried in why it works that way it does.</p> <p>Currently my compiler and interrupter produces the same output as Squirrel and I&rsquo;ll probably stay with that until I understand the &lsquo;why&rsquo; a little better.</p> <p>I&rsquo;ve spent three weeks on the new compiler and am now ready to move it over the my new game and start using it. I figure it will take a good part of this week to get the game fully functional under the new compiler and back to where I was with Squirrel.</p> Unit testing ternary operators... https://grumpygamer.com/unit_testing1/ Mon, 29 Oct 2018 00:00:00 +0000 https://grumpygamer.com/unit_testing1/ <p>&hellip;in my compiler makes my head hurt.</p> <pre tabindex="0"><code>i = 1 ? 2 : 3 Assert(i == 2) i = !1 ? 2 : 3 Assert(i == 3) i = !1 ? 2 : 3 ? 4 : 5 Assert(i == 4) i = !1 ? 2 ? 3 : 4 : 5 ? 6 : 7 Assert(i == 6) i = 1 ? 2 ? 3 : 4 : 5 ? 6 : 7 Assert(i == 3) i = 1 ? !2 ? 3 : 4 : 5 ? 6 : 7 Assert(i == 4) i = 1 ? 0 ? 3 : 4 : 5 ? 6 : 7 Assert(i == 4) i = 1 ? !2 ? 3 ? 4 : 5 : 6 : 7 ? 8 : 9 Assert(i == 6) </code></pre><p>Any others I should test?</p> Casting Values https://grumpygamer.com/casting/ Thu, 25 Oct 2018 00:00:00 +0000 https://grumpygamer.com/casting/ <p>I have a scary Halloween story to tell you&hellip;</p> <p>I was running into a bug in my new compiler where large ints where loosing precision. After tracing through my compiler&rsquo;s C++ code for about an hour trying to catch the spot, I came to this function:</p> <p>int intConstValue() { return _type == kFloat ? _float : _int; }</p> <p>It took me a bit of starring and then it hit. Something from the deep recesses of C-lore came jumping up.</p> <p>Do you know the issue?</p> <p>I won&rsquo;t keep everyone in suspense&hellip;</p> <p>The both sides of trinary operator must return the same type, and in this case I was returning an INT and a FLOAT, so it cast the INT to a FLOAT before returning the value. I didn&rsquo;t notice it until one of my units tests sent large INT&rsquo;s through, larger than a FLOAT can store without loosing precision. Since the function (intConstValue) is returning an INT, I guess I assumed the it would downcast the float, but you know what they say about assuming.</p> <p>I seem to recall being bitten by a similar bug 20 years ago. I guess I&rsquo;m good until 2038&hellip; just in time for Unix time roll over.</p> Boring title https://grumpygamer.com/432108ac08fc38939b2cfc1/ Mon, 15 Oct 2018 00:00:00 +0000 https://grumpygamer.com/432108ac08fc38939b2cfc1/ <p>Much like the Vulcan Pon farr, every seven years I am compelled to write a compiler.</p> Bug Database https://grumpygamer.com/bug_database/ Fri, 12 Oct 2018 00:00:00 +0000 https://grumpygamer.com/bug_database/ <p>I&rsquo;m looking for a good bug database for games and it&rsquo;s been a struggle.</p> <p>We used <a href="https://www.manuscript.com/">FogBugz</a> on Thimbleweed Park, and it was OK, but a little clunky and not very &ldquo;modern&rdquo;. Like a lot of commercial bug databases, they added lots of trendy project management features that distracted from it just being a good bug database. I&rsquo;m sure some people like this stuff, but I just want a simple modern bug database.</p> <p>My biggest issue with FogBugz was their pricing. They didn&rsquo;t do per user pricing, so once we needed 11 accounts, we went from $100/month to $200/month.</p> <p>We looked at <a href="https://www.atlassian.com/software/jira">Jira</a>, but it suffers from the same issues as FogBugz.</p> <p>We also looked at <a href="https://www.bugzilla.org/">Bugzilla</a>, but it suffers from just being a big complicated mess (sorry if I&rsquo;ve offended anyone).</p> <p>I really like Trello as a task manager. I love that you can just drag and drop tasks, it&rsquo;s very slick. I&rsquo;d love a bug database that worked like Trello. I&rsquo;m currently using Trello as a bug database, but it&rsquo;s just too limiting to use much longer.</p> <p>A few years ago, I wrote my own bug database, but I just don&rsquo;t have the time to roll my own again.</p> <p>I don&rsquo;t mind self-hosted solutions or paying for a web based service, as long as it&rsquo;s nice and simple.</p> <p>Has anyone used any good bug databases?</p> Job Opening https://grumpygamer.com/job_opening/ Tue, 18 Sep 2018 00:00:00 +0000 https://grumpygamer.com/job_opening/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/help_wanted2.png"> <p>I have a (paid) art job opening for my side project. I&rsquo;m not going to say much about the game other than what I&rsquo;m looking for in an artist. Think of it as a puzzle.</p> <p>I&rsquo;m looking for a great 2D pixel tile artist. You need to have experience building tiles sheets for a tile-based game, I would prefer it if you&rsquo;ve worked on a released game, but if haven&rsquo;t and your art is just a hobby and you&rsquo;re really good, that&rsquo;s OK.</p> <p>I&rsquo;m looking for someone that can create a very distinct art style and can help set the look and feel for the game. I&rsquo;d like someone that can do more than just create art based on a task list, but rather someone that can act like a mini-art director.</p> <p>Qualifications:</p> <ul> <li>You need to be able to spend 20+ hours a week working on the project for a couple of months.</li> <li>This is a PAID position, so you have to have the ability to work.</li> <li>Must have prior experience building tile sheets and tile maps (the more the better).</li> <li>Understand how to organize a tile sheet and create interconnecting reusable tiles.</li> <li>Need to be up on the &ldquo;state of the art&rdquo; in terms of pixel tile based games.</li> <li>Must love pixel art.</li> </ul> <p>If you&rsquo;re interested, please <a href="https://grumpygamer.com/contact">contact me</a> and include the following:</p> <ol> <li>Your name.</li> <li>Link to your portfolio/website/etc. It MUST include your tile work, but should also include other work to show you&rsquo;re a great artist beyond just tile work.</li> <li>A list of games you&rsquo;ve worked on.</li> <li>Why you think you&rsquo;d be awesome for this job.</li> </ol> <p>I can&rsquo;t emphasize this enough&hellip; I want to create a very unique and interesting look for the game that goes beyond the stock 8-bit tile work out there now (not that it isn&rsquo;t great, just not what I&rsquo;m looking for). Your portfolio doesn&rsquo;t have to include that new look, but it should show me you can help create it.</p> <p>One last note, please don&rsquo;t post the above details in the comments, use the <a href="https://grumpygamer.com/contact">contact link</a>.</p> Boring title https://grumpygamer.com/a7a7d0f72723d4730972d6a/ Thu, 13 Sep 2018 00:00:00 +0000 https://grumpygamer.com/a7a7d0f72723d4730972d6a/ <p>This is a good video.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/4DE_4HUX94E?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>But, for the record&hellip; I hate the term onboarding. I&rsquo;m not against the concept. I just hate the word.</p> Things I Hate About Roguelikes (via) https://grumpygamer.com/roguelike_4/ Mon, 27 Aug 2018 00:00:00 +0000 https://grumpygamer.com/roguelike_4/ <p>This is a great four-part series about Roguelikes from the GOLDEN KRONE HOTEL website.</p> <p><a href="http://www.goldenkronehotel.com/wp/2017/06/01/things-i-hate-about-roguelikes-part-1-burden-of-knowledge/">Part 1: Burden of Knowledge</a><br> <a href="https://www.goldenkronehotel.com/wp/2017/06/25/things-i-hate-about-roguelikes-part-2-identification/">Part 2: Identification</a><br> <a href="https://www.goldenkronehotel.com/wp/2017/09/30/things-i-hate-about-roguelikes-part-3-terrible-controls/">Part 3: Terrible Controls</a><br> <a href="https://www.goldenkronehotel.com/wp/2018/08/01/things-i-hate-about-roguelikes-part-4-bog-standard-dungeons/">Part 4: Bog Standard Dungeons</a></p> <p>Roguelikes are one of my guilty pleasures, although I don&rsquo;t play a lot of different ones and I can safely say I&rsquo;ve never heard of most of the games mentioned in this series (my first experience with Rogue was on a UNIX machine when I started at Lucasfilm).</p> <p>One of my many side projects is working on a roguelike. I&rsquo;ve never made one before, so it&rsquo;s a fun exercise. Technically it&rsquo;s not a roguelike (no random dungeons, no permadeath (not like it&rsquo;s traditionally used)), but it feels like one. I guess they call these roguelites. Or maybe it&rsquo;s the other way around?</p> <p>It&rsquo;s been fun to try and deconstruct the genera and see what is important and what is just legacy cruft. But much like deconstructing adventure games to &ldquo;just the fun parts&rdquo;, it&rsquo;s easy to boil them down to something that isn&rsquo;t an adventure game anymore. Not that that&rsquo;s bad, but don&rsquo;t call them adventure game (or roguelikes) anymore. Maybe you&rsquo;ve stumbled onto something new.</p> Boring title https://grumpygamer.com/273c7616afaf19ec75870e0/ Tue, 07 Aug 2018 00:00:00 +0000 https://grumpygamer.com/273c7616afaf19ec75870e0/ <p>Grumpy Gamer announces that Alex Jones has been banned from this site.</p> Boring title https://grumpygamer.com/9e68ca2389165ec1f52aa6f/ Tue, 07 Aug 2018 00:00:00 +0000 https://grumpygamer.com/9e68ca2389165ec1f52aa6f/ <p><a href="https://arstechnica.com/information-technology/2018/08/how-to-win-or-at-least-not-lose-the-war-on-phishing-enlist-machine-learning/">A Freddi Fish image mashup I thought I&rsquo;d never see</a></p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/freddi-fish-1.jpg"> CI https://grumpygamer.com/ci/ Tue, 07 Aug 2018 00:00:00 +0000 https://grumpygamer.com/ci/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ci.png"> <p>Last month (maybe longer) I wrote about one of the top three production mistakes we made in Thimbleweed Park. Today like like to talk about the second one.</p> <p>Just to be clear, these are production mistakes, not design or programming mistakes (although sometimes the line is blurry).</p> <p>The first one was <a href="https://grumpygamer.com/penny_wise">not integrating FMOD into my engine</a>. As I wrote, it was a Penny Wise and Pound Foolish decision.</p> <p>The one I&rsquo;d like to talk about today is Continuous Integration, but first a little primer.</p> <p>&ldquo;What the hell is this witchcraft you call continuous integration!&rdquo; I can hear you saying and don&rsquo;t feel bad. I wonder how many indie game devs use it. My guess is a lot fewer than should (a quick poll of friends is standing at 0%).</p> <p>Continuous Integration (or, CI, as the pro&rsquo;s call it) is when a separate and often dedication machine is continuously building (compiling) your game whenever you check in code.</p> <p>This is good for two reasons:</p> <ol> <li> <p>If you check in code that won&rsquo;t compile on one of the platforms (I don&rsquo;t care how good or careful you are, this will happen to you) the CI machine will let you (and the rest of the team) know. It helps ensure that the game can build at all times. If you can run a battery of unit tests, the CI machine will often do this as well.</p> </li> <li> <p>Since the CI machine is a standalone machine, it&rsquo;s dev environment is a known quantity, so installing some goofy tool or new version of python on your personal dev machine isn&rsquo;t going to introduce oddities in the build.</p> </li> <li> <p>Bonus point. You always have a build ready to put into test and then distributed to Steam, Xbox, etc.</p> </li> </ol> <p>I&rsquo;ve used CI on previous projects and it can be a pain to set up, but it&rsquo;s a time saver from then on. It&rsquo;s indispensable and you should always use it!</p> <p>Did we use CI on Thimbleweed Park? Of course not! That&rsquo;s why I&rsquo;m writing this blog entry.</p> <p>When the Thimbleweed Park engine got to the point where it could actually be used and David was brought on, I thought about CI. Previously I had used a dedicated machine in the office with <a href="https://jenkins.io/index.html">Jenkins</a> installed. I only ever needed to make a Windows build (or builds that used VS) so it was one machine with a few different flavors of builds.</p> <p>For Thimbleweed Park I need to make Windows, Xbox, Mac, Android, IOS (and later Switch and PS4) and Linux builds. Without some fancy hoop jumping, this was going to require three machines.</p> <p>My mind fuzzed over and I said &ldquo;later&rdquo;.</p> <p>Throughout the project I kept revisiting CI, and being overloaded with work, I kept saying &ldquo;later&rdquo;. As the end of the project rolled around it seemed pointless since the project was almost over. Of course, I was wrong and we continued doing updates and ports for a year.</p> <p>At the time I was looking at CI, cloud-based services like <a href="https://www.appveyor.com/">AppVeyor</a> and <a href="https://travis-ci.org/">TravisCI</a> either didn&rsquo;t exist or never showed up on Google searches. Today you can just use these two cloud services to build Windows (or anything that needs VS), Mac (Mac and iOS) and Linux. Android can be built on any of them. If you don&rsquo;t mind waiting 10 or 15 minutes for the build to start, both services are very reasonable (and free for open source projects).</p> <p>In the end, I built the Windows, Mac and Linux builds on my local machine. I had the entire process scripted, so it was running a single bash script and all the Mac versions were built. I ran a Windows VM on my Mac and would launch it was run a .bat file to built all the Windows flavors. Same with Linux, boot the VM and do the builds.</p> <p>Thimbleweed Park was a tad complex because there were two parts that had to be rebuilt (the engine and the game), and while intertwined, they were separate and it was common for one to be rebuilt and the other not. It was also complicated by all the game build tools being on the Mac, so you couldn&rsquo;t actually build the game code on Windows. This didn&rsquo;t matter since the game code/files were 100% cross-platform. I could build them on the Mac and they would run on Windows, PS4, Switch, etc.</p> <p>It makes CI a little more complex because your CI might be building the engine but something had to merge it all together (another CI process). The game code needs to be built first (and you don&rsquo;t need to rebuild it for each platform), then the engine process could grab it and merge it, or a third process could combine it all, but everyone would have to know when each piece was done (if a new build was needed). My point isn&rsquo;t that it&rsquo;s impossible, just that it&rsquo;s hard and a problem that I ultimately (and unfortunately) didn&rsquo;t need to solve.</p> <p>Back when the project started, if I had known about <a href="https://www.appveyor.com/">AppVeyor</a> and <a href="https://travis-ci.org/">TravisCI</a>, I would have set them up and ultimately saved me a lot of time and stress.</p> <p>Next time for sure!!!</p> <p>No, really, next time for sure.</p> Boring title https://grumpygamer.com/68cbf431331492d3ddc5900/ Mon, 06 Aug 2018 00:00:00 +0000 https://grumpygamer.com/68cbf431331492d3ddc5900/ <p><a href="https://blogs.scientificamerican.com/life-unbounded/the-utter-failure-of-fictional-time-travel">&hellip;the cosmos is littered with time travelers adrift between the stars.</a></p> Octopath https://grumpygamer.com/octopath_traveler/ Fri, 27 Jul 2018 00:00:00 +0000 https://grumpygamer.com/octopath_traveler/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/octopath.jpg"> <p>I&rsquo;m quite enjoying Octopath Traveler. I&rsquo;m not a big fan of other Square games and generally don&rsquo;t enjoy the JRPG format, but for some reason, this game has stuck with me for hours and hours. I&rsquo;ve just hit the first boss I can&rsquo;t defeat (to avoid any embarrassment, I&rsquo;m not saying which one).</p> <p>I&rsquo;ve beat my head against this boss for quite a while and I&rsquo;m about ready to just quit. As a game designer, it&rsquo;s an interesting experience. Players clearly have this problem with the games I design and it makes me wonder if it&rsquo;s a good experience.</p> <p>I&rsquo;ve resited hint systems in my adventure games for almost ever and had to be beaten down by the rest of the TWP team to add one, but in retrospect, it was the right decision and should have been in there from day one.</p> <p>The point of a game is to enjoy it and if a little hint, nudge or one-shot can often help someone do that. The danger for a designer is that the hint system becomes a crutch and it becomes how people play the game and they have a shitty experience because they spent most of there time looking up (or calling for) hints.</p> <p>I severely run the risk of not picking up Octopath again. I&rsquo;d love a way to circumvent bosses, even if it took me a little grinding to do so. Maybe there is and I just haven&rsquo;t found it yet.</p> <p>Hint systems are good, but they do need a little friction.</p> Why are you making this so hard Microsoft? https://grumpygamer.com/why_so_hard_ms/ Sun, 15 Jul 2018 00:00:00 +0000 https://grumpygamer.com/why_so_hard_ms/ <p>All I want to do is pass a #define on the command line to msbuild. <a href="https://stackoverflow.com/questions/485237/define-a-preprocessor-value-from-command-line-using-msbuild">Why does MS make this so hard?</a> Why not have a simple /DFOOBAR option? This kind of pointless complexity drives me crazy. I&rsquo;m sure some nerd at MS was super pleased with their wicked powerful solution&hellip; fine&hellip; but provide a simple solution for the thing 90% of people want to do.</p> <p>Sorry, I just needed to vent.</p> <p>P.S. Apparently you can do the following kludge:</p> <p>set CL=/DFOOBAR</p> <p>Before you call msbuild.</p> Boring title https://grumpygamer.com/ab36a3c7503ead5c3fe9f7f/ Fri, 06 Jul 2018 00:00:00 +0000 https://grumpygamer.com/ab36a3c7503ead5c3fe9f7f/ <p><a href="https://www.pagetable.com/?p=956">Yeah, but does it run GraphicsBASIC</a></p> Git Question https://grumpygamer.com/git_question/ Mon, 02 Jul 2018 00:00:00 +0000 https://grumpygamer.com/git_question/ <p>I have a Git question. I kind of know how to do this but in a horrible brut forced way and I&rsquo;d like to know if there is a &ldquo;better&rdquo; or more &ldquo;elegant&rdquo; way to do it.</p> <p>The letters A-I are misleading. The actual repository has around 600 commits (and close to 1000 files/directories).</p> <p>I have a master branch (A-F) and I created a new branch (G,H,I) and have been actively working on it. The master branch has had a few commits since the branch, but not a lot.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/repo-1.png"> <p>What I&rsquo;d like to do is create a 2nd repository that only includes E,G,H and I. The old repository is getting huge and the new branch (G,H,I) has become significantly different from the master branch.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/repo-2.png"> <p>Is there a clean way to do this? I assume it involves &ndash;rebase, &ndash;reset, &ndash;hard, &ndash;or-your-fucked flags. I really love Git, it&rsquo;s amazingly powerful and equally as confusing.</p> <p>Given there are hundreds of commits and close to a thousand files and directories, I want something that doesn&rsquo;t involve me having to interact with each commit or rechecking in files. The history from E-I is important to keep (and is way more than 4 commits).</p> Penny Wise and Pound Foolish https://grumpygamer.com/penny_wise/ Tue, 26 Jun 2018 00:00:00 +0000 https://grumpygamer.com/penny_wise/ <p>Not sure where the phrase &ldquo;penny wise and pound foolish&rdquo; comes from. I suppose I could look it up on the internets, but that seems like too much work. As a kid, this phrase made no sense to me, it was only later when I realized that a &ldquo;pound&rdquo; was a form of English money that it kind of fell into place.</p> <p>We did a lot of things right when building Thimbleweed Park. We also did a few things wrong. It goes with &ldquo;making games&rdquo;.</p> <p>One of the things I messed up on was not integrating <a href="https://fmod.com">FMOD</a>. For those of you not in-the-know, FMOD is a cross-platform music and sound middleware engine and it&rsquo;s quite impressive.</p> <p>When Thimbleweed Park started, one of the decisions I had to make was what to do about sound. I was using a thin layer of SDL to create windows and pass along input events (rendering didn&rsquo;t use SDL for performance reasons). SDL also has a minimal sound system called <a href="https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_frame.html">SDL Mixer</a>. It was bare bones, but it got the job done for the simple prototypes I was working on at the time..</p> <p>When Thimbleweed Park pre-production started, I looked into sound systems. The two big choices were <a href="https://www.audiokinetic.com">Wwise</a> and <a href="https://fmod.com">FMOD</a>. At the time, FMOD was charging $5000 for the first platform and a few thousand for each additional platform. They did have Indie pricing where the first platform was free if your budget was less than $500K.</p> <p>Since we raised $560K+ on Kickstarter, this was just out of reach. I suppose I could have fuged the budget, but I don&rsquo;t like to do that kind of stuff (and the Kickstarter amount was very public), plus I always knew there was the possibility that we might raise more money. $5000 + the additional platforms would bring the licensing cost of FMOD to just over $10,000. I was pretty paranoid about the budget and not having enough money to finish the game. I really didn&rsquo;t want to be one of those Kickstarters that runs out of money due to poor planning or scope creep.</p> <p>So I made the decision to stick with SDL Mixer. It got the job done. I was being penny wise.</p> <p>SDL worked great on Windows, Mac, and Linux, but when we started the Xbox/Win10 port we began to run into issues and ultimately decided to ditch SDL for that port. Along with ditching the main part of SDL we also lost SDL Mixer. In the beginning, it didn&rsquo;t seem like too much work to recreate the simple backend sound system of SDL Mixer and like most things (about to get crazy fucked up), it was up and running pretty quickly.</p> <p>On the PC side, David and I started to build the game and with that came wiring in sound effects. In the beginning, it was pretty simple, but as we proceeded we got a lot cockier and wanted more complex features in the sound system. So I added them. And added more. And then added more.</p> <p>Evolving the sound system became a large chunk of work for me and each time I did that, we needed to make sure the Xbox/Win10 version was on par. This was the beginning of warning signs I should have caught, but like boiling that frog (<a href="https://en.wikipedia.org/wiki/Boiling_frog">which is a myth</a>, btw) before you know it, the water is boiling.</p> <p>There were a couple of times I thought about FMOD but figured integrating it at that point would be too much work (how wrong I was).</p> <p>When we raised some investor money to do new ports, we also had a little extra money so we hired <a href="http://www.elisekates.com">Elise Kates</a> to create sounds. This only complicated matters because her sounds were a lot better than our &ldquo;programmer sounds&rdquo; and she wanted to do more complex audio. So I added to our homespun sound engine. More work for me (and everyone else).</p> <p>Then we started the Switch and PS4 ports, neither of which could use SDL out of the box, so we had to get the sound engine working on those new platforms.</p> <p>Yeah, in the end, we spent way more than $10,000 on sound coding. Penny wise, pound foolish.</p> <p>A month ago I was bored (when I run into creative blocks, I build tech) and thought &ldquo;Hey! I&rsquo;m bored. I&rsquo;ll integrate FMOD into my engine. It took me two days and FMOD was fully functional.</p> <p>Plus&hellip; FMOD changed their license, so it is now it&rsquo;s a flat $5000 for all platforms (and still free if your indie budget is less than $500K). Not only would FMOD have saved us a bunch of money, we would have had much better SFX too boot.</p> <p>If I look back on the three big things I regret about Thimbleweed Park production, not integrating FMOD is one of them.</p> Boring title https://grumpygamer.com/1c0d050224fae515d4ee164/ Mon, 18 Jun 2018 00:00:00 +0000 https://grumpygamer.com/1c0d050224fae515d4ee164/ <p>Damn-it! I just bought a new yacht and <a href="https://www.engadget.com/2018/06/18/volvo-builds-a-self-docking-yacht">now they come out with this.</a></p> Boring title https://grumpygamer.com/94c3750ac035c3f655ec0e1/ Fri, 15 Jun 2018 00:00:00 +0000 https://grumpygamer.com/94c3750ac035c3f655ec0e1/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/buy_together.png"> Boring title https://grumpygamer.com/6587cc76ff78aed87762638/ Mon, 11 Jun 2018 00:00:00 +0000 https://grumpygamer.com/6587cc76ff78aed87762638/ <p>Please don&rsquo;t put <a href="https://laughingsquid.com/hot-wheels-gopro-pov-beach-run/">animated GIFs of a movie right above the movie on your webpage</a>&hellip; it&rsquo;s fucking annoying.</p> Boring title https://grumpygamer.com/a427c6c12939a1ef719e6ff/ Mon, 04 Jun 2018 00:00:00 +0000 https://grumpygamer.com/a427c6c12939a1ef719e6ff/ <p>Dear Microsoft:</p> <p>Don&rsquo;t fuck up <a href="https://blogs.microsoft.com/blog/2018/06/04/microsoft-github-empowering-developers/">GitHub</a> the same way you fucked up Skype.</p> Current Status https://grumpygamer.com/norway_iceland/ Thu, 10 May 2018 00:00:00 +0000 https://grumpygamer.com/norway_iceland/ <p>I&rsquo;m going to spend a week in Norway and then stop off in Iceland for 3 days. You&rsquo;ve been warned.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/norway.jpg"> <p>Looking forward to hanging out with Al Lowe again. As is customary, I expect a Lucas/Sierra fist fight.</p> <p>I also hope I get to meet John De Lancie. I really want to pick his brain about my Q Continuum theories. I&rsquo;m sure he&rsquo;ll be fascinated and provide much-needed insight.</p> New Game Idea https://grumpygamer.com/battle_royale_for_introverts/ Wed, 09 May 2018 00:00:00 +0000 https://grumpygamer.com/battle_royale_for_introverts/ <p>It&rsquo;s my Battle Royale game for introverts. Players parachute onto an island then scramble to find a nice quiet place to handout with a small group of close friends and chat.</p> Budget, Scope and Schedule https://grumpygamer.com/scope_budget_schedule/ Mon, 07 May 2018 00:00:00 +0000 https://grumpygamer.com/scope_budget_schedule/ <p>I can&rsquo;t help but wonder if how to <a href="https://www.gamesindustry.biz/articles/2018-05-07-the-reason-were-killing-ourselves-isnt-because-we-love-what-were-doing">keep indie dev from not working themselves to death</a> has more to do with learning how to budget, scope and schedule.</p> <p>Thimbleweed Park (a kickstarted project) was around 6 months late and no one crunched beyond a weekend here and there. How did we do that? We scoped, budgeted and scheduled.</p> <p>We fucked up a lot of things, crunching was not one of them. It would be nice if the press talked about all the projects that are doing things right, rather than focus on&hellip; oh nevermind&hellip;. what am I thinking.</p> <p>It&rsquo;s a crime that so many Kickstarter projects are asking for far less money than they need to finish. It&rsquo;s unlikely they did serious scheduling and budgeting. Or maybe they did and said, &ldquo;fuck it&rdquo;. That&rsquo;s a problem.</p> <p>I&rsquo;ve talked to a few indie devs that didn&rsquo;t ask for enough money to finish and they say &ldquo;But we wouldn&rsquo;t get to make the game otherwise.&rdquo; Yeah, OK, fair, but then don&rsquo;t complain when you kill yourself in the process.</p> <p>It&rsquo;s a big problem that indies can&rsquo;t raise realistic amounts of money to build games. It&rsquo;s a horrible cycle and I&rsquo;ve stopped backing Kickstarters where they are not asking for a realistic amount.</p> <p>Not a week goes by that I don&rsquo;t run into an indie dev that is jumping headlong into a project and they haven&rsquo;t done any serious budgeting and scheduling. The ugly truth is: if they did (and were honest) they would never start.</p> <p>Maybe that&rsquo;s not all bad.</p> Current Status https://grumpygamer.com/current_status_0412a/ Fri, 13 Apr 2018 00:00:00 +0000 https://grumpygamer.com/current_status_0412a/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/current_status0412.png"> April Fools' 2018 https://grumpygamer.com/april_fools_2018/ Sun, 01 Apr 2018 00:00:00 +0000 https://grumpygamer.com/april_fools_2018/ <p>Well&hellip; 14 years in a row, the Grumpy Gamer blog has been 100% April Fools&rsquo; day free.</p> <p>Maybe it&rsquo;s just me, but it feels like the stupidity of April Fools&rsquo; is waining a little. Maybe my life&rsquo;s mission is finally coming to an end. It&rsquo;s also possible that I&rsquo;m really playing the long game and once you&rsquo;re all 110% convinced I would never pull an April Fools&rsquo; Prank, that&rsquo;s when I get you!</p> <p>We got Pep from the local shelter three years ago in June, they estimated she was around 2-3 months old, so we put her Birthday on April 1, so happy Birthday Pep.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/happy_birthday_pep_2018.jpg"> Thimbleversary https://grumpygamer.com/thimbleversary/ Tue, 27 Mar 2018 00:00:00 +0000 https://grumpygamer.com/thimbleversary/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/thimbleversary2.png"> <p>Thimbleweed Park&rsquo;s one-year anniversary is this Friday, and to help commiserate (I mean celebrate) the game is going to be 50% off for one day on all platforms. If you&rsquo;re thinking of picking it up, you might want to hold off a few days.</p> <p>This will be the deepest discount we&rsquo;ve offered, after that, it&rsquo;s back to our normal price (but still less than the Guybrush approved price for a video game).</p> Boring title https://grumpygamer.com/50984d2b51dbd0d82c6cc6d/ Thu, 22 Mar 2018 00:00:00 +0000 https://grumpygamer.com/50984d2b51dbd0d82c6cc6d/ <p>My new favorite YouTube Channel&hellip;</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/fOgKjpq7Nws?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> Combat https://grumpygamer.com/combat_examples/ Wed, 21 Mar 2018 00:00:00 +0000 https://grumpygamer.com/combat_examples/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/combat.png"> <p>Does anyone out there have any good examples of top-down action/RPG games that have nice feeling combat? Preferably using pixel art and keyboard only. The combat in Nuclear Throne feels really nice, but like so many games out there, they use a combination of mouse and keyboard (keyboard to move, mouse to attack).</p> <p>I&rsquo;m trying to do the whole game with just keyboard (don&rsquo;t ask, it&rsquo;s just a requirement of mine).</p> <p>Currently, I use WASD to move and SPACE/Enter to attack, but it just feels wrong and I can&rsquo;t place why. Maybe it&rsquo;s the best that it gets with keyboard only. Or maybe there is something little I&rsquo;m doing wrong that actually matters a lot. It&rsquo;s why I&rsquo;d like to play some example of games that do it well.</p> <p>Also, something that runs on the Mac.</p> <p>And I want a pony.</p> <p><strong>UPDATE:</strong> Still no pony. But, for the commenters that are telling me I should use arrow keys instead of WASD&hellip; arrow keys work as well as the num pad. Originally, only the arrow keys worked, but then every single person I sat down to play started using WASD, so I finally implemented it.</p> Time to get Serious https://grumpygamer.com/new_dice/ Sat, 17 Mar 2018 00:00:00 +0000 https://grumpygamer.com/new_dice/ <p>I got some new D&amp;D dice. Things are starting to heat up in my group and it&rsquo;s time to stop screwing around.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dice.jpg"> Food on the Holodeck https://grumpygamer.com/holodeck/ Fri, 16 Mar 2018 00:00:00 +0000 https://grumpygamer.com/holodeck/ <p>In Star Trek, people eat food on the holodeck. Does the food disappear when they close their mouth? Why do they say it tastes good? Are they just roleplaying? Or does the holodeck special replicate the food like the replicators? If so, then why don&rsquo;t the crew of Voyager just eat on the holodeck, avoiding the need for replicator rations? In the first episode of Voyager, they mention the replicators and the holodeck run off different energy signatures, this why there aren&rsquo;t holodeck rations.</p> <p>P.S. These are the kind of things I think about when procrastinating.</p> A Little Something https://grumpygamer.com/a_little_something/ Wed, 14 Mar 2018 00:00:00 +0000 https://grumpygamer.com/a_little_something/ <p>A little something I&rsquo;ve been messing around with.</p> <p><strong>Side note:</strong> <a href="http://www.mapeditor.org/">Tiled</a> is a great tile editor and come a long way since I first used it many years ago.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/a_little_something2.png"> <p>This is a map section (<em>SPOILERS</em>) for the main map. It started out as a cute little story about what religion means and does to us, but the narrative is taking me in odd directions and I don&rsquo;t know if it will end up there.</p> <p>It&rsquo;s interesting to build an RPG (using the term very loosely) where you have the option to play the entire game with no combat and it&rsquo;s still fun. Undertale did this but in a subversive way. I want to do it more in a normal choose-your-own-playstyle way. Fight if you want, don&rsquo;t if you don&rsquo;t and it&rsquo;s equally as fun but it affects the narrative. A passive player won&rsquo;t see the same game as a combative one, but won&rsquo;t feel like they are missing anything.</p> <p>I posted some previous screenshots of this prototype, but since then I&rsquo;ve ripped out all the tile graphics and started over with a <a href="http://www.kenney.nl">much simpler</a> (almost icon) art style. I found that during prototyping, as soon as the art started to look too finished and refined, it would distract me and I&rsquo;d spend all my time trying to make it better, rather than working on the game or story.</p> <p>But it can&rsquo;t be crappy, or I get distracted with that. <a href="http://www.kenney.nl">Kenney&rsquo;s tilesets</a> were perfect. Simple, but also really good.</p> <p>Currently, it&rsquo;s just something I&rsquo;m messing around with for fun and relaxation, I don&rsquo;t know if it will become a real project or not.</p> Three Short Arguments https://grumpygamer.com/smarter_than_i_am/ Thu, 08 Mar 2018 00:00:00 +0000 https://grumpygamer.com/smarter_than_i_am/ <p>This video makes me seem much smarter than I actually am.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/IJcJevvWGP8?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> Ransome *Unbeeped* https://grumpygamer.com/ransome_unbeeped/ Thu, 01 Mar 2018 00:00:00 +0000 https://grumpygamer.com/ransome_unbeeped/ <p>We just released the new Ransome <em>unbeeped</em> DLC on <a href="http://store.steampowered.com/app/638280/Thimbleweed_Park__Ransome_Unbeeped">Steam</a> and <a href="https://www.gog.com/game/thimbleweed_park_ransome_unbeeped">GOG</a>. Give the trailer a watch, but I have to warn you, if you&rsquo;re offended by words like <em>beep</em>, <em>beeper</em>, <em>beephole</em>, or <em>beephead</em> you might want to avert your ears.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe src="https://player.vimeo.com/video/257804197" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="vimeo video" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> </div> <p>It&rsquo;s a little depressing that a few people are actually upset that we&rsquo;re charging $1.99 for this. Making this wasn&rsquo;t free. It took a lot of work. Programming, testing, audio editing, etc. It feels like people think it was just copying a bunch of audio files over. I&rsquo;ve always objected to DLC that was made at the same time as the game and all they do is flip a bit. This is not that kind of DLC. The code to make this work was not written until just a few months ago. We had the idea of MAYBE doing this DLC during the development, but none of the work was done.</p> <p>We&rsquo;ve released two MAJOR updates for FREE since launch, so I think we deserve to try and recover some of our costs. It sometimes feels like people expect game devs to make games for free. This is my livelihood. I use it to pay my rent and buy food. Game pricing is completely screwed up, it&rsquo;s why you see predatory free-to-play games and loot boxes.</p> <p>The other reason it&rsquo;s not FREE is so people don&rsquo;t suddenly (and without warning) get a full-on <em>unbeeped</em> clown swearing at their kids. Having to pay something provides some parental friction.</p> <p><a href="http://store.steampowered.com/app/638280/Thimbleweed_Park__Ransome_Unbeeped">Buy it!</a></p> <p>It&rsquo;s only $1.99 and you&rsquo;ll support game devs trying to make a living so they can keep making games.</p> Haunted by the Cave https://grumpygamer.com/haunted_by_the_cave/ Tue, 27 Feb 2018 00:00:00 +0000 https://grumpygamer.com/haunted_by_the_cave/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/the_cave_keyart.jpg"> <p>Of all the games I&rsquo;ve released, I&rsquo;m haunted the most by The Cave. I guess when a game percolates in your head for 30 years, it&rsquo;s bound to mean something.</p> <p>I&rsquo;ve released good games and I&rsquo;ve released bad games, but I always felt I knew which was which, if not before releasing, it always became apparent soon after. I&rsquo;d look at the game and understand why it failed or succeeded. Scurvy Scallywags is a great game, but I understand why it failed. I have no regrets, but I understand it.</p> <p>The Cave, not so much. The Cave is a great game and how it was panned and forgotten perplexes me to this very day. The other night, I literally (and I am using that word correctly) woke up from a nightmare about The Cave. If I ever venture down into The Cave, my object of desire will be a successful version of The Cave. What atrocities will I commit to make it true?</p> <p>I&rsquo;ve asked a lot of friends and read countless options on the Internet about what&rsquo;s wrong with The Cave, so I&rsquo;m not asking. Please don&rsquo;t tell me in the comments, I&rsquo;ll just delete them.</p> <p>The morning The Cave was released, I eagerly awoke and headed to my computer to see early reviews. Buzz was good, playtesting was good, press tour feedback was good. I was optimistic. Then I read the first review, then the second, and a third. I was crushed.</p> <p>I headed into work and felt horrible. Everyone on the team did such a great job and they were reading the same reviews and it was disheartening. How could I fuck this up, I kept saying to myself, all the while trying to keep a positive attitude. There is no one to blame but myself and it haunts me to this very day. Who did I not listen to? What did I not see?</p> <p>Maybe it was one or two big things, like having to repeat the common areas, or maybe it was more systemic. Maybe it was just bad, boring or pointless storytelling. Maybe it just wasn&rsquo;t that fun. When something fails (from rocket ships to movies to a game), it&rsquo;s often (but not always) many things that form a perfect-storm of ick. For every internet theory I&rsquo;ve read on what is wrong with The Cave, I can point to other games that did very much the same thing and succeeded. I don&rsquo;t feel it&rsquo;s a matter of just fixing one thing and we&rsquo;re done. It&rsquo;s kind of why it&rsquo;s not a 20/20 hindsight discussion I want to have.</p> <p>Over time, I can often distance myself from my games and understand (both the good and the bad) them better. But not The Cave.</p> <p>After my nightmare a few days ago, I fell back to sleep and had another dream about The Cave. In this dream, I made The Cave 2, but in 2D and with new characters and fixed all the problems.</p> <p>But I don&rsquo;t own the rights to The Cave, and the chances of Double Fine selling them back to me are about as good as Disney Selling me Monkey Island (and I won&rsquo;t work on games anymore that I don&rsquo;t own/control).</p> <p>I&rsquo;m not sure what I&rsquo;d fix anyway. My dream didn&rsquo;t tell me that.</p> Boring title https://grumpygamer.com/f3e31b6aa8cf8e5650e9dab/ Thu, 22 Feb 2018 00:00:00 +0000 https://grumpygamer.com/f3e31b6aa8cf8e5650e9dab/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/not_null.png"> <p>Ah, I see your problem there and it&rsquo;s assuming my C++ code is &ldquo;well-defined&rdquo;.</p> Boring title https://grumpygamer.com/3ace843b654509e331abbda/ Wed, 21 Feb 2018 00:00:00 +0000 https://grumpygamer.com/3ace843b654509e331abbda/ <p>Wednesday Indie Game Dev!</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/wed_indie_gamedev.jpg"> Don't fall down https://grumpygamer.com/dont_fall_down/ Tue, 20 Feb 2018 00:00:00 +0000 https://grumpygamer.com/dont_fall_down/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/dont_fall_down.png"> <p><a href="https://www.washingtonpost.com/news/early-lead/wp/2018/02/20/how-a-skier-managed-to-compete-at-the-olympics-despite-not-being-very-good">How a skier managed to compete at the Olympics despite not being very good</a></p> <p>It&rsquo;s a fascinating read and oddly inspirational.</p> <p>I wonder if this should be my new philosophy for making games: &ldquo;Make a game and don&rsquo;t fall down.&rdquo;</p> Boring title https://grumpygamer.com/75e837d47ae8303cc114212/ Sun, 18 Feb 2018 00:00:00 +0000 https://grumpygamer.com/75e837d47ae8303cc114212/ <p><a href="https://www.jacobinmag.com/2018/02/elon-musk-hyperloop-public-transit-tech">&ldquo;Musk and his fellow tech CEOs promote driverless vehicles as the future because it&rsquo;s the future they desire. They don&rsquo;t want to be on a subway or train next to regular people — as Musk has already said, one of them might be a serial killer! It&rsquo;s troubling how much they want to isolate themselves from regular people, but the reality of urban mobility is that only a small portion of the population can be in individualized transport until it simply stops working.&rdquo;</a></p> <p>I&rsquo;m not a big fan of Elon Musk. I think he&rsquo;s driven by a huge self-serving ego. He&rsquo;s charming and charming people can be dangerious.</p> Boring title https://grumpygamer.com/918ee026775aa61f08d39fa/ Sun, 18 Feb 2018 00:00:00 +0000 https://grumpygamer.com/918ee026775aa61f08d39fa/ <p><a href="https://www.youtube.com/watch?v=Iao5xn9SUdc">This is why I&rsquo;ll never go to Disneyland</a>. I don&rsquo;t consider this &ldquo;enhancing&rdquo; my ride experience. I find it creepy and invasive. It&rsquo;s not that I&rsquo;m bothered by Disney tracking me through the park, it&rsquo;s that I don&rsquo;t want my name thrown up on a screen for everyone to see. That is a violation of my privacy.</p> Boring title https://grumpygamer.com/f919110d379dc3c0a5bd016/ Fri, 16 Feb 2018 00:00:00 +0000 https://grumpygamer.com/f919110d379dc3c0a5bd016/ <p>Pro-tip for new indie devs: Your hardest game will be your second game.</p> Happy Valentine's Day https://grumpygamer.com/valentines_day_2018/ Wed, 14 Feb 2018 00:00:00 +0000 https://grumpygamer.com/valentines_day_2018/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-27.jpg"> Thimbleweed Park Vinyl https://grumpygamer.com/thimblevinyl/ Tue, 13 Feb 2018 00:00:00 +0000 https://grumpygamer.com/thimblevinyl/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TWP_vinyl.png"> <p>If your parent&rsquo;s old turntable is gathering dust in the basement, oh boy do I have an awesome use for it!</p> <p>Also worth noting that vinyl will likely still be playable after the apocalypse. MP3s. Not so much. Think of it as an investment in bartering for food in the future.</p> <p><a href="https://www.fangamer.com/products/thimbleweed-park-vinyl">BUY NOW</a></p> Boring title https://grumpygamer.com/40124c6f0f1ec440e04b451/ Thu, 08 Feb 2018 00:00:00 +0000 https://grumpygamer.com/40124c6f0f1ec440e04b451/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/understanding_calc.png"> Boring title https://grumpygamer.com/541edf7a3152982f208f0d1/ Wed, 07 Feb 2018 00:00:00 +0000 https://grumpygamer.com/541edf7a3152982f208f0d1/ <p>What other <a href="https://www.thedunlap-tribune.com/2018/02/06/j-b-mcdowell/">Ron Gilberts</a> around the world are doing.</p> BBEdit https://grumpygamer.com/bbedit/ Tue, 06 Feb 2018 00:00:00 +0000 https://grumpygamer.com/bbedit/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/bbedit.png"> <p>I&rsquo;m a big fan of <a href="http://www.barebones.com/products/bbedit/index.html">BBEdit</a>, as a Mac user, it&rsquo;s my text editor of choice for all but Xcode/C++ programming.</p> <p>David, Jenn, and I used <a href="http://www.barebones.com/products/bbedit/index.html">BBEdit</a> on Thimbleweed Park. I even created a custom syntax coloring scheme for our proprietary language and David added some great keyword based auto expansions.</p> <p>It&rsquo;s feature rich and has everything a coder could want. Except for one thing and it drives me crazy to the point that each time I need to do it, it puts a stain on what is by all other accounts, a perfect editing experience.</p> <p>In Xcode, I can select a word (or words), right click on it and the pop-up menu shows this.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/xcode_find_in_project.png"> <p>It&rsquo;s my bread-and-butter for searching.</p> <p>I can&rsquo;t do this in BBEdit. The closest I can come is selecting the word, then hitting ⌘-E to <strong>Use Selected Text In Find</strong>, then ⌘-G to bring up the <strong>Search In Project</strong> window and click on Find.</p> <p>This is cumbersome as it requires me to move my hands to the keyboard. (yes, I know super programmers only use the keyboard, but clearly, not all of us do).</p> <p>If I could get BBEdit to add just one thing, it would be this. Then it would be perfect.</p> <p>During Thimbleweed Park I wasted several afternoons trying to hack this in with macros, etc.</p> <p>P.S. To head off the griping/astonishment I get whenever I post a screenshot of my text editor&hellip; yes, I enjoy programming with a light/white background. But only for C++. For other languages (in BBEdit), I use a dark/black background. As I am switching between the two all day long, I find my brain needs to strong visual distinction to differentiate the two.</p> Boring title https://grumpygamer.com/30f4e60248ef8c86e072fcd/ Tue, 06 Feb 2018 00:00:00 +0000 https://grumpygamer.com/30f4e60248ef8c86e072fcd/ <p>There are three groups of people I really hate: Grammar Nazis, Password Nazis, and actual Nazis.</p> Boring title https://grumpygamer.com/68abceee851a643812fe5e6/ Mon, 29 Jan 2018 00:00:00 +0000 https://grumpygamer.com/68abceee851a643812fe5e6/ <p><a href="https://medium.com/humane-tech/the-immortal-myths-about-online-abuse-a156e3370aee">If your website is full of assholes, it&rsquo;s your fault</a></p> <p>&ldquo;Our communities are defined by the worst things that we permit to happen. What we allow tells the world who we are.&rdquo;</p> Statistics Question https://grumpygamer.com/statistics_question/ Mon, 29 Jan 2018 00:00:00 +0000 https://grumpygamer.com/statistics_question/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/chartish.png"> <p>I took a statistics class in college, but I didn&rsquo;t pay much attention due to never seeing a need for the knowledge. Much of my education is like this: &ldquo;Why the hell would I ever need this&rdquo;, only to find out years later that I desperately needed it (yeah, I&rsquo;m talking to you, high school algebra).</p> <p>Thimbleweed Park is out on seven different digital stores and each of them has a completely different way of reporting sales. It&rsquo;s time-consuming and frustrating to download each sales report once a month and hand massage the data into a useable format.</p> <p>I spent the last few days writing a python script to take all the data and move it into a single SQL database so I could quickly query tons of useful information.</p> <p>@@pre@@ SELECT countries.country, SUM(sales.units_sold) AS units_sold FROM sales JOIN countries ON sales.country_code = countries.country_code WHERE units_sold &gt; 0 GROUP BY sales.country_code ORDER BY units_sold DESC @@pre@@</p> <p>One thing I want to know is an &ldquo;average&rdquo; units/day for each store, so I can keep an eye on long-term trends. Sounds easy, except for sales and promotions happening all-to-often, and they produce huge spikes in the data that I don&rsquo;t care about. I just want to see an average for average non-sale days and I don&rsquo;t want to go in and remove the sale ranges as sometimes they happen without my knowledge.</p> <p>I&rsquo;m looking for a way to take an average that removes spikes that are well above the average. This doesn&rsquo;t have to be in SQL, that computation will most likely happen in a spreadsheet, or could happen in the report generation if it&rsquo;s too complex.</p> <p>Maybe this isn&rsquo;t possible, but I figured I&rsquo;d ask.</p> Thimbleweed Park sales by store https://grumpygamer.com/twp_sales_by_store/ Thu, 25 Jan 2018 00:00:00 +0000 https://grumpygamer.com/twp_sales_by_store/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/twp_sales_by_platform.png"> <p>Here is a breakdown of Thimbleweed Park sales by store for 2017. This is based on dollars, not units, so mobile numbers will be smaller due to price. You can see how strong Switch is given it only had a few months of sales.</p> <p>The iOS and Mac App Store numbers are combined due to Apple lumping them together for payments. 75% of the money from Apple comes from iOS.</p> <p>Typically, GOG sales are 5%-10% of Steam sales, but we&rsquo;re doing much better than that.</p> <p>Android sales are lower than expected, but not by much. Paid Android apps have always been a struggle.</p> <p>The thin green slice at the top is the Humble store.</p> <p>The biggest disappointment is PS4 sales. We could never get them to feature us, so we&rsquo;ve haven&rsquo;t been on the dashboard. PS4 and Switch came out close to the same time, so I figure Switch sales have cannibalized PS4 to some extent, but it doesn&rsquo;t fully explain it. Given the large installed base of PS4, it&rsquo;s a tad confusing. The argument that players don&rsquo;t want to play point-and-click on a console doesn&rsquo;t hold water given how well we did on Xbox.</p> <p>For indie devs that don&rsquo;t have money to advertise, you&rsquo;re at the mercy of the platforms, and this goes for Steam, GOG and the others. 90% of your attention comes from being on the front page or dashboard, and if you can&rsquo;t get them to feature you (or aren&rsquo;t naturally in the top lists), you have a problem.</p> <p>All-in-all, I can&rsquo;t complain. Thimbleweed Park has done well. Nobody is getting rich, and it&rsquo;s not enough to turn around and make another point-and-click adventure without substantial risk, but by the end of 2017 I had made just enough to just dig myself out of the financial hole the game put me in.</p> Boring title https://grumpygamer.com/8b3329f261f58faa30524b8/ Mon, 22 Jan 2018 00:00:00 +0000 https://grumpygamer.com/8b3329f261f58faa30524b8/ <p>The best way to train a neural network is with a combination of reward and punishment.</p> Quentin Tarantino's Star Trek gets its first trailer https://grumpygamer.com/tarantino_startrek/ Mon, 22 Jan 2018 00:00:00 +0000 https://grumpygamer.com/tarantino_startrek/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/v3Nv2R9Acec?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>In all seriousness, I hope the rumors are true. I might actually see a Star Trek movie again.</p> Friday Questions #3 https://grumpygamer.com/friday_questions_3/ Thu, 18 Jan 2018 00:00:00 +0000 https://grumpygamer.com/friday_questions_3/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/friday_questions_c.png"> <p>Yay, it&rsquo;s time for the answers to last Friday&rsquo;s Questions. I&rsquo;m posting them a little early because I&rsquo;m going skiing tomorrow. Yay! Skiing!</p> <p>Let&rsquo;s get moving before global warming melts all the snow.</p> <hr> <p><strong>Romulus: What your programming environment looks like? Headphones and music while doing? How you divide your time between making games and living &ldquo;real life&rdquo; ?</strong></p> <p>I work on a Mac exclusively. When I need to compile a Windows or Linux build, I start up a VM. I can&rsquo;t listen to music while I program, I need complete quiet. When I write, music is helpful. Dividing my life between making games and real life is a struggle. I need to leave the house to fully disconnect. In the winters, I go skiing. I&rsquo;m off skiing today.</p> <hr> <p><strong>Giorgio Novelli: Why did you leave Lucasfilm? I never found a satisfying answer on the internet and it still kind of haunts and confuses me.</strong></p> <p>I had worked at Lucasfilm for 8 years and learned a lot, not just about game design and programming, but also marketing, PR, and production and I felt like I needed to try it all for myself. I also had the idea of making adventure games for kids. I floated it by Lucasfilm Games and they weren&rsquo;t interested. It feels like the confusing thing for a lot of people about me leaving comes from them thinking I was leaving an amazingly successful franchise and why would I do that? That&rsquo;s because, at the time, Monkey Island wasn&rsquo;t. It sold well, but not amazingly well. Sierra Online was selling 10x the copies we were and it&rsquo;s was only 20 years later that Monkey Island has taken on this almost mythic nature in people&rsquo;s memories. That wasn&rsquo;t true back then.</p> <hr> <p>** PiecesOfKate: Considering the potential benefits of social media (such as Twitter) for promoting a game, versus your personal dislike of those channels - if you were to make another game would you rejoin, or avoid it? For clarity I&rsquo;m referring to a personal Ron Gilbert presence, not the game brand.**</p> <p>I&rsquo;ve thought about this a lot. If I was just releasing a new game, I don&rsquo;t think I would need to come back, but if I was doing a Kickstarter, it would be really hard to not leverage social media.</p> <hr> <p><strong>Gustavo: Hi Ron. I have always wondered about the &ldquo;Extra 5 USD for Guilt Absolution&rdquo; tier on the Kickstarter campaign that I and 3047 other people choose. Where did that idea come from? Did you expect to have so many people voluntarily choose to pay 5 USD more than the &ldquo;standard&rdquo; tier?</strong></p> <p>I don&rsquo;t remember who came up with this, but we knew it was going to be popular, and if not popular, then funny.</p> <hr> <p><strong>Nathan: Given the engine and assets of TWP, would a sequel be significantly cheaper / quicker to produce?</strong></p> <p>I don&rsquo;t think it would. The engine didn&rsquo;t add that much to the development time and cost. Maybe 20%, but saving 20% isn&rsquo;t significant and that savings would get eaten up in engine enhancements and me wanting to do more artistically with the presentation. Holding true to the spirit of Maniac Mansion (dollhouse view, no close-ups or cinematic presentation (think about the difference between Maniac Mansion and DotT)) saved us a lot. We could make a new game cheaper if it had the same look and feel, but that isn&rsquo;t creatively interesting for me. If I do another point-and-click, I want to push what a point-and-click can be, but still staying true to the form.</p> <hr> <p><strong>LostTrainDude: Where do you think improvement and evolution lie in the future of adventure games, considering their heavily-scripted nature? Is it in technology or in better design? What is it that you would like to see in an adventure game and didn&rsquo;t yet? This discussion rises from my curiosity in Chris Crawford&rsquo;s work on Interactive Storytelling (which you may be familiar with as well).</strong></p> <p>The future of interactive narrative is in true AI. I don&rsquo;t think AI will ever be able to tell compelling stories on its own (stories are compelling because they are soulful depictions of the human experience), but there is so much &ldquo;filling&rdquo; that goes on in an interactive story that AI would be perfect for. It&rsquo;s probably a couple of (human) generations away.</p> <hr> <p><strong>Zak Phoenix McKracken: Which are the most bizarre things you had to sign, to please your fans?</strong></p> <p>Some dude&rsquo;s breast.</p> <hr> <p><strong>MK8bit: Do you think Thimbleweed Park would make a good novel too and what are your opinions on TP fan fiction and its publishing (fair use okay, but make-a-dime-with-em and be cease and desist&rsquo;ed)?</strong></p> <p>I don&rsquo;t think Thimbleweed Park would make a good novel. The whole story is about it&rsquo;s medium and just telling you about it (in novel form) removes you from the whole point. I&rsquo;m fine with fan fiction and long as it stays &ldquo;fan&rdquo;. It&rsquo;s not so much about making money as not turning it into an industry. There is a lot of Thimbleweed Park fan art (and even people selling it), and I don&rsquo;t have a problem as long as 1) You can&rsquo;t use our trademarks, 2) it&rsquo;s not confused with official/licensed merchandise, 3) you&rsquo;re not making too much. It&rsquo;s a big grey area and I&rsquo;ll know it when I see it.</p> <hr> <p><strong>Nikita Sokolov: Thanks for our childhood! And my question is - who is your character in World of Warcraft? Is it an elf? Or an orc? Or a pandaren may be?)) And what is your class? A Mage?</strong></p> <p>Depending on my role in the raid I will play a (Horde) Warlock, Death Knight or Shaman. That said, I haven&rsquo;t played in over 3 years. Blizzard locked my account due to someone trying to hack it and it hasn&rsquo;t been worth the effort to unlocked it. Thimbleweed Park was probably the better for it.</p> <hr> <p><strong>Erik: Would you consider going back in the direction of Humongous Entertainment by creating games that are solely aimed at kids rather than &ldquo;grown ups&rdquo;? Do you ever think about that segment of games?</strong></p> <p>The kids market has changed a lot in the last 15 years and I don&rsquo;t find it interesting anymore. It&rsquo;s all about licensed games, quick disposable mobile games, or these odd social website type games. What I loved about making games at Humongous Entertainment was telling stories as adventure games. I don&rsquo;t think there is a big market for that anymore.</p> <p><strong>Dryade: If you never manage to make Monkey Island 3, which would be a tragedy, will you divulge the secret of Monkey Island or will it just vanish with you and keep us all forever in anguish?</strong></p> <p>Here is the deal with the &ldquo;secret&rdquo; of Monkey Island: It&rsquo;s just not that interesting now (it was back then). But over the last 25 years, it&rsquo;s grown to almost mythic proportions. If I told you the secret, you&rsquo;d go &ldquo;Oh&hellip; that&rsquo;s kind of dumb&rdquo;. If I was ever to do Monkey Island 3a, the trick would be to take the core of the secret and build it into something that lived up to the hype. I would never create a new or different secret (that&rsquo;s unfair), rather, it would be about making it more meaningful, relevant, and build on the mythology. I have an idea on how to do that, but it&rsquo;s not fully formed and sorry to disappoint everyone, but I don&rsquo;t spend a lot of time thinking about it these days.</p> <hr> <p><strong>Lancelot&rsquo;s Hangover: After beta testing, what do you do if you realize a series of puzzles doesn&rsquo;t work. Do you cut off the whole series of the puzzles (meaning wasting time/art/effort)? Do you try to make those puzzles easier by giving more explicit hints through dialogs and hotspot/object descriptions? Do you keep most art and animations but rebuild the whole series of puzzle in a different way?</strong></p> <p>I assume you mean &ldquo;playtesting&rdquo; since we don&rsquo;t do beta testing. But, at any point in development, from playtesters, bug testers, or us playing the game, we&rsquo;re constantly finding puzzles that don&rsquo;t work. That&rsquo;s a normal part of the design process. Most of the time it&rsquo;s a simple tweak like adding or changing a line of dialog or moving a clue. Other times we&rsquo;ve had to take the entire puzzle chain and move it to a different part of the game (we did this with the Pigeons in Thimbleweed Park) and this can involve doing new art or animation. There are other times where the core of the puzzle just doesn&rsquo;t work, so you just cut it and never look back. Ideally, your production process is such that most of this happens when you&rsquo;re still in a pre-production and making large changes doesn&rsquo;t cost that much, but occasionally, you&rsquo;re making big puzzle edits late in the process and you just take the hit. I&rsquo;d rather throw out good work than leave it in and diminish the experience. I can&rsquo;t think of a single large puzzle we cut in Thimbleweed Park once we got out of pre-production.</p> <hr> <p>If you have any riveting questions for next week, put them in the comments. Make sure you start it with Q:</p> A better Steam https://grumpygamer.com/new_steam/ Wed, 17 Jan 2018 00:00:00 +0000 https://grumpygamer.com/new_steam/ <p>I was in the middle of writing a post about how to start a better online game store than Steam when <a href="http://www.fortressofdoors.com/so-you-want-to-compete-with-steam/">Lars Doucet posted his</a>, which is a much much better than mine was going to be, so I deleted it. There was also about an hour of pouting, but that&rsquo;s over now.</p> Boring title https://grumpygamer.com/234f81bfd5014e75f2b0e96/ Tue, 16 Jan 2018 00:00:00 +0000 https://grumpygamer.com/234f81bfd5014e75f2b0e96/ <p><a href="https://www.theawl.com/2018/01/awl-ends/">This sucks</a>. The Awl was one of my favorite sites.</p> Favorite Game Dev Blogs? https://grumpygamer.com/favorite_gamedev_blogs/ Tue, 16 Jan 2018 00:00:00 +0000 https://grumpygamer.com/favorite_gamedev_blogs/ <p>In my relentless pursuit of ditching shithole social media and re-powering my RSS feeds, last week I asked for readers favorite Programming Blogs, this week I&rsquo;d like to ask for favorite Game Dev blogs.</p> <p>Currently, I follow:</p> <ul> <li><a href="http://www.fortressofdoors.com/">Fortress of Doors</a></li> <li><a href="http://gamedesignaspect.blogspot.com/">game design aspect of the month</a></li> <li><a href="http://www.intelligent-artifice.com">INTELLIGENT ARTIFICE</a></li> <li><a href="http://www.lostgarden.com/">Lost Garden</a></li> <li><a href="https://www.raphkoster.com/">Raph Koster</a></li> <li><a href="https://www.jesperjuul.net/ludologist/">The Ludologist</a></li> <li><a href="http://www.zenofdesign.com/">Zen of Design</a></li> <li><a href="https://sirtaptap.com/">Sir Tap Tap</a></li> <li><a href="http://www.critical-distance.com/">Critical Distance</a></li> </ul> <p>Feels like Game Dev blogs aren&rsquo;t updated as much as programming blogs. Not sure what that means, so let&rsquo;s go with game designers are lazy. Like any good scientist, I&rsquo;ll make the data fit.</p> Boring title https://grumpygamer.com/6017525b8dd972fa7baa03a/ Mon, 15 Jan 2018 00:00:00 +0000 https://grumpygamer.com/6017525b8dd972fa7baa03a/ <p>The number one question you should ask when designing your Loot Box system is: <a href="https://sirtaptap.com/2018/01/design-loot-box-gachapon-not-suck/">is this fair? and the second: is this fun?</a></p> Links of the Week https://grumpygamer.com/links_of_the_week_1/ Mon, 15 Jan 2018 00:00:00 +0000 https://grumpygamer.com/links_of_the_week_1/ <p><a href="http://nautil.us/blog/the-limits-of-formal-learning-or-why-robots-cant-dance">http://nautil.us/blog/the-limits-of-formal-learning-or-why-robots-cant-dance</a></p> <p><a href="https://dev.to/ben/the-hawaii-missile-alert-was-the-software-developers-fault-2bid">https://dev.to/ben/the-hawaii-missile-alert-was-the-software-developers-fault-2bid</a></p> <p><a href="http://www.nytimes.com/1995/12/18/business/digital-equipment-offers-web-browsers-its-super-spider.html">http://www.nytimes.com/1995/12/18/business/digital-equipment-offers-web-browsers-its-super-spider.html</a></p> Friday Questions #2 https://grumpygamer.com/friday_questions_2/ Fri, 12 Jan 2018 00:00:00 +0000 https://grumpygamer.com/friday_questions_2/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/friday_questions_c.png"> <p>A lot of good questions this week, I&rsquo;ll chock that up to being the first week. I might do a bonus post on Wednesday answering some of the ones I couldn&rsquo;t get to, and of course, there is next week to eagerly look forward to. Let&rsquo;s get going&hellip;</p> <p>Let&rsquo;s start off with Octavi. I wonder where I know that name from?</p> <p><strong>Octavi: When making any kind of artistic work we know there&rsquo;s always a disappointingly huge difference between our first idea and the end result: which one of your games you&rsquo;d say it&rsquo;s the most faithful to your original vision?</strong></p> <p>None of them. I&rsquo;ve mentioned this before, but the creative process is a messy process and everything I&rsquo;ve done has changed significantly from idea to finished game. I can&rsquo;t think of an idea that ended up being something horribly distorted from my original idea (or maybe I just blocked it out). I don&rsquo;t tend to work with publishers, so I&rsquo;ve never had a 3rd party come in and take my idea in a direction I disagreed with. The important lesson for anyone making something is: don&rsquo;t be afraid to let your idea evolve during production, even radically. There is no prize for stubbornly sticking to your vision.</p> <hr> <p><strong>Romulus: When deciding on 2D vs 3D was money the only factor? We all know 3D sucks eh? Also, how you decided what were the components required on the engine? Based on your previous scumm experience?</strong></p> <p>To start off, I don&rsquo;t dislike 3D, it&rsquo;s just not something I have the skill set to do at a reasonable level of quality. 3D is more expensive, but it&rsquo;s not massively more expensive if you make good tech and artistic choices. I&rsquo;d love to make a true point-and-click adventure in real 3D (not that fake 2D/3D). I don&rsquo;t think anyone&rsquo;s done it well yet, and it would be a fascinating challenge. But my tech skills are in 2D, so I would need to partner up with someone who had good 3D chops. The problem is finding that person. They need to share a vision and passion with me and not just be a work-for-hire gig.</p> <hr> <p><strong>Jensan: Could you see yourself coding a C64 game from scratch in 2018? If so, what type of game?</strong></p> <p>Oh god no! Don&rsquo;t get me wrong, I love the C64, but I&rsquo;m too used to modern tools and platforms. Only 2G of free RAM! WTF!</p> <hr> <p><strong>Kim Jørgensen: What was the best and worst design decision for TWP?</strong></p> <p>Best: Having a hard and easy mode. When I did it for Monkey Island 2, it was more of a joke than anything else, but in today&rsquo;s more casual/grown-up world, I think it was greatly appreciated by a lot of players with less time than they had as kids.</p> <p>Worst: I wish we would have had custom responses for every verb and object in the first few rooms of the game. Players were just getting used to the interface and mechanic and default responses threw people off sometimes. We couldn&rsquo;t realistically do this for the entire game, but we could have done a better job of setting the mood without misleading expectations.</p> <p>Bonus: Not shipping with a hint system. We fixed this in an update, but it should have been part of the release. I fought against it for most of the project, and I was wrong.</p> <hr> <p><strong>Yrface: If you were to punish a visitor for unauthorized copyright infringement of your website, how/who would administer the punishment?</strong></p> <p>Me. Human dismemberment is a hobby of mine.</p> <hr> <p><strong>Jon N/A: Hey Ron. There used to be posts here - &ldquo;excerpts&rdquo; from a novel you have <em>not</em> been writing. I loved those! I found them hilarious and very inventive. Would you put them back up again? And better yet, write more of those?</strong></p> <p>Those were part of a daily writing exercise I used to do in the mornings. I would sit down with a pad and paper and just start writing, never pausing and never thinking about any direction. I&rsquo;d then go through and grab a sentence or two that I liked. I stopped doing the writing exercise and they never got moved to Grumpy Gamer v2. Maybe I&rsquo;ll go find them and do a single anthology post.</p> <hr> <p><strong>Paul: What is Ron Gilbert&rsquo;s ultimate goal in the gaming industry? Eg: To make a big popular game and then be able to make whatever you want off the back of it? Continually make great games for a loyal smaller audience (eg. PnC fans) within budget and with reasonably healthy profit on each? Branch out and make games in different genres? Build Terrible Toybox further and make it a main game studio? Put out artistic games that push boundaries, but don&rsquo;t necessarily find a large audience?</strong></p> <p>Holy crap is this is a deep minefield of a question. Why do we do what we do? Doing any commercial creative venture is done for one of five reasons. 1) To make money, 2) Critical acclaim, 3) Peer approval, 4) Personal fulfillment, 5) Player enjoyment (or any combination of those). At a core level, why do I make games? If I was going to be honest, I&rsquo;d say it&rsquo;s 4, 5 and 3, but I need 1 due to not being independently wealthy. Thimbleweed Park did 4 and 5, didn&rsquo;t really do 3 and did 1, but only at a breakeven level. You can&rsquo;t run a risky business like making games at breakeven. No matter how good you are, you will have failures and you need to make enough to endure those without destroying the company and yourself. Part of 3 is making something that your peers and the industry take notice of, something that &ldquo;moves the meter&rdquo;. Doing point-and-click adventures at breakeven doesn&rsquo;t do that, and I think that&rsquo;s always been a motivator of mine. This is an honest answer that it&rsquo;s easy to read too much into, so don&rsquo;t do that.</p> <hr> <p><strong>uriel: From what I read is my understanding that Thimbleweed Park sold fine but it was not a resounding success. Do you think a bigger marketing campaign would have increased revenue to the point of making enough money to fully fund the next game? I guess I&rsquo;m wondering how much do you think marketing can influence the success of a game. Thanks for doing this btw.</strong></p> <p>I think it&rsquo;s fairer to say Thimbleweed Park &ldquo;sold well&rdquo;. I had a range of what I thought would be acceptable and sales were towards the bottom, but not below. I don&rsquo;t think more marketing would have helped. We had good (even great) PR and we got picked up by all the major publications, so I don&rsquo;t know if there was anything more we could have done. I think there were three core issues with Thimbleweed Park:</p> <ol> <li> <p>Point-and-click has a huge stigma attached to it and I vastly underestimated that. I figured that if you designed a really good point-and-click game, people would respond. And that is partly true. For the people who took the plunge and played it, they were pleasantly (and often overwhelmingly) surprised. But, too many other people (and a fair number of industry people) just wrote it off.</p> </li> <li> <p>Influencers (press and widely known devs) in the industry are craving deep, meaningful and grown-up narrative games, and they will latch onto games that even hint at that, even if they do a crappy job at it. Thimbleweed Park is not that game. Thimbleweed Park is the best Scooby Doo story you&rsquo;ve ever played and doesn&rsquo;t pretend to be a deep soul searching reflection for the player.</p> </li> <li> <p>We struggled with what was needed to do a successful Kickstarter and what&rsquo;s needed to release a successful game. Doing the Maniac Mansion art style and layout was key to invoking the right nostalgia and ending with a highly successful Kickstarter, but some of those choices also limited its &ldquo;market success&rdquo;. I&rsquo;m very proud that we delivered on what we promised for the Kickstarter. We talked about dropping the verbs and dropping the dollhouse Maniac Mansion layout but ultimately decided not to in favor of being true to the campaign. In the end, maybe we made the wrong &ldquo;business&rdquo; decision, but I feel we made the right &ldquo;personal creative&rdquo; decision and I don&rsquo;t regret it.</p> </li> <li> <p>Or&hellip; maybe we didn&rsquo;t make a very compelling and interesting game. You always have to consider that.</p> </li> </ol> <hr> <p><strong>Sushi Will we ever see a Terrible Toybox logo? If not, why not. If so, when? If maybe, just improvise something funny.</strong></p> <p>Not knowing if this would be a one-game company (still not sure about that), we decided to focus all our branding on Thimbleweed Park and not Terrible Toybox.</p> <hr> <p><strong>Lancelot&rsquo;s Hangover: Hey Ron! In the TWP podcasts, you talked about the importance of the &ldquo;sense of space&rdquo; in adventure games and its importance for immersion. Could you tell more about it? Could you give practical details on how you can add more sense of space within games? Could be useful for adventure game designers.</strong></p> <p>The number one rule for creating a sense of space is: Don&rsquo;t teleport the player around. Let people explore the world and create an internal map of the space in their head. Even something like &ldquo;fast travel&rdquo; can destroy a sense of place. Don&rsquo;t jump players inside a building without letting them discover the outside and where it exists in the world. In Thimbleweed Park, you had to walk/run around the world for a good ¼ of the game before we introduced fast-travel with the maps. Often players will just want to jump around the world, avoiding &ldquo;pointless travel&rdquo;, but I don&rsquo;t think it&rsquo;s pointless. It&rsquo;s an important part of that sense of space that makes the world and game more enjoyable.</p> <hr> <p><strong>Antony: How do you justify the lack of support of Android on your game Scurvy Scallywags while complaining about the lack of macOS support on Steam games?</strong></p> <p>That&rsquo;s a fair question and I assume it&rsquo;s in <a href="https://grumpygamer.com/1728dad57df92e42389a28c">response to this.</a> I think it&rsquo;s different for a couple of reasons and I&rsquo;m sure a lot of people&rsquo;s perspectives will be different. I didn&rsquo;t mean to criticize other indie devs, I know building multiple platforms is hard. To me, Mac and Windows are 99% the same. Building for Mac after Window just isn&rsquo;t that hard, just don&rsquo;t litter your code with dx calls. Also, maybe I&rsquo;ve gotten spoiled due to Unity projects being super simple to release on Mac, so we&rsquo;re seeing a lot more of them. Also, we did build Scurvy for Android. It was a complete flop and made a few thousand dollars, despite costing us tens of thousands of dollars. Google changed some part of the OS and the game started crashing, so we removed it from the store. It just wasn&rsquo;t worth the time to go in an fix it given it was making around a dollar a week. iOS, on the other hand, continued to make money and porting up to iOS 11 made sense. I also think (as Mac user), there is a bigger sting due to Steam being a single store that sells Windows and Mac platforms. If there was a Windows store and a completely separate Mac store (like iOS and Android), I don&rsquo;t think I&rsquo;d have the same negative feelings. In the end, it probably was a little unfair to the devs of Cogmind, but I just really wanted to play their game. But point taken.</p> <hr> <p>Well, that&rsquo;s it for this week. If you have any questions for next week, put them in the comments. I&rsquo;ll try and answer different types of questions each week so they aren&rsquo;t all questions about Thimbleweed Park or my old games. If you ask a question for next week, please start it with Q: so I can quickly filter them.</p> Boring title https://grumpygamer.com/da3c3f5d45d61adab3480bd/ Thu, 11 Jan 2018 00:00:00 +0000 https://grumpygamer.com/da3c3f5d45d61adab3480bd/ <p>One advantage of indie game dev is weekday skiing.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/week_day_skiing.jpg"> Boring title https://grumpygamer.com/1728dad57df92e42389a28c/ Tue, 09 Jan 2018 00:00:00 +0000 https://grumpygamer.com/1728dad57df92e42389a28c/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/cogmind.png"> <p>Nothing more disappointing than rushing to Steam to purchase a game and be greeted with this. And no, I&rsquo;m not going to install a VM to play games that are Windows only. I just won&rsquo;t be able to play them. :-(</p> Game Informer 2017 Adventure Game Of The Year Awards https://grumpygamer.com/ending_of_the_year/ Tue, 09 Jan 2018 00:00:00 +0000 https://grumpygamer.com/ending_of_the_year/ <p>I knew a lot of people would hate the ending, but a lot of people love it as well. I don&rsquo;t find things everyone loves very interesting. They tend to be boring and not tell me much. The ending of Thimbleweed Park doesn&rsquo;t come out of nowhere. It&rsquo;s kind of the whole point of the game (and before the game). It only bugs me when people call the ending lazy. It was very purposeful and anything but lazy. You can call it stupid, dumb, pointless, or anything else, but don&rsquo;t call it lazy. Of course, <a href="https://grumpygamer.com/mi2_best_ending_ever">hating my endings</a> is nothing new.</p> <p><a href="http://www.gameinformer.com/b/features/archive/2018/01/08/the-2017-adventure-game-of-the-year-awards.aspx">Gameinformer 2017 Adventure Game Of The Year Awards</a></p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/thimbleweedparkbestof_610.jpg"> <h3 id="best-ending--thimbleweed-park">Best Ending – Thimbleweed Park</h3> <p>This homage to older adventure games pokes fun at the genre as well as embraces it. Thimbleweed Park feels new and nostalgic at the same time, and it has one of the best endings we&rsquo;ve seen this year. Seeing how just the story wraps up and how it takes its self-aware jokes to crazy levels, makes this a wild ride.</p> Favorite Programming Blogs? https://grumpygamer.com/favorite_programming_blogs/ Sun, 07 Jan 2018 00:00:00 +0000 https://grumpygamer.com/favorite_programming_blogs/ <p>As I abandon Twitter and other forms of corporate social media, I am diving back into RSS and blog feeds. My RSS list is quite old and there are a depressingly large number of websites that haven&rsquo;t been updated in years. To get started, I&rsquo;m looking for good programming blogs. Currently, I follow:</p> <ul> <li><a href="http://simblob.blogspot.com/">Blobs in Games</a></li> <li><a href="https://blog.codinghorror.com/">Coding Horror</a></li> <li><a href="http://www.pagetable.com/">pagetable.com</a></li> <li><a href="https://stoyannk.wordpress.com/">Prog Stuff</a></li> <li><a href="https://dev.to/">DEV</a></li> </ul> <p>I&rsquo;d love to find some more. I primarily program in c++, so I&rsquo;m not too interested in blogs focused on Java or Swift unless they also have good general programming articles.</p> Escape the room in a box https://grumpygamer.com/escape_the_room/ Sat, 06 Jan 2018 00:00:00 +0000 https://grumpygamer.com/escape_the_room/ <p>I&rsquo;ve never played a real-world escape the room game. I still haven&rsquo;t, but last night we played an escape the room in a box game. It was fun, but also a little odd. I&rsquo;m not sure how the real-world ones work, but this in-a-box one feels like a poorly designed adventure game. That&rsquo;s not a bad thing, it&rsquo;s a different type of game under very different constraints, so I give it a big pass. It was also fun, and that&rsquo;s what&rsquo;s actually important. I also don&rsquo;t know that I could do better, but hey! This is the Grumpy Gamer blog.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/room_in_a_box.jpg"> <p>We finished the game with 22:50 left on the timer. Not that I&rsquo;m bragging.</p> Boring title https://grumpygamer.com/38d57536bc7371c235099f5/ Fri, 05 Jan 2018 00:00:00 +0000 https://grumpygamer.com/38d57536bc7371c235099f5/ <p>David Letterman was the only late night talk show I watched (recorded on my VCR) and I loved it. I think I mesh well with Letterman&rsquo;s dry humor and I&rsquo;m really excited about his <a href="https://www.hollywoodreporter.com/live-feed/david-lettermans-netflix-talk-show-sets-obama-as-first-guest-1071863?utm_source=twitter&amp;utm_source=google.com&amp;utm_medium=referral">new Netflix show</a>. I&rsquo;m glad it&rsquo;s coming out once a month and not 12 episodes at the same time that everyone will just binge-watch and forget.</p> Boring title https://grumpygamer.com/6ed50daaf01e7f7aefba785/ Fri, 05 Jan 2018 00:00:00 +0000 https://grumpygamer.com/6ed50daaf01e7f7aefba785/ <p><a href="https://gizmodo.com/paper-scraps-recovered-from-blackbeards-cannon-reveal-w-1821821451">Paper Scraps Recovered From Blackbeard&rsquo;s Cannon Reveal What Pirates Were Reading</a></p> Friday Questions https://grumpygamer.com/friday_questions_1/ Fri, 05 Jan 2018 00:00:00 +0000 https://grumpygamer.com/friday_questions_1/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/friday_questions_c.png"> <p>Hey, it&rsquo;s time for Friday Questions*, but since I&rsquo;ve never done this before on Grumpy Gamer, there are no questions to answer, so you have a week to ask some. If you have a question, put it in the comments below and I&rsquo;ll pick 4 or 5 and answer them with a stark honesty that will amaze you. Questions can be about anything, but please keep them <strong>game</strong> or <strong>game industry</strong> related. Please don&rsquo;t ask the same questions I&rsquo;ve answered a hundred times in a hundred different online interviews. Unlike the Thimbleweed Park Friday questions, these will be answered in old-fashion text-a-reno.</p> <ul> <li>Friday Questions can be canceled at any time due to lack of interest. Both yours and mine.</li> </ul> Unit Testing Games https://grumpygamer.com/unit_testing_games/ Thu, 04 Jan 2018 00:00:00 +0000 https://grumpygamer.com/unit_testing_games/ <p>It&rsquo;s not uncommon for me to get asked on Twitter (when I was active there) why we don&rsquo;t unit test games? They would mention how they work in blah blah industry and do unit testing all the time and it&rsquo;s virtually eliminated the need for human testers. They then go on to call me a jerk face and tell me I make stupid games.</p> <p>OK, I made up that last part, but sometimes it feels like they said it.</p> <p>It does bring up an interesting question. Why don&rsquo;t we unit test games like you would other software? I can&rsquo;t speak for others, but for me, it just isn&rsquo;t that useful.</p> <p>What is <a href="https://en.wikipedia.org/wiki/Unit_testing">unit testing</a> you ask? It&rsquo;s basically where you write programs that feed data (sometimes random data) into program&rsquo;s functions or modules and make sure you get the expected results or proper errors. That&rsquo;s an oversimplification, but you get the idea.</p> <p>Unit testing texture or asset loading can be useful, as is unit testing many other backend engine routines like memory managers, but that&rsquo;s just not where most (and by that I mean 99%) of the bugs comes from.</p> <p>Most of the bugs in a game (or at least my games) come from users doing stuff, and not stupid stuff, but normal expected stuff and the game logic just being wrong. This is really really hard to unit test and the failure states are hard to identify.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe src="https://player.vimeo.com/video/170316769" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="vimeo video" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> </div> <p>For Thimbleweed Park, we had the <a href="https://blog.thimbleweedpark.com/yay_testertron3000">TesterTron 3000™</a> that randomly played the game for hours on end. This was useful in that it found occasional crash bugs, but it wasn&rsquo;t very good at finding game logic bugs because, after an overnight run, it was hard to spot that something had gone wrong 6 hours ago. This is especially hard if the logic issue was very room-local and hard to spot later.</p> <p>TesterTron had a mode where it would jump into each room one-by-one and this was useful in catching missing assets or bad packaging.</p> <p>But we encounter a lot of bugs where the game works fine, but something is just visually wrong. The Sheriff picks up the phone and his animation isn&rsquo;t aligned correctly. Or worse, it&rsquo;s not aligned correctly only after he&rsquo;s also open the jail door. Or Delores stands in the just the right spot and she clips into the desk.</p> <p>I just don&rsquo;t know how to realistically unit test this stuff. It&rsquo;s possible, but the cost and effort involved would quickly outweigh the benefits. We&rsquo;re not making flight software for 777s. No one of going to die or lose their entire bank balance because of our bugs. We&rsquo;re not writing enterprise level software, we&rsquo;re making video games and the cost of most of our bugs are negligible compared to monitoring a nuclear reactor.</p> <p>It&rsquo;s not that we don&rsquo;t care, we care a lot. One of the largest expenses in Thimbleweed Park were testers.</p> <p>I say &ldquo;most of our bugs&rdquo;, but not all. Post Thimbleweed Park launch, we did discover some bugs that caused players to lose progress and these are very painful to us.</p> <p>We fix them as fast as possible and release a new build, but with each of them, I don&rsquo;t know how unit testing would have helped. We had a problem on the PS4 where savegame data would get corrupt due to threading. We could have built a stress tester for this, but that&rsquo;s all 20/20 hindsight. I can think of 100 other places that worked fine and without that hindsight, we would have spent a lot of time writing stress testers.</p> <p>Again, not impossible, just not economical.</p> <p>But maybe I&rsquo;m wrong. Maybe other game developers have amazing game unit tests that are enormous time and money savers. If that&rsquo;s true, I&rsquo;d love to hear about them. I&rsquo;m basically lazy and more than happy for robots to do my work.</p> <p>But it feels like the ability to unit test games would require a good AI that can spot perceptual issues that go way beyond just getting bad data out of a function. Or maybe that&rsquo;s called Early Access.</p> Boring title https://grumpygamer.com/03341583b76a7633683d648/ Wed, 03 Jan 2018 00:00:00 +0000 https://grumpygamer.com/03341583b76a7633683d648/ <p>If you&rsquo;re wondering why Thimbleweed Park isn&rsquo;t anywhere to be seen in the <a href="http://igf.com/article/2018-independent-games-festival-announces-main-competition-finalists">IGF awards</a>, it&rsquo;s because we didn&rsquo;t submit it. I have some issues with the IGF. The IGF doesn&rsquo;t do this, but I also won&rsquo;t submit to any awards that make you pay just to be considered (BAFTAs, DICE). Awards are basically cool-kid popularity contests and often have nothing to do with how good the game actually is. This is also true for movies and music. The academy award isn&rsquo;t the best movie, it&rsquo;s the best movie made by people academy voters think are cool or &ldquo;in&rdquo;.</p> <p>Update: apparently you do have to pay to be considered for the IGF awards&hellip; it&rsquo;s only $80, but still.</p> Boring title https://grumpygamer.com/5f73edfa13b729ef6183b1d/ Wed, 03 Jan 2018 00:00:00 +0000 https://grumpygamer.com/5f73edfa13b729ef6183b1d/ <p><a href="https://www.mcsweeneys.net/articles/updated-rules-for-settlers-of-catan">New rules for Settlers of Catan</a></p> Waldschattenspiel https://grumpygamer.com/waldschattenspiel/ Tue, 02 Jan 2018 00:00:00 +0000 https://grumpygamer.com/waldschattenspiel/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/waldschattenspiel1.jpg"> <p>Waldschattenspiel is one of the best board games I&rsquo;ve ever played.</p> <p>The gist of the game is you place wooden trees on the board, then one player hunts the other players (dwarves) using a tea candle. The candle cast light that creates deep shadows behind the trees, which is where the other players hide. It&rsquo;s surprisingly effective, spooky and even (actually) scary.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/waldschattenspiel3.jpg"> <p>The game is a little unbalanced in favor of the dwarves (the hiders), but I don&rsquo;t think that distracts at all. Originally it was designed as a kids game, with the parent playing the hunter with the candle, so that makes a little sense.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/waldschattenspiel2.jpg"> <p>If you play it, make sure the room is very dark. While playing one of the dwarves, I could feel my heart rate rise as the candle moves around threatening to reveal my position. If the room is pitch black, the player playing the hunter can&rsquo;t see the dwarves at all, so becomes much more than a game where you&rsquo;re arguing the technicality of if the dwarf was in shadow or not.</p> 2018 Goals https://grumpygamer.com/2018_goals/ Mon, 01 Jan 2018 00:00:00 +0000 https://grumpygamer.com/2018_goals/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/2018a.png"> <p>As a little kid growing up in the 1970s, 2018 seems like an unimaginable future. Moon bases and rocket ships. It didn&rsquo;t quite turn out the way 8-year-old Ronnie imagined. Some ways better. Some ways worse. I&rsquo;m not sure my life turned out the way I imagined. Some ways better some. Some ways worse.</p> <p>2017 was the year Thimbleweed Park came out. It was also the year a dipshit narcissistic asshole became president. I would gladly trade Thimbleweed Park for a mentally stable president. And so should you.</p> <p>But enough reminiscing and fostering armed rebellion&hellip; it&rsquo;s on to 2018.</p> <p>I&rsquo;ve never been the kind of person that does New Year&rsquo;s Resolutions. Like 99% of all people, I just forget about them a month later and have now decided to be honest with myself and stop making them. So let&rsquo;s call these &ldquo;goals&rdquo; for 2018. It&rsquo;s also worth noting that these are just my professional and career goals. My personal goals are another whole can of worms that I won&rsquo;t be sharing on the damn internet.</p> <p>Let&rsquo;s get going&hellip;</p> <h3 id="play-more-games"><strong>Play more games</strong></h3> <p>Yeah, I can&rsquo;t say enough about this one. I hardly play any video games. 2016-2017 were busy years for me, but deep down I know that is just an excuse. At the end of the workday, I&rsquo;m burnt out and I just don&rsquo;t want to play games, they always feel more like work than relaxation. It&rsquo;s also really hard for me to play a game without deconstructing it and that saps a lot of the enjoyment away.</p> <p>I did play Golf Story for many many hours until rage quitting (more on that in a future post). I quite enjoyed West of Loathing as well (no rage quitting). But besides a few mobile games to waste some time, I didn&rsquo;t really play anything else.</p> <p>I hear from friends about all the games they played and I wonder &ldquo;where do you find all the time?&rdquo; Well, all that is going to change in 2018, and now that my blog is fully operational, I hope to write about what I&rsquo;m playing. And I promise not to just bitch about them.</p> <p>Then again&hellip; maybe I don&rsquo;t enjoy playing games. That&rsquo;s a terrifying thought.</p> <h3 id="do-a-twitch-steam"><strong>Do a Twitch steam</strong></h3> <p>I&rsquo;ve always wanted to do this. I doubt it will be a gameplay stream, I am way too quiet when playing games. When I watch Streamers, I marvel at how they can talk non-stop while playing. When I play games, I get very quiet and contemplative. I don&rsquo;t tend to &ldquo;think out loud.&rdquo;</p> <p>What I&rsquo;d like to do is a programming Stream. I joked about adding floppy disk sounds to Thimbleweed Park when it&rsquo;s loading data, so my goal is to stream me implementing that. Streaming from a Mac is a little harder, but I&rsquo;m sure I can figure it out.</p> <h3 id="give-a-talk"><strong>Give a talk</strong></h3> <p>I really hate giving talks. It&rsquo;s not stage fright, it&rsquo;s more that I over prepare and end up spending months writing the talk and stressing about it. It&rsquo;s just not a good use of my time, so I tend to avoid it.</p> <p>Also, when most people ask me to talk, it usually about Monkey Island or some retro topic. I really don&rsquo;t want to only be known as &ldquo;the guy that created Monkey Island and made point-and-click games&rdquo; and that&rsquo;s all anyone wants to hear me talk about. It would depress me greatly if that was actually the truth.</p> <p>So my 2018 goal is to give a talk about a non-monkey-island-point-and-click topic. I have a talk in my head called <strong>&ldquo;10 things I don&rsquo;t know.&rdquo;</strong> I think I&rsquo;ll give that one. Or maybe <strong>&ldquo;It&rsquo;s not imposter syndrome, you actually suck at your job.&rdquo;</strong> Then there is &ldquo;<strong>Don&rsquo;t get cocky kid, it&rsquo;s mostly luck</strong>.&rdquo;</p> <p>I refuse to give a talk about Thimbleweed Park unless it&rsquo;s <strong>&ldquo;Everything we fucked up in Thimbleweed Park.&rdquo;</strong> I&rsquo;m sick and tired of survivor bias talks. GDC is filled with them.</p> <p>OK, fine, this is why people only ask me to talk about Monkey Island.</p> <h3 id="blog-often-and-stay-off-twitter"><strong>Blog often and stay off Twitter</strong></h3> <p>It&rsquo;s been over a month since I&rsquo;ve been on Twitter and it&rsquo;s been great. I highly recommend it. Like shedding any addiction, the first few weeks are hard, then it gets harder, then it gets better. Getting the Grumpy Gamer blog back up and running has been very therapeutic.</p> <p>Being able to write about something in other than 140 (now 280) character angry shouts has been nice and I plan on doing a lot more long-form writing in 2018. Currently, hardly anyone comes here, so it might take some time to build back an audience and convince the kids that the entire internet isn&rsquo;t just Twitter, Facebook and Instagram.</p> <p>Please pass the word and share any good posts. I might end up writing a Twitter bot that just posts links to my blog when it updates (that will reach a hell of a lot more people than RSS).</p> <h3 id="start-working-on-a-game"><strong>Start working on a game</strong></h3> <p>To be clear, my goal in 2018 is to start working on a game that will eventually ship. I am working on fun/relaxing prototypes that are helping to solidify various ideas in my head, but I doubt any of them will ever be finished. Thimbleweed Park was a huge grind and it&rsquo;s going to take me a while to come down from that.</p> <p>This new game doesn&rsquo;t have to be my own game. Finding a small group in Seattle that could use my talents would also be fun. Working with other people in the same physical location would be a gust of fresh air.</p> <p>I don&rsquo;t know if I&rsquo;d Kickstart a new game either. Kickstarter was fun, but it&rsquo;s also feeding the hype/narcissism train like nothing I&rsquo;ve ever seen. It almost demands it and one could say that it&rsquo;s good for promotion, and that&rsquo;s hard to argue with, but it can make you do crazy/stupid/unproductive things. The Thimbleweed Park Kickstarter turned out well (thank you Fortuna), but I do wonder if all that stress could have been put to better use.</p> <p>Well, there you have it. My 2018.</p> Roll for the Galaxy https://grumpygamer.com/roll_for_the_galaxy/ Mon, 01 Jan 2018 00:00:00 +0000 https://grumpygamer.com/roll_for_the_galaxy/ <p>A review I read before buying <strong>Roll for the Galaxy</strong> said it was much simpler than <strong>Race for the Galaxy</strong>. That&rsquo;s not true at all, but I do think the dice and other elements make it a better game than <strong>Race for the Galaxy</strong>.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/rftg2a.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/rftg1a.jpg"> Boring title https://grumpygamer.com/25ec664dbe22bb4a9da9da3/ Sun, 31 Dec 2017 00:00:00 +0000 https://grumpygamer.com/25ec664dbe22bb4a9da9da3/ <p>Whenever I sign up for a website and it asks me for my birthday, I always enter Jan 1, 1901. This cause two things to happen. 1) On New Years day I get a stream of happy birthday wishes from websites I rarely visit. 2) Chris Remo always wishes me a happy 116th birthday.</p> Golf Story https://grumpygamer.com/golf_story/ Thu, 28 Dec 2017 00:00:00 +0000 https://grumpygamer.com/golf_story/ <p>TDB</p> Luck https://grumpygamer.com/luck/ Thu, 28 Dec 2017 00:00:00 +0000 https://grumpygamer.com/luck/ <p>TBD</p> <p>:-X</p> <p>:-|</p> <p>:scull:</p> My 2017 Year in Review https://grumpygamer.com/year_in_review_2017/ Thu, 28 Dec 2017 00:00:00 +0000 https://grumpygamer.com/year_in_review_2017/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/keyart_sign.png"> <p>I <a href="https://www.thimbleweedpark.com">released a game</a> on eight platforms and didn&rsquo;t die in the process. Isn&rsquo;t that all we can ask for?</p> Boring title https://grumpygamer.com/a3a5b636fafc8ed3fcf3bf0/ Wed, 27 Dec 2017 00:00:00 +0000 https://grumpygamer.com/a3a5b636fafc8ed3fcf3bf0/ <p>You&rsquo;d think RSS feeds would be simple, but they are anything but. One of the most frustrating things with online readers is they are often cached, so it takes hours to tell if your feed is being digested or not. Feedly stop reading my RSS and I don&rsquo;t know why.</p> Giving up on MongoDB https://grumpygamer.com/back_to_mysql/ Wed, 27 Dec 2017 00:00:00 +0000 https://grumpygamer.com/back_to_mysql/ <p>Part of quitting Twitter necessitate rebuilding Grumpy Gamer. The Thimbleweed Park dev blog was based on the Grumpy Gamer blog code, but I&rsquo;d made a lot of improvements that I loathed losing, but even the Thimbleweed Park blog code was starting to feel old and worn.</p> <p>It was time to start over, and by start over, I mean completely start over. I crave change. When I find myself in a rut, or lacking motivation, I strive to change as much as I can to spark my imagination.</p> <p>Writing a new blogging platform from the ground up (again) was what I needed. It&rsquo;s not rocket science, which is exactly what I needed.</p> <p>My first decision was what to do about the database. The old-old Grumpy Gamer blog used MySQL, but when I rebuilt that into the old Grumpy Gamer blog I became fascinated with <a href="https://www.mongodb.com/">MongoDB</a>. I&rsquo;d worked a lot in a structured database, and the unstructured nature of MongoDB was enticing. Need a new data column? Just write to one.</p> <p>MySQL was feeling very heavy, MongoDB felt light and fast.</p> <p>Three years later, I am back to MySQL and I can arbute that to two things:</p> <ol> <li> <p>The lack of a web based tool to quickly manage and query the DB. There are web based tools, but none of them (that I found) can display your data in anything that resembles a table to quick scanning and editing. Any time I needed to &ldquo;massage&rdquo; the DB outside the blogging admin tools, I dreaded it.</p> </li> <li> <p>The MongoDB query language is a mess. You&rsquo;re basically constructing JSON/Javascript queries and it just reeks of being wedged into that format. SQL might not be much better, but at least I know it well.</p> </li> </ol> <p>After a few years with MongoDB, I&rsquo;m also realizing that I was incorrect in one of my initial assumptions: MongoDB is no faster than MongoDB and the footprint on the server is about the same.</p> <p>I&rsquo;m sure MongoDB is better for certain tasks, and MySQL for others, but it largely comes down to what you know and what your comfortable with. For me, that was SQL.</p> <p>P.S. I don&rsquo;t like that MySQL is owned by Oracle, but I&rsquo;m not sure I want to make the jump into PostgreSQL. Maybe the next time I&rsquo;m feeling bored and unmotivated.</p> Boring title https://grumpygamer.com/3dd6dfc50a6bea9e39ef6a8/ Tue, 26 Dec 2017 00:00:00 +0000 https://grumpygamer.com/3dd6dfc50a6bea9e39ef6a8/ <p>I&rsquo;m still waiting for Animal Crossing to come to the Switch.</p> Boring title https://grumpygamer.com/ede799182bfd6170739667e/ Sun, 24 Dec 2017 00:00:00 +0000 https://grumpygamer.com/ede799182bfd6170739667e/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TWP_xmas.gif"> The Twelve Days of Crunch Time https://grumpygamer.com/12_days_of_crunch_time_again/ Sat, 23 Dec 2017 00:00:00 +0000 https://grumpygamer.com/12_days_of_crunch_time_again/ <p>Clayton and I did this back in Dec of 2004. Interesting how much hasn&rsquo;t changed. I might have more &ldquo;male&rdquo; spouses now, something about loot crates, and maybe change the last verse to be more &ldquo;indie&rdquo;, but it&rsquo;s shockingly accurate 13 years later.</p> <h2 id="the-twelve-days-of-crunch-time">The Twelve Days of Crunch Time</h2> <p>A poem by Gilbert and Kauzlaric</p> <p>On the twelfth day of crunch time, My project gave to me&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day12-erk.gif"> <p>Twelve cents in royalties,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day11-swi.gif"> <p>Eleven kiss-ass previews,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day10-ztq.gif"> <p>Ten nerdy testers,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day9-bvu.gif"> <p>Nine patent lawsuits,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day8-cis.gif"> <p>Eight unplanned for features,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day7-vya.gif"> <p>Seven frames a second,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day6-akt.gif"> <p>Six angry spouses,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day5-zui.gif"> <p>Five focus groups!</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day4-oqm.gif"> <p>Four unstable hacks,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day3-mbp.gif"> <p>Three days without sleep,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day2-ilq.gif"> <p>Two surly artists,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day1-jcy.gif"> <p>and a crappy publishing deal.</p> Mastodon https://grumpygamer.com/1fbbcf9531683c794872e59/ Fri, 22 Dec 2017 00:00:00 +0000 https://grumpygamer.com/1fbbcf9531683c794872e59/ <p>You can find me on <a href="https://mastodon.gamedev.place/@grumpygamer">Mastodon</a> and follow me there, if you want. It&rsquo;s 100% optional (at least until the GOP 2018 tax bill is in effect).</p> <p>I&rsquo;ll give it a few weeks, but I&rsquo;m not sure it really solves my issues with social media. I guess it depends on how many people use it. Not enough and it&rsquo;s boring and pointless. Too many and it&rsquo;s Twitter all over again.</p> <p>I do think Maston has a huge &ldquo;on boarding&rdquo; problem. It&rsquo;s very confusing and the idea of separate instances just makes it worse. My name (<a href="https://mastodon.gamedev.place/@grumpygamer">grumpygamer</a>) is only unique on my server, anyone else can create that username on any number of servers and there is no way for you to know.</p> <p>I think this is a recipe for disaster. It would have been nice if they had created some kind of repository for usernames. I know this goes against the &ldquo;distributed&rdquo; nature of the service, but to all but the technically elite, it&rsquo;s confusing. Mastodon even recommends using keybase to verify your identity, that&rsquo;s a nice idea, but why isn&rsquo;t it built into the service? How many people even know what keybase is?</p> <p>How do I find people? Is there a central place to search for users? If there is, I can&rsquo;t (easily) find it. I wasn&rsquo;t even sure the url for link to my account, I just guessed. This should be on my account page. Discovery is going to be a issues.</p> Boring title https://grumpygamer.com/997d23f76d2b04112e6eabb/ Thu, 21 Dec 2017 00:00:00 +0000 https://grumpygamer.com/997d23f76d2b04112e6eabb/ <p>Today is the <a href="https://scijinks.gov/solstice/">winter solstice</a>, my favorite day of the year. It will be the darkest day of the year and that&rsquo;s OK by me. I&rsquo;m a winter person, not a summer person. I like the cold and I like the dark. It feels cozy. The summers in Seattle can be light until 9:30pm, in the winters, it&rsquo;s getting dark at 4:30pm. I also like Christmas, not for the joy of giving, peace on Earth and all that rubbish, but because of Christmas lights and they work best at night. I wish it was night all the time and everyone had Christmas lights up year round. But that&rsquo;s just me. You&rsquo;re free to be wrong.</p> Vacation 2017 https://grumpygamer.com/vacation2017/ Sat, 16 Dec 2017 00:00:00 +0000 https://grumpygamer.com/vacation2017/ <p>Went on vacation a few weeks ago. Everyone loves vacation photos, so I thought I&rsquo;d share mine&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vacation2017_1a.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vacation2017_10a.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vacation2017_2a.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vacation2017_3a.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vacation2017_4a.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vacation2017_5a.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vacation2017_6a.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vacation2017_7a.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vacation2017_8a.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vacation2017_9a.jpg"> Grumpy Gamer v3 https://grumpygamer.com/grumpygamer_v3/ Fri, 15 Dec 2017 00:00:00 +0000 https://grumpygamer.com/grumpygamer_v3/ <p><strong>NOTE</strong>: This was 2 blug revisions ago&hellip;</p> <p>Welcome to the all new Grumpy Gamer Blog!</p> <p>It has all of the content from the old blog minus the stupid stuff. I removed a lot of the old posts teasing the lead up to my new games like The Cave, Scurvy and, of course, Thimbleweed Park. They were just noise.</p> <p>Now that Thimbleweed Park is done and I won&rsquo;t be <a href="https://blog.thimbleweedpark.com">blogging there</a> as much, it felt like I needed a new outlet to gripe and complain.</p> <p>Also, for the most part, I am leaving Twitter.</p> <p>It&rsquo;s a hostile crap-filled dumpster-fire of shit. I stopping checking and posting on Twitter a few weeks ago while I was on vacation and I realized how much better my life was. When I got back, I had no real desire to go back, so I haven&rsquo;t.</p> <p>And no one has noticed.</p> <p>Twitter is like an F2P game, they both tap into a horrible part of our lizard brain. F2P games trigger <a href="https://www.scientificamerican.com/article/how-the-brain-gets-addicted-to-gambling/">dopamine associated with gambling</a> and the become an addition. You aren&rsquo;t playing them because you enjoy the game, you&rsquo;re playing them because you&rsquo;re addicted. You are just convincing yourself you&rsquo;re having (true) fun,</p> <p>Twitter (and social media in general) is the same. You&rsquo;re addicted to likes, followers, and mentions. People have found the best way to get the proceeding is to post angry shit and enrage people. As we are seeing, this is not good for us as people, or us as a society. I&rsquo;m tired of it and I&rsquo;m not going to be a part of it anymore, at least until it (or we) change.</p> <p>I do worry about staying connected to what is happening in the world of making a game. It seems like Twitter is a good place to do that, but it&rsquo;s also filled with hype and egos and bitching and probably not the &ldquo;best way&rdquo; to stay in touch.</p> <p>The final straw for quitting Twitter was when I got back from vacation, there was a Twitter thread about Monkey Island being ranking 172 of the best games ever by some big website. My mentioned were filled with people dumping shit on the website and expecting me to jump in. Look&hellip; I don&rsquo;t care. It is of no importance to me where Monkey Island falls on some list. Lists are made by people and people have different opinions.</p> <p>It just struck me how much pointless anger there was, and worse, they expected me to join in.</p> <p>I. Just. Don&rsquo;t. Care. I&rsquo;m done.</p> <p>If you are on Twitter and want to know what&rsquo;s up with Thimbleweed Park (including the new Ransome unbeeped DLC), please follow <a href="https://twitter.com/thimbleweedpark">@thimbleweedpark</a>.</p> <p>There are no comments on the new Grumpy Gamer blog. I haven&rsquo;t decided if I&rsquo;m going to add them or not.</p> <p>Update: 1) There are comments on the Grumpy Gamer Blog now. 2) New blog posts will be echoed to Twitter, but I won&rsquo;t be logging on, so I won&rsquo;t see your replies or likes.</p> Boring title https://grumpygamer.com/350a7737d4136669f66c91c/ Wed, 13 Dec 2017 00:00:00 +0000 https://grumpygamer.com/350a7737d4136669f66c91c/ <p>Be skeptical of the advice of successful people, they suffer from deep <a href="https://xkcd.com/1827/">survivor bias</a>. Hundreds of other people did exactly what they did and failed. Chances are their success has more to do with luck than the advice they are given you.</p> Happy Birthday Monkey Island https://grumpygamer.com/monkey25/ Tue, 01 Sep 2015 00:00:00 +0000 https://grumpygamer.com/monkey25/ <p>I guess Monkey Island turns 25 this month. It&rsquo;s hard to tell.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi_title_ega.jpg"> <p>Unlike today, you didn&rsquo;t push a button and unleash your game to billions of people. It was a slow process of sending &ldquo;gold master&rdquo; floppies off to manufacturing, which was often overseas, then waiting for them to be shipped to stores and the first of the teaming masses to buy the game.</p> <p>Of course, when that happened, you rarely heard about it. There was no Internet for players to jump onto and talk about the game.</p> <p>There was CompuServe and Prodigy, but those catered to a very small group of very highly technical people.</p> <p>Lucasfilm&rsquo;s process for finalizing and shipping a game consisted of madly testing for several months while we fixed bugs, then 2 weeks before we were to send off the gold masters, the game would go into &ldquo;lockdown testing&rdquo;. If any bug was found, there was a discussion with the team and management about if it was worth fixing. &ldquo;Worth Fixing&rdquo; consisted of a lot of factors, including how difficult it was to fix and if the fix would likely introduce more bugs.</p> <p>Also keep in mind that when I made a new build, I didn&rsquo;t just copy it to the network and let the testers at it, it had to be copied to four or five sets of floppy disk so it could be installed on each tester&rsquo;s machine. It was a time consuming and dangerous process. It was not uncommon for problems to creep up when I made the masters and have to start the whole process again. It could take several hours to make a new set of five testing disks.</p> <p>It&rsquo;s why we didn&rsquo;t take getting bumped from test lightly.</p> <p>During the 2nd week of &ldquo;lockdown testing&rdquo;, if a bug was found we had to bump the release date. We required that each game had one full week of testing on the build that was going to be released. Bugs found during this last week had to be crazy bad to fix.</p> <p>When the release candidate passed testing, it would be sent off to manufacturing. Sometimes this was a crazy process. The builds destined for Europe were going to be duplicated in Europe and we needed to get the gold master over there, and if anything slipped there wasn&rsquo;t enough time to mail them. So, we&rsquo;d drive down to the airport and find a flight headed to London, go to the gate and ask a passenger if they would mind carry the floppy disks for us and someone would meet them at the gate.</p> <p>Can you imagine doing that these days? You can&rsquo;t even get to the gate, let alone find a person that would take a strange package on a flight for you. Different world.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/floppies.jpg"> <p>After the gold masters were made, I&rsquo;d archive all the source code. There was no version control back then, or even network storage, so archiving the source meant copying it to a set of floppy disks.</p> <p>I made these disk on Sept 2nd, 1990 so the gold masters were sent off within a few days of that. They have a 1.1 version due to Monkey Island being bumped from testing. I don&rsquo;t remember if it was in the 1st or 2nd week of &ldquo;lockdown&rdquo;.</p> <p>It hard to know when it first appeared in stores. It could have been late September or even October and happened without fanfare. The gold masters were made on the 2nd, so that what I&rsquo;m calling The Secret of Monkey Island&rsquo;s birthday.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/MI1_island_small.jpg"> <p>Twenty Five years. That&rsquo;s a long time.</p> <p>It amazes me that people still play and love Monkey Island. I never would have believed it back then.</p> <p>It&rsquo;s hard for me to understand what Monkey Island means to people. I am always asked why I think it&rsquo;s been such an enduring and important game. My answer is always &ldquo;I have no idea.&rdquo;</p> <p>I really don&rsquo;t.</p> <p>I was very fortunate to have an incredible team. From Dave and Tim to Steve Purcell, Mark Ferrari, an amazing testing department and everyone else who touched the game&rsquo;s creation. And also a company management structure that knew to leave creative people alone and let them build great things.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/award.jpg"> <p>Monkey Island was never a big hit. It sold well, but not nearly as well and anything Sierra released. I started working on Monkey Island II about a month after Monkey Island I went to manufacturing with no idea if the first game was going to do well or completely bomb. I think that was part of my strategy: start working on it before anyone could say &ldquo;it&rsquo;s not worth it, let&rsquo;s go make Star Wars games&rdquo;.</p> <p>There are two things in my career that I&rsquo;m most proud of. Monkey Island is one of them and Humongous Entertainment is the other. They have both touched and influenced a lot of people. People will tell me that they learned english or how to read from playing Monkey Island. People have had Monkey Island weddings. Two people have asked me if it was OK to name their new child Guybrush. One person told me that he and his father fought and never got along, except for when they played Monkey Island together.</p> <p>It makes me extremely proud and is very humbling.</p> <p>I don&rsquo;t know if I will ever get to make another Monkey Island. I always envisioned the game as a trilogy and I really hope I do, but I don&rsquo;t know if it will ever happen. Monkey Island is now owned by Disney and they haven&rsquo;t shown any desire to sell me the IP. I don&rsquo;t know if I could make <a href="if_i_made_another_monkeyisland">Monkey Island 3a</a> without complete control over what I was making and the only way to do that is to own it. Disney: Call me.</p> <p>Maybe someday. Please don&rsquo;t suggest I do a Kickstarter to get the money, that&rsquo;s not possible without Disney first agreeing to sell it and they haven&rsquo;t done that.</p> <p>Anyway&hellip;</p> <p>Happy Birthday to Monkey Island and a huge thanks to everyone who helped make it great and to everyone who kept it alive for Twenty Five years.</p> <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/fan_letter.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/fan_pic1b.jpg"> </p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/fan_letter2c.jpg"> <p>I thought I&rsquo;d celebrate the occasion by <a href="http://blog.thimbleweedpark.com">making another point &amp; click adventure</a>, with verbs.</p> Thimbleweed Park Dev Blog https://grumpygamer.com/thimbleweed_dev_blog/ Fri, 20 Feb 2015 00:00:00 +0000 https://grumpygamer.com/thimbleweed_dev_blog/ <p>If you&rsquo;re wondering why it&rsquo;s so quiet over here at Grumpy Gamer, rest assured, it has nothing to do with me not being grumpy anymore.</p> <p>The mystery can be solved by heading on over to the <a href="http://blog.thimbleweedpark.com/">Thimbleweed Park Dev Blog</a> and following fun antics of making a game.</p> I Was A Teengage Lobot https://grumpygamer.com/teenage_lobot/ Fri, 09 Jan 2015 00:00:00 +0000 https://grumpygamer.com/teenage_lobot/ <p>This was the first design document I worked on while at Lucasfilm Games. It was just after Koronis Rift finished and I was really hoping I wouldn&rsquo;t get laid off. When I first joined Lucasfilm, I was a contractor, not an employee. I don&rsquo;t remember why that was, but I wanted to get hired on full time. I guess I figured I&rsquo;d show how indispensable I was by helping to churn out game design gold like this.</p> <p>This is probably one of the first appearances of &ldquo;Chuck&rdquo;, who would go on to &ldquo;Chuck the Plant&rdquo; fame.</p> <p>You&rsquo;ll also notice the abundance of TM&rsquo;s all over the doc. That joke never gets old. Right?</p> <p>Many thanks to Aric Wilmunder for saving this document.</p> <p>Shameless plug to visit the <a href="http://blog.thimbleweedpark.com">Thimbleweed Park Development Diary</a>.</p> <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_1.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_2.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_3.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_4.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_5.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_6.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_7.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_8.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_9.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_10.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_11.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_12.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_13.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_14.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_15.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_16.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_17.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lobots_18.jpg"> </p> Boring title https://grumpygamer.com/maniac_mansion_joystick/ Tue, 02 Dec 2014 00:00:00 +0000 https://grumpygamer.com/maniac_mansion_joystick/ <p>The C64 version of Maniac Mansion didn&rsquo;t use a mouse, it used one of these:</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mm_joystick.jpg"> <p>A year later we did the IBM PC version and it had keyboard support for moving the cursor because most PCs didn&rsquo;t have a mouse. Monkey Island also had cursor key support because not everyone had a mouse.</p> <p>Use the above facts to impress people at cocktail parties.</p> Boring title https://grumpygamer.com/e15a030e8ebaf1fc96ec509/ Sat, 18 Oct 2014 00:00:00 +0000 https://grumpygamer.com/e15a030e8ebaf1fc96ec509/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ron_talking.gif"> <p>Blah Blah Blah. Blah Blah Blah Blah Blah Blah Blah Blah Blah.</p> <p>Blah Blah Blah Blah, Blah Blah Blah, Blah Blah Blah Blah. Blah Blah Blah Blah Blah Blah Blah. Blah Blah Blah Blah, Blah Blah Blah Blah Blah Blah Blah Blah Blah. Blah Blah!!!</p> <p>Blah, Blah Blah Blah Blah, Blah Blah Blah Blah Blah. Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah, Blah Blah Blah Blah Blah Blah Blah? Blah Blah Blah Blah Blah Blah. Blah Blah Blah Blah Blah Blah Blah.</p> <p>Blah Blah Blah Blah Blah Blah Blah Blah Blah, Blah Blah Blah Blah, Blah Blah Blah Blah Blah Blah Blah Blah. Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah. Blah Blah Blah Blah Blah Blah, Blah Blah Blah Blah Blah, Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah Blah. Blah Blah Blah Blah?</p> <p>Blah Blah Blah Blah Blah Blah. Blah Blah Blah!</p> <p>Blah.</p> My Understanding Of Charts https://grumpygamer.com/understanding_of_charts/ Wed, 27 Aug 2014 00:00:00 +0000 https://grumpygamer.com/understanding_of_charts/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/understanding_of_charts.jpg"> Puzzle Dependency Charts https://grumpygamer.com/puzzle_dependency_charts/ Sun, 10 Aug 2014 00:00:00 +0000 https://grumpygamer.com/puzzle_dependency_charts/ <p>In part 1 of 1 in my series of articles on games design, let&rsquo;s delve into one of the (if not THE) most useful tool for designing adventure games: The Puzzle Dependency Chart. Don&rsquo;t confuse it with a flow chart, it&rsquo;s not a flow chart and the subtle distinctions will hopefully become clear, for they are the key to it&rsquo;s usefulness and raw pulsing design power.</p> <p>There is some dispute in Lucasfilm Games circles over whether they were called Puzzle Dependency Charts or Puzzle Dependency Graphs, and on any given day I&rsquo;ll swear with complete conviction that is was Chart, then the next day swear with complete conviction that it was Graph. For this article, I&rsquo;m going to go with Chart. It&rsquo;s Sunday.</p> <p>Gary and I didn&rsquo;t have Puzzle Dependency Charts for Maniac Mansion, and in a lot of ways it really shows. The game is full of dead end puzzles and the flow is uneven and gets bottlenecked too much.</p> <p>Puzzle Dependency Charts would have solve most of these problems. I can&rsquo;t remember when I first came up with the concept, it was probably right before or during the development of The Last Crusade adventure game and both David Fox and Noah Falstein contributed heavy to what they would become. They reached their full potential during Monkey Island where I relied on them for every aspect of the puzzle design.</p> <p>A Puzzle Dependency Chart is a list of all the puzzles and steps for solving a puzzle in an adventure game. They are presented in the form of a Graph with each node connecting to the puzzle or puzzle steps that are need to get there. They do not generally include story beats unless they are critical to solving a puzzle.</p> <p>Let&rsquo;s build one!</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_pdc_1.jpg"> <p>I always work backwards when designing an adventure game, not from the very end of the game, but from the end of puzzle chains. I usually start with &ldquo;The player needs to get into the basement&rdquo;, not &ldquo;Where should I hide a key to get into some place I haven&rsquo;t figured out yet.&rdquo;</p> <p>I also like to work from left to right, other people like going top to bottom. My rational for left to right is I like to put them up on my office wall, wrapping the room with the game design.</p> <p>So&hellip; first, we&rsquo;ll need figure out what you need to get into the basement&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_pdc_2.jpg"> <p>And we then draw a line connecting the two, showing the dependency. &ldquo;Unlocking the door&rdquo; is dependent on &ldquo;Finding the Key&rdquo;. Again, it&rsquo;s not flow, it&rsquo;s dependency.</p> <p>Now let&rsquo;s add a new step to the puzzle called &ldquo;Oil Hinges&rdquo; on the door and it can happen in parallel to the &ldquo;Finding the Key&rdquo; puzzle&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_pdc_3.jpg"> <p>We add two new puzzle nodes, one for the action &ldquo;Oil Hinges&rdquo; and it&rsquo;s dependency &ldquo;Find Oil Can&rdquo;. &ldquo;Unlocking&rdquo; the door is not dependent on &ldquo;Oiling&rdquo; the hinges, so there is no connection. They do connect into &ldquo;Opening&rdquo; the basement door since they both need to be done.</p> <p>At this point, the chart is starting to get interesting and is showing us something important: The non-linearity of the design. There are two puzzles the player can be working on while trying to get the basement door open.</p> <p>There is nothing (NOTHING!) worse than linear adventure games and these charts are a quick visual way to see where the design gets too linear or too unwieldy with choice (also bad).</p> <p>Let&rsquo;s build it back a little more&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_pdc_6.jpg"> <p>When you step back and look at a finished Puzzle Dependency Chart, you should this kind of overall pattern with a lot of little sub-diamond shaped expansion and contraction of puzzles. Solving one puzzle should open up 2 or 3 new ones, and then those collapses down (but not necessarily at the same rate) to a single solution that then opens up more non-linear puzzles.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_pdc_7.jpg"> <p>The game starts out with a simple choice, then the puzzles begin to expand out with more and more for the player to be doing in parallel, then collapse back in.</p> <p>I tend to design adventures games in &ldquo;acts&rdquo;, where each act ends with a bottle neck to the next act. I like doing this because it gives players a sense of completion, and they can also file a bunch of knowledge away and (if need) the inventory can be culled).</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_pdc_5.jpg"> <p>Monkey Island would have looked something like this&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_pdc_4.jpg"> <p>I don&rsquo;t have the Puzzle Dependency Chart for Monkey Island, or I&rsquo;d post it. I&rsquo;ve seen some online, but they are more &ldquo;flowcharts&rdquo; and not &ldquo;dependency charts&rdquo;. I&rsquo;ve had countless arguments with people over the differences and how dependency charts are not flowcharts, bla bla bla. They&rsquo;re not. I don&rsquo;t completely know why, but they are different.</p> <p>Flowcharts are great if you&rsquo;re trying to solve a game, dependency charts are great if you&rsquo;re trying to design a game. That&rsquo;s the best I can come up with.</p> <p>Here is a page from my MI design notebook that shows a puzzle in the process of being created using Puzzle Dependency Charts. It&rsquo;s the only way I know how to design an adventure game. I&rsquo;d be lost without them.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/MI2_puzzle1_small.jpg"> <p>So, how do you make these charts?</p> <p>You&rsquo;ll need some software that automatically rebuilds the charts as you connect nodes. If you try and make these using a flowchart program, you&rsquo;ll spend forever reordering the boxes and making sure lines don&rsquo;t cross. It&rsquo;s a frustrating and time consuming process and it gets in the way of using these as a quick tool for design.</p> <p>Back at Lucasfilm Games, we used some software meant for project scheduling. I don&rsquo;t remember the name of it, and I&rsquo;m sure it&rsquo;s long gone.</p> <p>I&rsquo;ve only modern program that does this well is <a href="https://www.omnigroup.com/omnigraffle">OmniGraffle</a>, but it only runs on the Mac. I&rsquo;m sure there are others, but since OmniGraffle does exactly what I need, I haven&rsquo;t look much deeper. I&rsquo;m sure there are others.</p> <p>OmniGraffle is built on top of the unix tool called <a href="http://www.graphviz.org/">graphviz</a>. Graphviz is great, but you have to feed everything in as a text file. It&rsquo;s a nerd level 8 program, but it&rsquo;s what I used for DeathSpank.</p> <p>You can take a look at the <a href="https://grumpygamer.com/deathspank_pdc_image">DeathSpank Puzzle Dependency Chart here</a>, but I warn you, it&rsquo;s a big image, so get ready to zoom-n-scroll™.</p> <p>Hopefully this was interesting. I could spend all day long talking about Puzzle Dependency Charts. Yea, I&rsquo;m a lot of fun on a first date.</p> SCUMM Notes From The C64 https://grumpygamer.com/scumm_notes/ Tue, 05 Aug 2014 00:00:00 +0000 https://grumpygamer.com/scumm_notes/ <p>More crap that is quickly becoming a fire hazard. Some of my notes from building SCUMM on the C64 for Maniac Mansion.</p> <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs1.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs2.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs3.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs4.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs5.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs6.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs7.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs8.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs9.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs10.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gg_scumm_docs11.jpg"> </p> <p>I&rsquo;m not sure who&rsquo;s phone number that is on the last page. I&rsquo;m afraid to call it.</p> 2D Point and Click Engine Recommendations https://grumpygamer.com/2d_engine_recommendations/ Sun, 03 Aug 2014 00:00:00 +0000 https://grumpygamer.com/2d_engine_recommendations/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/SCUMM_legacy.jpg"> <p>I&rsquo;m looking for some good recommendations on modern 2D point-and-click adventure game engines. These should be complete engines, not just advice to use Lua or <a href="http://www.amazon.com/Learn-Pascal-Three-Days-Abolrous/dp/1556228058">Pascal</a> (it&rsquo;s making a comeback). I want to look at the whole engine, not just the scripting language. PC based is required. Mobile is a ok. HTML5 is not necessary. Screw JavaScript. Screw Lua too, but not as hard as JavaScript.</p> <p>I&rsquo;m not so much interested in using them, as I&rsquo;d just like to dissect and deconstruct what the state of the art is today.</p> <p>P.S. I don&rsquo;t know why I hate Lua so much. I haven&rsquo;t really used it other than hacking WoW UI mods, but there is something about the syntax that makes it feel like fingernails on a chalkboard.</p> <p>P.P.S It&rsquo;s wonderful that &ldquo;modern 2d point-and-click&rdquo; isn&rsquo;t an oxymoron anymore.</p> <p>P.P.P.S Big bonus points if you&rsquo;ve actually used the engine. I do know how to use <a href="https://www.google.com/search?q=2d+point+and+click+engines&amp;oq=2d+point+and+click+engines">Google</a>.</p> <p>P.P.P.P.S I want engines that are made for adventure games, not general purpose game engines.</p> Best. Ending. Ever. https://grumpygamer.com/mi2_best_ending_ever/ Thu, 24 Jul 2014 00:00:00 +0000 https://grumpygamer.com/mi2_best_ending_ever/ <p>An email sent to me from LucasArts Marketing/Support letting me know they &ldquo;finally&rdquo; found some people who liked the ending to Monkey Island 2.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi2-emails.jpg"> Maniac Mansion Design Doc https://grumpygamer.com/maniac_mansion_design_doc/ Sun, 20 Jul 2014 00:00:00 +0000 https://grumpygamer.com/maniac_mansion_design_doc/ <p>Even more crap from my Seattle storage unit!</p> <p>Here is the original pitch document Gary and I used for Maniac Mansion. Gary had done some quick concepts, but we didn&rsquo;t have a real design, screen shots or any code. This was before I realized coding the whole game in 6502 was nuts and began working on the SCUMM system.</p> <p>There was no official pitch process or &ldquo;green lighting&rdquo; at Lucasfilm Games. The main purpose of this document would have been to pass around to the other members of the games group and get feedback and build excitement.</p> <p>I don&rsquo;t remember a point where the game was &ldquo;OK&rsquo;d&rdquo;. It felt that Gary and I just started working on it and assumed we could. It was just the two of us for a long time, so it&rsquo;s not like we were using up company resources. Eventually David Fox would come on to help with SCUMM scripting.</p> <p>Three people. The way games were meant to be made.</p> <p>If this document (and the <a href="http://grumpygamer.com/monkey_island_design_scribblings">Monkey Island Design Notes</a>) say anything, it&rsquo;s how much ideas change from initial concept to finished game. And that&rsquo;s a good thing. Never be afraid to change your ideas. Refine and edit. If your finished game looks just like your initial idea, then you haven&rsquo;t pushed and challenged yourself hard enough.</p> <p>It&rsquo;s all part of the creative process. Creativity is a messy process. It wants to be messy and it needs to be messy.</p> <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_page_0_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_page_1_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_page_2_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_page_3_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_page_4_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_page_5_thumb.jpg"> </p> <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_fig_1_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_fig_2_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_fig_3_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_fig_4_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_fig_5_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_fig_6_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_fig_7_thumb.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mmdd_fig_8_thumb.jpg"> </p> Boring title https://grumpygamer.com/monkey_poster/ Fri, 18 Jul 2014 00:00:00 +0000 https://grumpygamer.com/monkey_poster/ <p>More crap from my storage unit.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/monkey_poster.jpg"> <p>Print your own today!</p> Maniac Mansion Design Notes https://grumpygamer.com/maniac_mansion_design_1/ Tue, 15 Jul 2014 00:00:00 +0000 https://grumpygamer.com/maniac_mansion_design_1/ <p>While cleaning out my storage unit in Seattle, I came across a treasure trove of original documents and backup disks from the early days of Lucasfilm Games and Humongous Entertainment. I hadn&rsquo;t been to the unit in over 10 years and had no idea what was waiting for me.</p> <p>Here is the first batch&hellip; get ready for a week of retro&hellip; Grumpy Gamer style&hellip;</p> <h2 id="first-up">First up&hellip;</h2> <p><a href="https://grumpygamer.com/images/mm_design_1.jpg"><img src="https://grumpygamer.com/images/mm_design_1_thumb.jpg" alt="foo"></a></p> <p>A early mock-up of the Maniac Mansion UI. Gary had done a lot of art long before we had a running game, hence the near finished screen without the verbs.</p> <p><a href="https://grumpygamer.com/images/mm_design_2.jpg"><img src="https://grumpygamer.com/images/mm_design_2_thumb.jpg" alt="foo"></a></p> <p>A map of the mansion right after Gary and I did a big pass at cutting the design down. Disk space was a bigger concern than production time. We had 320K. That&rsquo;s right. K.</p> <p><a href="https://grumpygamer.com/images/mm_design_3.jpg"><img src="https://grumpygamer.com/images/mm_design_3_thumb.jpg" alt="foo"></a></p> <p>Gary and I were trying to make sense of the mansion and how the puzzles flowed together. It wouldn&rsquo;t be until Monkey Island that the &ldquo;puzzle dependency chart&rdquo; would solve most of our adventure game design issues.</p> <p><a href="https://grumpygamer.com/images/mm_design_4.jpg"><img src="https://grumpygamer.com/images/mm_design_4_thumb.jpg" alt="foo"></a></p> <p>More design flow and ideas. The entire concept of getting characters to like you never really made it into the final game. Bobby, Joey and Greg would grow up and become Dave, Syd, Wendy, Bernard, etc..</p> <p><a href="https://grumpygamer.com/images/mm_design_5.jpg"><img src="https://grumpygamer.com/images/mm_design_5_thumb.jpg" alt="foo"></a></p> <p>A really early brainstorm of puzzle ideas. NASA O-ring was probably &ldquo;too soon&rdquo; and twenty-five years later the dumb waiter would finally make it into The Cave.</p> <p>I&rsquo;m still amazed Gary and I didn&rsquo;t get fired.</p> Boring title https://grumpygamer.com/c64_website/ Mon, 14 Jul 2014 00:00:00 +0000 https://grumpygamer.com/c64_website/ <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/commodore-64-ad.png"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/c64_startup.gif"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mm-c64-porch.png"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mm_c64_title.png"> </p> Ten Years Running! https://grumpygamer.com/ten_years_running/ Mon, 14 Jul 2014 00:00:00 +0000 https://grumpygamer.com/ten_years_running/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/old_gg_title.gif"> <p>Time flies. The gaming and internet institution known as the Grumpy Gamer Blog has been around for just over ten years.</p> <p>My <a href="why_adventure_games_suck">first story</a> was posted in May of 2004. Two thousand and four. I&rsquo;ll let that date sink in. Ten years.</p> <p>The old Grumpy Gamer website was feeling &ldquo;long in the tooth&rdquo; and it was starting to bug me that Grumpy Gamer was still using a CRT monitor. He should have been using a flat screen, or more likely, just a mobile phone, or maybe those Google <a href="http://googleblog.blogspot.com/2014/01/introducing-our-smart-contact-lens.html">smart contact lens</a>. He would not have been using an <a href="http://www.cracked.com/quick-fixes/9-gifs-that-show-wearable-tech-will-make-us-look-like-idiots/">Oculus Rift</a>. Don&rsquo;t get <a href="https://twitter.com/grumpygamer/status/448682084182134785">me started</a>.</p> <p>I coded the original Grumpy Gamer from scratch and it was old and fragile and I dreaded every time I had to make a small change or wanted to add a feature.</p> <p>A week ago I had an the odd idea of doing a Commodore 64 theme for the entire site, so I began anew. I could have used some off-the-shelf blogging tool or code base, but where&rsquo;s the fun in that. Born to program.</p> <p>I&rsquo;m slowly moving all the old articles over. I started with the ones with the most traffic and am working my way down. I fundamentally changed the markup format, so I can&rsquo;t just import everything. Plus, there is a lot of crap that doesn&rsquo;t want to be imported. I still need to decide if I&rsquo;m going to import all the comments. There are a crap-ton of them.</p> <p>I&rsquo;d also like to find a different C64 font. This one has kerning, but it lacks unicode characters, neither of which are truly &ldquo;authentic&rdquo;, but, yeah, who cares.</p> <p>But the honest truth is&hellip;</p> <p>I&rsquo;ve been in this creative funk since <a href="https://play.google.com/store/apps/details?id=com.beepgames.scurvyscallywags">Scurvy Scallywags Android</a> shipped and I find myself meandering from quick prototype to quick prototype. I&rsquo;ll work on something for a few days and then abandon it because it&rsquo;s pointless crap. I think I&rsquo;m up to eight so far.</p> <p>The most interesting prototype is about being lost in a cavern/cave/dungeon. The environment programmatically builds itself as you explore. There is no entrance and no exit. It is an exercise in the frustration of being lost. You can never find your way out. You just wander and the swearing gets worse and worse as you slowly give up all hope.</p> <p>I have no sense of direction, so in some ways, maybe it was a little personal in the way I suppose art should be.</p> <p>I worked on the game for about a week then gave up. Maybe the game was more about being lost than I thought.</p> <p>Rebuilding Grumpy Gamer was a way to get my brain going again. It was a project with focus and an end. As the saying goes: Just ship something. So I did.</p> <p>The other saying is: &ldquo;<a href="http://www.goodreads.com/quotes/359677-the-muse-visits-during-the-act-of-creation-not-before">The Muse visits during the act of creation, not before</a>.&rdquo;</p> <p>Create and all will follow. Something to always keep in mind.</p> Booty From My Seattle Storage Space! https://grumpygamer.com/booty_from_seattle1/ Thu, 10 Jul 2014 00:00:00 +0000 https://grumpygamer.com/booty_from_seattle1/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_1276.jpg"> Monkey Bucks https://grumpygamer.com/monkey_bucks/ Wed, 09 Jul 2014 00:00:00 +0000 https://grumpygamer.com/monkey_bucks/ <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/monkey_bucks_front.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/monkey_bucks_back.jpg"> </p> Who Are These Pirates? https://grumpygamer.com/who_are_these_pirates/ Tue, 29 Apr 2014 00:00:00 +0000 https://grumpygamer.com/who_are_these_pirates/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/WhoAreThesePirates.jpg"> <p>This has always bugged me. Now that I&rsquo;ve pointed it out, it&rsquo;s going to bug you too.</p> What is an indie developer? https://grumpygamer.com/what_is_an_indie/ Thu, 17 Apr 2014 00:00:00 +0000 https://grumpygamer.com/what_is_an_indie/ <p>What makes a developer &ldquo;indie&rdquo;?</p> <p>I&rsquo;m not going to answer that question, instead, I&rsquo;m just going to ask a lot more questions, mostly because I&rsquo;m irritated and asking questions rather than answering them irritates people and as the saying goes: irritation makes great bedfellows.</p> <p>What irritates me is this almost &ldquo;snobbery&rdquo; that seems to exist in some dev circles about what an &ldquo;indie&rdquo; is. I hear devs who call themselves &ldquo;indie&rdquo; roll their eyes at other devs who call themselves &ldquo;indie&rdquo; because they &ldquo;clearly they aren&rsquo;t indie&rdquo;.</p> <p>So what makes an indie developer &ldquo;indie&rdquo;? Let&rsquo;s look at the word.</p> <p>The word &ldquo;indie&rdquo; comes from (I assume) the word &ldquo;independent&rdquo;. I guess the first question we have to ask is: independent from what? I think most people would say &ldquo;publishers&rdquo;.</p> <p>Yet, I know of several devs who proudly call themselves &ldquo;indie&rdquo; when they are taking money from publishers (and big publishers at that) and other devs that would sneer at a dev taking publisher money and calling themselves &ldquo;indie&rdquo;.</p> <p>What about taking money from investors? If you take money are you not &ldquo;indie&rdquo;? What about money from friends or family? Or does it have to be VCs for you to lose &ldquo;indie&rdquo; status?</p> <p>What about Kickstarter? I guess it&rsquo;s OK for indies to take money from Kickstarter. But are you really &ldquo;independent&rdquo;? 3,000 backers who now feel a sense of entitlement might disagree. Devs who feel an intense sense of pressure from backers might also disagree.</p> <p>Does being &ldquo;indie&rdquo; mean your idea is independent from mainstream thinking? Is being an &ldquo;indie developer&rdquo; just the new Punk Rock.</p> <p>Does the type of game you&rsquo;re making define you as &ldquo;indie&rdquo;? If a dev is making a metrics driven F2P game, but they are doing it independent of a publisher, does that mean they are not &ldquo;indie&rdquo;?</p> <p>This is one of the biggest areas I see &ldquo;indie&rdquo; snobbery kick in. Snobby &ldquo;indie&rdquo; devs will look at an idea and proclaim it &ldquo;not indie&rdquo;.</p> <p>Do &ldquo;indie&rdquo; games have to be quirky and weird? Do &ldquo;indie&rdquo; games have to be about the &ldquo;art&rdquo;.</p> <p>What about the dev? Does that matter? Someone once told me I was not &ldquo;indie&rdquo; because I have an established name, despite the fact that the games I&rsquo;m currently working on have taken no money from investors or publishers and are made by three people.</p> <p>What if the game is hugely successful and makes a ton of money? Does that make it not &ldquo;indie&rdquo; anymore? Is being &ldquo;indie&rdquo; about being scrappy and clawing your way from nothing? Once you have success, are you no longer &ldquo;indie&rdquo;? Is it like being an &ldquo;indie band&rdquo; where once they gain success, they are looked down on by the fans? Does success mean selling-out? Does selling-out revoke your &ldquo;indie dev&rdquo; card?</p> <p>What if the &ldquo;indie&rdquo; developer already has lots of money? Does having millions of dollars make them not &ldquo;indie&rdquo;? What if they made the money before they went &ldquo;indie&rdquo; or even before they started making games or if they have a rich (dead) aunt? Does &ldquo;indie&rdquo; mean you have to starve?</p> <p>Is it OK for an &ldquo;indie&rdquo; to hire top notch marketing and PR people? Or do &ldquo;indies&rdquo; have to scrape everything together themselves and use the grassroot network?</p> <p>Or does &ldquo;indie&rdquo; just mean you&rsquo;re not owned by a publisher? How big of a publisher? It&rsquo;s easy to be a publisher these days, most indies who put their games up on Steam are &ldquo;publishers&rdquo;. The definition of a publisher is that you&rsquo;re publishing the game and the goal of a lot of studios is to &ldquo;self-publish&rdquo;.</p> <p>Or does being &ldquo;indie&rdquo; just mean you came up with the idea? The Cave was funded and published by SEGA, so was it an &ldquo;indie&rdquo; title? SEGA didn&rsquo;t come up with the idea and exerted no creative control, so does that make it an &ldquo;indie&rdquo; title?</p> <p>I don&rsquo;t know the answers to any of these questions (and maybe there aren&rsquo;t any), but it irritates me that some devs (or fans) look down on devs because they are not &ldquo;indie&rdquo; or not &ldquo;indie enough&rdquo;.</p> <p>Or is being &ldquo;indie&rdquo; just another marketing term? Maybe that&rsquo;s all it means anymore. It&rsquo;s just part of the PR plan.</p> Monkey Island Design Notebook Scribblings https://grumpygamer.com/monkey_island_design_scribblings/ Sun, 06 Apr 2014 00:00:00 +0000 https://grumpygamer.com/monkey_island_design_scribblings/ <p>More scans from the Monkey Island Design Notebook. I&rsquo;m glad I kept these notebooks, it&rsquo;s a good reminder of how ideas don&rsquo;t come out fully formed. Creation is a messy process with lots of twisty turns and dead ends. It&rsquo;s a little sad that so much is done digitally these days. Most of my design notes for The Cave were in Google Docs and I edited them as I went, so the process lost. Next game, I&rsquo;m keeping an old fashion notebook.</p> <p>Mark Ferrari or Steve Purcell must have done these. I can&rsquo;t draw this good!</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0501_thumb.jpg"> <p>A lot changed here!</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0499_thumb.jpg"> <p>Getting the Main Flow right is critical!</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0496_thumb.jpg"> Even More Monkey Island Design Scribbles. https://grumpygamer.com/even_more_monkey_island_design_scribbles/ Sun, 30 Mar 2014 00:00:00 +0000 https://grumpygamer.com/even_more_monkey_island_design_scribbles/ <p>I am not going to throw these out! That was a joke! Several years ago they got water damaged, so now they are sealed in water proof wrapping and kept safe and insured for $1,000,000.</p> <p>Also, this is not the &ldquo;design document&rdquo;, they are just notes and ideas I&rsquo;d jotted down. There wasn&rsquo;t a formal design document for the game, just the large complete puzzle dependency chart I keep on my wall. I have no idea where that went to.</p> <p>Many more to come. Posting these is easier then writing actual blob entries. I&rsquo;m lazy.</p> <p>Notes and ideas for Ghost ship and on Monkey Island.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0495.jpg"> <p>The dream sequence had to wait until Monkey Island 2.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0498.jpg"> <p>Room layout sketches.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0506.jpg"> More Tales From The Monkey Island Design Notebook https://grumpygamer.com/monkey_island_design_notebook2/ Thu, 27 Mar 2014 00:00:00 +0000 https://grumpygamer.com/monkey_island_design_notebook2/ <p>Very early brainstorming about ideas and story.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0512.jpg"> <p>First pass at some puzzles on Monkey Island</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0497.jpg"> <p>Just writing ideas down. I&rsquo;m surprised &ldquo;get milk and bread&rdquo; doesn&rsquo;t appear on this.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0505.jpg"> <p>Map when ship sailing was more top-down and direct controlled.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_0492.jpg"> Monkey Island Design Notebook #1 https://grumpygamer.com/monkey_island_design_notebook1/ Wed, 26 Mar 2014 00:00:00 +0000 https://grumpygamer.com/monkey_island_design_notebook1/ <p>I&rsquo;m doing some house cleaning and I came across my Monkey Island 1 and 2 design notebooks. It&rsquo;s interesting to see what changed and what remained the same.</p> <p>I&rsquo;ll post more&hellip; If I don&rsquo;t throw them out. They are smelling kind of musty and I&rsquo;m running out of space.</p> <p>My first sketch of Monkey Island</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/MI1_island.jpg"> <p>Early puzzle diagram for Largo (before he was named Largo LaGrande)</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/MI2_puzzle1.jpg"> My 2013 year in review https://grumpygamer.com/year_in_review_2013/ Sun, 29 Dec 2013 00:00:00 +0000 https://grumpygamer.com/year_in_review_2013/ <p>I&rsquo;ve never written one of these &ldquo;year in review&rdquo; posts before. They always seemed silly and the beginning of a new year is just an arbitrary milestone.</p> <p>Also, it&rsquo;s hard to believe it is 2014. The 8 year old boy in me is disappointed that we don&rsquo;t have moon bases and flying cars, but I guess the Internet is pretty cool. Didn&rsquo;t see that one coming.</p> <h1 id="the-cave">The Cave</h1> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/thecave2013.jpg"> <p>First up is <a href="http://thecavegame.com">The Cave</a>. It didn&rsquo;t burn up any sales records or get amazing reviews and was largely forgotten a month after it came out, but you know what? I don&rsquo;t care. It&rsquo;s a game I am incredibly proud of and the team at Double Fine did an amazing job and working on it was a lot of fun. I&rsquo;ll stand by the game until the end of time.</p> <p>While snowboarding over Christmas, I rode the chairlift with a complete stranger who played and loved The Cave. Suck on that Metacritic.</p> <h1 id="scurvy-scallywags">Scurvy Scallywags</h1> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/scurvy2013.jpg"> <p>Next up is a iOS game called <a href="https://itunes.apple.com/us/app/scurvy-scallywags/id593299847?mt=8">Scurvy Scallywags in The Voyage to Discover the Ultimate Sea Shanty: A Musical Match-3 Pirate RPG</a> (actual title) that I built with my good friend Clayton Kauzlaric. Another game that wasn&rsquo;t wildly successful but I&rsquo;m extremely proud of.</p> <p>Scurvy Scallywags is Candy Crush for smart people.</p> <p>While the game didn&rsquo;t come close to making enough money to pay for the time and effort that went into it, Clayton and I decided to port it to Android, which should be out in early 2014.</p> <p>I guess one of the personal triumphs of Scurvy Scallywags is that I&rsquo;ve been in this wretched (I mean wonderful) industry for close to 30 years and I still make games and love it. Every morning I get up and program and design and write and build something. I&rsquo;m very thankful for that. Maybe I&rsquo;ll die poor and in the streets, but at least I get to do what I love. I&rsquo;ll be the one holding the cardboard sign that says &ldquo;Will Design Games for Food&rdquo;.</p> <h1 id="got-in-shape">Got in shape</h1> <p>I lost over 75 pounds in the first half of 2013. I now run almost everyday and workout and am probably in the best shape and health of my adult life. It was a lot of work and I didn&rsquo;t use any silly gimmicks or diets, just exercise and completely changed the way I eat. Losing weight is really hard and I&rsquo;ve struggled with it my whole life, but it&rsquo;s was rewarding and worth it.</p> <h1 id="australia">Australia</h1> <p>I went to Australia for the first time and gave the keynote at PAX and made some great friends. I am terrified of public speaking, so I always consider it a win when I can stand up in front of thousands of people and not make a complete fool of myself. Or did I? Don&rsquo;t tell me! I did great, right? Holy crap, now I&rsquo;m worried.</p> <h1 id="snowboarding">Snowboarding</h1> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/snowboarding2013.jpg"> <p>I went snowboarding for the first time. I&rsquo;ve been skiing since I was 6 (although not in the last 10 years), so I&rsquo;m no stranger to the snow, but strapping both legs onto a board and sliding down a hill was terrifying. After four days it was starting to make sense and I was able to go where I wanted. I&rsquo;m really looking forward to my next time.</p> <p>I hope everyone has a great 2014. I might make a game or something.</p> Scurvy Scallywags iOS Reviews Are In https://grumpygamer.com/scurvy_ios_reviews/ Wed, 05 Jun 2013 00:00:00 +0000 https://grumpygamer.com/scurvy_ios_reviews/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/bigfeature.jpg"> <p>Scurvy Scallywags in The Voyage to Discover the Ultimate Sea Shanty: A Musical Match-3 Pirate RPG is out on the <a href="https://itunes.apple.com/us/app/scurvy-scallywags/id593299847?ls=1&amp;mt=8">App Store</a> and the reviews have started pouring in and people seem to like it! WTF!</p> <p>It&rsquo;s currently in the top 50 of paid games and the top 100 in all paid apps in the first 24 hours. WTF!</p> <p>Who knew scurvy could be so much fun. Diseases involving bleeding gums and tooth loss get a bad rap.</p> <p>&ldquo;Scurvy Scallywags bleeds the charm and personality of Ron Gilbert&rsquo;s classics, and is something to appreciate in a landscape of games that often find themselves without an identity.&rdquo;</p> <h3 id="touch-arcade-reviewhttptoucharcadecom20130607scurvy-scallywags-review"><a href="http://toucharcade.com/2013/06/07/scurvy-scallywags-review">Touch Arcade Review</a></h3> <p>&ldquo;[they have] taken a genre amalgam that&rsquo;s been dear to my heart since Puzzle Quest and injected a heavy dose of humor and a penchant for breaking into song. It&rsquo;s almost the perfect game.&rdquo;</p> <h3 id="kotakuhttpkotakucommonkey-island-creators-new-pirate-adventure-is-a-puzze-511943469"><a href="http://kotaku.com/monkey-island-creators-new-pirate-adventure-is-a-puzze-511943469">Kotaku</a></h3> <p>&ldquo;Scurvy Scallywags might be a match-three puzzler, but it&rsquo;s also a romp through a pirate musical, complete with spectacular sea shanties, vast ships, terrible nautical jokes, and a fiercely addictive central premise that takes the match-three template and shakes it until it&rsquo;s fun.&rdquo;</p> <h3 id="pocket-gamerhttpwwwpocketgamercoukriphonescurvyscallywagsinthevoyagetodiscovertheultimateseashanty3aamusicalmatche280933piraterpgreviewaspc51386"><a href="http://www.pocketgamer.co.uk/r/iPhone/Scurvy+Scallywags+in+The+Voyage+to+Discover+the+Ultimate+Sea+Shanty%3A+A+Musical+Match%E2%80%933+Pirate+RPG/review.asp?c=51386">Pocket Gamer</a></h3> <p>&ldquo;Scurvy Scallywags is an enormous breath of fresh air if you&rsquo;ve been spending a bunch of time with the current generation of match-3 games.&rdquo;</p> <h3 id="touch-arcade-hands-onhttptoucharcadecom20130605ta-plays-scurvy-scallywags-hands-on-with-ron-gilberts-new-puzzle-game"><a href="http://toucharcade.com/2013/06/05/ta-plays-scurvy-scallywags-hands-on-with-ron-gilberts-new-puzzle-game">Touch Arcade Hands On</a></h3> <p>&ldquo;Scurvy Scallywags is a noteworthy game because of how different it is. I was skeptical at first that it could blend so many different genres and game mechanics together, but it did so with ease.&rdquo;</p> <h3 id="148appshttpwww148appscomreviewsscurvy-scallywags-review"><a href="http://www.148apps.com/reviews/scurvy-scallywags-review">148Apps</a></h3> <p>&ldquo;Here&rsquo;s our bold statement of the day: Scurvy Scallywags is what every puzzle game secretly wants to be like.&rdquo;</p> <h3 id="jay-is-gameshttpjayisgamescomarchives201306scurvy_scallywagsphp"><a href="http://jayisgames.com/archives/2013/06/scurvy_scallywags.php">Jay is Games</a></h3> <p>&ldquo;I don&rsquo;t know, I kind of like everything about it. This scream ten dollar game!&rdquo;</p> <h3 id="ign-video-reviewhttpwwwyoutubecomwatchvpty9pac7gtm"><a href="http://www.youtube.com/watch?v=pTY9pac7GtM">IGN Video Review</a></h3> <p>&ldquo;It&rsquo;s one of the best match-3 games we&rsquo;ve played for ages and it has kept us entertained for hours at a time.&rdquo;</p> <h3 id="entertainment-focushttpwwwentertainment-focuscomgame-reviewscurvy-scallywags-review"><a href="http://www.entertainment-focus.com/game-review/scurvy-scallywags-review">Entertainment Focus</a></h3> <p>&ldquo;With addictive gameplay that kept me glued to my iPad and constantly coming back for more, I can&rsquo;t recommend Scurvy Scallywags enough.&rdquo;</p> <h3 id="nerdy-but-flirtyhttpnerdybutflirtycom20130605review-scurvy-scallywags"><a href="http://nerdybutflirty.com/2013/06/05/review-scurvy-scallywags">Nerdy But Flirty</a></h3> <p>&ldquo;I tried [it] out during one lazy afternoon at home. I eventually stopped playing and went outside only to discover that the authorities declared me legally dead. Then I thought, &lsquo;I have more time to play Scurvy Scallywags&rsquo;&rdquo;</p> <h3 id="examinerhttpwwwexaminercomreviewscurvy-scallywags-combines-addictive-gameplay-and-charming-story"><a href="http://www.examiner.com/review/scurvy-scallywags-combines-addictive-gameplay-and-charming-story">Examiner</a></h3> <p>&ldquo;All in all, Scurvy Scallywags is a breath of fresh air and with the iPhone/iPod retina display, it is a joy to play. Give it a shot even if you don&rsquo;t prefer this genre and you may love it as it&rsquo;s the modern match 3 game with RPG elements, a truly unique game.&rdquo;</p> <h3 id="appsgoerhttpiosappsgoercomscurvy-scallywags-review-10483html"><a href="http://ios.appsgoer.com/scurvy-scallywags-review-10483.html">Appsgoer</a></h3> <p>&ldquo;Scurvy Scallywags manages to set itself apart from its competitors by featuring a genuinely amusing script, with charming music and artwork, and actually manages to breathe some new life into the genre of match three puzzle games.&rdquo;</p> <h3 id="newbreviewerhttpnewbreviewcomreview-scurvy-scallywags"><a href="http://newbreview.com/review-scurvy-scallywags">NewbReviewer</a></h3> <p>&ldquo;Scurvy Scallywags is hours of fun, and it can get quite addicting not just because of its gameplay, but also for its colorful personality.&rdquo;</p> <h3 id="emgnowhttpwwwegmnowcomelectricsistahoodreview-scurvy-scallywags-familiar-but-fun-overall"><a href="http://www.egmnow.com/electricsistahood/review-scurvy-scallywags-familiar-but-fun-overall">EMGNow</a></h3> <p>&ldquo;What sets Scurvy Scalllywags apart is its charming pirate story.&rdquo;</p> <h3 id="unigamesityhttpwwwunigamesitycomscurvy-scallywags-is-equally-charming-and-addicting"><a href="http://www.unigamesity.com/scurvy-scallywags-is-equally-charming-and-addicting">UniGameSity</a></h3> <p>&ldquo;So if you like match 3 games with a little more depth than matching 3, like pirates, and hate hipsters, Scurvy Scallywags is definitely worth checking out.&rdquo;</p> <h3 id="leviathynhttpleviathyncomgamesmobile20130606scurvy-scallywags-review-the-most-addicting-match-3-game-ive-played"><a href="http://leviathyn.com/games/mobile/2013/06/06/scurvy-scallywags-review-the-most-addicting-match-3-game-ive-played">Leviathyn</a></h3> <p>&ldquo;Go give it a whirl, and kiss the next few hours goodbye. This is about as addictive as it gets, and probably a better choice than crack-cocaine.&rdquo;</p> <h3 id="international-house-of-mojohttpmixnmojocomfeaturesreviewsscurvy-scallywags"><a href="http://mixnmojo.com/features/reviews/Scurvy-Scallywags">International House of Mojo</a></h3> <p>&ldquo;I don&rsquo;t remember the last time I was so enamored by a puzzle game, but this one has me wanted to play even as I write this review.&rdquo;</p> <h3 id="arcade-sushihttparcadesushicomscurvy-scallywags-review"><a href="http://arcadesushi.com/scurvy-scallywags-review">Arcade Sushi</a></h3> <p>If you know of any other reviews, post them in the comments and I&rsquo;ll add them to the ever growing list.</p> Got Scurvy? https://grumpygamer.com/got_scurvy/ Mon, 03 Jun 2013 00:00:00 +0000 https://grumpygamer.com/got_scurvy/ <p>I know what you&rsquo;re thinking. Finally! Making games can&rsquo;t be that hard and take that long, and you&rsquo;d be right, I just spend too much time screwing around and surfing the web.</p> <p>Scurvy Scallywags in The Voyage to Discover the Ultimate Sea Shanty: A Musical Match-3 Pirate RPG will be out for iOS on June 6th!</p> <p>Mark your calendars and stock up on lemons and oranges!</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/Scurvy_Image.jpg"> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/n1NkxsNJ3xQ?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> My Favorite Authors https://grumpygamer.com/my_favorite_authors/ Mon, 27 May 2013 00:00:00 +0000 https://grumpygamer.com/my_favorite_authors/ <p>My favorite authors in no particular order:</p> <ul> <li>J. G. Ballard</li> <li>Kurt Vonnegut</li> <li>Dan Simmons</li> <li>Stephen King</li> </ul> Scurvy Scallywags Is Almost Here! https://grumpygamer.com/scurvy_almost_here/ Wed, 15 May 2013 00:00:00 +0000 https://grumpygamer.com/scurvy_almost_here/ <p>I know everyone has been doing match-3 finger exercises and visual match training in preparation for Scurvy Scallywags in The Voyage to Discover the Ultimate Sea Shanty: A Musical Match-3 Pirate RPG or SSITVTDTUSS:AMMTPRPG for short and it&rsquo;s almost here!</p> <p>A build has been submitted to the App Store and now we wait. And wait. And wait.</p> <p>But to make the waiting more bearable, here is the amazing game play trailer Clayton put together:</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/n1NkxsNJ3xQ?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>I feel Scurvy coming on!</p> More Scurvy Scallywags https://grumpygamer.com/more_scurvy_scallywags/ Sun, 21 Apr 2013 00:00:00 +0000 https://grumpygamer.com/more_scurvy_scallywags/ <p>Some more screen shots from Scurvy Scallywags in The Voyage to Discover the Ultimate Sea Shanty: A Musical Match-3 Pirate RPG or SSITVTDTUSS:AMMTPRPG for short. This time from the iPad version. We now have close to 100 different hats, shirts, pants and heads to collect. I know what you&rsquo;re thinking: &ldquo;That&rsquo;s crazy!&rdquo;. And you&rsquo;d be right&hellip; we are crazy! It&rsquo;s probably from scurvy.</p> <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ScurvyShot2-1Large.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ScurvyShot2-2Large.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ScurvyShot2-3Large.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ScurvyShot2-4Large.jpg"> </p> Just To Clarify Point Twelve... https://grumpygamer.com/just_to_clarify_point_12/ Mon, 15 Apr 2013 00:00:00 +0000 https://grumpygamer.com/just_to_clarify_point_12/ <p>I just wanted to clarify what I wrote in point <em>Twelve</em> because a lot of people have misunderstood it, probably because I did a crappy job of writing it.</p> <p><em>Twelve</em> - It would be called Monkey Island 3a. All the games after Monkey Island 2 don&rsquo;t exist in my Monkey Island universe. My apologies to the all talented people who worked on them and the people who loved them, but I&rsquo;d want to pick up where I left off. Free of baggage. In a carnival. That doesn&rsquo;t mean I won&rsquo;t steal some good ideas or characters from other games. I&rsquo;m not above that.</p> <p>I loved Curse of Monkey Island. Jonathan Ackley and Larry Ahern did a masterful job on the game, which is quite a feat given the ending I left them with. They - and the game - showed nothing but pure respect for the world, and they created some new characters that are just as memorable as the ones in Monkey Island 1 and 2.</p> <p>When I said &ldquo;but I&rsquo;d want to pick up where I left off. Free of baggage. In a carnival.&rdquo;, I meant the very literally. My story for Monkey Island 3a takes places 2 minutes after the end of Monkey Island 2. Free of baggage was not meant to imply that I felt Curse of Monkey Island was &ldquo;baggage&rdquo;, but rather, as I (hypothetically) designed and (hypothetically) wrote Monkey Island 3a, I&rsquo;d want to be free to take the story where I wanted it to go and not feel compelled to adhere to the games that followed. If I end up being able to make this game at some point, we all might find that it fits nicely in between Monkey Island 2 and Curse of Monkey Island.</p> <p>The only thing I objected to in the games that followed was Guybrush and Elaine getting married. She is too smart for that.</p> <p>I hope this clarifies what I wrote.</p> If I Made Another Monkey Island https://grumpygamer.com/if_i_made_another_monkeyisland/ Sat, 13 Apr 2013 00:00:00 +0000 https://grumpygamer.com/if_i_made_another_monkeyisland/ <p><strong>NOTE: Now that Return To Monkey Island has been announced it&rsquo;s important to note that a lot of my views (but not all) in this post have changed. Don&rsquo;t take anything in here as more than a historical moment. Quoting anything in here as canon will just led to tears.</strong></p> <p>Yeah, I know, that sounds like the title of the O.J. Simpson book. I realized that after I typed it, but I&rsquo;m not going to change it.</p> <p>So, before I get into this fanciful post, I want to make one thing perfectly clear&hellip; actually, I&rsquo;m just going to make it my first point. It&rsquo;s probably the most important one. Actually, I&rsquo;ll make it the first two points.</p> <p><em>One</em> - I am not making another Monkey Island. I have no plans to make another Monkey Island. I am not formulating plans to make another Monkey Island.</p> <p><em>Two</em> - Let me say that again. There is no new Monkey Island in works and I have no plans to make one. I&rsquo;m just thinking and dreaming and inviting you come along with me. Please your keep your hands inside the boat at all times. No standing or you might get wet.</p> <p>But, If I made another Monkey Island&hellip;</p> <p><em>Three</em> - It would be a retro game that harkened back to Monkey Island 1 and 2. I&rsquo;d do it as &ldquo;enhanced low-res&rdquo;. Nice crisp retro art, but augmented by the hardware we have today: parallaxing, depth of field, warm glows, etc. All the stuff we wanted to do back in 1990 but couldn&rsquo;t. Monkey Island deserves that. It&rsquo;s authentic. It doesn&rsquo;t need 3D. Yes, I&rsquo;ve seen the video, it&rsquo;s very cool, but Monkey Island wants to be what it is. I would want the game to be how we all remember Monkey Island.</p> <p><em>Four</em> - It would be a hardcore adventure game driven by what made that era so great. No tutorials or hint systems or pansy-assed puzzles or catering to the mass-market or modernizing. It would be an adventure game for the hardcore. You&rsquo;re going to get stuck. You&rsquo;re going to be frustrated. Some puzzles will be hard, but all the puzzles will be fair. It&rsquo;s one aspect of Monkey Island I am very proud of. Read this.</p> <p><em>Five</em> - I would lose the verbs. I love the verbs, I really do, and they would be hard to lose, but they are cruft. It&rsquo;s not as scary as it sounds. I haven&rsquo;t fully worked it out (not that I am working it out, but if I was working it out, which I&rsquo;m not, I wouldn&rsquo;t have it fully worked out). I might change my mind, but probably not. Mmmmm&hellip; verbs.</p> <p><em>Six</em> - Full-on inventory. Nice big juicy icons full of pixels. The first version of Monkey Island 1 had text for inventory, a later release and Monkey Island 2 had huge inventory icons and it was nirvana. They will be so nice you&rsquo;ll want to lick them. That&rsquo;s a bullet-point for the box.</p> <p><em>Seven</em> - There would be a box. I imagine most copies would be sold digitally, but sometimes you just want to roll around in all your adventure game boxes. I know I do. Besides, where would you store the code wheel?</p> <p><em>Eight</em> - There would be dialog puzzles. They weren&rsquo;t really puzzles, but that&rsquo;s what we called them. Being able to tell four jokes at once and meander and getting lost in the humor of a conversation is the staple of Monkey Island. No one has done it better since. Just my opinion.</p> <p><em>Nine</em> - I would rebuild SCUMM. Not SCUMM as in the exact same language, but what SCUMM brought to those games. It was a language built around making adventure games and rapid iteration. It did things Lua could never dream of. When Lua was in High School, SCUMM beat it up for lunch money. True story. SCUMM lived and breathed adventure games. I&rsquo;d build an engine and a language where funny ideas can be laughed about at lunch and be in the game that afternoon. SCUMM did that. It&rsquo;s something that is getting lost today.</p> <p><em>Ten</em> - It would be made with a very small team. Not 30 or 20, but 10 or less. It means the game would take longer, but it would be more personal and crafted with love. Monkey love. Wait&hellip; that&rsquo;s not what I meant&hellip;</p> <p><em>Eleven</em> - The only way I would or could make another Monkey Island is if I owned the IP. I&rsquo;ve spent too much of my life creating and making things other people own. Not only would I allow you to make Monkey Island fan games, but I would encourage it. Label them as such, respect the world and the characters and don&rsquo;t claim they are canon. Of course, once the lawyers get ahold of that last sentence it will be seven pages long.</p> <p><em>Twelve</em> - It would be called Monkey Island 3a. All the games after Monkey Island 2 don&rsquo;t exist in my Monkey Island universe. My apologies to the all talented people who worked on them and the people who loved them, but I&rsquo;d want to pick up where I left off. Free of baggage. In a carnival. That doesn&rsquo;t mean I won&rsquo;t steal some good ideas or characters from other games. I&rsquo;m not above that.</p> <p><em>Thirteen</em> - It won&rsquo;t be the Monkey Island 3 I was going to make in 1992. I&rsquo;m not the same person I was back then. I could never make that game now. It is lost to time. Hopefully this one would be better.</p> <p><em>Fourteen</em> - The press won&rsquo;t get advanced copies. I know all the reasons they want to get a game in advance, and they are all valid, but I feel they should play it at the same time you do. I hope they won&rsquo;t be mad at me. My Metacritic score hopes they won&rsquo;t be mad it me.</p> <p><em>Fifteen</em> - It would have full voice. It&rsquo;s something we dreamed of back then and we can do it now.</p> <p><em>Sixteen</em> - If I used Kickstarter, there would be no fancy videos of me trying to look charming (as if I could). No concept art or lofty promises or crazy stretch goals or ridiculous reward tiers. It would be raw and honest. It would be free of hype and distractions that keep me from making the best game I could. True, I wouldn&rsquo;t raise huge sums of money or break any records, but that&rsquo;s not what I want to do. I want to make a game.</p> <p><em>Seventeen</em> - The game would be the game I wanted to make. I don&rsquo;t want the pressure of trying to make the game you want me to make. I would vanish for long periods of time. I would not constantly keep you up-to-date or be feeding the hype-machine. I&rsquo;d show stuff that excited me or amused me. If you let me do those things, you will love the game. That, I promise.</p> <p>I hope you&rsquo;ve had as much fun reading this as I had writing it.</p> ASM https://grumpygamer.com/asm/ Wed, 10 Apr 2013 00:00:00 +0000 https://grumpygamer.com/asm/ <p>I first learned to program on a TI-59 programmable calculator. My dad &ldquo;the physicist&rdquo; would bring it home on weekends and I would monopolize it for the next two days. I&rsquo;d make games and type in programs from Byte magazine. It was a magical device. I don&rsquo;t know what it was about programming that enthralled me, but I was obsessed with it. It was an odd skill to have back then, even at the level of programmable calculators. Computers were still the stuff of science fiction or only owned by huge companies or universities and housed large noisy air conditioned rooms with punch-card machines.</p> <p>One summer the college got two Commodore Pet computers that were destine for the local High School. My friend, Tom McFarlane and I spent that entire summer in the computer lab programming those Commodore Pet computers.</p> <p>It was my first experience with BASIC and it blew the socks off of the TI-59. Tom and I devoured everything about those Commodore Pet computers. We wrote every game we would could think of from Space Invaders to Astroids to Space Wars to little platformers (although we didn&rsquo;t know that&rsquo;s what they were called). We challenged and pushed each other and became masters of the PEEK and the POKE.</p> <p>I do blame the Commodore Pet from one nasty habit that&rsquo;s followed me for over 30 years. Tom and I realized that if we removed all the comments (the REM statements) from our BASIC code, the game would run significantly faster. To this day, I find myself deleting comments or whitespace under some misguided pavlovian notion that my code will run faster.</p> <p>The summer ended and the Commodore Pets made their way to the High School, were I was starting as a freshmen.</p> <p>As I continued to read about programming and computers (mostly in Byte magazine) this odd and strange concept kept coming up: Assembly Language. What was it? How did it work? And more importantly, what could it do for me?</p> <p>I started to realize that assembly language was <em>real</em> programming. BASIC was just an imitation of programming. A layer that sat on top of this thing called Assembly Language. You weren&rsquo;t really programming the computer if you weren&rsquo;t programming it in assembly language. That was getting right down to the metal and I had to know what it was.</p> <p>Lore said it was fast. Faster than BASIC and this was very appealing to me. We were pushing the limits of BASIC, removing features from our games just to speed them up. If assembly language could help with that, even a little, then it was something I had to learn.</p> <p>Armed with the knowledge that the Commodore Pet used a 6502, I spent the weekend hand writing this program that would fill the screen with @-signs. I wanted to see how fast this assembly language really was. I wrote the same program in BASIC. I needed a baseline.</p> <p>After class on Monday, I headed to the computer room and found a free Pet computer and typed in the BASIC program. It filled the screen in a little over 1 second. Fast. Could assembly language top that?</p> <p>I typed in my little assembly language program and entered the SYS command to start it executing&hellip; and&hellip; nothing. The machine locked up. No error message, it just locked up. Odd. I power cycled the Commodore Pet, started over and soon found my mistake. Program entered.</p> <p>My finger poised above the ENTER key. I was trying to remember how fast the BASIC program filled the screen. I need to be able to tell if assembly language was faster. I might need to run several tests, maybe add a timer, just to be sure.</p> <p>I hit the ENTER key.</p> <p>The screen instantly filled with @-signs. Instantly. So fast that I could not even begin to see them being drawn on the screen. One moment the screen was blank, then next instant it was full of @-signs. Instantly.</p> <p>I just stood there. &ldquo;Holy shit&rdquo; I said to myself. My heart was pounding.</p> <p>This truly was a religious experience. Someone had pulled back the curtain to heaven and given me a glimpse of God. The speed was staggering. Stunning. I had no words for it.</p> <p>That was the last day I ever programmed in BASIC. Assembly language was my savior. I gave into it completely.</p> <p>I was changed forever.</p> Goodbye Lucasfilm Games https://grumpygamer.com/goodbye_lucasfilm_games/ Mon, 01 Apr 2013 00:00:00 +0000 https://grumpygamer.com/goodbye_lucasfilm_games/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/lflgames.png"> <p>It will always be Lucasfilm Games(tm) to me, never LucasArts. They changed the name a year or so before I left when they rolled a bunch of divisions into this new company called LucasArts and the games group was one of them. Many years later, all that was left in LucasArts was the old games group, so the name became synonymous with games.</p> <p>It&rsquo;s hard for me not to be sad. I haven&rsquo;t worked there since 1992, but it was still home to me. I grew up there. I learned just about everything I know about designing games there. I became a real programmer there. I made lifelong friends there. Eight of the most memorable and influential years of my life were spent there. I would not be who I am today without Lucasfilm Games.</p> <p>I was hired at Lucasfilm Games by Noah Falstein as a Commodore 64 programmer porting his game Koronis Rift from the Atari 800.</p> <p>I had just been laid off from a company called Human Engineered Software (my first job) and had moved back to Oregon and was about ready to start college again when the phone rang.</p> <p>It was someone (I don&rsquo;t remember who) from Lucasfilm Games and they were looking for a Commodore 64 programmer and wanted to know if I was interesting in coming in for an interview. Holy Crap I said/thought/shouted to myself. I didn&rsquo;t even know Lucasfilm made games. Lucasfilm as Star Wars and the foundation of my childhood. I idealized George Lucas and ILM. I said I could come in for an interview that week and immediately packed my car and moved back to California. I just moved back. There was no way I wasn&rsquo;t going to get that job.</p> <p>I vividly remember interviewing in an office with Noah and Aric Wilmunder explaining the way you wrote pixels to the C64 screen using their screwed up memory mapping. They seemed impressed. Or confused. Either way as long as I got the job.</p> <p>My first week at Lucasfilm Games was mind blowing. I had never met a smarter group of people in my life. From Noah to Aric to Gary Winnick to David Fox to Chip Morningstar to Doug Crockford. I had so much to learn.</p> <p>The first time I met George Lucas was kind of a disappointment. It was the 10 year anniversary of Star Wars and he and Steven Spielberg and shaved their beards to sneak into a show. I wanted to met the iconic George Lucas with a beard.</p> <p>When that person from Lucasfilm first called I almost didn&rsquo;t answer the phone. I was on my way out to met a friend for lunch and had just locked the front door and was halfway to my car. I don&rsquo;t know what caused me to go back inside and answer the phone. If I hadn&rsquo;t, I would have had a very very very different life.</p> <p>I still have hope that I might get the rights to Monkey Island back someday. LucasArts shutting down doesn&rsquo;t change anything since Disney bought them back in Oct. Maybe there will be less of an emotional attachment to it for them. Who knows. Not me.</p> <p>I&rsquo;m the opposite of a Pack Rat. I don&rsquo;t know if there is a catchy word for that, but that&rsquo;s what I am. I get antsy if I can&rsquo;t move from one place to another by throwing everything I own into the back of my car. Gee, I wonder why?</p> <p>This is the sum-total of my collection of the games I have worked on over the past 20+ years. So many missing ones. Nothing from the years at Humongous Entertainment. No Monkey Island 2. At least they are all still in shrink wrap.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/LFLCollection.jpg"> <p>Goodbye Lucasfilm Games.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/guybone.jpg"> Scurvy Scallywags https://grumpygamer.com/scurvy_scallywags/ Sun, 17 Mar 2013 00:00:00 +0000 https://grumpygamer.com/scurvy_scallywags/ <p>Here are some screen shots from Scurvy Scallywags in The Voyage to Discover the Ultimate Sea Shanty: A Musical Match-3 Pirate RPG or SSITVTDTUSS:AMMTPRPG for short. It will be coming out for the iPhone and iPad in a couple of months. I might have found a way to get xcode to build objective-c for Android, if so, we&rsquo;ll port it there.</p> <p>I&rsquo;ve always loved match-3 games, there is something zen-like about playing them. Seems like whenever I&rsquo;m testing out a new engine or code base, I always create a quick match-3 game.</p> <p>A few years back, Clayton and I made a match-3 game called Realms of Gold that had a interesting way the board collapsed.</p> <p>In traditional match-3 games like Bejeweled, when you match three shapes they disappear and the gap is filled by pieces falling in from the top. In Realms of Gold, the piece could come in from the sides or even the bottom depending on the type of match you did.</p> <p>It was fun, but it was also a little confusing. The game was a RPG, but we were told by the publisher that no one wanted to play a match-3 RPG, so that part of the game was watered down. Of course, a year later Puzzle Quests comes out and sells a billion copies.</p> <p>A little over a year ago I pulled a match-3 prototype out of the closest and started working on it. There was something about the way the board collapsed in Realms of Gold that I really liked. Clayton and I screwed around with it for a bit, then he hit upon a way to make the collapsing work a lot better. Rather than the type of match you made dictating the direction the board collapsed, have the board collapse in the direction you swiped. I made this change and it felt fantastic and very intuitive.</p> <p>An odd side effect of doing this was you could move pieces around the board. So unlike Puzzle Quest - and just about every other match-3 RPG that sprang up after it - in Scurvy Scallywags you actually move your hero/pirate around the board and position her/him next to enemies to do battle. It creates this new layer to the matching that is a lot of fun.</p> <p>We have close to one hundred different hats, shirts, heads, swords, etc you find and use to dress up your pirate. There are also ten different ships to build, plus a sea shanty you collect that is sung by real life pirate singers (they work for grog, quite inexpensive).</p> <p>With any luck, it will be out in the next month or so.</p> <p>You can also follow <a href="http://twitter.com/ScurvyGit">@ScurvyGit</a> on twitter to see my live git commit messages.</p> <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ScurvyShot2.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ScurvyShot5.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ScurvyShot10.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ScurvyShot8.jpg"> </p> Deep Inside The Cave - Part 2 https://grumpygamer.com/deep_inside_the_cave_part_2/ Fri, 15 Mar 2013 00:00:00 +0000 https://grumpygamer.com/deep_inside_the_cave_part_2/ <p>Here are some behind the scenes photos taken during The Cave&rsquo;s early development.</p> <p>Each of our design weeks would focus on one area of the game. The first day was just to talk about overarching ideas, the character&rsquo;s backstory, the purpose of the area and what the main goal of the player/character was. During that first day we&rsquo;d just throw out wild ideas and see what stuck.</p> <p>The next day we&rsquo;d take all those crazy ideas and try to arrive on the core puzzles. We&rsquo;d also start to sketch out what the area looked like and where the puzzles might go.</p> <p>On the third day we&rsquo;d look at what we had and make refinements. It was common to have most everything figure out by the end of the second day, with just one or two issues remaining. On day three we&rsquo;d resolve those and have a day four if needed. We tried to design for only three days a week to let our minds rest (as well as get everything else done that needed doing).</p> <p>This is Dave Gardner mapping out The Scientist area during one of our design meetings.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TheCaveBTS1.jpg"> <p>This is a shot of the whiteboard for The Miner&rsquo;s area during day two.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TheCaveBTS2.jpg"> <p>Once the area had been designed, a quick grey-box was made using Maya. At this point we could run around using the game&rsquo;s engine and see how it felt. This is a picture taken during one of our team walk-throughs of The Scientist&rsquo;s area.</p> <p>The camera is pulled all the way out so we can see the whole thing. You&rsquo;ll notice the red text that calling out objects and the locations of puzzles. At this point, none of the logic for the puzzles is working, we&rsquo;re just running around.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TheCaveBTS3.jpg"> <p>This is a picture of the beginning of The Island with The Hillbilly.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TheCaveBTS4.jpg"> Deep Inside The Cave - Part 1 https://grumpygamer.com/deep_inside_the_cave_part_1/ Wed, 13 Mar 2013 00:00:00 +0000 https://grumpygamer.com/deep_inside_the_cave_part_1/ <p>As promised, here are some behind the scene images from designing The Cave. J.P. LeBreton, Dave Gardner and I spent several months in a back room designing all the area and puzzles of the game. I have to say, it was the most fun I&rsquo;ve had designing in a long time. J.P and Dave where amazing to work with.</p> <p>This is an early layout for the Intro section. It&rsquo;s much bigger than we ended up with and you will notice we had areas where players would be required to use each character&rsquo;s special ability. This was also back when The CIA agent and The Mobster were still in the game. This didn&rsquo;t make it past the greybox stage. After running around, it was clear it was way too big. We also felt requiring the training of the special abilities was not really needed.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TheCaveIntro.jpg"> <p>This was an entire section that we cut. The original game was about twice the size of what we ended up with and this was one of the sections that didn&rsquo;t make the cut. It never made it out of the paper stage.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TheCaveScienceCoaster.jpg"> A Complete Map Of The Cave And Other News... https://grumpygamer.com/complete_map_of_the_cave/ Sun, 10 Mar 2013 00:00:00 +0000 https://grumpygamer.com/complete_map_of_the_cave/ <p>Now that The Cave is done and unleashed on an unsuspecting world (ok, we did do a bunch of PR, so it wasn&rsquo;t exactly unsuspecting), it&rsquo;s time for me to move on from Double Fine and plot my next move.</p> <p>So many games left to be designed.</p> <p>I want to thank all the amazing people at Double Fine for all their hard work on The Cave. It was a true pleasure to work with every one of them over the past two years. So much fun. I will miss them all. And of course to Tim for creating the opportunity to come there and make The Cave.</p> <p>Over the next few weeks, I&rsquo;m going to post some behind the scenes pictures we took during the game&rsquo;s development and stuff like this&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TheCaveTheMap.png"> <p>That&rsquo;s a complete map of The Cave exported from Maya by designer J.P. LeBreton. Bonus points if you can figure out what the pink dots are.</p> <p>For the short term, Clayton Kauzlaric and I have been toiling away on another iOS side project that I&rsquo;m going to focus on over the next few months. It&rsquo;s called Scurvy Scallywags in The Voyage to Discover the Ultimate Sea Shanty: A Musical Match-3 Pirate RPG. I&rsquo;ll post some screen shots in the next few days.</p> <p>I also have that PAX Australia keynote to write. How did I ever let them talk me into doing that. So much fun. So much pain. Maybe I&rsquo;ll just do a 45 minute Q and A session.</p> Progress Bar Porn https://grumpygamer.com/progress_bar_porn/ Tue, 05 Feb 2013 00:00:00 +0000 https://grumpygamer.com/progress_bar_porn/ <p>I try and keep this site kid safe&hellip; but&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ProgressBarPorn.png"> The Cave Is Out! The Cave Is Out! The Cave Is Out! https://grumpygamer.com/the_cave_is_out/ Tue, 22 Jan 2013 00:00:00 +0000 https://grumpygamer.com/the_cave_is_out/ <p>I can&rsquo;t believe The Cave is out and people are actually playing it. You thought I was joking and it was all an elaborate prank that involved making all these fake trailers and a big fake European press tour, but you were wrong.</p> <ul> <li><a href="http://store.steampowered.com/app/221810">Steam</a> (Mac and PC right now, with Linux coming next week)</li> <li><a href="http://us.playstation.com/games-and-media/games/the-cave-ps3.html">PlayStation Network</a> for PS3</li> <li><a href="http://marketplace.xbox.com/Product/The-Cave/66acd000-77fe-1000-9115-d80258411238">Xbox Live Arcade</a> for Xbox 360</li> <li><a href="http://www.nintendo.com/games/detail/WQaA7w-yvWTrSVOJ9x5w-IfWq4ew1rrE">Nintendo eShop</a> for Wii U</li> <li><a href="http://commodorebusinessmachines.com">Commodore 64</a></li> </ul> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/p5br6aYHmqU?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p>&hellip;or were you.</p> The Cave Is Coming! The Cave Is Coming! https://grumpygamer.com/the_cave_is_coming/ Tue, 15 Jan 2013 00:00:00 +0000 https://grumpygamer.com/the_cave_is_coming/ <p>The Cave will be out on the 22nd on PSN and Wii U and the 23rd for XBLA and PC on Steam. It&rsquo;s also coming out on the Mac and Linux! They should just change the name of the month to Cavuary.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ow4uvykZksA?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> About https://grumpygamer.com/about/ Tue, 01 Jan 2013 00:00:00 +0000 https://grumpygamer.com/about/ <p>It&rsquo;s always hard to write your own about pages. I should have my mom do it, she always has nice things to say about me.</p> <p>I started making games because I loved to program and I loved to tell stories and the two seemed to intersected nicely.</p> <p>I wrote a program for the Commodore 64 (greatest computer ever made) called <strong>GraphicsBASIC</strong> that extended the rather boring built-in Basic that includes commands to gain access to the graphics and sound.</p> <p>In 1985 I got a job working at Lucasfilm Games (now called LucasArts) porting <strong>Koronis Rift</strong> and <strong>Ballblazer</strong> from the Atari 400/800 to the Commodore 64.</p> <p>In 1986 Gary Winnick and I created and designed <strong>Maniac Mansion</strong>.</p> <p>During its production, I developed the <strong>SCUMM System</strong> (Script Creation Utility for Maniac Mansion).</p> <p>I co-designed the Indiana Jones and the <strong>Last Crusade</strong> adventure game with Noah Falstein and David Fox.</p> <p>I am also the creator and designer of <strong>The Secret of Monkey Island</strong> and <strong>Monkey Island 2: LeChuck&rsquo;s Revenge</strong>. A game about a pirate.</p> <p>I am the co-founder of <strong>Humongous Entertainment</strong> where we made some amazing adventure games for kids like <strong>Putt-Putt</strong>, <strong>Freddi Fish</strong> and <strong>Pajama Sam</strong>.</p> <p>I was the producer of <strong>Total Annihilation</strong>.</p> <p>I co-created <strong>DeathSpank</strong> with Clayton Kauzlaric and was the designer of the first two DeathSpank games.</p> <p>I worked at Double Fine for a bit making a game I&rsquo;ve had rolling around in my head for close to 25 years called <strong>The Cave</strong>. Double Fine was sold to Microsoft, who now owns The Cave, and once again I got nothing and someone else owns my IP. FU TS.</p> <p>I released <strong>Scurvy Scallywags</strong> in The Voyage to Discover the Ultimate Sea Shanty: A Musical Match-3 Pirate RPG (or SSITVTDTUSS:AMMTPRPG for short) for iOS and Android.</p> <p>I finished a new point &amp; click adventure game called <strong><a href="https://store.steampowered.com/app/569860/Thimbleweed_Park/">Thimbleweed Park</a></strong> and the completely free <strong><a href="https://store.steampowered.com/app/1305720/Delores_A_Thimbleweed_Park_MiniAdventure/">Delores</a></strong>.</p> <p>I then went and made <a href="https://returntomonkeyisland.com">Return to Monkey Island</a> in total secret.</p> <p>Now I&rsquo;m working on an action game Rogue-like-lite called <a href="https://store.steampowered.com/app/3773590/Death_by_Scrolling/">Death By Scrolling</a> released for PC in Q4 2025. Consoles coming Q1 2026.</p> More The Cave Art https://grumpygamer.com/more_cave_art/ Tue, 18 Dec 2012 00:00:00 +0000 https://grumpygamer.com/more_cave_art/ <p>If you missed the carnival this summer, all is not lost&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/Carnival-small.jpg"> The New The Cave The Trailer https://grumpygamer.com/new_cave_trailer/ Thu, 29 Nov 2012 00:00:00 +0000 https://grumpygamer.com/new_cave_trailer/ <p>I knew The Twins were going to be trouble. I should have cut them.</p> <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/UdeOosOSl5Y?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> The Big Big Castle! https://grumpygamer.com/the_big_big_castle/ Sun, 08 Jul 2012 00:00:00 +0000 https://grumpygamer.com/the_big_big_castle/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TBBCLogoKing.png"> <p>Sometimes it feels like <a href="http://ton-of-clay.blogspot.com">Clayton Kauzlaric</a> and I have a game-making addiction problem. We both have day jobs where we sit around all day long and make games for money, but then we go home and make games for free. If God didn&rsquo;t want us to make games he shouldn&rsquo;t have made it so much damn fun.</p> <p>Over the past few years we&rsquo;ve made around ten iOS games in our spare time. We&rsquo;d work on one for a month and then some new idea would hit us and we&rsquo;re on to that. ADD game designers. <a href="http://itunes.apple.com/us/app/the-big-big-castle!/id515771744">The Big Big Castle!</a> is the second one we&rsquo;ve actually gotten around to finishing. The first was a word game called <a href="http://itunes.apple.com/us/app/word-spiral-hd/id391381095">Word Spiral</a>. Both are for the iPad.</p> <p>The Big Big Castle! stared out because I wanted to play around with <a href="http://box2d.org">Box2D</a>, then Clayton brought up this idea he&rsquo;s had for the last 10 years about building stuff and watching it fall down, so we started working on that. Clayton&rsquo;s nine year old son said he&rsquo;d like to blow up the castles he&rsquo;d just built, so we added that, then we thought it would be fun if you could destroy castles your friends had built, so we added that.</p> <p><a href="http://itunes.apple.com/us/app/the-big-big-castle!/id515771744">The Big Big Castle!</a> is the result of a few months of spare time on the weekends. It&rsquo;s just a fun little game. A labor of love we thought we&rsquo;d share.</p> <p>It&rsquo;s <a href="http://itunes.apple.com/us/app/the-big-big-castle!/id515771744">FREE</a> so what have you got to lose. If you feel guilty about pirating Maniac Mansion, Monkey Island, DeathSpank or Putt-Putt Saves the Zoo, buy a coin pack and we&rsquo;ll call it even.</p> The Color of Money https://grumpygamer.com/the_color_of_money/ Sat, 30 Jun 2012 00:00:00 +0000 https://grumpygamer.com/the_color_of_money/ <p>I watched The Color of Money last night. Two things struck me about the film: 1) Holy crap is Tom Cruise young and 2) I really wish Paul Newman wasn&rsquo;t dead.</p> <p>I&rsquo;m embarrassed to say I didn&rsquo;t know Martin Scorsese directed it. He&rsquo;s one of my all-time favorite directors and I keep thinking I&rsquo;ve seen every movie he&rsquo;s done, and then some movie pops up with his name on it.</p> <p>The reason I watched The Color of Money was I had just seen The Hustler.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/fats.jpg"> <p>The scene with &ldquo;Fast&rdquo; Eddie playing Fats is simply amazing. It&rsquo;s goes on and on and you&rsquo;re feeling the exhaustion Eddie must feel. Then Jackie Gleason gets up, goes into the restroom, freshens up, puts his coat back on and comes out for more. A new man. My heart sank with Eddie&rsquo;s.</p> <p>It&rsquo;s hard to imagine a scene that long in a modern film. Movie audiences need things to go go go. It feels like we&rsquo;ve lost the ability to sit back and enjoy something that slowly unfolds. Really slowly unfolds. Sometimes that&rsquo;s important. A few quick cuts and we could have been told &ldquo;Fast&rdquo; Eddie was tried, but we needed to feel it with him.</p> <p>People said Tinker Tailor Soldier Spy was a slow movie in the mold of 70&rsquo;s thrillers. True, it was slow by today&rsquo;s standards, but still felt like it moved along. Try going back and watching The French Connection. That&rsquo;s a slow movie, but it doesn&rsquo;t suffer one bit as a result.</p> <p>Adventure games are slow affairs. I worry few modern gamers have the patience for them anymore. Today, if someone spends more than 5 minutes trying to figure a puzzle out, they wonder where the pop-up hint is? They become anxious. Go go go. Good puzzles are meant to be chewed on for a while. Thought about. Mulled over. Put aside. Then spontaneously come rushing back as our subconscious figures it out.</p> <p>A good adventure puzzle never leaves you wondering what to do, only how to do it.</p> The Cave https://grumpygamer.com/the_cave/ Tue, 22 May 2012 00:00:00 +0000 https://grumpygamer.com/the_cave/ <div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/KVcTQKAq3qI?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe> </div> <p><a href="http://www.rockpapershotgun.com/2012/05/24/mindcraft-double-fine-debuts-the-cave">Rock, Paper Shotgun</a><br> <a href="http://www.eurogamer.net/articles/2012-05-24-the-cave-preview-double-fines-new-game-for-sega">Eurogamer</a><br> <a href="http://www.theverge.com/gaming/2012/5/24/3040452/double-fine-and-ron-gilbert-blend-maniac-mansion-and-the-lost-vikings">The Verge</a><br> <a href="http://kotaku.com/5912907/ron-gilberts-new-game-mixes-maniac-mansion-with-a-little-metroidvania">Kotaku</a><br> <a href="http://www.giantbomb.com/the-cave-is-ron-gilbert-and-double-fines-newest-adventure/17-6003/">Giant Bomb</a><br> <a href="http://mixnmojo.com/news/Double-Fine-Productions-and-SEGA-announce-The-Cave">International House of Mojo</a> <br> <a href="http://arstechnica.com/gaming/2012/05/ron-gilbert-goes-exploring-in-the-cave/">Ars Technica</a><br> <a href="http://www.joystiq.com/2012/05/24/the-cave-opens-up-to-adventurers-in-2013-care-of-ron-gilbert-an/">Joystiq</a> (No, I didn&rsquo;t do all the programming, that was done by the much-better-than-I-am Double Fine programmers)<br> <a href="http://www.pcworld.com/article/256141/double_fine_reveals_new_adventure_game_the_cave.html">PC World</a><br> <a href="http://www.pigmag.com/it/2012/05/24/ron-gilbert-sega-the-cave-il-nuovo-videogame/">Pig Mag</a><br> <a href="http://www.destructoid.com/preview-double-fine-ventures-into-the-cave-227966.phtml">Destructoid</a><br> <a href="http://derstandard.at/1336697833169/PC-und-Konsole-The-Cave-Neues-Adventure-des-Monkey-Island-Schoepfers">Der Standard</a><br> <a href="http://www.insidegamingdaily.com/2012/05/24/double-fine-announces-adventure-game-the-cave-due-out-next-year/">Inside Gaming Daily</a><br> <a href="http://xbigygames.com/double-fines-the-cave-taking-players-to-new-dimensions/">XBIGY Games</a> <a href="http://www.gamezebo.com/games/cave/preview">GameZebo</a><br> <a href="http://www.sega-portal.de/blog/7869/the-cave-sega-und-double-fine-production-stellen-adventure-offiziell-vor/">SEGA Portal</a><br> <a href="http://www.gamersglobal.de/angetestet/the-cave">Gamers Global</a><br> <a href="http://www.cinemablend.com/games/Double-Fine-Cave-Published-By-Sega-42844.html">Gaming Blend</a><br> <a href="http://www.insidegamingdaily.com/2012/06/14/e3-2012-the-cave-first-look/">Inside Gaming Daily</a></p> <p>Let me know if I&rsquo;ve missed any.</p> What My Father Meant To Me https://grumpygamer.com/what_my_father_meant_to_me/ Tue, 28 Feb 2012 00:00:00 +0000 https://grumpygamer.com/what_my_father_meant_to_me/ <p>My father <a href="http://www.lagrandeobserver.com/News/Local-News/Community-mourns-death-of-former-Eastern-president">passed away in Feb 2012</a>. He suffered a massive stroke a year and a half before and after a few months of optimism on our part, he started a slow and fateful decline, so his passing was not unexpected.</p> <p>This is how I will always remember my relationship with my dad.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/RonAndDad.jpeg"> <p>The two of us sitting around doing something nerdy involving computers or electronics. He taught me to program and fueled that passion as often as he could. We owned a home computer before the Apple II existed and even before most people knew a computer could fit in someone&rsquo;s house.</p> <p>He had a Ph.D in Astrophysics and it&rsquo;s hard to describe how wonderful it was growing up with a father who could answer absolutely any question I had about spaceships, rockets, planets, stars, galaxies, quasars, black holes, asteroids, the sun or the moon. I could point into the night sky and ask &ldquo;what&rsquo;s that?&rdquo; and he could tell me after only a moment&rsquo;s hesitation.</p> <p>I am who I am today because of him. Maniac Mansion, Monkey Island, Putt-Putt or Pajama Sam would not exist if not for him and the way he taught me to think and devour learning new things. He taught me to love to read, appreciate art and to always question my own beliefs and to be curious and inquisitiveness.</p> <p>I&rsquo;m sad he is gone and will miss him terribly, but I will forever be grateful for what he left me. Our life on this earth is not only what we did, but what we left behind for others.</p> <p>David Gilbert<br> Scientist<br> Avid fisherman (ok, never understood this one)<br> Ham operator (ke7gi)<br> Best. Dad. Ever.</p> <p>1939 - 2012</p> More Concept Art https://grumpygamer.com/more_concept_art/ Wed, 22 Feb 2012 00:00:00 +0000 https://grumpygamer.com/more_concept_art/ <p>Well, I think it&rsquo;s &ldquo;time&rdquo; to &ldquo;leak&rdquo; some more concept &ldquo;art&rdquo; for the amazing game I&rsquo;ve been working on at Double Fine for the past 9 months.</p> <p>After posting the previous concept art of <a href="http://grumpygamer.com/first_cave_concept_art">The Scientist and The Mobster</a>, I started reading all the adventure game forums and other gaming sites and I noticed a common reaction along the lines of &ldquo;Hey Ron, those are great and all, but what we really want to know is if the game will have an old carnival ticket booth and a ceiling mounted laser cannon!&rdquo;</p> <p>Well, I&rsquo;m happy to officially confirm that the game has both an old carnival ticket booth and a ceiling mounted laser cannon in it. I don&rsquo;t want to reveal any spoilers, but one of them is going to hurt like hell.</p> <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/SuperConfidentialArt.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/SeckritArtDoNotLeak.jpg"> </p> What is an Adventure Game? https://grumpygamer.com/what_is_an_adventure_game/ Sat, 21 Jan 2012 00:00:00 +0000 https://grumpygamer.com/what_is_an_adventure_game/ <p>What makes an Adventure Game an Adventure Game?</p> <p>Is Limbo an Adventure Game or just a puzzle game? Some people called L.A. Noir an Adventure Game but it lacks some of the basic components of an Adventure Game. Or does it?</p> <p>Why do we call them Adventure Games? If you faithfully made Monkey Island into a movie, I doubt it would be called an Adventure Movie or even an Action/Adventure Movie.</p> <p>I guess we call Adventure Games Adventure Games because the first one was call Adventure. I see no other reason they are called Adventure Games.</p> <p>Semantics aside, what makes an Adventure Game an Adventure Game?</p> <p>Inventory? Pointing? Clicking? Story? Low Sales?</p> <p>Certainly not Adventuring.</p> <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/is_adventure_game_1.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/is_adventure_game_2.jpg"> </p> First Concept Art https://grumpygamer.com/first_cave_concept_art/ Sun, 27 Nov 2011 00:00:00 +0000 https://grumpygamer.com/first_cave_concept_art/ <p>Here are a couple of fine pieces of concept art from the game I&rsquo;m making with the amazing folks at Double Fine. I&rsquo;m so excited. This is an idea that has been in my head for a long long long time. It predates Maniac Mansion and Monkey Island. It&rsquo;s a game that needed to be made.</p> <p>These are two of the playable characters. That&rsquo;s all I can say right now, but more will follow later.</p> <p><strong>UPDATE:</strong> I just want to clarify, these are not from the <a href="http://www.kickstarter.com/projects/66710809/double-fine-adventure">kickstarter adventure game</a>, these are from the game that is the real reason I&rsquo;m at Double Fine.</p> <p><strong>UPDATE 2:</strong> The Mobster was cut from the game a while ago. It&rsquo;s why it&rsquo;s called concept art.</p> <p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TheScientist.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/TheMobster.jpg"> </p> Meeting Steve Jobs https://grumpygamer.com/meeting_steve_jobs/ Wed, 05 Oct 2011 00:00:00 +0000 https://grumpygamer.com/meeting_steve_jobs/ <p>Several years ago I had the great pleasure and privilege of meeting Steve Jobs.</p> <p>I had a meeting at Pixar and I heard that Steve Jobs might be there. First thing I did was ask a good friend of mine that knew Steve Jobs what he was like and was there any advice she could give me.</p> <p>She said that Steve Jobs is an incredibly intelligent and passionate person and the one piece of advice she had for me was: don&rsquo;t argue with Steve Jobs and everything will go fine. Argue with Steve Jobs? He&rsquo;s probably one of the smartest people in the whole world and someone I have unequalled respect for, why would I ever argue with him?</p> <p>I arrived at the meeting and went into the conference room. John Lasseter was there (who I casually knew from when Pixar was part of Lucasfilm) and we chit-chatted.</p> <p>A few minutes later Steve Jobs came in. He sat right across the table from me and the first words out of his mouth where: &ldquo;I don&rsquo;t believe you can tell stories in games.&rdquo;</p> <p>Now&hellip;</p> <p>Steve Jobs could have told me the sky was green, he could have told me that dogs gave birth to cats, he could have said just about anything and I would have nodded thoughtfully and probably been totally convinced, but he had to say the one thing in all of creation that I could not let go.</p> <p>I spent the next hour arguing with Steve Jobs.</p> <p>My advice to God: Don&rsquo;t argue with Steve Jobs.</p> <p>Goodbye Mr. Jobs, you really did change the world and we will miss you.</p> The Vertical Slice https://grumpygamer.com/vertical_slice/ Fri, 08 Jul 2011 00:00:00 +0000 https://grumpygamer.com/vertical_slice/ <p>The vertical slice is one of the dumbest things the game industry has ever come up with. I threw this together to show how dumb it is. Not sure why I was thinking about it today, but I was. The publisher I&rsquo;m working with now doesn&rsquo;t want a vertical slice, some don&rsquo;t, but there are quite a few that do.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/vslice.jpg"> <p>It&rsquo;s just a dumb way to build a game and it results in wasted time and money and doesn&rsquo;t produce the best game possible.</p> <p>A publisher handing a developer a big chunk of money to make a game should mean a carefully planned preproduction, and if it&rsquo;s risky from a game play or tech stand point, absolutely build a prototype (not just for them, but for you as well), but doing a vertical slice is just kowtowing to the uncreative.</p> <p>We work in a creative industry, I expect the &rsquo;execs&rsquo; to understand that creativity. Given that they are the ones getting stinking rich off of all our hard work, shouldn&rsquo;t we expect that from them?</p> <p>What if movie studios required vertical slices of movies. It just doesn&rsquo;t work.</p> <p>Vertical slices might work in a medium where you start at the beginning and grind though in a fairly linear fashion and what comes out is 90% complete. Maybe writing a novel works this way, but making movies and games do not. They are an iterative processes. You build foundations and the build up from there.</p> <p>Da Vinci didn&rsquo;t paint the Mona Lisa one strip at a time, he slowly built it up from sketch to finished painting. That&rsquo;s the way games should be built.</p> The Making of Maniac Mansion https://grumpygamer.com/making_of_maniac_mansion/ Sun, 09 Jan 2011 00:00:00 +0000 https://grumpygamer.com/making_of_maniac_mansion/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mm-minifigs.jpg"> <p>The fine folks at Game Forum Germany have been trying to get me to speak there for the past three years, but something has always come up and prevented me from attending, but this year I vowed to go. This year was going to be different.</p> <p>I&rsquo;ve only been to Germany once before and most of that three days was spent at a hotel attached to the Munich airport doing PR for Total Annihilation. Our hosts did take us into town for dinner one night where we ate at an Italian restaurant. I feel a proper trip to Germany is due and I expect to see lederhosen and lots of them.</p> <p>I was told I could talk about anything I wanted, which always presents itself as a dilemma. The easy thing to talk about is Monkey Island. Everyone loves to hear about Monkey Island. The next easiest thing would be to talk about DeathSpank since it&rsquo;s shiny and new and I get a lot of email asking me about the game, but in the end I decided to give a talk about the making of Maniac Mansion.</p> <p>Maniac Mansion is a game that is close to 25 years old and started the whole point-and-click adventure genera in addition to coining the term &lsquo;cut-scene&rsquo; used throughout the civilized world. Maniac Mansion is a game filed with dead ends, backwards puzzles and no-win situations. Maniac Mansion is a flawed game, but that&rsquo;s what makes it so interesting. Gary and I had no idea what we were doing when we started making Maniac Mansion; we didn&rsquo;t even know it was going to be an adventure game.</p> <p>Despite all it&rsquo;s problems, it&rsquo;s a game that is loved by countless gamers and it holds a very special place in my heart. All the <a href="http://grumpygamer.com/why_adventure_games_suck">lessons learned</a> from making Maniac Mansion can be seen in the design for Monkey Island. Without one, there would not be the other.</p> <p>During my research for the talk, I came across an amazing amount of fan art for Maniac Mansion including the <a href="http://www.flickr.com/photos/morgan19/4906670428">wonderful Lego Minifigs</a> seen above.</p> <p>I&rsquo;m incredibly excited to be giving this talk and finally seeing Germany and getting a window seat on the way there and back. I&rsquo;m going to keep the window shade open the whole fight. If I can&rsquo;t sleep on a plane, no one else is going to either.</p> Monkey Island 2 Bug Report https://grumpygamer.com/monkey_2_bug_report/ Tue, 16 Nov 2010 00:00:00 +0000 https://grumpygamer.com/monkey_2_bug_report/ <p>While cleaning out my bookcase a few weeks ago, I ran across a large and mysterious black three ring binder that contained a brittle and water stained printout of the entire Monkey Island 2 bug report. I have no idea why I had it or why I kept it.</p> <p>Granted, it&rsquo;s not quite as impressive as <a href="http://spudvisionblog.blogspot.com/2010/11/peculiar-monkey-island-comp.html">Steve Purcell&rsquo;s Monkey Island concept art</a>, but hey&hellip;quit your bitching.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mibug1.jpg"> <p>Several hundred pages later&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mibug2.jpg"> Game Designer+Artist or Game Designer+Programmer https://grumpygamer.com/designer_programmer_artist/ Mon, 31 May 2010 00:00:00 +0000 https://grumpygamer.com/designer_programmer_artist/ <p>I&rsquo;ll be honest, I used the + signs in the title because I know they screw up some RSS feed readers and I&rsquo;m just that kind of person. My next post will have lots of &amp; and ? symbols and then we&rsquo;ll move into utf-32. The Internet is a house of cards ready to come down with one seldom used Chinese character.</p> <p>But onward we march, content in our ignorance&hellip;</p> <p>So, my question is: would you rather be a game designer that is also an artist, or a game designer that is also a programmer?</p> <p>For the sake of this brain twisting exercise, let&rsquo;s assume that you can&rsquo;t be a game designer+artist+programmer, because that combination just goes against god. And also, for the sake of argument (and because I like to argue), let&rsquo;s assume if you&rsquo;re an artist or programmer, you have no talent in the other profession, and by no talent I really mean no talent.</p> <p>I ask this questions because I fall into the second category. I started programming back when disco was cool. I started with Basic on a CP/M machine, then moved to Pascal before discovering Z80 assembly language. I had always heard assembly language was fast, but I was not prepared for the shear speed of it over Basic. Running my first assembly language program was a religious experience. My eyes stared wide at the screen as it filled with the @ character in what seemed to be instant. I literally said &ldquo;oh my god&rdquo; and that was the beginning of my 25 year death march known as the game&rsquo;s industry.</p> <p>I learned C and C++ while working at Lucasfilm to build the SCUMM compiler and later when the SCUMM engine moved to the PC from the Commodore 64 and I have continued to program every day since, recently learning objective-c as I dabble in some iPhone games in my spare time (objective-c is very cool, it took three days of swearing before it clicked).</p> <p>But the problem is I have no art talent. None. Absolutely zero. When I try and do art, it destroys nearby things that might also be art. I&rsquo;m like art anti-matter. When my art comes in contract with real art, they annihilate each other. It&rsquo;s hard to tell if my prototypes are any fun because people are always shielding their eyes and gasping when they see my art. Even my stick figures look crappy. I know some programmers that draw crappy art that looks cool because it&rsquo;s so crappy. My art is just crappy. Clayton Kauzlaric did all the art on Grumpy Gamer, mostly out of pity, I assume.</p> <p>Some examples of my art:</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ggart.jpg"> <p>But I know some artists that feel the exact opposite. They produce brilliant looking mock-ups of game ideas, but can&rsquo;t program enough to produce even a basic prototype in flash. They feel the same frustrating that I do.</p> <p>So which is better?</p> The Tale of the Scurvy Raider https://grumpygamer.com/tale_of_the_scurvy_raider/ Tue, 04 Aug 2009 00:00:00 +0000 https://grumpygamer.com/tale_of_the_scurvy_raider/ <p>Aye, arg, gar! Pull up a peg leg and have a seat, for me be tell&rsquo;n the tale o&rsquo; the Scurvy Raider, the finest pirate ship t&rsquo; sail the sea. Lost one dark and stormy eve, near eighteen years ago, all her crew feared dead or worse. Arrr, but this tale be not ha&rsquo;in&rsquo; a sad endin&rsquo;, for the Scurvy Raider has returned t&rsquo; port with a mighty tale t&rsquo; tell. The tale o&rsquo; a dark and stormy eve near eighteen years ago.</p> <p>OK, you know what? Typing Pirate is hard.</p> <p>Back when I was working at Lucasfilm, I used to have a giant Lego pirate ship. It sat across from my desk on this low end table and when the nights would grow long and the work day became tiring I would look over at the Scruvy Raider and it would remind me of what we were building; it would remind me of the soul of this game called Monkey Island.</p> <p>When I left Lucasfilm the Lego pirate ship mysteriously disappeared. I remember cleaning out my office and saying my goodbyes then noticing the Lego pirate ship was gone. I asked around but no one knew what happened to it. It was simply gone, lost at sea, never to be seen again&hellip;</p> <p>&hellip;until&hellip;</p> <p>A few days ago when a giant package arrive at my door step. I carefully opened it to find this inside:</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/LegoPirate2.jpg"> <p>Attached to it was a note scribbled on LucasArts stationary that simply said &ldquo;We found your pirate ship&rdquo;.</p> <p>Thanks Guys!!!</p> <p>The Scurvy Raider II has come home, sailing into port for a reunion that onlookers called teary-eyed and joyful. It will once again become a beacon of light into the soul of what we are making.</p> Stuff and Things and Monkey Island https://grumpygamer.com/stuff_and_things_and_monkey_island/ Sun, 31 May 2009 00:00:00 +0000 https://grumpygamer.com/stuff_and_things_and_monkey_island/ <p>I&rsquo;m pretty good at keeping secrets. I&rsquo;m so good at it people actually send me death threats. If you have a secret, you can tell me. I won&rsquo;t tell anyone. Go ahead. I&rsquo;m listening.</p> <p>Over the past few months, I&rsquo;ve been the vessel for a couple of very exciting secrets and it&rsquo;s been really hard to not give someone the nudge-nudge-wink-wink-don&rsquo;t-tell-anyone, but I couldn&rsquo;t. Not these.</p> <p>The first is the <a href="http://www.monkeyislandspecialedition.com">re-release of The Secret of Monkey Island</a>. Several months ago I was invited to LucasArts to get a sneak preview. Very cool.</p> <p>Hopefully this will open up the pure pleasure that is Monkey Island to a whole new generation of gamer that knows only how to use a console controller.</p> <p>The second secret is that <a href="http://www.telltalegames.com/monkeyisland">TellTale is doing an episodic version of Monkey Island</a>. I had the great pleasure of spending a few days with Dave Grossman, Mike Stemmle and the rest of the TellTale crew getting my head into Guybrush Threepwood again.</p> <p>I am very exited for both of these games. It&rsquo;s strange and humbling to see something you created 20 years ago take on a life of it&rsquo;s own.</p> <p>This next year is going to be very interesting. Ron Gilbert, Dave Grossman and Tim Schafer all have games coming out. Someone check the scriptures. Might be a good time to start hoarding canned goods.</p> <p>About a year and a little more ago, as I began designing the <a href="http://deathspank.com">uber-awesome DeathSpank</a>, I played all the way through The Secret of Monkey Island to refresh myself on the puzzles and dialog.</p> <p>I know this will come as a shock to many of you, but I don&rsquo;t spend my evenings playing through Monkey Island. It&rsquo;s probably been 15 years since I sat down and really played it.</p> <p>Much like the experience of watching the <a href="http://grumpygamer.com/maniac_mansion_speed_run">Maniac Mansion Speed Run</a>, it bought back a lot of memories and little tid-bits of facts, so I started keeping notes and in celebration of all things Monkey Island, I thought I&rsquo;d share them.</p> <p>Before we begin, a couple of points:</p> <ol> <li> <p>Some of this I&rsquo;ve written about before, so I apologize if I&rsquo;m wasting your time.</p> </li> <li> <p>I was playing the VGA version that was released after the original EGA version. The original original version used 16 colors and the inventory was text only.</p> </li> <li> <p>These are only &ldquo;some-what&rdquo; in order.</p> </li> <li> <p>You may disagree with me on some of these, and that&rsquo;s perfectly OK. My life is forever intertwined with this game and some of these are more reflective than anything else.</p> </li> <li> <p>It&rsquo;s been almost 20 years. My brain is full.</p> </li> </ol> <p>If anyone has specific questions about Monkey Island 1 or 2, feel free to ask them in the comments or <a href="http://grumpygamer.com/contact">send them to me</a>. If the answer contain interesting information or fuels a good story, I&rsquo;ll add it to this list.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-14.jpg"> <p>Someone please turn off the lights, and I&rsquo;ll start the projector.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-1a.jpg"> <p>The very small &ldquo;hot spot&rdquo; areas are very annoying today but they were accepted back then; they were even considered a good thing. It&rsquo;s called Game Play! It would be hard to make an adventure game today where players were forced to hunt for small objects.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-3a.jpg"> <p>Most people know you can hit the period key to skip a single line of dialog, but I&rsquo;m surprised when I run into people that don&rsquo;t know why I chose the period key. It seems obvious to me: a period ends a sentence.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-4a.jpg"> <p>While Insult Sword Fighting is one of the first things people think of when they hear Monkey Island, I thought it seemed little tedious (but fun) as I played though it again. There is a point where you say &ldquo;I get it&rdquo;, but your still forced to go though the motions again and again. If I was going to do Insult Sword Fighting in a future game, I&rsquo;d make it more free form allowing the player to be clever and construct their own sentences.</p> <p>During the early stages of the Monkey Island design, we would watch old Errol Flynn era pirate movies. One thing that stood out was during the fights they always taunted each other with insults. I knew we needed to have sword fighting in the game - it was about pirates after all - but I didn&rsquo;t want to introduce any action game play and the old pirate moves provided the perfect solution.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-12.jpg"> <p>Back in the late 80&rsquo;s, the mere thought of a scroll wheel on a mouse would have been crazy talk, but today I found it hard to break the habit of trying the scroll the inventory with it.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-8a.jpg"> <p>You only have to follow the shop keeper to the Sword Master once, after that it&rsquo;s just automatic. That was a good design choice. No point in having to solve the same puzzle over and over.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-11a.jpg"> <p>Scene behind the walls of the governors mansion seemed a little long. The original plan was to have real game play and puzzles, but the game was feeling too big and we need to cut stuff. This gag was perfect, and in some ways better then making the player solve more puzzles. Never be afraid to edit you game down if it needs it. It will often be better for it. Except this went on too long.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-28.jpg"> <p>&ldquo;Ahoy there, Fancy Pants&rdquo; is my favorite throw-away line ever.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-5a.jpg"> <p>Back then, the randomly generated forest was cutting edge technology. Disk space was at a premium. Everything had to fit on 5 floppy disks. Sierra would ship games on 8 or 10 floppy disks. That was always a sore point for us.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-1b.jpg"> <p>I like the way you meet Otis, Sword Master and Meathook during regular puzzles, then hire them later. Builds a sense of friendship before they are needed. They aren&rsquo;t just three random people you meet for the first time while look for a crew.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-2b.jpg"> <p>The circus tent could have been more utilized. Bit of a waste for one puzzle and the Fettucini Brothers didn&rsquo;t add much to the story. That said, this was one of the first screens (&ldquo;rooms&rdquo; as we called them) where we used the SCUMM system&rsquo;s exclusive scrolling screens for dramatic effect. Tim was the programmer on this room and he spent a lot of time getting it to scroll at just the right time to revel the tent. I also like that the dialog choices are shown up up-side-down after Guybrush is shot from the cannon. Doing that pushed the SCUMM system to utilize multiple fonts. We didn&rsquo;t have that feature before this gag required it. Guybrush being shot out of the canon was also foreshadowing for later when he needed to be shot out of the canon. OK, come to think of it, this was a pretty useful room.</p> <p>CORRECTION: It is July 21, 2022 and Dave Grossman informs me it was he who worked on the circus.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-3c.jpg"> <p>Touching the parrot puzzle was a little lame and linear. I remember being rushed and we couldn&rsquo;t think of anything better. The game was feeling good and long already, so I just punted on this puzzle.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-4b.jpg"> <p>UI for having to open and close doors independently from walking though them was obnoxious. You&rsquo;d never do this in an adventure game today, but like pixel hunting, it was accepted.</p> <p>Something I added to the Humongous Entertainment adventure games was the cursor changing into a big arrow when you hit the edge of the screen and it was an exit. Monkey Island would have benefited from this. I was so used to it from the Humongous games that I&rsquo;d scan the screen expecting to see it over exits.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-9a.jpg"> <p>OK, I&rsquo;m going to admit that I was completely stumped by the grog puzzle. I finally went and looked it up on the internet. That&rsquo;s a damn good puzzle. I found several puzzles would give me pause because I&rsquo;d remember some previous unimplemented version of them and it would throw me off track. My brain is filled with a lot of old adventure game puzzles, most of which never made it into a game. DeathSpank actually has a couple of puzzles ideas that we talked about for the original Monkey Island.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-5b.jpg"> <p>Stan&rsquo;s Grog machine was one of three interesting lessons was I given about trademarks and copyright during the production of Monkey Island. Originally, I wanted the Grog Machine to be a Coke Machine, baring that, I wanted it to look like a Coke machine. It originally had the &ldquo;Coke Wave&rdquo; on it, but said &ldquo;Grog&rdquo;. The Lucasfilm legal team came back and said it was too close to the real trademarked Coke Wave. I tried to argue Parody to no avail. We kept changing it little by little until legal was satisfied it didn&rsquo;t look too much like a Coke machine.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-11b.jpg"> <p>Getting stuck on the Ocean floor is one of my favorite puzzles because the solution is so obvious most people overlook it. The other puzzle I did in this same vane was in Indiana Jones and the Last Crusade adventure game where Indy has to have faith and just walk over a ledge. Players that had faith and just clicked on the other side of the crevice had no problem. Players that fiddled around and clicked on other stuff, ignoring the advice, always fell.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-12a.jpg"> <p>I forgot about the ladder to get the pirate flag for the soup. I kept focusing on Meat Hook&rsquo;s tattoo, which was something we talked about during the early design.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-13.jpg"> <p>I had wanted the time you spent on Monkey Island to feel more like a RPG, which is why you had top-down view. As the game progressed, I slowly scaled back those plans, but we were still left with these very cool maps. I love maps. For me a game design always starts with a map.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-8b.jpg"> <p>The key to the Monkey Head used to be called a Q-Tip(tm), but in my second legal lesson of the project it was changed. According to our legal advice, it would have been OK if we were using the Q-Tip in a &ldquo;correct fashion&rdquo;, but taking a giant Q-Tip and sticking it into a stone monkey&rsquo;s ear is not &ldquo;correct usage&rdquo;. Interestingly enough, a Q-Tip box states: &ldquo;Do not insert cotton swab into ear canal&rdquo;. I think we were doing just that.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-17.jpg"> <p>&ldquo;I had a feeling in hell here would be mushrooms&rdquo; was one of Tim&rsquo;s lines. Tim hates Mushrooms. I also hate mushrooms, but unlike Tim, I&rsquo;m happy to pick them out.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-31.jpg"> <p>We called them &ldquo;Special Case Animations&rdquo;. The first SCUMM game they appeared in was The Last Crusade and then used to an amazing (well, amazing for 1990) extent in Monkey Island. Each of the &ldquo;actor&rdquo; sprites had a set of basic animations that including standing, walking, talking, picking up and reaching. If we need an animation that would only be used on one place, it was called a Special Case Animation and each one was carefully considered due to the 5 floppy disk limit. Every pixel had to count.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-16.jpg"> <p>Begging for the necklace from the head of the navigator is a bad puzzle. It&rsquo;s too easy for players to think they&rsquo;re on the wrong path.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-5c.jpg"> <p>After getting the root, we didn&rsquo;t make the player walk all the way back to the cannibals then all the way to the ghost ship. There was much discussion about this. I think we made the right decision.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-12b.jpg"> <p>For the most part, Monkey Island is fairly open ended allowing players a lot of freedom to explore and solve several puzzle threads at a time, but there are two big choke points where the puzzles become very self contained. The first is on the ship as you&rsquo;re sailing (or trying to sail to) Monkey Island. The second is while you&rsquo;re on the ghost ship. All the solutions to puzzles can be found right where you are. These were done on purpose to give the player a small break and allow them to focus on one area.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-29a.jpg"> <p>After you&rsquo;ve made you way back to Melee Island, you are forced to kill two ghost pirates with your root beer. This was important because it showed not only how the root beer worked but that it would work.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-18.jpg"> <p>Elaine Marley was just called &ldquo;The Governor&rdquo; until the scene in the church was written. Dave Grossman wrote that scene and put in the gag dialog choice where Guybrush shouts &ldquo;Elaine!&rdquo;, which is from the movie &ldquo;The Graduate&rdquo;. I liked that, so it became her name. In the original design, Elaine was a more ruthless Governor, but she softened up and became a true love interested as the project processed.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-26.jpg"> <p>By design, the whole ending of the game is a &ldquo;gimme&rdquo;. The player has worked hard to get to this point, I wanted something they could just sit back and enjoy playing.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-30.jpg"> <p>There was supposed to be ship combat during your voyage to Monkey Island. It would have been done top-down view with you controlling the ship and firing a cannon. It was right to cut that. Never be afraid to cut. It&rsquo;s rare that I watch a &ldquo;director&rsquo;s cut&rdquo; of a film that is better then the original. Most of that stuff was left out for a reason.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-3d.jpg"> <p>Last legal snafu we had with Monkey Island revolved about a &ldquo;Look At&rdquo; line in the voodoo shop. When you&rsquo;d look at a statue, Guybrush would say &ldquo;Looks like an emaciated Charles Atlas.&rdquo; We got a cease and desist letter for that and has to change it in future versions. I don&rsquo;t know for sure when version it changed in.</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/mi-27.jpg"> <p>THE END</p> <p>P.S. I was always bothered by these close-ups. While they were great art, I never felt they matched the style of the rest of the game. Not sure how I feel about them 20 years later.</p> Studs Terkel Passes Away https://grumpygamer.com/studs_terkel/ Fri, 31 Oct 2008 00:00:00 +0000 https://grumpygamer.com/studs_terkel/ <p>I have to admit I only tangentially knew who <a href="http://en.wikipedia.org/wiki/Studs_Terkel">Studs Terkel</a> was, but the first time I ever heard of him I remember thinking: &ldquo;Damn, I wish my parents had named me Studs Terkel&rdquo;.</p> <p>What a great name.</p> 20 Years of SCUMM https://grumpygamer.com/20_years_of_scumm/ Thu, 26 Apr 2007 00:00:00 +0000 https://grumpygamer.com/20_years_of_scumm/ <p>It seems like only yesterday that I was cranking out 6502 code slowly building up what would become the SCUMM System. OK&hellip;that&rsquo;s a lie&hellip;it really does feel like 20 years ago.</p> <p>IGN has a <a href="http://pc.ign.com/articles/783/783847p1.html">quick interview with me</a> helping to commemorate 20 years of a development system that no focus group in the world would have liked the name.</p> Gilligan Is On The Roof https://grumpygamer.com/gilligan_is_on_the_roof/ Tue, 06 Sep 2005 00:00:00 +0000 https://grumpygamer.com/gilligan_is_on_the_roof/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/gilligan.jpg"> <p>Bob Denver, the actor who played Gilligan on the 60&rsquo;s TV show has died.</p> <p>A secret desire of mine has been to make the Gilligan&rsquo;s Island movie. Not as a comedy, but as a serious drama exploring the dark and twisted reality of what would happen if those seven people were stranded on that island. In my version Gilligan would have been the last alive and the most diabolically insane.</p> <p>If there are any studio&rsquo;s interested, I&rsquo;m taking meetings.</p> Failing at your Entertainment https://grumpygamer.com/failing_at_your_entertainment/ Thu, 19 May 2005 00:00:00 +0000 https://grumpygamer.com/failing_at_your_entertainment/ <p>With the oh-my-fucking-god-circle-jerk-boy-mass reporting of E3 in full swing, it nice to see <a href="http://today.reuters.com/news/newsArticle.aspx?type=technologyNews&amp;storyID=2005-05-20T121355Z_01_N19690146_RTRIDST_0_TECH-GAMEEXPO-FUN-DC.XML">a few articles come out</a> that question the direction of the industry, especially ones I am quoted in.</p> <p>From the article:</p> <p>&ldquo;When you spend all day at work, the last thing you want to do is go home and become frustrated by video games,&rdquo; Gilbert said. &ldquo;There is a gigantic group of people who want easy-to-play games.&rdquo;</p> <p>The article goes on with:</p> <p>&ldquo;Midway Games Inc. Chief Executive David Zucker said the company&rsquo;s core audience - males between 18 to 34 years old - has a more mature sense of fun that involves complexity and full immersion.&rdquo;</p> <p>But&hellip;isn&rsquo;t that the problem?</p> <p>This industry is too focused on males from 18 to 34 and everything is made to satisfy them and - in my option - to the exclusion of a much larger audience. Also, don&rsquo;t be a statistics goof and confuse &ldquo;most game players are 18 to 34 males&rdquo; with &ldquo;most 18 to 34 males are game players&rdquo;. In the lower end of that range, I can believe that, but as people (even males) get older they stop playing games. They outgrow them because all that&rsquo;s offered is high-testosterone head-banging, and if the floor of E3 isn&rsquo;t testimony to that, I don&rsquo;t know what is.</p> <p>I have no doubt, like the current movie business, much of the money we make comes from that demographic, but like the movie business, we need more diversity. Right now it feels like we are just in the spiral of a hardcore-gamer feedback loop. They are spending a lot of money, so they are getting all the attention, yet the masses sit just outside the playground, quietly holding their credit cards asking &ldquo;Is there anything I can play?&rdquo;, only to be screamed at by the anonymous raging hardcore gamer &ldquo;Shut the Fuck up if you don&rsquo;t like Halo 2&rdquo;.</p> <p>So what do they do? They move to web games like Bejeweled and play them by the millions, but they want more than that, and they&rsquo;ll pay for it if anyone would listen.</p> <p>P.S.</p> <p>My actual quote was: &ldquo;Most adults spend all day failing at the office, the last thing they want to do is come home and fail at their entertainment&rdquo;. But it&rsquo;s probably better cleaned up a little&hellip;</p> World! Of! Warcraft! https://grumpygamer.com/world_of_warcraft/ Mon, 14 Feb 2005 00:00:00 +0000 https://grumpygamer.com/world_of_warcraft/ <p>I am not a big player of MMORPMMGOMMGS, the last one I spent any time on being Ultima Online when it first came out, plus a few hours on EverQuest, so I might be impressed by things that are old-hat&hellip;</p> <p>In the interest of brevity and for all the executives and marketing people that read the Grumpy Gamer, I figured I&rsquo;d just bullet point my feedback.</p> <ul> <li>I am awestruck by the scope of the world. It is huge and feels huge. The world is so visually tasty and really seems to be designed as a real world, not just a vehicle for quests. After several days of questing, I made it to the coast, the sun was setting and I just stared out into the sea, letting my mind wonder, just like I do at the real Ocean. Several other players were doing the same. That is a real achievement.</li> <li>I find it amusing that when you loot a corpse while grouped, a &ldquo;roll a dice&rdquo; interface comes up to see who gets the booty. It&rsquo;s an interesting holdover from the D&amp;D days. Why dice? Why not paper-scissor-rock. That&rsquo;s why I would do. Of course, one of my dreams has been to make the worlds first Massively Multiplayer Paper Scissor Rocks game (MMPSRG). I actually wrote a whole design for it.</li> <li>I really enjoy (and am impressed by) the art style and art direction. I&rsquo;ve always like the Warcraft world because it has a nice hint of cartoomieness (not a real word). They translated this into a pure 3D environment perfectly.</li> <li>Why aren&rsquo;t other players more friendly? It&rsquo;s not that people are rude, it&rsquo;s just that nobody is very chatty. I&rsquo;ve tried to strike up conversations with several other people and am ignored or greeted with a simple &ldquo;hi&rdquo;, follow by a dash down the road. Other than the people in my group, everyone else might as well be NPC&rsquo;s.</li> <li>I would like to see an option for &ldquo;word balloons&rdquo; above peoples heads when they speak. I don&rsquo;t pay much attention to the chat area in the lower left. This might help with the social aspect of chatting.</li> <li>The in-game maps stink. The close-up ones are OK, but when you zoom out, there is no context. You are really forced to hunt down better maps on the internet.</li> <li>I&rsquo;d like to be able to mouse over buildings to see what they are. I hate wandering into town and having to hunt down the right building. I know you can mouse over the signs, but they often aren&rsquo;t visible.</li> <li>One of my favorite activities is what I call &ldquo;drive-by-cowing&rdquo;. Once you get up in levels, you can take out a cow in a single swing. Start about 100 feet way and run towards the cow, as you pass, swing and take it out. Keep running and see how many cows you can take out. It&rsquo;s twice as fun with someone following you taking screen shots.</li> <li>Nobody seems to mind that I go around killing livestock, which I assume the locals use for meat, milk and possibly companionship on a lonely night. Maybe if I keep doing it, people will slowly start to starve and I&rsquo;ll feel bad. I&rsquo;d like to see the guards come over and give me a little sword-smack for killing cows and sheep.</li> <li>Why can bears and boars resist my magic? Come on, they&rsquo;re animals, and not wicked-cool magic animals, just plain old animals. Makes no sense. Suspension of disbelief alert.</li> <li>It&rsquo;s pretty funny to see someone being chased by a &ldquo;train&rdquo; of monsters. We were exploring this old mine the other day, and while standing in a tunnel some guys runs by the entrance being chanced by 5 Tunnel Rats. Do I help out? No, I just &ldquo;/point-n-laugh&rdquo;.</li> <li>All the vendors seem to sell the same stuff. It&rsquo;s like they all have the same distributor. I&rsquo;d like to find more interesting items at different places. I started out looking for some better Maces, but soon gave up when I realized it&rsquo;s just a chain store.</li> <li>I&rsquo;m currently at Level 15, and I&rsquo;ve been in the weapon, armor and magic doldrums for quite a few levels now. Nothing really new and interesting. I&rsquo;m starting to tire of my mace and the same 3 magic spells. I&rsquo;m a product of the MTV generation, I need new spells every 15 minutes.</li> <li>Needs more Pirates!</li> <li>You should get extra XP for killing a new creatures for the first time. It was really disappointing to discover the Mechanical Golems, excitingly enter battle and discover that I got the same XP as I did for the Bear down the road. I realize that it&rsquo;s all numbers under the veneer of a texture-map, but it was new for me, and I wanted to be rewarded.</li> <li>Can you move a character to another server? I didn&rsquo;t see a way to do this, and I don&rsquo;t see any reason why you shouldn&rsquo;t be able to. It was very frustrating to run into someone (in the real world&hellip;stay with me) and find out they are playing, but we&rsquo;re on different server. I can see how they wouldn&rsquo;t want people jumping servers on a whim, but having it take a few days, or give a character a limited number of jumps would be nice.</li> <li>I am always annoyed by games that they to make inventory management a game-play mechanism. Why can I only carry 12 things? Why does a huge two hand rock-hammer take as much space as 10 drops of spider spuge? Seems like I should be able to carry as much spider spuge as I want.</li> <li>The city of Stormwind is simple amazing. It real feels like you&rsquo;re in the midsts of a real husseling and busseling city. I am constantly amazed and impressed with the layout and architecture of the world. We have come to call this place &ldquo;Mall of America&rdquo;. All it needs is a Roller-coaster in the middle.</li> <li>The fact that the Tram and the Gryphon rides that place in the 3D world is great. They could have cheaped out and made them canned sequences, but they didn&rsquo;t. It&rsquo;s fun to see other people battling for XP below you, or see someone fly-by on a Gryphon as you track over the mountains.</li> <li>I would really like to see some sort of story. Oh sure, there is a story in the opening cut-scene about something or another, fact is I watched about 7 seconds of it before hitting ESC. I&rsquo;m not sure why I&rsquo;m running around killing everything that I see, getting XP, getting money and repeating the cycle. I&rsquo;d like to think there was some greater goal we were all reaching for, and one that really mattered to my character and my day-to-day actions. I know some other MMG&rsquo;s has tried to do this sort of thing with limited success.</li> <li>I like the game play mechanism of dying and being taken to the closest cemetery, then trekking as a ghost to recover your body. It feels right in terms of risky actions verses the penalty. Last night we discovered a cave system under a building. As we walked though the deserted tunnels, my heart was beating and I was genuinely worried about running into a group of Bandits and dying. In a single player game, I would have just saved and all the tension would have been gone. We did end up dying, but 3 minutes later we we back in our bodies running like hell to get out. Perfect experience.</li> <li>I really dislike the class system found in most D&amp;D inspired RPG&rsquo;s. It make little sense to me that just because I am a Paladin I can&rsquo;t use a gun. Seems like I should be able to use what ever I train for and get good at. There could be certain skills that counter each other, like getting good at magic could demising your sword-play. I want to pick up a gun and try to blast things. I&rsquo;m not asking to be very good at it, but at least let me try it.</li> <li>There were a lot of people playing on Valentines Day&hellip;just saying.</li> <li>I am curious to know the story behind the simultaneous release of the Mac and Windows versions. The only reason I own this game is because there is a Mac version. What was the decision making process? Are there any lessons for other publishers to learn?</li> <li>And finally, why the hell can&rsquo;t they remember my username and password. Just a little checkbox that says &ldquo;Remember Username and Password&rdquo; would be great. I am the only person that uses my machine, and if it was compromised, the last thing I would be worrying about the 129 pieces of copper being held by my character.</li> <li>I realize the preceding bullet points contain a lot of nitpicking criticism, but they are just that, nitpicking. Over all, this is one incredibly impressive game. I can only imagine the amount of work that went into the designing and construction of the worlds, towns and buildings. While I&rsquo;ve sure there is to some degree, I can&rsquo;t detect any cookie cutter places.</li> <li>The game is strangely (for me anyway) addictive. I play for a few hours every day. Afterwards, I feel like I wasted my evening or weekend, only to be anxious to get back to it the next day. It is quickly becoming the game I&rsquo;ve played the most.</li> <li>I do wonder why I play the game so much. For me, it is really a two player LAN game. The fact that 600,000 other people are also playing is irrelevant, or is it? I don&rsquo;t interact with anyone else, for all I care those other players are NPC&rsquo;s, but there is something enticing about being with other people, even if you ignore each other. Maybe that&rsquo;s why I enjoy going to the movies and sitting in the dark with a bunch of strangers.</li> <li>Good news is, no ones cell phone as rung during combat. &ldquo;Hello?&rdquo; &ldquo;Hey! Guess what I&rsquo;m doing? Yeah, Killing a Trogg, it&rsquo;s awesome dude.&rdquo;</li> </ul> <p>Now for the obligatory screen shots:</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ggwow5.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ggwow1.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ggwow2.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ggwow3.jpg"> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/ggwow4.jpg"> The Twelve Days of Crunch Time https://grumpygamer.com/12_days_of_crunch_time/ Fri, 24 Dec 2004 00:00:00 +0000 https://grumpygamer.com/12_days_of_crunch_time/ <h2 id="the-twelve-days-of-crunch-time">The Twelve Days of Crunch Time</h2> <p>A poem by Gilbert and Kauzlaric</p> <p>On the twelfth day of crunch time, My project gave to me&hellip;</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day12-erk.gif"> <p>Twelve cents in royalties,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day11-swi.gif"> <p>Eleven kiss-ass previews,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day10-ztq.gif"> <p>Ten nerdy testers,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day9-bvu.gif"> <p>Nine patent lawsuits,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day8-cis.gif"> <p>Eight unplanned for features,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day7-vya.gif"> <p>Seven frames a second,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day6-akt.gif"> <p>Six angry spouses,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day5-zui.gif"> <p>Five focus groups!</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day4-oqm.gif"> <p>Four unstable hacks,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day3-mbp.gif"> <p>Three days without sleep,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day2-ilq.gif"> <p>Two surly artists,</p> <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/day1-jcy.gif"> <p>and a crappy publishing deal.</p> The Economics of a 2D Adventure Today https://grumpygamer.com/economics_of_an_adventure_game_in_2004/ Mon, 18 Oct 2004 00:00:00 +0000 https://grumpygamer.com/economics_of_an_adventure_game_in_2004/ <h3 id="note-i-wrote-this-in-2004-in-the-days-before-steam-and-kickstarter-but-most-of-it-is-still-applicable-but-a-lot-has-also-changed">Note: I wrote this in 2004. In the days before Steam and Kickstarter, but most of it is still applicable, but a lot has also changed.</h3> <p>Someone recently submitted a question asking what it would take to build a classic 2D point-n-click adventure today and would it be a viable business? The internet is filled with classic adventure fan sites centered around the LucasArts and Sierra games and a common thread is always how much people would like to see new ones being made, and why isn&rsquo;t it being done.</p> <p>These are interesting questions that I&rsquo;ve ponder a lot in the last year, but never really looked into it in any detail.</p> <p>Now, before I launch into this long stream-of-consciousness, there are a couple of important things to understand. First, this is only a thought experiment. This is not something I am planning on doing, or even have a huge interest in doing, so please don&rsquo;t feed the rumor mills. Second, this article contains gory and gruesome details about the games business and, in particular, marketing and distribution. If you&rsquo;d rather remain blissfully oblivious to the horrors of what goes on behind the scenes, this is the place to stop reading. If you&rsquo;re one of those people that can&rsquo;t help but stare at a car accident, read on.</p> <p>For this exercise, I am going to make a few assumptions.</p> <h2 id="assumptions">Assumptions</h2> <h3 id="1-were-building-a-classic-2d-point-n-click-adventure-game">1) We&rsquo;re building a classic 2D point-n-click adventure game.</h3> <p>Building the game in 3D is a much more costly endeavor that brings with it a whole slew of complications which I won&rsquo;t get in to in this article. The goal here is a class point-n-click adventure.</p> <h3 id="2-were-hiring-real-employees-to-build-the-game">2) We&rsquo;re hiring real employees to build the game.</h3> <p>Clearly, the game could be done cheaper with hobbyists or people passionate enough about the genre to work for free or below cost, for back-end, or with a trust-fund baby on staff, but the goal in putting together this plan is to explore it as real business, and our business model is a little screwed if we count on people working for free. Also, given that deadlines will become important, it&rsquo;s necessary to have everyone&rsquo;s full attention and nothing says that better then a paycheck, except maybe a cattle-prod, but that might be illegal. I&rsquo;d have to check.</p> <p>It&rsquo;s also important to hire the best people possible. This is not a diss to the hobbyist market, there are some very talented people out there, but we&rsquo;ll need our team all in one place and not working at other jobs or going to school. If you&rsquo;re an unemployed adventure game developer hobbyist, please contact our fictional company for a fictional job interview.</p> <p>I&rsquo;m also assuming we have to pay competitive wages, and most of my pay information comes from the Seattle area, so we&rsquo;ll use that data for now. It&rsquo;s probably more expensive in the Bay Area, but cheaper in India.</p> <h3 id="3-were-going-to-focus-on-the-development-and-product-related-costs-only">3) We&rsquo;re going to focus on the development and product related costs only.</h3> <p>There are a lot of other overhead in running a company, even a small developer, we&rsquo;ll ignore those. There are also huge costs associated being a publisher, like marketing, sales, distribution, graft, etc. We&rsquo;ll ignore these for now, but touch on them later on the article.</p> <h3 id="4-the-engine-technology-is-not-included-in-the-costs">4) The engine technology is not included in the costs.</h3> <p>There are a lot of 2D engines out there that will do what we need, so we&rsquo;ll just assume we&rsquo;re using one of those. I realize that many of them are Open Source, which could complicate or help our situation. I&rsquo;m going to call it a wash and ignore the whole situation for now. Trust me, It&rsquo;s not that hard to get your hands on a good solid 2D engine for next to nothing.</p> <h3 id="5-the-game-is-state-of-the-art-as-far-as-2d-goes">5) The game is state-of-the-art, as far as 2D goes.</h3> <p>Yeah, I know. The last time you read state-of-the-art and 2D in the same sentence was back in the early 90&rsquo;s. The game will be fully animated and include wall-to-wall original music and full voice. No corners will be cut in the quality of the production.</p> <p>Although some styles of art might be cheaper to produce than others, I don&rsquo;t think the savings is going to be dramatic. We might want to go with a pre-rendered 3D look rather then the traditional 2D animation found in a lot of 2D adventure games. Doing pre-rendered 3D might be a little more expensive because the tools tended to cost a lot, and 3D animators (as a rule) can be more expensive. People argue that you end up saving because it&rsquo;s easier to animate once you have the models built, but I have not seen this to be true, but my experience is a little limited in this area.</p> <h3 id="6-were-going-to-build-the-game-in-a-year">6) We&rsquo;re going to build the game in a year.</h3> <p>For a classic point-n-click adventure, this is aggressive, but should be doable. Monkey Island took less than a year. We&rsquo;ll need a lot more art, but that&rsquo;s a production issue and can easily be made up for with more people to a certain extent. We&rsquo;re also going to do a very rigorous pre-production, this will be essential in getting the game done on time and on budget. Since we&rsquo;re dealing with known technology, this should be very predictable.</p> <h3 id="7-were-using-an-established-publisher-for-the-game-and-not-self-publishing">7) We&rsquo;re using an established publisher for the game, and not self-publishing.</h3> <p>Starting a company that will self-publish the game into retail channels is a huge undertaking and would require some significant capital. Not impossible, but we&rsquo;d need money beyond the cost of development, and that is a whole different business plan. It&rsquo;s also hard to become a retail based publisher with a single game. You need several games to have any clout with the retailers. We could do a distribution deal, but then we&rsquo;re significantly cutting into our profit. As the last two sentences suggest, we&rsquo;re also assuming in-store distribution, online distribution will be covered later.</p> <h3 id="8-its-a-pc-game">8) It&rsquo;s a PC game</h3> <p>Dealing with the console manufactures on something like this would be a nightmare, plus the royalties you pay to them would kill us with a nitch game like this and it&rsquo;s just not the venue for these types of games. At least not to start.</p> <p>So, let&rsquo;s roll up our sleeves, pull out our slide-rules and get down to business.</p> <h2 id="development-costs-and-plan">Development costs and plan</h2> <p>Staffing is the main expense, and is always a hotly debated topic. Everyone has an opinion, and I&rsquo;m sure this will be no different. Until a complete pre-production is done, it&rsquo;s hard to nail this cost down. These figures are based on my experience building adventures at Humongous Entertainment and at my last company Hulabee Entertainment. We probably built more 2D graphic adventure games than any other company in the world and we had a finely tuned production process. Granted, these games were for kids, but that only affects the scope of the project. If you&rsquo;ve ever played any of those games, you will understand what I mean.</p> <p>Remember, not everyone on this list would be on the project for the entire 12 months. This creates some complications because you need to keep people around to ensure a skilled staff for the next game. Hopefully we could get two games going in such a way that people would be moved off one project onto another. One advantage the movie business has is an infrastructure to deal with production people coming and going from projects. In the game business we don&rsquo;t have that. But, I&rsquo;m going to ignore this issue for now. We&rsquo;ll assume there are other projects to keep people busy and there is no down-time.</p> <p>I&rsquo;m also going to assume the design and creative lead is either the lead programmer, lead artist, or both.</p> <p>Lead Programmer (will also deal with engine issues) Lead Artist Producer</p> <p><strong>Subtotal: $220,000</strong></p> <p>3 Programmers (in the scripting language)<br> 5 Artists (skilled in 2D animation)\</p> <p><strong>Subtotal: $480,000</strong></p> <p>Testing</p> <p><strong>Subtotal: $30,000</strong></p> <p>Other expenses that will be contracted out:</p> <p>Script Music<br> Sound<br> Voice talent (non-union)<br> Voice recording</p> <p><strong>Subtotal: $60,000</strong></p> <p>The total cost for a 12 month project - including a standard 20% overhead for insurance, taxes, graft, paper-clips and a little rounding up - comes to:</p> <p><strong>Project Development Total: $950,000</strong></p> <p>Now, we can argue all day about how much we&rsquo;re paying people, whether someone is over or under payed, etc. Yeah, yeah, yeah. I know. My defense is that this comes from my direct experience in hiring people to do the exact same jobs. We can certainly save some money by hiring talented people with no experience, and that often works very well, but I&rsquo;m assuming that at least half the people are experienced in the business.</p> <p>I&rsquo;ve kept the team pretty lean. It would be easy to dump the Producer, but that would be a huge mistake. A good and talented Producer is gold. We can also save a little money if the script or music is done by someone already on the team, but that will take them away from their other job and you have to ask yourself: are they really the best person for the task?</p> <p>This cost is also just for development. If we&rsquo;re going to fully evaluate the prospects of a 2D point-n-click adventure in today&rsquo;s market, we need to think about marketing costs on top of development. Even if we use an established publisher, we&rsquo;re going to need to include this in order to evaluate the ROI (return on investment) that a publisher is going to look at.</p> <h2 id="marketing-costs">Marketing Costs</h2> <p>Let&rsquo;s assume marketing costs comes in at $500,000. This figure is probably about half of what it should be. We can&rsquo;t just take out full page ads in the game rags and pepper the gaming sites with banner ads. We&rsquo;re going to need a good solid grass-roots campaign. If we&rsquo;re really clever we could get away with a number like this.</p> <p>It&rsquo;s not uncommon to spend as much on marketing as it cost to develop the game. The marketing budgets for mainstream console games reach $10 million and more, but since we&rsquo;re not doing console, we save the drain of TV ads. We can also be clever with our PR and get the marketing costs down as much as possible. Lots of PR will go a long way on the initial game, but once the novelty wears off (and competition begins), we&rsquo;ll have to spend marketing money. As sad as it is, the best games don&rsquo;t always sell just because they are good. It takes good marketing to be successful. Never underestimate good marketing.</p> <p>One big area of concern here is if we&rsquo;re going through a publisher, we&rsquo;re going to have to rely on them being clever with marketing and PR. That&rsquo;s a big risk. Most publisher try and fit everything into a template. We&rsquo;re going to need a publisher that is willing to think differently about this. It&rsquo;s an important trait to be looking for as we hunt for a publisher. But, as anyone who is pitching a 2D adventure game today will tell you, there aren&rsquo;t a lot of choices.</p> <p>I see this as the single-most risky part of this venture.</p> <p>For the first part of this evaluation, we&rsquo;re going to assume we&rsquo;re going through retail distribution. In reality, this is the most likely scenario. But more on that later.</p> <h1 id="retail-distribution">Retail Distribution</h1> <p>I&rsquo;ll do that math for three different price points, $19, $29 and $39. I don&rsquo;t think it&rsquo;s realistic to assume a $49 price.</p> <p>I&rsquo;m sure this is obvious to most everyone, but I&rsquo;ll point it out anyway. The publisher does not get the full retail price of the game. The stores have to make a profit as well. The publisher sells the game to the retailer for what&rsquo;s called the Wholesale price. The store can then sell the game for whatever they want, but for the most part, they use the following numbers:</p> <p><strong>Retail $19 = Wholesale $15</strong><br> <strong>Retail $29 = Wholesale $22</strong><br> <strong>Retail $39 = Wholesale $30</strong></p> <p>There is also MDF (Marketing Development Funds) and co-op charges that the publisher needs to pay the retailer, and those typically run 6% of the Wholesale price billed quarterly, net of returns. These cost go to cover in-store advertising, news-paper circulars, etc. In addition, publishers also pay to have their games on &ldquo;end-caps&rdquo; or have special &ldquo;shelf-talkers&rdquo; (they don&rsquo;t really talk, thank-god, but I&rsquo;m sure that&rsquo;s coming) that helps point out the product. General rule of thumb is: if there is anything in the store that calls any attention to the game, it was paid for by the publisher.</p> <p>We&rsquo;ll assume we&rsquo;re not going to pay for anything beyond the required co-op and MDF, but it might be a wise investment to buy some better placement.</p> <p>We also have the cost of the box, CD, manual, shipping, graft, etc. This is called Cost of Goods, or COGs for short. This will typically be $1.50 unless we want to throw some cool extra stuff in the box like we used to do in the olden-days. Could be a good idea for the initial launch, if so, we&rsquo;ll bill that to marketing.</p> <p>There are also fees for outside sales commissions, distribution, EDI (electronic inventory management), inventory management, field merchandising, etc. This will add another $1 to the cost of our game.</p> <p>We need to assume that we&rsquo;re going to get returns. These might come from damaged product, customer returns, or games that the just don&rsquo;t sell. We have to account for this, it&rsquo;s typically 20%. As a side note, next time a store tells you they can&rsquo;t take a game back because the publisher won&rsquo;t take it back, call bullshit. Of course, it&rsquo;s not as simple as the publisher giving the money back, it&rsquo;s typically done as credit, and it&rsquo;s often negotiated with respect to new games being bought from the publisher. It is one of the reason that a single game publisher is going to have a hard time.</p> <p>So after all this, plus a little rounding, we&rsquo;re down to the following profit:</p> <p><strong>Retail $19 = Profit $9</strong><br> <strong>Retail $29 = Profit $18</strong><br> <strong>Retail $39 = Profit $25</strong></p> <p>It&rsquo;s now time to calculate our break-even point. That is the point that our publisher has made all their money back. To do this, we divide the total cost of the project by the profit at each price-point.</p> <p>Our game cost $1,400,000 to build and (minimally) market, so to break-even we need to sell the following units at each price-point:</p> <p><strong>Retail $19 = Break even units 155,000</strong><br> <strong>Retail $29 = Break even units 75,000</strong><br> <strong>Retail $39 = Break even units 56,000</strong></p> <p>Hmmmm&hellip;.</p> <p>There is quite a jump from the $19 to the $29 price point. It will be tempting to try and sell it at $29, but with a game like this, we might need the lower price-point. But the lower price point could leave some buyers with the feeling that the game isn&rsquo;t worth the full price, and that somethings wrong with it. Game players are always screaming about wanting lower prices, but the truth is, if you lower the price too far, people stop buying it (unless it&rsquo;s a high profile game).</p> <p>155,000 or 75,000 units doesn&rsquo;t sound like a lot, but our publisher is not in business to break-even, we&rsquo;re probably going to need to sell two or three times that. Not every game we do is going to be a success, no matter how hard we try and how good we are. If we&rsquo;re going to push some creative boundaries, we&rsquo;re going to need to experiment, and that&rsquo;s going to mean some failures. We need to make a lot more then just break-even. A publisher or investor is going to look at spending a dollar on this verses spending a dollar on something else. This has to be a compelling option for them. Break-even is not compelling.</p> <p><a href="http://people.freenet.de/lucasfangames/maniac/games_eng.htm">Maniac Mansion Deluxe</a>, the fan remake of Maniac Mansion, racked up over 200,000 downloads in a very short time, while it was free, it does show a strong interest. How much of that was just &ldquo;nostalgia&rdquo; could be an important questions to answer. How many of those people would spend $19 or $29 for a new game is another question I don&rsquo;t have the answer to.</p> <p>Now let&rsquo;s look at online distribution, after all, we are living in the futuristic year of 2004.</p> <h1 id="online-distribution">Online Distribution</h1> <p>Online has one big advantage: It cuts out the middle-man, allowing us to get the full retail price of the game. Online also has one big disadvantage: it cuts out the middle-man. Having the game sit on a store shelf gets it in front of people eyes, it also gives it this sense of legitimacy, like a hardcover book does in the book publishing business. The perception of shelf presence will vanish at some point, but it is a reality today. There is a good reason why games like EverQuest are sold in stores and not exclusively online.</p> <p>If we only have an online presence, we need to do something to drive people to our website. That&rsquo;s going to require more marketing, promotions, tie-ins, etc. We can count on the buzz of our game being the first 2D point-n-click in fifty-years, but that is only in certain circles. We need to reach beyond that. It&rsquo;s also the kind of buzz that dies quickly. If we plan on doing more than one game, we need some kind of sustainable way to get people back to our site.</p> <p>The issues surrounding marketing are not unique to online sales, just complicated by it being new and different.</p> <p>Online distribution is also not free. Bandwidth costs money. If we plan on the game being successful, we need servers and bandwidth able to handle huge simultaneous downloads. With all the animation, voice, music, graft, etc, we could approach 1GB. Nothing will kill our sales faster than willing customers that are unable to download the game at a reasonable speed. Research I did several years ago into online distribution showed that, allowing for peak usage, bandwidth cost could run $5 per download. A lot might have changed since then. It was at the peak of the dot.com thingy.</p> <p>No doubt, someone will bring up BitTorrent and other P2P systems as a method of distribution. Assuming that our purchasing model can deal with it, it is a good alternate way to get the game to people, but does it really hit all the people we want to be buying the game? If we&rsquo;re trying to hit a broader audience, we need a fast, simple and direct way for them to download our game.</p> <p>System like Steam and even custom BitTorrent clients are very real possibilities, but they are risky and untested and will cost is time and money. Publishers and investors don&rsquo;t like risk. They are already taking a big one on the game, the fewer risky parts to our plan the better.</p> <p>With online distribution there are also issues with accepting credit cards, dealing with returns, unhappy customers, copy protection, unlock keys, graft, etc, etc, etc.</p> <p>We will also have to overcome the &ldquo;everything is free on the internet&rdquo; mentality. Many companies have - so it&rsquo;s far from insurmountable - but it is an issue that needs to be considered. Piracy is also a huge problem. When you have a main-stream product, be it a game, music or a movie, you are some-what insulated from piracy because of high volume. When you&rsquo;re dealing with a nitch market - like a 2D point-n-click would be - you are much more susceptible to the negative effects of piracy due to the smaller market and lower volume.</p> <p>Finding an online publisher would solve some of these problems (or shift them to someone more equipped to deal with them), but I have yet to find a online publisher willing to spend the kind of money we&rsquo;re needing for an online distributed game of this scale. They are very much in the mindset of small webish games for the casual gamer. In contrast, conventional publishers are used to spending larger sums of money on games.</p> <p>Online distribution seems great until you start to really look into it. It&rsquo;s rife with issues, but shouldn&rsquo;t be discounted. At the end of the day, we&rsquo;d probably settle on some of both.</p> <p>The last issue is developer royalties.</p> <h1 id="developer-royalties">Developer Royalties</h1> <p>If we go with a publisher, we are going to get a cut of the wholesale price. We&rsquo;ll assume a rate of 20%. It is also typical for the developer to recoup the development costs before any real money is paid out. What is recoupment and how is it calculated?</p> <p>As a developer, we are &ldquo;loaned&rdquo; the money to build the game, in our case $950,000 (most publishers do not bill the developer for marketing, some do). We need to pay that money back to the publisher. When the game is sold, we get our 20% of the Wholesale price, but we have to pay back our loan, so we won&rsquo;t get any money until our royalties have reached $950,000.</p> <p>To calculate the developers break-even, we take the $950,000 we &ldquo;borrowed&rdquo; and divide that by 20% of the wholesale price. So for the developer to start making money, the game needs to sell the following units at each price point:</p> <p><strong>Retail $19 = Developer break even units 320,000</strong><br> <strong>Retail $29 = Developer break even units 220,000</strong><br> <strong>Retail $39 = Developer break even units 160,000</strong></p> <p>Double Hmmmm&hellip;.</p> <p>Whether the whole developer royalty model is fair or not is not the point of this article, so let&rsquo;s not get side-tracked on that. It&rsquo;s the way the industry works, and we&rsquo;ll have to live with it until the armed revolution of 2007. As the date approaches, keep checking this site for instructions.</p> <h2 id="some-final-thoughts">Some final thoughts</h2> <ul> <li>Remember, this thought-experiment was about building a modern 2D adventure game in today&rsquo;s market. There are a lot of other styles of games that can be made cheaper. Stay focused.</li> <li>There are a lot of issues and sub-issues I have not talked about, or only briefly touch upon, so this should not be used as anything other than a conversation starter.</li> <li>There are an endless number of cheap ways to do marketing and ways to cut development cost. If this was a real business plan, all those would be thoroughly thought through.</li> <li>There are a lot of alternate distribution models that we could explore beyond the traditional retail sales and emerging online. We could do it as shareware, advertising funded, bundled with cereal, etc. The list is endless, but they are also risky and unlikely to get us the funding to build the game. For this thought experiment, we&rsquo;re trying to build a viable business likely to get funding from an investor or publisher.</li> <li>Anyone attempting this is going to have to find a publisher (or become a publisher) that is willing to put out several games before evaluating the success of the venture. It&rsquo;s going to take a few really good games before this catches on. If our publisher (or we) gives up after an initial failure, it will never succeed. A longer term vision is needed.</li> <li>We need to expand the audience beyond the current 2D adventure fan base. While this is a large and dedicated group, it needs to be larger and growing. We need to appeal (with the game and the marketing) to a new set of people who are not exclusively interested in high-testosterone 3D gaming. Games like Grim Fandango had a very wide appeal, but were miss-marketed and abandoned to quickly.</li> <li>We should build a Mac and possibly a Linux version of the game. We need every channel we can get. Linux poses some problems (perceptionally and technically), but they are worth solving. I have not thought a lot about the Linux issues, they might be simple.</li> <li>We&rsquo;re going to need to come up with truly innovative stories and modern game play. We can&rsquo;t just mimic the adventure games of the past. We have some huge graphic perceptions to overcome, at least as a first impression. Everyone talks about game-play being king. We would need to prove it.</li> <li>We should think about a licensed property, but the economics of it probably don&rsquo;t make any sense. And it&rsquo;s not as much fun.</li> <li>There is not going to be a lot of profit on the back-end. While we do need to build a viable business, in the end of the day, it&rsquo;s got to be something we love, because it&rsquo;s not going to be much more than a paycheck.</li> </ul> <p>Fun to think about&hellip;</p> <p>Now everyone back to the salt-mines&hellip;</p> On Stranger Tides https://grumpygamer.com/on_stranger_tides/ Sun, 19 Sep 2004 00:00:00 +0000 https://grumpygamer.com/on_stranger_tides/ <p>I was sorting through some boxes today and I came across my copy of Tim Power&rsquo;s On Stranger Tides, which I read in the late 80&rsquo;s and was the inspiration for Monkey Island. Some people believe the inspiration for Monkey Island came from the Pirates of the Caribbean ride - probably because I said it several times during interviews - but that was really just for the ambiance. If you read this book you can really see where Guybrush and LeChuck were -plagiarized- derived from, plus the heavy influence of voodoo in the game.</p> <p>When I am in the early stages of designing, I&rsquo;ll read a lot of books, listen to a lot of music and watch a lot of movies. I&rsquo;ll pick up little ideas here and there. We in the business call it &lsquo;stealing&rsquo;.</p> <p>This book really got me interested in pirates as a theme. Fantasy was all the rage back then and I wasn&rsquo;t keen on doing another D&amp;Dish game, but pirates had a lot of what made fantasy interesting without being fantasy.</p> <p>After some early failed starts, I shelved the idea and began work on the Indiana Jones and the Last Crusade adventure game. When it was finished I went back to work on Monkey Island and re-thought much of the design and story. Although &rsquo;re-thought&rsquo; is a strong word since I didn&rsquo;t have much to begin with.</p> <p>The bulk of the motivation for Guybrush&rsquo;s character being so naive stemmed from wanting him to know as little about the world as the player. One huge problem adventure games had/have - Police Quest being the most frustrating example for me back then - was the character was supposed to know all this information that the player didn&rsquo;t. I hated playing games like Police Quest where I get fired for not signing out my gun (or such and such craziness), when I was supposed to be a cop. I should know that stuff? Shouldn&rsquo;t I?</p> <p>I figured if Guybrush didn&rsquo;t know anything, then the player wouldn&rsquo;t be frustrated when they didn&rsquo;t know how to do basic pirate tasks. Which was the whole genesis for the opening line:</p> <p>&ldquo;Hi, my name is Guybrush Threepwood and I want to be a pirate&rdquo;</p> <p>It told the player that Guybrush didn&rsquo;t know any more then they did, and they were going to learn together.</p> <p>The recently played Hitman had this problem. I am supposed to be this kick-ass hitman - Agent 47 - who is, as stated on the box: &ldquo;brutally efficient&rdquo;. But I wasn&rsquo;t. I sucked. And badly.</p> <p>Not that I&rsquo;m recommending that Hitman starts out with:</p> <p>&ldquo;Hi, my name is Agent 47 and I want to be a hitman&rdquo;</p> <p>It&rsquo;s trick that works a few times, but it can&rsquo;t become a whole genre of games. Guybrush also took this to the extreme in that he was also kind of a fool. It works well for comedies, but not for a game trying to be more serious.</p> <p>I don&rsquo;t mean to pick on Hitman. The box is just on my desk. I recently bought an Xbox and have been wearing out my Blockbuster card and this problem is prevalent in a lot of games.</p> <p>Rockstar&rsquo;s Red Dead Revolver got this part right. You play the son of of famous gunslinger ( I might have this wrong, I skipped the long cut-scenes) who is avenging his father&rsquo;s death. The main character starts out inexperienced and his skill grows with the players.</p> <p>I am a very strong believer that games need to break out of the &lsquo;hard-core gamer&rsquo; only mold and attract a larger audience of &lsquo;soft-core gamers&rsquo; if we&rsquo;re truly going to grow the appeal. To do this, we need games that are more accessible and friendly to someone who isn&rsquo;t willing to beat their head against the game for five hours just to figure out how to be competent (i.e 14 year-old boys, or people who still think like 14 year-old boys).</p> <p>These games need to slowly bring people into the world, the story and the game-play.</p> <p>People have to feel like they are succeeding every step of the way.</p> Why Adventure Games Suck https://grumpygamer.com/why_adventure_games_suck/ Wed, 12 May 2004 00:00:00 +0000 https://grumpygamer.com/why_adventure_games_suck/ <img loading="lazy" src="https://images-grumpygamer.nyc3.digitaloceanspaces.com/IMG_1280.jpg"> <p>I wrote this back in 1989 while I was designing Monkey Island. It is now the futuristic year of 2004 and we are all driving around in flying cars and wearing sliver jumps suits. A lot has changed for Adventure Games as well, but unfortunately not in the right direction.</p> <p>Adventure Games are officially dead. I think this <a href="http://www.oldmanmurray.com/features/77.html">article from Old Man Murray</a> (written in 2002) sums it up pretty well. Make sure you read the whole thing, it starts out slow, but his conclusion could not be more true.</p> <p>Some people will tell you that Adventure Games aren&rsquo;t really dead, they have just morphed into other forms, or that other genres have absorbed Adventure Games. If this is true, they&rsquo;ve done a pretty bad job of it.</p> <p>I wrote this article to help fellow Adventure Games designers back in 1989, but the RPG, FPS and RTS designers of 2004 could use a little of the self-proclaimed wisdom of the past.</p> <p>As I read this some 15 years later, I&rsquo;m not sure I agree with everything in here anymore. I learned a lot from Monkey Island 1 and 2, plus countless kids Adventure Games at Humongous Entertainment. At some point in the near future, I will do an annotated version of this article, talking about things that have changed, or were just plains wrong. But in the meantime, there is something interesting on TV right now.</p> <p>I would also like to thank <a href="http://electriceggplant.com">David Fox</a> for passively-aggressively forcing me to post this.</p> <h2 id="why-adventure-games-suck-and-what-we-can-do-about-it">Why Adventure Games Suck And What We Can Do About It</h2> <p>Copyright 1989, Ron Gilbert</p> <p>Of all the different types of games, the ones I most enjoy playing are adventure/story games. It is no surprise that this is also the genre for which I design. I enjoy games in which the pace is slow and the reward is for thinking and figuring, rather than quick reflexes. The element that brings adventure games to life for me is the stories around which they are woven. When done right, it is a form of storytelling that can be engrossing in a way that only interaction can bring. The key here is &ldquo;done right&rdquo;, which it seldom is.</p> <p>One of my pet peeves is the recent trend to call story games &ldquo;Interactive Movies.&rdquo; They are interactive, but they are not movies. The fact that people want to call them movies just points out how lost we are. What we need to do is to establish a genre for our works that we can call our own. Movies came from stage plays, but the references are long lost and movies have come into their own. The same thing needs to happen to story games.</p> <p>The desire to call them Interactive Movies comes from a couple of places. The first is Marketing. It is the goal of narrow-minded marketing to place everything into a category so it will be recognizable. These people feel that the closest things to story games are movies. The other source for the name Interactive Movie is what I call &ldquo;Hollywood Envy.&rdquo; A great number of people in this business secretly (and not so secretly) wish they were making movies, not writing video games. Knock it off! If you really want to make movies, then go to film school and leave the game designing to people who want to make games.</p> <p>Story games are not movies, but the two forms do share a great deal. It is not fair to completely ignore movies. We can learn a lot from them about telling stories in a visual medium. However, it is important to realize that there are many more differences than similarities. We have to choose what to borrow and what to discover for ourselves.</p> <p>The single biggest difference is interaction. You can&rsquo;t interact with a movie. You just sit in the theater and watch it. In a story game, the player is given the freedom to explore the story. But the player doesn&rsquo;t always do what the designer intended, and this causes problems. It is hard to create a cohesive plot when you have no idea what part of the story the player will trip over next. This problem calls for a special kind of storytelling, and we have just begun to scratch the surface of this art form.</p> <p>There is a state of mind called &ldquo;suspension of disbelief&rdquo;. When you are watching a movie, or reading a good book, your mind falls into this state. It occurs when you are pulled so completely into the story that you no longer realize you are in a movie theater or sitting at your couch, reading. When the story starts to drag, or the plots begins to fall apart, the suspension of disbelief is lost. You soon start looking around the theater, noticing the people in front of you or the green exit sign. One way I judge a movie is by the number of times I realized I was in a theater.</p> <p>The same is true of story games (as well as almost all other kinds of games). As the story builds, we are pulled into the game and leave the real world behind. As designers, our job is to keep people in this state for as long as possible. Every time the player has to restore a saved game, or pound his head on the desk in frustration, the suspension of disbelief is gone. At this time he is most likely to shut off the computer and go watch TV, at which point we all have lost.</p> <p>I have created a set of rules of thumb that will minimize the loss of suspension of disbelief. As with any set of rules, there are always exceptions. In my designs, I hope that if these rules cannot be followed, it is for artistic reasons and not because I am too lazy to do it right. In Maniac Mansion, in one place or another, I violated all but one of these rules. Some of them were violated by design, others by sloppiness. If I could redesign Maniac Mansion, all the violations would be removed and I&rsquo;d have a much better game.</p> <p>Some people say that following these rules makes the games too easy to play. I disagree. What makes most games tough to play is that the puzzles are arbitrary and unconnected. Most are solved by chance or repetitive sessions of typing &ldquo;light candle with match&rdquo;, &ldquo;light paper with match&rdquo;, &ldquo;light rug with match&rdquo;, until something happens. This is not tough game play, this is masturbation. I played one game that required the player to drop a bubble gum wrapper in a room in order to get a trap door to open (object names have been changed to protect the guilty). What is the reasoning? There is none. It&rsquo;s an advanced puzzle, I was told.</p> <p>Here, then, are Gilbert&rsquo;s Rules of Thumb:</p> <h2 id="end-objective-needs-to-be-clear">End objective needs to be clear</h2> <p>It&rsquo;s OK if the objective changes in mid-game, but at the beginning the player should have a clear vision as to what he or she is trying to accomplish. Nothing is more frustrating than wandering around wondering what you should be doing and if what you have been doing is going to get you anywhere. Situations where not knowing what&rsquo;s going on can be fun and an integral part of the game, but this is rare and difficult to pull off.</p> <h2 id="sub-goals-need-to-be-obvious">Sub-goals need to be obvious</h2> <p>Most good adventure games are broken up into many sub-goals. Letting the player know at least the first sub-goal is essential in hooking them. If the main goal is to rescue the prince, and the player is trapped on an island at the beginning of the game, have another character in the story tell them the first step: get off the island. This is just good storytelling. Ben Kenobi pretty much laid out Luke&rsquo;s whole journey in the first twenty minutes of Star Wars. This provided a way for the audience to follow the progress of the main character. For someone not used to the repetitive head-banging of adventure games, this simple clue can mean the difference between finishing the game and giving up after the first hour. It&rsquo;s very easy when designing to become blind to what the player doesn&rsquo;t know about your story.</p> <h2 id="live-and-learn">Live and learn</h2> <p>As a rule, adventure games should be able to be played from beginning to end without &ldquo;dying&rdquo; or saving the game if the player is very careful and very observant. It is bad design to put puzzles and situations into a game that require a player to die in order to learn what not to do next time. This is not to say that all death situations should be designed out. Danger is inherent in drama, but danger should be survivable if the player is clever.</p> <p>As an exercise, take one complete path through a story game and then tell it to someone else, as if it were a standard story. If you find places where the main character could not have known a piece of information that was used (the character who learned it died in a previous game), then there is a hole in the plot.</p> <h2 id="backwards-puzzles">Backwards Puzzles</h2> <p>The backwards puzzle is probably the one thing that bugs me more than anything else about adventure games. I have created my share of them; and as with most design flaws, it&rsquo;s easier to leave them in than to redesign them. The backwards puzzle occurs when the solution is found before the problem. Ideally, the crevice should be found before the rope that allows the player to descend. What this does in the player&rsquo;s mind is set up a challenge. He knows he need to get down the crevice, but there is no route. Now the player has a task in mind as he continues to search. When a rope is spotted, a light goes on in his head and the puzzle falls into place. For a player, when the design works, there is nothing like that experience.</p> <h2 id="i-forgot-to-pick-it-up">I forgot to pick it up</h2> <p>This is really part of the backwards puzzle rule, but in the worst way. Never require a player to pick up an item that is used later in the game if she can&rsquo;t go back and get it when it is needed. It is very frustrating to learn that a seemingly insignificant object is needed, and the only way to get it is to start over or go back to a saved game. From the player&rsquo;s point of view, there was no reason for picking it up in the first place. Some designers have actually defended this practice by saying that, &ldquo;adventure games players know to pick up everything.&rdquo; This is a cop-out. If the jar of water needs to be used on the spaceship and it can only be found on the planet, create a use for it on the planet that guarantees it will be picked up. If the time between the two uses is long enough, you can be almost guaranteed that the player forgot she even had the object.</p> <p>The other way around this problem is to give the player hints about what she might need to pick up. If the aliens on the planet suggest that the player find water before returning to the ship, and the player ignores this advice, then failure is her own fault.</p> <h2 id="puzzles-should-advance-the-story">Puzzles should advance the story</h2> <p>There is nothing more frustrating than solving pointless puzzle after pointless puzzle. Each puzzle solved should bring the player closer to understanding the story and game. It should be somewhat clear how solving this puzzle brings the player closer to the immediate goal. What a waste of time and energy for the designer and player if all the puzzle does is slow the progress of the game.</p> <h2 id="real-time-is-bad-drama">Real time is bad drama</h2> <p>One of the most important keys to drama is timing. Anyone who has designed a story game knows that the player rarely does anything at the right time or in the right order. If we let the game run on a clock that is independent from the player&rsquo;s actions, we are going to be guaranteed that few things will happen with dramatic timing. When Indiana Jones rolled under the closing stone door and grabbed his hat just in time, it sent a chill and a cheer through everyone in the audience. If that scene had been done in a standard adventure game, the player would have been killed the first four times he tried to make it under the door. The next six times the player would have been too late to grab the hat. Is this good drama? Not likely. The key is to use Hollywood time, not real time. Give the player some slack when doing time-based puzzles. Try to watch for intent. If the player is working towards the solution and almost ready to complete it, wait. Wait until the hat is grabbed, then slam the door down. The player thinks they &ldquo;just made it&rdquo; and consequently a much greater number of players get the rush and excitement. When designing time puzzles I like to divide the time into three categories. 10% of the players will do the puzzle so fast and efficiently that they will finish with time to spare. Another 10% will take too much time and fail, which leaves 80% of the people to brush through in the nick of time.</p> <h2 id="incremental-reward">Incremental reward</h2> <p>The player needs to know that she is achieving. The fastest way to turn a player off is to let the game drag on with no advancement. This is especially true for people who are playing adventure games for the first time. In graphics adventures the reward often comes in the form of seeing new areas of the game. New graphics and characters are often all that is needed to keep people playing. Of course, if we are trying to tell a story, then revealing new plot elements and twists can be of equal or greater value.</p> <h2 id="arbitrary-puzzles">Arbitrary puzzles</h2> <p>Puzzles and their solutions need to make sense. They don&rsquo;t have to be obvious, just make sense. The best reaction after solving a tough puzzle should be, &ldquo;Of course, why didn&rsquo;t I think of that sooner!&rdquo; The worst, and most often heard after being told the solution is, &ldquo;I never would have gotten that!&rdquo; If the solution can only be reached by trial and error or plain luck, it&rsquo;s a bad puzzle.</p> <h2 id="reward-intent">Reward Intent</h2> <p>The object of these games is to have fun. Figure out what the player is trying to do. If it is what the game wants, then help the player along and let it happen. The most common place this fails is in playing a meta-game called &ldquo;second guess the parser.&rdquo; If there is an object on the screen that looks like a box, but the parser is waiting for it to be called a mailbox, the player is going to spend a lot of time trying to get the game to do a task that should be transparent. In parser-driven games, the key is to have lots of synonyms for objects. If the game is a graphics adventure, check proximity of the player&rsquo;s character. If the player is standing right next to something, chances are they are trying to manipulate it. If you give the player the benefit of the doubt, the game will be right more than wrong. On one occasion, I don&rsquo;t know how much time I spent trying to tie a string on the end of a stick. I finally gave up, not knowing if I was wording the sentence wrong or if it was not part of the design. As it turned out, I was wording it wrong.</p> <h2 id="unconnected-events">Unconnected events</h2> <p>In order to pace events, some games lock out sections until certain events have happened. There is nothing wrong with this, it is almost a necessity. The problem comes when the event that opens the new section of the world is unconnected. If the designer wants to make sure that six objects have been picked up before opening a secret door, make sure that there is a reason why those six objects would affect the door. If a player has only picked up five of the objects and is waiting for the door to open (or worse yet, trying to find a way to open the door), the act of getting the flashlight is not going to make any sense in relation to the door opening.</p> <h2 id="give-the-player-options">Give the player options</h2> <p>A lot of story games employ a technique that can best be described as caging the player. This occurs when the player is required to solve a small set of puzzles in order to advance to the next section of the game, at which point she is presented with another small set of puzzles. Once these puzzles are solved, in a seemingly endless series of cages, the player enters the next section. This can be particularly frustrating if the player is unable to solve a particular puzzle. The areas to explore tend to be small, so the only activity is walking around trying to find the one solution out.</p> <p>Try to imagine this type of puzzle as a cage the player is caught in, and the only way out is to find the key. Once the key is found, the player finds herself in another cage. A better way to approach designing this is to think of the player as outside the cages, and the puzzles as locked up within. In this model, the player has a lot more options about what to do next. She can select from a wide variety of cages to open. If the solution to one puzzle stumps her, she can go on to another, thus increasing the amount of useful activity going on.</p> <p>Of course, you will want some puzzles that lock out areas of the game, but the areas should be fairly large and interesting unto themselves. A good indicator of the cage syndrome is how linear the game is. If the plot follows a very strict line, chances are the designer is caging the player along the path. It&rsquo;s not easy to uncage a game, it requires some careful attention to the plot as seen from players coming at the story from different directions. The easiest way is to create different interactions for a given situation depending on the order encountered.</p> <h2 id="conclusion">Conclusion</h2> <p>If I could change the world, there are a few things I would do, and quite frankly none of them have anything to do with computers or games. But since this article is about games?</p> <p>The first thing I&rsquo;d do is get rid of save games. If there have to be save games, I would use them only when it was time to quit playing until the next day. Save games should not be a part of game play. This leads to sloppy design. As a challenge, think about how you would design a game differently if there were no save games. If you ever have the pleasure of watching a non-gameplayer playing an adventure game you will notice they treat save game very differently then the experienced user. Some start using it as a defense mechanism only after being slapped in the face by the game a few times, the rest just stop playing.</p> <p>The second thing I&rsquo;d change would be the price. For between forty and fifty dollars a game, people expect a lot of play for their money. This rarely leads to huge, deep games, but rather time-wasting puzzles and mazes. If the designer ever thinks the game might be too short, he throws in another puzzle or two. These also tend to be the worst thought-out and most painful to solve. If I could have my way, I&rsquo;d design games that were meant to be played in four to five hours. The games would be of the same scope that I currently design, I&rsquo;d just remove the silly time-wasting puzzles and take the player for an intense ride. The experience they would leave with would be much more entertaining and a lot less frustrating. The games would still be challenging, but not at the expense of the players patience.</p> <p>If any type of game is going to bridge the gap between games and storytelling, it is most likely going to be adventure games. They will become less puzzle solving and more story telling, it is the blueprint the future will be made from. The thing we cannot forget is that we are here to entertain, and for most people, entertainment does not consist of nights and weekends filled with frustration. The average American spends most of the day failing at the office, the last thing he wants to do is come home and fail while trying to relax and be entertained.</p>