My Foundry Setup

I have been asked about my Foundry setup and what I did to make everything so smooth, easy, and cool. I decided to not do a video about it because most of the modules I use already do a very fine job explaining themselves and Encounter Library already has an extensive set of tutorial videos.
So, here are the modules I use with a short explanation of what exactly they do.


Automated Julie & Ben’s Animated Assets: Basically, Julie & Ben make animated assets for various uses but setting it up to look cool in game is kind of a hassle. That’s where Automated Animations come in. With almost no configuration, it uses those cool animations when you attack, cast spells or anything else automatically.


The Furnace: Adds a few nice tidbits which, the nicest of, I think is the Split Journal option. You just select a journal entry and then split it based on headlines. This allows you, if you use D&D Beyond, for example, to just copy the entire text of a chapter, go over it to make sure headlines are straight and then, with a click of a button, create individual entries for each room, which you can drag into the map.

And when you do that, use…

Automatic Journal Icon Numbers: Which creates custom journal notes icons based on the title of your entry. So toss away all those custom marker you specifically made.

Example of assorted pins on a map


Bar Brawl: Allows you to use more bars on your token. A lot more. About as much as you want. You can tell the bars to access any data field on the linked character sheet, change colors, set up what data they display, where they’re located, etc.

Bar Brawl


Characters Actions List Compact D&D Beyond Character Sheet: The Actions List is a library of sorts that generates the Actions component similar to the Actions tab in D&D Beyond’s character sheet. This allows the Compact D&D Beyond Character Sheet to modify the presentation of character data to look more like how it does in D&D Beyond. I use this because my players are very familiar with D&D Beyond and this helps them get used to the system.


Chat Images: This is a really cool module. It allows you to drop images in chat, drag them in, paste in, load from URL, and even, that’s the real cool part, click on them to force show them to everyone full screen.

It happens to me a lot that I just want to share a snippet of something to my players and this allows me to bypass difficult uploading or going to another program to send it. It’s all quick and easy.

 


Combat Numbers: This is just a cute little thing that shows computer-game-like damage/healing numbers on tokens when you change their HP.

preview2


Combat Utility Belt: Explaining everything that CUB does will take an article of itself. I mostly use it to reroll initiative every round, for enhanced conditions, and for tracking concentration.


Conditional Visibility: Adds variable sight options for tokens (Such as Blindsight and Tremorsense) and it also adds specialty conditions you can attach to tokens to represent their visibility, up to a point that you can change a token to stealth, it’ll roll the check, and will then compare to other tokens’ passive score and only show it to them if they should see the hidden token.


Crash’s Automatic Blind Rolls: This module allows you to set which skill or ability rolls will automatically roll blind. Want to allow your players to roll their own Insight and Deception but not see the result beyond what you tell them, this is what you need.


D&D Beyond Importer: This is what, for me, is the lynchpin of moving from Roll20 to Foundry. I have all my content on D&D Beyond and getting it on Roll20 is a chore. But with this, a few clicks, and a few minutes, and all my DDB character and monster content is in Foundry.

bulk-spell-import


DF Curvy Walls: Drawing walls in Foundry is about as much of a hassle as anywhere else. It takes work. Curvy Walls makes all that easier. First of all, it allows you to draw curves with ease.

Curvy Walls Banner

And it even makes drawing simple rectangles quick and easy.

df-curvy-walls-rectangle


DF Settings Clarity: Basic Foundry QoL mod. Mostly because it allows you to search the module settings which is, when you get to as many as mine, quite useful.


Drag Ruler: Changes the regular movement method into just dragging and dropping and also adds a colored measurement, based on the character’s speed, that tells you how far you can go.


Terrain Layer & Terrain Ruler: Terrain Layer allows you to mark certain areas on the map to be difficult terrain and Terrain Ruler interfaces that and Drag Ruler to take that into account when you measure your movement.

A ruler measuring distance including difficult terrain


