There is a game product called "Fortnite", and it's just had a huge in-game event, so it's clearly here, alive and well, but you'll never again be able to experience Fortnite as it was 24 hours ago - ever.
And yet future culture is, as Alan Kay puts it, "the past and the present". It's our reaction to that hole, where nothing really builds on anything else, that, in turn, is motivating interest in products with longer time horizons, longer stories and histories to them.
An obvious metaphor for this is video games vs pinball:
* Fundamentally digital vs fundamentally analog
* Mostly design & marketing vs mostly manufacturing
* Trivially cloned vs scarce, unique
* Black-box artifact vs maintainable assembly
* Perpetually caught in the breathless hype cycle of tech, vs increasingly existing outside of that cycle
Pinball's days as part of the traditional amusement business ended with the 1990's, but it's found a resurgence of interest in the home market as a kind of collectable furniture - something to put in a rec room or a basement arcade, that retains decent trade value if maintained. A whole array of small manufacturers have appeared this decade to serve that market. It's much easier to understand a collector's market for it being sustained 30 years out, versus video game collecting, in which any product with a modicum of popularity will have had its primary content either already preserved through piracy(if emulated), or else impossible to reproduce(if a service). It's a much stronger version of interest in vinyl records or dead-tree books taking precedent over streaming music and e-books.
Because digital media has so little physical value, it is beholden to be entirely marketing driven, front-to-back, and to treat you as either a product marketer or as the product, and sometimes both. The true form of the medium remains always hidden behind the UI. Even your personal work, done on systems you wholly control, just disappears into a collection of files, where it is easily forgotten.
And in that sense I think we are not really asking, "Where is Flash? Where is Hypercard? Where is BASIC?" - because in different eras each of those tools did the kinds of things we wanted and expected from a beginner's tool - so much as we are asking, "Where is the actual medium? Where can I do work and preserve the original source material? Where can I send a kid to learn to play with software and not have it all break six months later, rendering the learning useless? How can I curate software when nobody can make any promises?" Tech continues its warfare for a platform monopoly, and so on this front we keep starting from zero, over and over. It's not hugely different from the space we've arrived at in professional software development, where dependency hell and code rot is an ever-increasing concern for all codebases.
Isn't that true of all one-time events, not just digital ones? I'll never be able to attend a Beatles concert or see "The Empire Strikes Back" on opening night or be celebrating on the streets of New York City on V-E Day.
In this case, it’s the Fortnite world.
If Fortnite were a game in the 1990s-2000s, the data (map, world, characters) would be on a CD or DVD and the multiplayer server would also be included on the CD: the community runs its own servers. If the developers release a huge new update - including over digital distribution - users still have the original discs and server software, thus if they want to relive “Fortnite 1997, v1.0’ they can - just reinstall it from the original media.
With the iOS App Store we used to be able to make versioned backups of the IPA files and restore them using desktop iTunes so if an over-the-air update for... say, Angry Birds, added an obnoxious amount of pay-to-win functionality then we had the choice to downgrade before things went to shit.
Now, we can’t do that. This is why I don’t buy mobile games anymore: I have no guarantees about my ability to keep what I paid for.
A few years later I wanted to show it to my kids, and the game I bought had turned into an abomination of ads, in-app-purchases, and dark patterns, and there was no way to get back the charming little game that I originally bought...
Digital experiences can be recreated, especially if motivated by profit. What won't be created are some of those moments that were unforeseen consequences (e.g. the Seed of Corruption exploit in WoW)
If you had a Pentium 1 PC, would you not still be able to run DOS and BASIC on it? Software "breaking" only happens if you let it - you can still use Windows 95, or XP, and run all those old programs that no longer work. If you have a copy of Flash 4 you can still run that on supported hardware, make media using it, and probably still have people with modern Flash installations be able to play it back?
The difference between the pinball machine and video game is not so wide a chasm. The vogue of pinball came and went, and now it is a small community hobby. Hobbies come and go - just look at the resurgence in Dungeons and Dragons the last 10 years adjacent to a huge decline in "AAA" PC game RPGs.
In the same light, while the Fortnite gamer might never be able to re-experience the event that just passed, there are thousands playing Doom maps written in the mid 90s today on engines refined through decades of hobbyist volunteer work to provide features not even often seen in modern titles. And simultaneously there are new Doom maps being made all the time, entire games (look up the Adventures of Square) made with its engine, etc. That technology is now over 25 years "obsolete" but lives on through its community.
You touch on it - but it really does matter if you own it. All these transient experiences being offered as a moment of engagement by corporations all of which are held under lock and key and never see a bidirectional creative process between maker and consumer are all vapid and empty. The digital experiences that endure are those that go both ways, and that everyone involved can lay claim to and participate in.
Modern video games are themeparks, but the tooling available through projects like GZDoom, OpenMW, Godot, etc are sandboxes for creativity that no corporation can take away. This is why the free software movement even began, and why it has only gained relevance as technology has permeated society and culture.
But that concept extends beyond just video games - Blender makes its open movies, there are repositories and communities around free music, art, etc. Communities built around shared worlds all licensed permissively to encourage participation and collaboration in opposition to the common proprietary reality of creative products being weaponized against their own fans through copyright to reject participation. You just have to look for them - they don't have the billions in advertising to permeate your every waking second of consumptive behavior.
I don't think this is realistically true in the age of cloud services and forced, automatic updates.
Maybe it is if you painstakingly stick to decades-old software or FOSS - but this will mean you're missing out on a lot of progress made in modern software.
(edit:)
> ...and probably still have people with modern Flash installations be able to play it back?
Even if you got Flash running on your old PC, this is where things would break. Browsers deliberately increase the friction and technical expertise needed to enable Flash content, with the openly stated goal to drop Flash support completely in the mid-to-near future.
Learning Flash might still be a fun experience if you can keep it on the PC it's produced - but if you want your kid to pass their movies on to anyone else, Flash is nowadays a dead-end.
I agree though with the Doom thing. My suspicion is that in 20 years, many of today's games will be forgotten but people will likely still play FFIV on emulator - not because some artistic quality were better but simply because you can.
Inn 20 years, emulators will probably progress enough that the (non-server-based) games people still care about will be playable -- anything where there's no server, or the server is just a DRM check and all the gameplay happens clientside. Some of the servers will probably be replicable locally for single-player or small-group play, too; I think there's already reverse-engineered server emulation for some online-multiplayer DS games, some of it even having been made before the official servers went offline.
>culture where all the things pressed up closest to the digital universe just disappear into a little footnote on a wiki page saying "yes, this happened". Memes, blog posts, videos, games, etc.
Is this just a fancy way of saying "digital things that are very cheap/free to distribute"? If that's true, then I'd argue that digital things have an outsized impact in people's lives, even more than physical things sometimes. After all, whats more important to you, Indiana Jones and the Temple of Doom or the car you're currently driving?
And since that's the case, what's wrong with charging money for data that was expensive to make, even if it's super cheap to distribute? I feel like that's far more honest than giving away free entertainment data that's been marred by an ad stream.
I think the thing that's pressed up closest is a briefly filled container of code (the browser), that briefly redirects a server thread in front of your eyes. You have a chance to affect it's future course. But there is no ownership at all, not even of the blob that corresponds to the runtime image.
I think its funny that open-source software has created a world where software is even more proprietary than ever - not even the binaries every reach your machine! In that world, distributing binaries only doesn't really seam so bad!
Sure, it's not like playing the real thing. Neither, in most cases, are emulated video games.
I think you have deftly described a bigger problem, as the whole industry gets more and more sophisticated and complex. The barrier for entry is so high now that I think it stifles young people's interest too quickly.
The great thing about Flash was the developer tool. Part animation studio, part simple programming IDE. It was a great balance.
Maybe there is a place in the market for framework to implement a flash-a-like in a HTML5 Canvas?
Consider Ruby on Rails. It was the most beginner-friendly way to create a web app when it was popular, but the very things that made it that way - opinionated design, sacrificing speed/correctness/scale by using Ruby, "batteries included", and a cultish fanbase that drew new users to it - made it the target of justified criticism from experts who wanted flexibility, type safety, speed, lightweight design, fewer CVEs, and fewer annoying fanboys. Flash came under fire for similar things: performance issues, poor UX when used in the wrong place, constant security vulnerabilities, being a proprietary standard.
These are actually good criticisms! There's no shadowy cabal who arranged feigned outrage over flash vulnerabilities, people were genuinely upset that a proprietary piece of software was turning their browser security into a sieve and stopping screenreaders from working. The criticisms just failed to ask why it was so popular with beginners anyway.
From personal experience, and from the (continuing) weekly HN "Hiring" posts that are looking for Rails devs, Rails is popular because it allows you to build an MVP for an entire product or company over a week. It gets rid of all the distractions when it comes to assembling the perfect stack and just works. It's not perfect by far, but, like Flash, it allows you to shortcut the technical work and get right to the creative work.
Software is one of those spaces where there is an incredible amount of capital invested in making things easy for the lowest common denominator.
There are so many resources for people of any age and background to learn practical skills in this field. There are summer camps where 7 year old kids learn to program.
I'd say if you really want youth interested in technology, you basically need a "montessori model" for computers. I don't believe that's likely to happen in school; you need funding, which requires measurable results. There's also too much bad stuff on the internet for schools to run that risk at that scale.
There are two rough classes into which I would break "tech guys". The first is the sort who enjoys it for what it is. Shaves yaks configuring his system, tries out new languages for the heck of it, that sort. The second has a perfectly respectable career in software, and enjoys other things when he comes home at five p.m. I'm not saying one is better or worse, but at seven years of age, you'll only have the few of the first type _really_ interested. Type two will often switch to a different toy once frustrated (i.e. upon a serious bug). You can't expect everyone to derive the same level of marginal benefit from just playing with tech.
Type twos necessarily better or worse, but we don't put kids into "plumbing boot-camp" at seven expecting them to develop life-long passions. Maybe a few will, but not many. To put it another way, you'll get a lot more kids into architecture letting them play with legos free-form than handing them a kit and saying, "Build this model by following the instructions."
There's no question to me that early exposure and encouragement makes all the difference in educating kids. I can't understand why we're not engineering experiences in all these different fields for kids to build real stuff that can eventually turn into a trade. If you're a kid, even today, and you want to learn an adult trade young, your options are still pretty much just artist or programmer.
If there was a way to start doctors or lawyers young, maybe it'd make a difference. As a kid, I knew one girl that was a hospital volunteer, and she ended up going to Africa as an adult to try and make the world a better place by helping others. People don't realize how activities in formative years really stick with kids.
Instead of giving kids meaningful work, we're raising a generation that's going to be great at self-promotion and fortnite.
Our entire school system is wrong. :) I am working on it. We force parents to go to school and that is wrong.
The key to rapid education is teaching the correct subjects. All science is functionally math. Physics is math and chemistry is math. Music is math. All written homework is functionally English. Art is functionally understanding of light and shadows, which is best taught through photography. Photography decouples ability to render (drawing) from ability to compose. Until the child is fluent at algebra and written English, teaching other subjects except for athletics relies on the child's innate talent or, more likely, their parents.
In other words, you cannot swap all time for study of english and mathematics and expect to simply achieve twice as much in english and mathematics.
Learning 45 minutes at a time is silly. It's far more effective to master one concept at a time.
Logic comes with math. I haven't fully thought it through, but my initial goal is to eliminate the need to rely on parents to do well in school.
> The first is the sort who enjoys it for what it is. Shaves yaks configuring his system, tries out new languages for the heck of it, that sort. The second has a perfectly respectable career in software, and enjoys other things when he comes home at five p.m.
I have found out that these are not in opposition at all. In fact, workplace that holds you in 80 hours a week largely prevents trying out new tech. People dont stay long because trying out new toys. If they do, then they are being dishonest with employer, honestly. They stay long because of stress, pressure, disorganization, etc.
The conflation of the two really not logical, it does not even makes sense. Why cant you go home at 5 and "try out new languages for the heck of it" wherever you feel like? Should you even try out that new language production project? (you should not)
This is true for _education_, however the design of the tooling itself, as well as the purely code-based interface with which we like to rely on (no WYSIWYG or visual creative tools) is what makes it creatively difficult
Compare the experience of making some HTML5 canvas game to making a song in modern day DAWs. In the latter there has been so much investment into improving the workflow and the quality of the software to make the creative experience smoother. In programming, almost no effort is put into the creative experience, outside of niche fantasy terminals (e.g. PICO-8)
But these kids, the clever and curious ones, they'll find this on their own too, and truly many more cool and free things to create stuff with online. A few years back, they were all over these free github student developer packs, especially the credits for a Digital Ocean droplet server, which they used to host sites, minecraft servers (IIRC) or Discord bots.
...perhaps you mean the countless drag-and-drop code-free frameworks that enable people to create apps without writing code? Or that a basic Swift tutorial to do just that takes about 15 minutes, including downloading Xcode? I just can't understand this confused nostalgia.
Ironically, actual embedded devices are far easier to program, with Arduino. You type your code in a window (with all boilerplate and build system abstracted away) and click a button, and boom it's compiled and uploaded and running. This is because it was designed to be easy to use - ostensibly to teach young people, but in practice it means lots of hackers use it too.
Yep, it's never been easier
90% of apps can be replicated as web pages, which are far, far easier to program and deploy. Frameworks do add a lot needless of complexity for little benefit. The reason is not a "test of worthiness" though - the purpose is developer lock-in and make it as much difficult as possible to switch to the competing platform. The only way to win this game is not to play
Although when people start arguing that programming a web page is easy, it really brings home how awful modern programming is, and how long it has been since there was widespread usage of really decent and simple RAD tooling.
Or if one shells out to Delphi, RemObjects, Xamarin, Qt.
And ruffle-rs[2] is a reimplemenation of the flash player itself in Rust. (So you'd still be using ActionScript for authoring)
[1]https://www.openfl.org/ [2]https://github.com/ruffle-rs/ruffle
The first beginner tutorial is about displaying a bitmap and starts with a terminal [1]. This is not as discoverable as Flash’s tools, which felt more like MS Paint when first opened.
[1] https://www.openfl.org/learn/haxelib/tutorials/displaying-a-...
But why reinvent the wheel? I think that the key to Flash's success is in its roots as an excellent, intuitive vector graphics editor called SmartSketch. (Way easier to use than Inkscape, IMO) They added animation to compete with Macromedia Shockwave in 1995, and the rest is the well known history of corporate greed and a victim of its own success.
The Flash IDE is still around, however (https://www.adobe.com/products/animate.html), but Adobe's giving it up at the end of 2020 :( I can only hope that they open source it.
A light, friendly version is Flash 5. It's available online (http://www.oldversion.com/windows/macromedia-flash-5-0), weighs in at a whopping 18 MB, and still works on Windows 10!
Anyway, Flash 5 Player .swf files can be exported as standalone .exe "Projectors". For example, the IDE tutorial one (https://www.sharhon.com/files/flash5test.exe) stands at 405 KB and still runs on Windows 10 as well. Surely it would be possible to wrap _real_ Flash projectors in a WebAssembly Windows NT emulator using a drag-and-drop webpage...and let the games begin.
The Flash IDE, now called Animate, continues to be developed by Adobe. They have not announced an end of life for this tool. It will still be updated after 2020. In fact, it can now export a variety of new formats other than SWF files for Flash Player, and they've been expanding the animation features quite a bit in recent years.
It's unfortunate that many people are confused about what exactly Adobe has discontinued. So many people in this thread are lamenting that this user friendly animation tool no longer exists as a starting point for new users, when in fact, it does and will still be in active development beyond 2020.
(AS1 is gone too, it was something you had to write by selecting verbs in a massive dropdown, and good riddance to that.)
Animate really isn't as simple to use as Flash is, and bluntly in the modern Era the CC suite is too expensive to get those young users.
I wonder if Affinity will have a go at this in the long run.
There is a workflow you can use with a custom Adobe Animate plugin that lets you use Adobe Animate as your authoring tool.
I think an interesting part of my experience was that it started with watching. I just loved the videos and thought they were hilarious. I admired the people who made those videos and I wanted to join that circle of creators. And Flash didn't prevent me from doing that. Not only that, but it was a specific low-effort style of animation. The path from consumer -> producer was short.
So really, I think you have to look at what people are consuming, and then try and make it easy for them to "participate." I'm not sure if people are consuming Flash-style animations anymore. (Maybe they are, and I just aged out of the demographic.)
It seems like a lot of that creative energy has moved to sandbox games like Minecraft for now, where that community of creators and would-be creators still exists, and away from animation and Web design.
They realize that there's no magic; all it takes to make something nice is a little knowledge, and a lot of work.
From what I've seen of Fortnite, it promotes a different kind of creativity, which is more like creative problem solving (boxing people in, riding rockets, etc.) But it does have a sandbox mode that I've seen some interesting creations from.
It's a great animation tool with a great learning curve, I'm surprised Adobe isn't doing more to get it in the hands of teenagers^w young creators.
And on that point it seems that Flash helped to kill itself by accelerating ubiquitous web video.
The 2D GUIs of many 3D games were written in Flash. There are non-Adobe Flash players which can be embedded. The advantage was the authoring tools - the GUIs could be elaborate and graphical without much effort.
As a kid, I could kinda understand how to go from programming in Basic to Pong or Space Invaders.
A kid these days has _so_ many more expectations if they're wondering how Fortnite works...
I had enough hubris as a 12/13 year old to write Space Invaders in ascii in Basic on an Osbourne2, and later to get a quite creditable imitation using sprites on an AppleII.
I wonder if kids these days look at computers and think "I could do that" about anything they care about?
Kids may not no how to go from BASIC to a video-game- but they don't have to write their games in BASIC. There are point and click game studios, there are really great physics engines available, there are libraries that attempt to make it simple.
I remember learning how to build mods in minecraft ~10 years ago- there were tools out there that allowed you to make creatures or blocks that inherited behaviors programmed in other parts of the game- and you could do a lot with that!
I've not tried to do anything like a game for decades, I'm kinda curious about that readily available tools kids could get their hands on these days... Closest I think I've come is launching Scratch from a RasPi's stock linux install...
I've heard great things about 001 Game Creator (free for 7 days, then $60) for more substantial use.
For example, apps that run directly on mobile platforms (specifically, ones that don't need to connect to the 'cloud' to do their compiling):
- For iOS: Codea [1] (Lua), Continuous [2] (.NET), Swift Playgrounds [3] (Swift), Play.js [4] (Node.js + React Native) plus probably more (on that note, I really hope Continuous isn't abandoned, but it doesn't seem to have been updated in awhile).
- For Android: AIDE [5], TIC-80 [6], probably others (I'm not as familiar)
Moving up from mobile, you have FUZE4 Nintendo Switch [7] for the Nintendo Switch (excellent, but needs a bugfix update as there's lots of little annoyances). Probably the most kid-friendly thing there is right now IMHO, if you take into account the platform.
On the PC, there's just a huge amount of stuff. Minecraft [8], GameMaker [9], GDevelop [10], Godot Engine [11]. These are at least suitable for early teens.
[1] https://codea.io/ [2] http://continuous.codes/ [3] https://www.apple.com/au/swift/playgrounds/ [4] https://playdotjs.com/ [5] https://www.android-ide.com/ [6] https://tic.computer/ [7] https://www.nintendo.com/games/detail/fuze4-nintendo-switch/ [8] https://www.minecraft.net/en-us/ [9] https://www.yoyogames.com/gamemaker [10] https://gdevelop-app.com/ [11] https://godotengine.org/
Note: Yes, obvious game-making bias here :)
It’s an incredibly powerful and easy to use game/interactive-app maker that can export packaged programs to Windows, OSX, Linux, and HTML5, then with additional licensing/fees to game consoles.
It has a drag-and-drop mode for absolute beginners that can let someone with zero experience be creating simple games in their first weekend playing with it.
Then it has GML mode which is their programming language with excellent documentation and a decent community cranking out tutorials and guides, which has put out some seriously legit indie games such as Red Strings Club, Hyperlight Drifter, and Hotline Miami.
It’s also not just for games. It’s great for making interactive stories (I’ve made interactive kids books with it), HTML5 demos and interfaces, 2D physics demos, and even does basic 3D stuff.
(Not affiliated just a big fan and use it extensively).
But I would suggest Godot as an alternative for beginners now. Even though I don't like the proprietary scripting languages either uses by default, between GML and GDScript, the latter seems more powerful, and thus more educational. You can do "drag and drop and make a game for some defnition of a 'game'" in any of the modern game frameworks. But really, that only teaches you how to use the GUI, not how programming works.
Also Godot has a version that uses C#, and there are bindings for other languages out there (I don't know how complete or useful they are, though) whereas unless I'm wrong, with Game Maker you're stuck with GML.
I do hope to start publishing some children's games and educational interactive stories one day though, I just need to find an artist (or practice more myself).
If by "framework" you mean "easy to use tool" then I agree.
Programmers are often the last people who should design tools - they dont bat an eye at having to edit a config file, tweak settings, install plugins, manage dependencies, run a compiler or other batch processing tool.
I think there will always be easy ways to break into tech, they just might change from year to year.
You can still make crappy HTML pages with very basic inline JS, but if you're a kid starting out, that's not enough. You should probably learn a JS framework and some graphic design if you don't want it to be laughed at.
Our field is just becoming more mature and advanced. Cars used to be easier to work on, too.
The vast majority of coding should be end user programming. The collective we just wants to own the tools and the jobs.
Developers are users as well, and I think too many fail to understand this.
Whatever tooling makes it easier to develop for, means that I can focus on other parts of the problem.
I don't miss working like I did during the late 80, early 90s. Our computers are so much better for them to be reduced to a green phosphor VT-100 terminal.
End users are way smarter and more capable than programmers give them credit. Applications should be empowering users not capturing them in a walled garden fed by their masters.
So much this. Every time someone harps about this or that great terminal application that looks worse than even MS-DOS applications from the late-80s (when most users had moved on from MDA cards) i die a little inside.
https://en.wikipedia.org/wiki/Professionalization
It's natural to want your job not to be turned over to the CEO's 14 year old son.
The CEOs 14 year old son is a straw boy.
Tee Hee
I would contend Flash was a miserable developer tool, a near feature-free IDE, and rather than "balance", it took a kitchen sink approach to letting you put any kind of code anywhere...in an object, on the document, in a UI event of a button, on a frame.
Meanwhile, there are quite a few flash-likes for HTML5, and many of them are smart enough not to use Canvas (much)!
And raises the barrier to maintenance.
A larval developer's gateway project is all but guaranteed to end up as an incomprehensible mess of spaghetti that'll fall to pieces at the lightest touch after a summer of plugging away at it, but that's not what's important. What's important is that they could make something -- something real. By the time it's left as a shambling pile of kluges and bad practices that'll never see the light of day again, it's still gotten far enough to inspire something, and serves as a great point to move on to greater ambitions -- or even start from scratch with one's lessons learned and make it better, perhaps with a more advanced toolset that now seems infinitely more approachable than it did at the beginning.
This isn't a discussion about tools to create software that'll be refined, depended on, and passed on to new developers over the span of years. It's about bridging the gap between restrictive toys and actual non-trivial projects for novices to tinker with.
If you go back and watch some of the old flash stuff or play old flash games they are not good, they would be completely unnoticed today.
Lots of animators are still making indy animation, it's just been drowned out on the major platforms due to how time consuming it is to create and it's basically not possible to monetize well outside of Anim8 now (YouTube algorithm favors frequent uploads and high video duration - not compatible with animation).
However, I'm a little disappointed that it seems to output in MP4. Is there really no modern format for vector video?
I don't know where the modern equivalent is. Maybe they only pop up every couple of decades...
This "novices" thing seems to me to be overblown though; Alan Kay has been beating the "programming for novices" drum for decades with Smalltalk and basically nothing happened. I would rather have professional-quality tools with decent Youtube tutorials, like Blender, Unity, Python, etc. have been developing.
that's like comparing crack-cocaine den to LARP'ing groups. No way newgrounds is anything comparable to the lows that is tiktok (or vine).
I think we have more "powerful experiences" for novices than ever before, which is part of the whole attention problem. In the early 2000, we didn't have YouTube, Netflix, WhatsApp, TikTok, etc. where tons of teens spend many, many, many hours in nowadays. Those who got access to Flash found a sink for their free time and after just a few hours will have figured out the basic elements. Try to get kids to focus for just these initial few hours on their own, without them getting distracted on some other platform or immediately trying to find a YouTube tutorial, instead of just trying things and actually learning the tool, rather than copying whatever someone else is doing in a video.
Also, low or no-cost applications that are accessible to newcomers include Blender and the upcoming Procreate 5.
Since then I've done a lot of video editing with different tools, but I still think back to Macromedia Flash and how I, a child with no ability to code and no knowledge of HTML or Web tech, was able to make my imagination come to life on the screen.
I believe it's that powerful experience for novices that we're missing. I'm not sure how we should get it back.
(edit: phrasing)