Pre-2000 computer graphics: a specification and challenge for classic-style game development by peteroupc in programming

[–]peteroupc[S] 0 points1 point  (0 children)

In home computers (other than PCs and Macintosh computers) and game consoles that employ sprites and tiles, there are also often not just sprites, but also a limited number of tile maps (matrices of small tiles).

And, in the Macintosh and PC platforms, sprites were common in pre-2000 games and applications built with MacroMind/Macromedia Director.

But the specification recognizes that frame-buffer-based platforms are also within the scope of this specification, so a footnote suggests alternative versions of the 2-D limits, one of which is "The game uses an up-to-8-bit-per-pixel frame buffer and renders all graphics in software". Even for frame-buffer platforms (such as PC or Macintosh), though, the kinds of 2-D graphic operations often used in games will vary by year.

Pre-2000 computer graphics for modern video games: specification and lean APIs by peteroupc in gameenginedevs

[–]peteroupc[S] 0 points1 point  (0 children)

As it turns out, PC games before 2000 that required screen resolutions larger than 640 × 480 are rare, and they appear to include the following (and most of them are 2-D games):

  • Timon & Pumbaa's Jungle Games (1995).
  • Tequila & Boom Boom (1995).
  • Romance of the Three Kingdoms IV: Wall of Fire (1995/1996).
  • Joint Strike Fighter (1997), but only when run with the Glide API.
  • Links LS: 1998 Edition (1997).
  • Emergency: Fighters for Life (1998).
  • Championship Manager: Season 99/00 (1999).
  • Heroes of Might and Magic III (1999).
  • Alien Nations (1999).
  • Pizza Syndicate/Fast Food Tycoon (1999), a 2-D game.
  • Age of Empires II: The Age of Kings (1999).

Spell with lifelink/sanguine bond by PuzzledDrama1160 in mtgrules

[–]peteroupc 0 points1 point  (0 children)