Dynamic Active Effects: This is another one of the big modules that make moving to Foundry worth while and as such, it is a bit complicated. What it does is add another parallel system of effects on items and characters. And you can create effects to modify AC, damage, movement, and pretty much any detail in the game. You want Mage Armor? Add an effect that overrides AC to be 13 + Dex. Want Rage? Add an effect that adds damage to all melee damage and adds advantage to all strength check. Then you can turn those on and off however you want.

And then, you add…

Active Auras: that allows you to have actual dynamic auras that transfer bonuses to other characters. For example, you can set up your Paladin with an aura that will dynamically give a bonus to saves to any token close enough.

ActiveAuras test2


Forien’s Quest Log: This is a cool little addition that adds a quest log to Foundry. You can manage which quests the party is following, who’s it for, who gave it to them, what are the objectives and what are the rewards. Also, you can keep GM notes.

Screenshot 2021-04-10 153316


Foundry Community Tables: This is just a compendium chuck-full of all kinds of random tables. If you can think of a random table, it’s probably in there. Check here before you roll your own.


FX Master: Adds various world special effects so that you can have rain and fog or scanlines.


Give Item to Another Player: Adds another button next to each item in the inventory, allowing players to give items to other players without the hassle.


GM Screen: Allows you to set up a pull up a screen of quick reference data, basically, a grid of journal entries you can see with a click

Demonstration of the GM Screen Grid with dnd5e content.


Hide GM Rolls: Just hides the underlying formula for GM rolls from players, when you want to roll in the open but not tell your players the NPC’s exact bonuses.


Layer Hotkeys: Allows you to switch between different layer with set hotkeys. It should allow you to also change the sub-tools under the layers but it’s not working for me.


Magic Items: Specific for D&D, this adds the Magic Item tab to each item, allowing you to attach spells and feats to item.


Midi-QoL: A lot of quality of life improvements that mostly make rolling for various things faster and easier.


Minimap: Gives guides and players another tool that shows a miniature version of the total map that you’re on. Very useful for players to plan.

Screenshot 2021-04-09 082050


Narrator Tools: Gives a couple of narrative tools to give your game some more feel. Marked differently in chat and on the screen itself, the text stands out. And you can even quick narrate from Journal Entries.

img


Parallaxia: Allows you to draw tiles that move.


Pointer and Pings: Gives you a simple but cool pinging tool.

pnp


Polyglot: Adds the ability to enter chat messages with different languages so only those who know them can read. Mostly useful for text games or books and scrolls that players find. Gets somewhat uncomfortable as a substitute for speech.

Guide's View

Guide’s View
Player's View

Player’s View


Quick Combat: Gives a few improvements to starting and stopping a combat encounter. It automatically starts a playlist and returns to the previous one, it can autoroll everyone or just NPCs, etc…


Quick Insert: Allows you to quick search and insert any entity to anywhere that accepts it. It is an absolute boon for game setup and character creation.


Quick Select Status: When you have a lot of possible conditions to set on actors (like I like it), you need this to make sense of everything. It makes the conditions list searchable so you spend less time looking for that specific condition by icon.


Shared Compendiums: Not really a module of itself but a set of instructions of how to create a module you can use to share compendiums between worlds. Very useful if you’re running multiple games and don’t want to create something more than once.


Simple Calendar: Adds a calendar to your game where you can write notes and track the game days. And it’s also configurable to several known fantasy calendars.Screenshot 2021-04-09 095139


Simple Dice Roller: In case you just want to roll some dice, this adds another tool that opens a quick rolling window.

Screenshot 2021-04-09 095313


Skill Customisation: Modifies the regular skills list in D&D 5E to allow you to change the ability, and add flat or formula bonuses.

Screenshot 2021-04-09 132545

Regular

Untitled

Customised


Smart Doors: Makes doors much more manageable by making them more visible, toggling between states, getting alerts and even synchronising door states.


