
On Emulation - deltaryz
https://blog.cameronseid.com/on-emulation
======
masswerk
I guess, I'm a bit divided on this. While software is abstract (and
deterministic), the experience of running the software is not. Meaning, as you
become part of a feedback loop, the sensorical side of things matters. And
this is really hard to recreate.

E.g., not only do emulators introduce lag, also modern systems tend to be
laggier than vintage ones. Graphics taylored to the specific attributes of a
display technology won't convey the original feeling on modern hardware. Or,
interacting with a game using modern controllers, by D-pad or thumb stick,
which are operated by fine motor control, feels much different from using
joysticks that involve the entire body, by this establishing a rhythm. (This
is also true the other way round, e.g., Pong, meant to be controlled by fine
motor controls using a paddle, is half the fun using the brute means of a
digital joystick, either jammed up or down.)

This may sum up to the effect of the user entirely missing the point of a
game. (There are some VCS games, I always deemed to be noteworthy, which are
generally rated low in modern reviews. I had a hard time understanding why
reviewers would miss the rather obvious qualities of those games – until I
tried them using a D-pad controller.)

P.S.: This doesn't mean that emulators aren't worth it (to the contrary, it's
great to have them), but it may be worth keeping in mind that you are not
necessarily having the original experience.

~~~
byuu
> E.g., not only do emulators introduce lag, also modern systems tend to be
> laggier than vintage ones.

Some emulators have run-ahead now, which removes internal processing frames
from games. Combined with an adaptive sync monitor, 1000hz USB polling, and
other tricks, emulators can actually respond to inputs _faster_ than the
original gaming consoles did on CRTs. It's pretty much the closest thing we
have to magic.

