ewmailing
Joined 10 years ago
Joined 10 years ago
> Anyone who maybe was able to witness the revival able to comment with their anecdotes?
That is NOT my recollection. I bought my Atari games from the same isle I bought my NES games from at Toys R Us (obviously in different years).
I think there is truth that game console marketing shifted into its own more toy like thing, distinct from computers, but I think that shift was already underway by the heyday of the 2600. I remember an entire display of just video games (2600, ColecoVision, and others), which was separate from other software, computers, and the consoles.
With the Toys R Us closure, I wrote an article about my memories of Toys R Us and The Great Video Game crash (and recovery) that tries to fill in for people what living through the crash actually felt like.
https://playcontrol.net/ewing/jibberjabber/memories-of-the-g...
While the objc_msgSend, objc_msgSend_stret, et. al, is an annoying detail, that isn't really the hard part. (And in fact, all the good bridges use libffi to do more direct invocations and avoids a lot of this problem.)
The hard part of bridging is those places where Objective-C introspection is not powerful enough to discover the types of parameters or signatures of functions. Typically, this is all the C stuff.
So for example, Obj-C's runtime introspection cannot tell you the make up of a struct. So it cannot tell you the size of NSRect, NSPoint, NSSize, or the individual data types inside the struct (and the names of each item if you need to access them).
And the Obj-C runtime introspection cannot tell you about what C functions exist and what the parameter types and return types are. So for example, there is no Obj-C runtime way to look up that CGPointMake takes two CGFloat parameters and returns a CGPoint struct.
Also, inline functions (marcos) in C/Obj-C are also problematic for these bridges since they need to call the functions at runtime.
Apple shipped a framework called BridgeSupport in Mac OS X 10.5 which contains XML data for all the things that cannot be determined at runtime. It also contains .dylibs with symbols for inline functions. BridgeSupport is still in macOS today, but it isn't getting much love and Apple keeps (accidentally?) breaking things in BridgeSupport every release.
On his first slides, he shows the words, "anonymous functions", "lambdas", "closures", "function values", and "first-class values", and shows how each has subtly different meanings/implications and tends to take us down different lines of thinking which affects the conversation you are trying to have with somebody else.
But here is a video of the QFG5 dryad dance which will probably start making it clear. https://www.youtube.com/watch?v=D2dTxSCGeNE
And this is from QFG1, which is where the concept of dancing and personality of the fairies originate from. https://www.youtube.com/watch?v=pYpN8Uii6ng
I don't remember if that clip shows all the dialog, but they talk about how they rule the forest and make rainbows and "fairies just want to have fun". They like to dance and don't know if humans can dance.
This video does show you making them mad by walking into the fairy ring (because the human smell is impossible to get rid of). So they make you dance to your death as punishment.
The last fairy message at the end of the credits is also borrowed straight from the game. When you leave the screen in the game, a fairy will fly to you in the next screen to say a randomized good bye message before flying off.
Thanks to try! Swift Tokyo for making this talk happen, and thanks to Realm for posting it.
For more info, I wrote a few more things about the talk and conference on my blog. http://playcontrol.net/ewing/jibberjabber/swift-on-android-a...
Thanks for watching.