Stairways: Are triggered teleporters you can use to connect different sections of the map by animation or by jump and you can even use them to connect different scenes so that your players can move between floors on their own.


Thandul’s Togglable Effects: Just a list of quick shortcuts for effects common in D&D. Just open the menu and select the effects. No need to enter formulas manually.


Token Action HUD: Basically makes having an open character sheet obsolete. Almost everything you need to use on a constant basis is now in a quick action menu that’s only there when you need it.


Token Attacher: Allows you to attach anything to any token, perfect for attaching that concentration spell’s template to the character that maintains it.


Token Auras: Moved from Roll20 to Foundry? Upset you don’t have the ability to just set colorful auras around your character? Well, now you can. This does nothing mechanically but if you want to always see the earth elemental’s tremorsense, this is great. No toggle for owner/everyone view, though.


Token HUD Wildcard: A small addition but worth it if you have a lot of token images and like to use Wildcards. Also, it’s the best way I know to represent shapeshifters in the game. This adds a little button to the token HUD that allows you to choose a different image for it.


Token Info Icons: Adds info icons to the Token HUD so you can quickly check things like a character’s Armor Class or Passive Perception. These are very customisable.


Token Magic FX: Adds a bunch of cool effects you can apply to templates to make them look better. Also, a few other modules rely on this.


Token Mold: Allows setting of global overrides for token fields. I mostly use it to randomise the names of NPCs so the players can decide targets specifically while also not have too much information when they see Minotaur 8.


Turn Marker: This just adds a colorful animated marker underneath the token whos turn this is. It’s not entirely necessary but I think it makes it easier to follow combat.

Screenshot 2021-04-10 143349


Wall Height: Adds the ability to set starting and ending height for walls so that flying or climbing PCs can look above them while not showing what’s behind them for characters on the ground.


Map Packs

These are just sources for high quality maps you can get through the Foundry Modules system.
Baileywiki Maps Pack
Dragonfire Maps
Caeora Pack
Moonlight Maps


Posted in Gaming, Role-Playing, Thinking Out Loud by with no comments yet.

קנאה במקום העבודה

אני חושב שמשכורות זה משהו שצריך להיות פומבי במקום העבודה. בדרך כלל, התגובה שאני מקבל היא שזה יגרום לאנשים לקנא. לדעתי, זה דבר טוב. כי רוב האנשים לא חושבים על זה אבל יש שני סוגים של קנאה. השפה העברית פשוט לא מכילה את המילים בשביל זה.

באנגלית, אפשר להבדיל בין Jealousy ל-Envy (למרות שגם דוברי אנגלית לרוב לא יתייחסו להבדל הזה). כשאומרים קנאה, רוב האנשים חושבים על Jealousy. זאת המחשבה שלמישהו לא צריך להיות משהו בגלל שלך אין אותו. זאת מחשבה מאוד שלילית ועוינת ואני מבין למה עדיף להימנע ממנה, במיוחד בין אנשים שאמורים לעבוד ביחד. אבל זאת הגישה הנמוכה והשלילית ואני מעדיף לנקוט בתער של האנלון. Envy היא הרצון גם להשיג משהו שלמישהו אחר יש. ואלא אם כן מדובר במשהו ייחודי (כמו בן זוג של מישהו), רוב הזמן לא מדובר בלקחת לאותו מישהו את מה שיש לו.

איך שאני רואה את זה, אם אני רואה שלמישהו יש משהו מגניב שאני אוהב, אני אחפש איפה אני גם יכול להשיג כזה. אם למישהו באותו תפקיד כמו שלי יש זכויות מסוימות או משכורת טובה יותר ממני, אני אבדוק מה אני יכול לעשות כדי שגם יגיע לי, אני ארצה להשתפר. ומה רע בזה? בכלל, מה רע בלשאול את הבוסים ישירות, “מה אני יכול לעשות כדי שיעריכו אותי יותר? מה המדדים פה? תפוקת קוד גבוהה יותר, יותר יוזמה, הצעות ייעול, הדרכה של חדשים? אני רק רוצה לדעת מה חשוב פה כדי לדעת איפה לרכז מאמצים.”

