Blasto 6: Partners in Crime full transcript

Damn it, Blasto, I told you to bring in those vorcha alive for questioning.
This one didn’t have anything to ask them.
You blew up half a level of Zakera Ward.
It was an aesthetically displeasing habitat anyway.
You don’t get it, Kahje-Clan. Ever since they found eezo on the vorcha homeworld, the Council’s been trying to make nice. Bottom line, you can’t touch the vorcha. They’ve got diplomatic immunity.
Then this one will not attempt diplomacy.
You’re also getting a new partner.
Are you engaging with reproductive behavior with this one?
Unless you want your Spectre status revoked, you’re working in a joint operation with Bubin from C-Sec.
An elcor? You know this one works alone.
Look, I’ve had to talk them down from suspending you. I’ve gotten a pulmonary ulcer from dealing with this mess. I can’t even eat solid food!
You would benefit from shedding excess body mass, Chief.

Read More

Pracovní den programátora

Jak vypadá pracovní den programátora? To je otázka, kterou jsme já i další měli na střední škole, a měli jsme problémy si ji zodpovědět. Moje představa byla, že sedím v místnosti, sám a před počítám, a píšu řádek za řádkem kódu do Visual Studia, z něhož nakonec vyjde hotový program.

Ale to mi nestačilo. Jistě, programátor v práci píše kód, ale jak to přesně vypadá? Co vlastně dělá? Pracuje sám nebo s dalšími? Jak ví, co má programovat? 

Tyto otázky se pokusím zodpovědět v tomto článku. Moje informace pochází z mých vlastních zkušeností při programování v pozici zaměstnance, a také ze zkušeností mých kamarádů, kolegů a známých. 

Read More

Funny Oracle rulings

This is a collection of Magic: the Gathering card rulings on Gatherer, the official Magic card database. Because the database is also called “the Oracle card database”, these are Oracle rulings.

Usually, rulings clarify interactions between cards or edge cases, and these rulings often do so, but each of these rulings is special in that it contains a joke.

Have fun reading.

  • Rhythm of the Wild
    • If a creature enters the battlefield with two instances of riot, you may choose to have it get two +1/+1 counters, one +1/+1 counter and haste, or two instances of haste. Multiple instances of haste on the same creature are redundant, but we’re not going to tell the Gruul how to live their lives.

Read More

A formal grammar for Magic: the Gathering

I wrote an ANTLR4 formal grammar for Magic: the Gathering cards.

It turns this

A Magic: the Gathering card

Or, more specifically, it turns this

Reach
Undergrowth — When you cast this spell, reveal the top X cards of your library, where X is the number of creature cards in your graveyard. You may put a green permanent card with converted mana cost X or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order.

Into this:

You can try it out here: https://soothsilver.github.io/mtg-grammar/ and you can download the grammar and the source code from https://github.com/Soothsilver/mtg-grammar.

Read More

Rozbor slavnostních slibů Univerzity Karlovy

Na začátku a na konci studia na Univerzitě Karlově, včetně na Matematicko-fyzikální fakultě, kde jsme studoval já, studenti konají povinně sliby — na začátku slib imatrikulační a na konci slib promoční. Slib promoční se skládá, pokaždé v trochu jiné podobě, na konci bakálařského studia, na konci magisterského studia a na konci doktorského studia.

V tomto článku popisuji svoji interpretaci významu těchto slibů. Snažil jsem se dostat k nějaké oficiálnější nebo autoritativnější interpretaci slibů, a to komunikací s představiteli univerzity a hledáním v knihách. Něco jsem zjistil, ale zdaleka ne tolik, kolik bych chtěl. Jsem si celkem jistý, že někde ještě leží knihy, ve kterých je více materiálu, a že někde jsou lidé, kteří o tématu ví více. Buď jak buď, já se k nim nedostal. Nenašel jsem ani žádný rozbor slibů na internetu, proto jsem tedy vytvořil tento. Popisuje jen moji interpretaci, není to oficiální názor Univerzity.

Vynechám slib po doktorském studiu, protože k jeho úplnému pochopení tak, abych o něm mohl psát, bude pravděpodobně lépe nejprve studium absolvovat.

(Google dokument se stejným textem, pokud raději čtete tam)

Read More

“Chodička”

Když jsem byl menší, hrál jsem s bráchou hru “chodičku” s dřevěnými kostkami. Chodička funguje tak, že dva hráči pohybují jednotkami z dřevěných kostek po koberci a snaží se obsadit budovy. Budovy produkují jednotky, a jednotky hráčů proti sobě navzájem útočí. Jeden z hráčů hraje typicky za “nepřítele”, který “přichází”, tzn. nemá základnu, ale jeho jednotky se spawnují na okraji území, který “hráč” vidí.

Chodička je modelována částečně podle Dračího doupěte, ale hlavně podle počítačových real-time strategií jako Age of Empires a State of War.

Read More

Gamedev Technical Best Practices

When you develop, i.e. create, a video game, you may want to follow this checklist of best practices. This is less important than the actual content or gameplay of the game but these items apply to the majority of video games:

  1. Enemies don’t respawn automatically unless the player is informed. By default, except for JPRG games, the expectation is that there is a limited number of enemies. No matter your genre, you must be consisent: enemies either respawn everywhere or nowhere. If there’s a special area with respawn, you must inform the player (for example, the character could be repeating “I don’t think they’ll ever stop coming.”).
  2. When there’s a time limit, you must show an actual countdown timer on the screen. No matter how bad the situation looks, the default assumption is that you can leave the game on for hours away from keyboard and nothing bad will happen. The characters can keep repeating things like “We need to hurry.” or “There’s not much time left.”  but unless there’s an actual countdown timer in the HUD, you cannot punish a player for waiting.
  3. Mark all points of no return. In open world games, any points of no return must be clearly marked. If completing a question will cause a chapter to end, or if moving into a certain dungeon will end a part of the game or if talking to a certain NPC will move you in the finale, a big red dialog box should pop up in the player’s face, stating in no uncertain terms something like “This is a point of no return. If you proceed, the chapter will end and you will no longer be able to return to Littletown. Do you wish to proceed? [Yes, move on.] [No, not yet.]” Do not use in-character dialog for this. Make it very clear by using a game interface element.

Read More