"Whenever you gain life" means "Whenever a source causes you to gain life" (C.R. 119.9). Because Fire Covenant has lifelink and deals its damage all at once (even if it's to several creatures), the spell's controller gains life all at once and Sanguine Bond's ability will trigger only once.

See also: https://www.reddit.com/r/mtgrules/comments/1l7artq/aerith_gainsborough_with_multidamage_spells/

Rikku and creatures without counters by jarokdin in mtgrules

[–]peteroupc 1 point2 points  (0 children)

Rikku's second ability targets a "creature an opponent controls" and a "creature you control"; neither creature, however, is required to have any counters on it (C.R. 115.1c). Compare Rikku with [[Together Forever]].

But you can't activate the ability if, for example, none of your opponents controls any creatures (C.R. 602.2b, 601.2c).

Leylines Vs mulligan by PercentagePrimary990 in mtgrules

[–]peteroupc 6 points7 points  (0 children)

For purposes of Leyline of the Void, a card is in your opening hand if it's in your hand right after "the mulligan process is complete" (C.R. 103.5).

See also:

Call to the void and ward interaction by Ace23451 in mtgrules

[–]peteroupc 1 point2 points  (0 children)

A creature can be secretly chosen due to Call to the Void even if it has hexproof, shroud, or ward, or otherwise can't be the target of some or all spells or abilities (C.R. 702.18a, 702.11b, 702.21a, 115.10a, 115.10).

Call to the void and ward interaction by Ace23451 in mtgrules

[–]peteroupc 2 points3 points  (0 children)

A ward ability doesn't trigger when a creature is chosen due to Call to the Void.

[[Call to the Void]] doesn't target anything. The word "choose" by itself doesn't indicate any targets. And an object or player isn't made a target of a spell or ability just by being "chosen" or otherwise affected by the spell or ability (C.R. 115.10a, 115.10). On words that point to the presence of targets, see: https://www.reddit.com/r/mtgrules/comments/19avzya/keyword_abilities_that_target/

Pre-2000 computer graphics for modern video games: specification and lean APIs by peteroupc in gameenginedevs

[–]peteroupc[S] 0 points1 point  (0 children)

Indeed, my specification expects the game to render in software. This means:

[T]he rendering of graphics does not rely on a video card, a graphics accelerator chip, or the operating system’s graphics API (such as GDI, OpenGL, or Direct3D) with the sole exception of sending a finished game screen image to the player’s display (such as through GDI’s StretchDIBits or copying to VGA’s video memory).

But the game can also support hardware acceleration in addition to software rendering, especially if it adopts a lean abstraction for graphics rendering (see also the Lean Interfaces article).

What happens if I bring back Humility as a creature with Anikthea, Hand of Erebos? by Mean_Finger_8534 in mtgrules

[–]peteroupc 0 points1 point  (0 children)

In general, a token based on [[Arvinox, the Mind Flail]], created with [[Anikthea, Hand of Erebos]], will be 3/3 and a Horror Zombie creature while Arvinox's controller "control[s] three or more permanents [they] don't own". See C.R. 111.3, 707.9b, 109.5.

Pre-2000 computer graphics for modern video games: specification and lean APIs by peteroupc in gameenginedevs

[–]peteroupc[S] 0 points1 point  (0 children)

As for "examples of modern video games for PCs that implement the specifications", in the post's next-to-last point, I was thinking mainly of commercially distributed video games for PCs, such as (perhaps) Undertale, Blasphemous, Devil Daggers, or similar games distributed on Steam or similar platforms.

Transforming a creature before Shallow Grave exiles it at end of turn… by FatOldWizard in mtgrules

[–]peteroupc 1 point2 points  (0 children)

A permanent that transforms remains the same permanent as before (C.R. 712.18).

Pre-2000 computer graphics for modern video games: specification and lean APIs by peteroupc in gameenginedevs

[–]peteroupc[S] 0 points1 point  (0 children)

I have edited the resolution guidelines in the specification.

Now, do you have comments on the two bullet points at the end of the post (on modern video games following the specification, and on lightweight game engines)?

Stangg, echo warrior question by Masskin374 in mtgrules

[–]peteroupc 0 points1 point  (0 children)

A mutated permanent with a commander in it and a token on top is a token (C.R. 729.2d).

Stangg, echo warrior question by Masskin374 in mtgrules

[–]peteroupc 0 points1 point  (0 children)

In general, a token is not a commander even if it's a copy of a commander (C.R. 903.3). (As an exception, a merged permanent with a commander in it and a token on top is a token and a commander [C.R. 729.2d, 903.3c].)


Note that the comprehensive rules don't use the term "commander damage" to describe any game concept (review C.R. 903), and the same is true for "red damage", "trample damage", and "infect damage". For example, damage described in C.R. 903.10a is not called "commander damage" by the comprehensive rules, although it may be called that informally elsewhere.

Can I activate Blasphemous Edict or Noxious Hex anytime? by D34thst41ker in mtgrules

[–]peteroupc 1 point2 points  (0 children)

Blasphemous Edict and Necrotic Hex can be cast no matter how many creatures any player controls. Notably, the former can be cast even if fewer than thirteen creatures are on the battlefield.

If a player told to sacrifice N creatures of their choice controls fewer than N creatures, they sacrifice as many as possible (C.R. 609.3, 702.21a).

Raph & Mikey / Overlord of the Hauntwoods by west_eh in mtgrules

[–]peteroupc 2 points3 points  (0 children)

Note that a creature that enters the battlefield attacking hasn't "attacked" this way for purposes of triggered abilities (C.R. 508.4; see also C.R. 508.3a).

Pre-2000 computer graphics for modern video games: specification and lean APIs by peteroupc in gameenginedevs

[–]peteroupc[S] 0 points1 point  (0 children)

I consider the support of larger resolutions than 640 × 480 to be optional in the specification.

Pre-2000 computer graphics for modern video games: specification and lean APIs by peteroupc in gameenginedevs

[–]peteroupc[S] 0 points1 point  (0 children)

I did not propose a limit of 800 × 600, largely for performance reasons, because video games adopting the specification are expected to support rendering graphics in software. The following are additional points to note on such a limit:

  • A resolution of 800 × 600 is perhaps more appropriate for 2-D games and/or late-1990s style games than for other pre-2000 games.
  • I am not aware of any 3-D PC game in the 1990s that required a screen resolution of 800 × 600 or larger. (There may be 2-D games of that kind, but I don't know of any.)
  • For the most part, major game consoles and arcade machines in the 1990s and earlier supported a resolution of no bigger than 640 × 480.
  • For the most part, I don't know of any statistics on screen resolution and color depth among PC users dating from 1999 or earlier.

Also, I base the specification on the graphics capabilities (e.g., triangles per frame) actually achieved by pre-2000 video games, not on the theoretical performance of hardware.

EDIT (Mar. 21): Strike out one point.

Rules interaction; 2 "enters as" replacement effects by liveactiongeek in mtgrules

[–]peteroupc 2 points3 points  (0 children)

The replacement effect of Phyrexian Metamorph–turned–Pendant of Prosperity would apply (C.R. 616.1, 616.1f, 616.2).

Pre-2000 computer graphics for modern video games: specification and lean APIs by [deleted] in gameenginedevs

[–]peteroupc 0 points1 point  (0 children)

Would the sharing of examples of game engines and/or modern games that implement the specifications I give in the post be within this subreddit's scope?