אז תזכרו להבדיל, קנאה (Jealousy) זה לא דבר טוב אבל קנאה (Envy) זה סבבה אם זה גורם לכם לרצות להשתפר בעצמכם ולא להוריד אנשים אחרים.


Posted in Humanity, Thinking Out Loud by with no comments yet.

How to Make a Unity Package (For the Unity Package Manager)

Let’s say you have a bunch of code you want to drag around with you to every new Unity project, or maybe just the next project you’re doing for the same company. Don’t just copy and paste the same directory over and over again forcing you to also copy changes and updates. Create a package instead!

Unity has switched over to a package model for a lot of the engine’s capabilities. And it also allows you to import non-Asset Store packages straight from GitHub or even locally. So how do you take what you have and make it an easily distributable package? Follow these steps.

  1. In your Project window, below all your regular files is a Packages folder. Right click on it and select Show in Explorer.
  2. In that Packages folder, create a new directory and name it however you like. This will be the root of your package.
    1. Do remember that the folder name can not contain spaces.
  3. Create a new “package.json” file.
    1. This page right here explains everything about the structure of the file.
    2. And here is an example file.
  4. Back in Unity, your new package should be visible with the name you gave it.
  5. Clicking on package file will open it in the Editor UI, allowing you to edit it more conveniently so you don’t have to go back to the JSON.
  6. In that Inspector window, you can also easily add Dependencies if your package requires it which is a much easier workflow than typing them out.
  7. After this basic set up, you’ll want to add your content, this link here will show you the folder and file structure required of a package.
    1. You need the package.json file.
    2. Adding a “README.md”, “CHANGELOG.md”, and “LICENSE.md” files is general practice and provides a better user experience.
    3. The “Editor” folder should contain your editor scripts.
    4. The “Runtime” folder should contain your runtime scripts.
    5. And you can add additional “Tests” and “Documentation~” under their respective folders.
      1. Under “Tests” you do have to add “Editor” and/or “Runtime” sub-folders depending on what you’re testing.
    6. You may also add additional folders and files as you wish.
  8. Just drop your scripts, assets, and whatever else you want from your current project into the correct folder in the package (Regular scripts into “Runtime”, editor scripts into “Editor”, and test scripts into “Tests”).
  9. Then, for every folder you have files in, right click it and select “Create\Assembly Definition”.
    1. It is recommended to name them in reverse web notation in a way that is easy to understand.
    2. For tests, you need to add a reference to your relevant assembly definition file (The runtime file for runtime tests and editor file for editor tests) and to the Unity TestRunner assemblies (Yes, both).
      1. Also, make sure that Editor is the only platform selected.
  10. That’s it, your done defining.
  11. If you move the package anywhere else for safe keeping, you can add it from the Package Manager by pressing the ‘+’ sign, selecting “Add from Disk” and finding your package.json file.
  12. But it is recommended that you upload the contents of your package (Not the folder itself but everything in it) to some Git repository and then you can always add it from Git and your users will be much happier for a constantly updated package.

Posted in Practice, Programming, Thinking Out Loud by with no comments yet.

Money or Calling?

I think there are two reasons you might want to do a job: money or calling.

That is, you either want the job because you feel it’s what you should do with your life, like it’s going to make the world a slightly better place, and it’s less like you have to do it and more like you should be doing it.

Then, you might want to do a job because you want the money. It could be that you need the money to survive or you want more money to improve your life or to be able to do more.

And those two are not mutually exclusive. And they are both ok.


Posted in Philosophy, Thinking Out Loud by with no comments yet.

Payment Structure