Here's a video demonstration I made:
[https://www.youtube.com/watch?v=1AvOa8yt6Vc](https://www.youtube.com/watch?v=1AvOa8yt6Vc)

An an article of mine explaining the concept: [https://byuu.net/input/run-
ahead](https://byuu.net/input/run-ahead)

~~~
tombert
While I agree with you on this for the most part, aren't we going to start
hitting a ceiling with what's possible to do run-ahead with?

For example, I know in that article you mention bsnes, but wouldn't it be
exponentially more difficult to have that feature in something like a GameCube
or N64 emulator (let alone something like a PS3 with its funky Cell
architecture)?

~~~
DCKing
The system setup of old devices was quite different from what we're used to
now. CRT TV's, no OS in the way. Just inputs and near instant display of what
was going on.

The more modern your game system gets, the harder it is to perform runahead.
But it's also required less and less. Newer consoles got more 'laggy' by
default, with OSes, USB/Bluetooth input processing, triple buffering and so
on. So runahead requirements have become less and less to recreate
experiences.

As to you examples, the PS3 was meant to be played on LCD TVs much like our
current setups. I don't know how RPCS3 compares to a real console, but I
expect the difference isn't huge. Dolphin (GameCube) and Mupen (N64) can
emulate their consoles so efficiently that you should be able to achieve 1
frame of runahead on somewhat powerful systems for many games.

------
apetresc
I'm deeply worried that this generation's experiences are not preservable in
the ways the last one's were.

Regardless of how you may feel about hardware quirks, etc., you can re-
experience Prince of Persia today in a way that you will never be able to
experience, say, Hearthstone the day after Blizzard decides to shut down the
servers.

Hell, even _right now_ you can't do it fully. Modern-day games have
irrevocable change as a fundamental game mechanic. You can't even experience
Hearthstone as it was _last year_ (with its ban list, standard rotation, etc).
Not on ladder, not with your friends, not even in some offline form. This
generation's gaming experiences are ephemeral by design. Nobody seems to care
now but what a strange feeling it will be in 30 years that media from 60 years
ago will be completely accessible, but from 30 years ago it won't be.

(I'm using Hearthstone as an example but similar principles apply to almost
every successful mainstream game of this generation)

~~~
ses1984
Why do we have such an attachment to preserving these these things? It's
really only of interest for nostalgia's sake or for academics.

I think you can't actually re-experience Prince of Persia today because part
of the experience is being in that historical context.

Hearthstone is only a game. Even if you could re-create the game, you can't
re-create the feeling of queuing up with tens of thousands of other people
queuing up for a new experience for the first time.

On the one hand, the Hearthstone game client and server may not be able to be
preserved outside of Activision's vaults, but on the other hand people are
producing more content than ever before, photos, videos, text, it's a deluge
and you're free to capture and scrape as much as your budget can afford.

Maybe you're using hyperbole but I feel like there are better things to choose
to be deeply worried about.

~~~
spc476
Even if it's for academics, the academics 30 years from now won't be able to
study the game. Five years ago, I examined BASIC for the Atari 2600. I'm far
from an academic, but even so, I was still blown away with that was done with
4K ROM and 128 bytes of RAM. Yes, the emulation was annoying (I think it would
have been slightly easier on real hardware) but I still found it to be a
positive experience.

To be sure, I _could_ have had first hand experience with this, as I do
remember seeing this cartridge advertised when it was initially released, but
I never got the chance back then. And in retrospect, I think it's for the
best, as I now have the background and experience now to know just how
impressive a feat it really is.

So just because you don't feel a need to revisit games (or programs) of today
30 years from now (or use programs from 30 years ago) doesn't mean apply to
everyone.

[1]
[http://boston.conman.org/2015/06/16.1](http://boston.conman.org/2015/06/16.1)

~~~
ses1984
Academics 30 years from now won't be able to study the complete inside view of
the trump presidency. Academics 30 years from now won't be able to study the
complete inside view of what happened in wuhan during the covid outbreak.
Academics will never be privy to the private thoughts of xi jinping.

Academics will never be able to experience hearthstone. They will only have
thousands of hours of twitch or YouTube videos instead. This deeply worries
me.

~~~
apetresc
Alright, you caught me. I didn't properly scale my language, foolishly
assuming it was obvious from context.

I'm "deeply worried" about it the same way someone might be "deeply worried"
that the series finale of their favorite show is going to suck, not the same
way someone might be "deeply worried" that COVID-19 is going to wipe out
millions of people.

------
GuiA
Emulation is a fascinating topic on many dimensions. One that I find
particularly interesting is that it seems like more primitive systems are
exponentially more "sharable" than small ones - I can fit a NES emulator with
the entire NES library in a hundred megabytes or so. The entire library of the
PS3 would be many many terabytes, and not only do we not even have good PS3
emulation, it's unclear if we'll never get it. While any programmer can code a
functional NES emulator in a weekend, it is not the case for these more
sophisticated platforms.

I wouldn't be surprised that, if humanity is still around and computing a few
hundred years from now, people will still be playing SNES ROMs. PS5 games
though might be entirely forgotten (especially given online components,
endless patches, etc.).

The corollary of that is that if you want your software to be preserved by
history, your best bet is probably to package it as a NES/SNES/GBA ROM or
something like that.

~~~
tenebrisalietum
Every Atari game ever made is right around a gig.

When CDs became game media, content size exploded, since it was cheap.

> While any programmer can code a functional NES emulator in a weekend, it is
> not the case for these more sophisticated platforms.

Any programmer can code an NROM-compatible NES emulator in a weekend that will
play Super Mario Bros., Duck Hunt, and a few other 8K or 16K games. The
plethora of mappers that exists for NES turn the NES into a complex platform
even if you don't account for perfect graphic and sound accuracy.

PS3 is harder to emulate because it had that Cell BE, but PS4 and XBone have
gone the way of arcade hardware - it's all basically a PC now, and will
probably remain so simply because it's cheaper to have one real platform.
Emulation in the future may disappear because it won't matter--it's all a PC
anyway so you might as well just play the PC version of the game, and if none
exists, you're going to port it, not emulate.

------
CJefferson
This article is mostly good, but saying machines are deterministic breaks down
at the limits - - some emulators start hitting cases where physical chips
enter inconsistent states, which non-deterministically then fall into another
state. Emulating such things requires treating machines as analogue.

~~~
deltaryz
I probably should have clarified that my "point" here isn't really about
genuinely replicating the behavior 1:1, but rather preserving the _experience_
at a level where our culture & media can still be accessed in a form that
maintains its core experience and intentions. Sure, an emulator might have
certain bugs or idiosyncracies when compared to the real hardware, but you're
still able to utilize a game or piece of software for its intended function.
It still delivers on the promise of what it was created for. Looking into the
future, this means that children of the year 4862 might still be able to play
Super Mario Bros. It might get some pixels wrong, it might crash or freeze
under some weird edge case scenarios, but the _experience_ is preserved.

------
pol4ko
> But regardless of these details, software has two main qualities that give
> it this advantage in terms of preservation: It's interactive It's
> deterministic

No sure if we are talking of the same thing here but a Software is
deterministic, but the randomness in a Game makes it non-deterministic, even
if the emulation is deterministic. See, for exampe, a loot in a dungeon
crawler. It will be different everytime.

~~~
CompuHacker
The randomness in games currently available boils down to picking from a set
of very large numbers and executing a limited number of code paths. That is to
say, there are no non-deterministic video games, because all outcomes must be
programmed.

A problem that can crop up with emulators is a lack of random seed values
between runs, leading to, for example, a dungeon crawler with the same loot
every time.

------
saagarjha
> Imagine if we had a perfect replica of every conversation ever shared in a
> given location. Perfectly preserved lists of exactly who lived there, what
> their jobs and names were, and enough information about them to build a
> fairly detailed image of both the individual people and the culture they
> belong in.

Hopefully long after the people involved are dead…

~~~
deltaryz
Everything you've ever posted on the internet is probably already archived in
12 different places

~~~
saagarjha
Right, and I hope that doesn't extend to things I _haven 't_ posted on the
internet.

~~~
deltaryz
better check your phone's permissions and make sure none of your apps have
background microphone access

