Has Day 23's Technique Been Documented Before?

So, this is the official thread for people to tell me whether the technique I show on day 23 has ever been documented before, or whether I'm the first person to show it. I am unaware of any prior description of it (or even anyone else who has ever done it, for that matter), but there's a lot of material out there in the wild, so it's possible that it has been talked about before and I just never saw it.

- Casey
Are you talking about the future here Casey? Day 23 is tomorrow... (well, today, but you get what I'm saying)
Yes, I am talking about THE FUTURE!!!

Well, the near future. There will not be hovercars.

OR WILL THERE?

- Casey
There will not be hovercars.

Hoverboards, though, are a given.
This has piqued my interest, I'll have to sneak a peek at the twitch stream during my afternoon break!
big buildup, anything short of proving the existence of santa will be a big disappointment.
It's going to be pretty f'ing sweet, man.

- Casey
Heard it here first, folks. F'ing. Sweet.
I have never heard or seen anything like it in my 20 years of coding and venturing into dark tunnels of algorithms & data-structures. Pretty sweet stuff.
I do think it is a fairly common feature in recent games.

One parallel I can think of is from the moba/competitive scene where games are recorded for playback and viewing in a client. This allows for multiple viewers of the game inside the client without recording a video and actual "live spectating", saving playbacks, continuing from a point in a replay (very useful in Starcraft 2) and so forth. Here's one of the first articles I stumbled upon when googling: http://www.gamasutra.com/view/fea...play_building_a_game_.php?print=1

I would imagine this is more often implemented on top of the engine layer though (working in the script world), and not combined with hot dll loading. In any case, it seems very similar and if there's something I'm actually missing which makes it totally different, I'd like to hear about it.

On another note, I love the translucent window idea, even though in most real life (non streaming) situations it can be avoided with multiple monitors.
It's very nice.

About the dll thing, I believe you can push that 100% so the main exe never need to be recompiled? That way you can also upgrade the game remotely while running.

The main exe only need to keep one pointer to the game-memory, that it then delivers back each frame. What I mean is that everything else can happen in game.dll or be controlled by it, as long as ALL of the state is in virtual memory, and can be found via this one pointer. No static variables in dll. You could put version info in gamestate, and the new dll can reformat data as needed to keep running. Unless I miss something?
It's the live code editing plus the replay that I was talking about. Playing back the game state is not new - there were companies that did that commercially, even (not sure what happened to them... one was called "Replay" or something). It's setting up the loop and editing the code while viewing the loop that I've never seen demoed before.

- Casey
That is something I was unable to find and have never come across. I bet sometime somewhere in a place far away there's been a scenario where an artist/script writer has thought about how awesome it would be, mentioned it to the dev team and they've dismissed it as too hard and not worth it. But that could be it.

I feel I'm not worthy of the knowledge of this awesome power.
Bret Victor has a talk from 2012, where he demos some ideas for making the connection between the coding and the result much tighter and more real time. It includes lots of demos, some of which are games or game-like. He doesn't talk (much) about the implementation of his demos, just at what instant feedback and easy experimentation can enable. It's an excellent talk overall, but the most relevant bits (and fun demos) are in the first half.

http://vimeo.com/36579366
aidtopia
Bret Victor has a talk from 2012, where he demos some ideas for making the connection between the coding and the result much tighter and more real time. It includes lots of demos, some of which are games or game-like. He doesn't talk (much) about the implementation of his demos, just at what instant feedback and easy experimentation can enable. It's an excellent talk overall, but the most relevant bits (and fun demos) are in the first half.

http://vimeo.com/36579366


Yes! This is the exact video I was thinking of and looking for to post to this topic. Thank you for sharing. I was having trouble finding the right keywords to find it. :)

Edit: Here is something one of my friends found while I was talking with them about the same talk. Someone implementing what Bret Victor did, and giving their own input on it. http://www.chris-granger.com/2012/02/26/connecting-to-your-creation/

Edited by Nia on