I’ve heard and read a lot recently about how companies structure their payments, which employees get what and how much should a CEO be paid. For one thing, I agree with California trying to enforce a maximum difference between a CEO’s salary and lowest paid employee. I don’t think it should be compared to the average salary but the median but it’s a good direction. I know that the community sharing type of structure isn’t for everyone but I like the idea of employees sharing in the benefits of a company like the way pirates divvy up treasure: everyone gets one part. Maybe team leaders get two or three parts. Higher management gets five or six parts. The chief officers might get eight or even ten parts. The point is, after you determine how many parts there are, you divide the revenue. This way, even the lowliest employee benefits when the company is doing better. The top brass earn the most because they do the hardest work, but every employee is invested — and rewarded — in the company being successful.


Posted in Humanity, Philosophy, Practice, Thinking Out Loud by with no comments yet.

Is Urbanisation Over?

With the pandemic on going, and large tech companies telling their employees to stay home for, possibly, the next year, and many realising that having an office to work out of is not a necessity, what I’m mostly thinking about is…
What are the odds the pandemic will just be ever present? Or, what if it will stick around long enough so that the general urbanisation of the planet over the past few decades will just stop and people will start spreading around so that we end up with small rural communities that are more spread out?

Posted in High-Tech, Humanity, Less Interesting News, Practice, Thinking Out Loud by with no comments yet.

Some Thoughts on Difficulty in Games

Idan Zeierman said this on The Last of Us Part II:

Translation: I don’t know what to say. Along with the first game, they are probably two of the best works of art I ever experienced. But they come in the form of tough survival horror games that take 30 hours to complete and contain a lot of zombies. It’s not an easy bar for experiencing them properly.

I replied:

Translation: On the one hand, that is the reason why a lot of people will never experience some of the greatest works of art ever made (because they’re games). On the other hand, these works won’t be the same if you don’t experience them for yourself.

This got me thinking about difficulty in games.

I think the subject of inclusion and exclusion through difficulty has been tread enough but I think it mostly referred to gamer culture. Some Dark Souls fans would like to think that the game won’t be the same unless it was brutally difficult. Now, you can say that easy for one player might still be brutally difficult for another, but we’re still assuming the same level of potential ability and game literacy. I’m not going to talk about the players who’ve seen Dark Souls, know about it, and it’s just not their jam and they prefer to play Candy Crush or Brawl Royale.

I’m talking about my mother.

Works of art are all about the creator trying to evoke a specific emotion or thought in the ones experiencing them. Dark Souls is not above evoking those emotions but its mechanics are about getting good. They’re about figuring out what makes monsters tick, how they move, how they act, finding weak points and exploiting them; they’re about the grueling process of being a weakling and becoming a hero. I don’t think my mother would be in to that.

But I think my mother might be into Portal, or Brothers, or Life is Strange. But she would never touch any of those because they’re games and “she doesn’t understand games” or “she’s not good at that”. And that’s bullshit. And it has to do with difficulty settings. I’m not saying that every game should have “Click Button to Progress” difficulty setting. Having mechanics to manage, obstacles to overcome by yourself, and decisions to make is part of the parcel of a game. But I do think that every game should have an “Experience” difficulty where it’s the easiest it can be without compromising the intention of the mechanics.

And I also think that every game should have ‘Hint’ button. Something that will remind you of important mechanics, remind you of your current goal, explain the challenge of the moment, remind you of the relevant information you already collected, and then maybe go into recommended strategies, and even the developer recommended course of action at the present moment.

Because, when I’m thinking about my mother, I would gladly give her Life is Strange (except for a couple of stressful or timing situations), and I would gladly give her Brothers (once she’s more experienced with a controller), but I would only give her Portal if I could make the last two levels easier for someone with almost zero game literacy who doesn’t have lightning reflexes and might also have trouble aiming. And, back to the original topic, I would never give her The Last of Us until the easiest difficulty setting was much easier. It doesn’t have to be a cake-walk, but it doesn’t have to be gruesome either.

And I also think Dark Souls could be made better. Don’t let up on the need to explore, to collect items, to decide where points go, to upgrade weapons, to find the right path, to calculate strategy, and definitely don’t let up on the need to study the bosses and to approach the battle tactically. But you can definitely make the mechanically intense moments less intense, slower, and you can definitely give the player more help when it comes to knowing what needs to be done and how.


Posted in Art, Gaming, Practice, Thinking Out Loud by with no comments yet.

Guides, not Game Masters

Dungeon Master has been used in the #dnd game since inception and is the most known title for the person actually orchestrating the game. It is definitely used in official settings by @Wizards_DND . However, it is quite exclusive, is easily misunderstood in “normie” society, and even an easy source for silly memes.
Different games have different unique names for the role — be it Space Master or Master of Ceremonies — but the general term has been shifted, or tried to shift, into Game Master.
I still find an issue with this name as Master is a very overbearing title. Even if you lose the connotation of a person completely in charge and in control of the game as opposed to another player whose character is the world, this implies much responsibility that is not necessarily the GM’s purview or singular domain.
In Hebrew, there is another word that is coming more and more into use and that is “Mancheh” (Hard Ch’) which is, roughly, translated as “Guide” (Roughly because it’s missing some of the attached cultural nuances).
This, I believe, is a better way of describing what that person actually does. They take part in the story in the same way everyone else does, they share the responsibility, but they are the guide. Like the Tour Guide, they know the world, the environments, the dangers, and the inhabitants better than the players but their job is to explain and show, not wrangle and Master. The Guide’s role is to respond when the players interact with the world, act on it or ask it questions.
I also believe this term will make the job feel less intimidating and more inviting to new guides who are afraid to be Game Master but could still be wonderful Guides.
Language is powerful and it affects thought. Let’s rethink our use of it and make the dungeon masters and game masters into Guides.


Posted in Gaming, Philosophy, Practice, Role-Playing, Thinking Out Loud by with no comments yet.

במשחקים Tropes עשרה

אז IGN פרסמו כתבה עם 10 ה-Tropes שצריך כבר להיפטר מהם. אני קצת מסכים ובעיקר לא מסכים.

1. אני לא מסכים שצריך להיפטר מהלוגים והפתקים לגמרי. אבל כן אפשר לשפר את ההגיוניות שלהם. דבר ראשון, אם זה קולי אז צריך להיות אפשר לנגן את זה ולהמשיך לשחק בלי שפס קול אחר יקטע את זה בהמשך. זה משהו ש-Subnautica עושה טוב. אפשר לנגן ולהמשיך. ואם יש עוד פס קול, הוא לרוב יחכה. ואם זה מסמכים אז זה צריך להיות מרוכז ולא מבולגן כאילו מישהו כתב יומן ואז פוצץ אותו לכל חדר אפשרי.

2. אני בכלל נגד cut-scenes שנועלות את השליטה כשאני בבירור הייתי עושה משהו אחר. זה בעיקר הציק לי ב-Rage 2. כשידעתי בדיוק מה איריס הולכת לעשות ורציתי לקטוע אותה באמצע אבל אי אפשר. אני לא מבין מה הבעיה. מעולם לא שיחקתם Half Life? זה יצא ב-98′. ושם, היית יכול להישאר להקשיב או ללכת. והיית יכול גם לירות במדענים.

3. הגרסה של באטמן ל-Detective Vision הייתה מפגרת. אני כמעט ולא זוכר את Arkham Asylum בצבעים נורמלים. וב-Arkham City ו-Knight הם ניסו לגמול אנשים מזה. אבל אין עם זה דבר רע באופן כללי. זה רק צריך להיות דומה ל-Mirror’s Edge, Deus Ex או Rage 2. הדברים לא באמת אדום בולט, צהוב בולט או ורוד בולט, אבל זאת דרך טובה להדגיש משהו שהדמות, או שהמכניקה של המשחק, יודעת ואנחנו לא בהכרח וזה מגשר את הפער יופי.

4. אני דווקא אוהב את הרעיון של המיני-משחקים האלו. אבל הם צריכים להיות רלבנטיים. למען האמת, רוב האלו של Spiderman היו גרועים. המיני-משחק של לפרוץ מכונות ב-Bioshock? זה פשוט Pipe Dream. אבל אם המשחק הוא משחק התגנבות וגניבה, ובשביל לפרוץ את המנעול צריך לסדר את השיניים בדיוק על ידי כמה כלים שצריך להחזיק יציב (בונוס נקודות עם עושים את זה עם בקרת תנועה ו/או במציאות מדומה), וזה נהיה יותר קל ככל שהמיומנות של הדמות עולה, זה נשמע נהדר. אם סתם בא לכם לדחוף עוד משחק סטודנטים שנה א’ לתוך ה-AAA שלכם בשביל להאריך את זמן המשחק, עזבו. פשוט גלגלו קוביה ברקע ותגידו לי מה יצא. כמו כן, עזבו אתכם ממרוצים במשחקים שאינם משחקי מרוצים. אף אחד אוהב את זה.

5. עם זה אני מאוד מסכים. בכל נקודה, במיוחד בתפריט בהתחלה, צריכה להיות אפשרות: ‘תפסיק ללמד אותי לשחק’. כי אולי אני חוזר למשחק מחדש, אולי אני מנסה לעשות Speedrun, אולי אני סתם אוהב לגלות הכל בעצמי. בנוסף לזה, בכל נקודה גם צריכה להיות אפשרות של: ‘תזכיר לי איך משחקים את זה ומה קרה עד עכשיו’. כי אני לא היחידי שחוזר למשחק אחרי שלושה חודשים ומנסה להמשיך במקום בו עזבתי.

6. פה אני גם מסכים. אם זה לא חלק חשוב במשחק והדמות לא אמורה להיות טובה בזה, בסדר, שטיפוס יהיה קשה (רק לא Getting Over It קשה). אבל אם זה חלק עיקרי והדמות אמורה להיות טובה בזה, זה צריך להיות מהיר ואלגנטי. אני מצפה שהנסיך הפרסי, לארה קרופט, ניית’ן דרייק ובמיוחד כל ג’דיי יהיו מאוד טובים בזה. פה אני דווקא חושב ש-Assassin’s Creed מצליח. כל עוד לא מדובר בטיפוס-קפיצה-סיבוב-35-מעלות-תפיסה-הנפה שצריך לעשות תוך 2.6 שניות, זה מאוד זורם. והבנתי שמ-Unity זה אפילו יותר טוב.

7. זה אני דווקא אוהב. זאת טקטיקה נהדרת ו-trope מצוין בכל מקום. רק, כמובן, צריך שהתמה של המשחק תתמוך בזה. אחד הדברים שדווקא מאוד אהבתי ב-Assassin’s Creed, עוד מהראשון, הוא שכל הדברים שהמתנקש צובר זה ציוד. הוא כבר יודע את כל הטריקים ויודע מה לעשות. הוא רק צריך את הציוד שלו. וכשלוקחים לו אותו (כי הוא לא התנהג יפה), הוא חוזר למשבצת אפס וצריך לאסוף הכל מההתחלה. מצד שני, כמו בסדרת ארקאהם, אם כבר יש את כל הציוד, אפשר להמשיך לשחק בלי להכריח להשיג את כולו מההתחלה.

8. אני דווקא אוהב Crafting. אני אוהב את החקירה של העולם ושל עץ האפשרויות ולגלות מה עוד אפשר לעשות. מצד שני, למה אני צריך לצאת ל-wiki חיצוני בשביל לדעת משהו? ולמה אני צריך לסדר את המרכיבים בצורה מסוימת בשביל לקבל את מה שאני רוצה. זה עוד משהו ש-Subnautica עושה מצוין, במיוחד אחרי שמתקינים את ה-mod של ה-autosorting: צריך לסרוק דברים כדי להיות מסוגל לייצר אותם ואז הם זמינים. חוזרים לבסיס עם חומרים, שמים אותם ב-Autosorter וה-Fabricator כבר שולף מכל מה שזמין בבסיס. רק צריך להגיד לו מה אני רוצה לייצר.

9. עם זה אני גם מסכים. כל דיאלוג או מונולוג דו-כיווני צריך להיות בר-דילוג. זאת בעיה שלי אם אני לא מקשיב ולא יודע דברים חשובים. וגם, תתייחסו למי שכבר ראה את כל זה ורק רוצה להגיע לאקשן. ובאותו הקשר, כל כפתור, כולל הכפתור לדלג, צריך להיות בר-כיוונון מהאפשרויות. ואף פעם על תניחו איך המשתמשים שלכם עושים דברים. אני כיוונתי את המקשים ב-Rage 2 אבל האופנועים עבדו עם מקשים ברירת מחדל אז לא יכולתי להשתמש בהם. Hob בכלל לא היה אפשר לכוון. המשחקים של Telltale היו מגניבים אבל כל פעם שניגשתי לאחד פחדתי מהמקשים שאי אפשר לכוון. זה כבר בלתי נסבל.

10. תחזוקה זה דווקא טוב. אם זאת מכניקה חשובה. זה שב-Death Stranding דברים כל הזמן מתפרקים זה חלק חשוב מהעולם. זה שבמשחק רומנטיקה צריך לעבוד על מערכות היחסים זה מאוד מתאים. זה שבמשחקי השרדות צריך לשים לב לבריאות, לאוכל ולמים, זה מאוד רלבנטי. ומצד שני, בהתאם, צריכה להיות אפשרות לא להתעסק בזה. עוד נקודה טובה ל-Subnautica בו אפשר לשחק עם כל המדדים כמו שהתכוונו או שאפשר להגיד, ‘לא בא לי כל הזמן לדאוג למים ולאוכל כי אני רוצה לחקור בחופשיות’ וזהו.

11. אני רוצה להוסיף עוד משהו שמאוד מציק לי ואני יודע שמציק לעוד אנשים: פעולה שדורשת החזקת כפתור. למה? מאיפה זה הגיע? למה זה טוב? נתקלתי בזה בכמה מקומות אבל זה בעיקר הפריע לי ב-No Man’s Sky. בשביל להרים משהו אני צריך להחזיק את הכפתור חצי שנייה? בשביל להיכנס לחללית צריך להחזיק את הכפתור? בשביל לסחור? בשביל להתקין טכנולוגיה? בשביל לייצר חומר חדש? אתם יודעים כמה חצאי שנייה כאלו היו ולכמה זה מצטבר כשמשחקים 3, 4, או יותר שעות? זה בזבוז זמן משווע. מילא בקשת אישור אם הולכים לעשות משהו דרסטי אבל החזקת הכפתור זה משהו מעצבן, מטומטם, that we need to disinvent.


Posted in Gaming, Less Interesting News, Practice, Thinking Out Loud by with comments disabled.

Temp Logs into Documentation

Here’s an idea I had while writing a server application I needed to test on a remote computer with limited debugging abilities…

I insert debug logs, temporary logs, before and/or after important sections of flow so I could see in the console what is going on and what is failing. But I wouldn’t want them there when the app rolls into production.

And then I thought, people hate writing in-line documentation but it’s quite important. And here I have all these debug logs explaining what is going on. So, instead of deleting them, comment them out. Then I have them for later, if I want, and they pretty much function like in-line documentation.

Win-Win!


Posted in IT, Life, Practice, Programming, Thinking Out Loud, Work by with comments disabled.