The Future of Games is an Instant Flash to the past
fortressofdoors.com
fortressofdoors.com
Sure there’s untapped potential in all kinds of types of software; hell people are reinventing 2d design (think Figma etc) & issue management (newly released GitHub issues). But surely building “yet another react form” feels like coding an already solved problem.
What I mean is that gamedev has possibly the most untapped potential for coders wanting to make something truly amazing, with a sheer infinite amount of possible creations.
You’re not approaching the creation with the usual “what problem am I trying to solve” but rather “what’s the most fun thing I can build?”.
It only takes a small studio of like 10 people before you're practically never touching anything creative and are working on software tools and under the hood functionality just like any other dev job
Everyone probably has other hobbies that they could easily write software for
Most of the actual fun in programming is that feeling of ongoing small puzzle solving.
And I’ve lost the source code, but I recall it being very easy to make in Love 2D.
It was fun, at least. And I’m a huge fan of this kind of mass low-grade creativity.
Artists make art because they feel a need to express themselves. There are often less-stressful, more commercial uses for their same talents, but they do art instead, because there's something nagging on their minds to be expressed out into the world. (Often an artist-in-general will learn a new artistic medium just to express a feeling they don't feel can be expressed with their current toolset!)
And nobody ever said the artistic process itself is fun. It's toil for the reward—the satisfaction—of having communicated your thought in a way that seems capable of truly touching other people. Just like the "petty art" of the prose writing we're doing to each-other here — but with much more labor and intent put into each stroke, such that there is more value to be wrung out of each moment of experiencing the result.
The programming community is almost exactly the group of people who believe they can truly touch others by developing practical software. And programmers are usually really bad at truly touching others with artistic games.
Most people are quite bad at expressing themselves, let alone most programmers. I think contributing to open source is probably a greater source of satisfaction for most than programming games. I've had a hopeless stab at both, and making a small meaningful contribution was much more satisfying than expressing myself badly through a game.
I think you missed the key words "seems capable of" in my statement.
Satisfaction in creating art doesn't come from actually touching other people's emotions, i.e. witnessing them being touched. (People who need that feeling, should best avoid becoming artists, and instead become entertainers or performers, where your craft is done "in communication with" a direct audience.)
Satisfaction in art comes from when you've polished your work to the point where your mental model of other people is touched. It's actually completely solipsistic; it doesn't depend on whether any real person ever sees the art at all. Just whether you think your target audience (which can even be a fictional character, or a dead person, etc.) would like it if they ever did see it. (Art can also be entirely for yourself — though works of art of the complexity of games usually aren't.)
As such, you can be truly bad at expressing yourself, and still receive satisfaction from creating art — as long as you're also bad at predicting how other people will react to your art†.
Luckily for fledgling artists, skill in the craft of art, and skill in judging art quality, are usually developed together. So, when starting out, you can be satisfied by bad art, because you don't yet know it's bad. (Though this does mean that people who start out as art critics, have a very hard time of becoming artists, because they know from the start when they have no inborn talent for art, and that discourages them from doing the practice required to develop the skill for art.)
-----
† It could also be that you're bad at the craft of art, and have a well-calibrated mental model of people, but you're just driven to create art for people with weird/outré/"bad" taste, who are especially moved by exactly your brand of unskilled art. But that's beside the point I'm making here.
Modern games technology allows this. I know many an independent developer in tight community with players. There's this dude who's making this game who emails me closed beta builds and I think he's an artist. He often watches streamers in his community playing his own game and having a laugh with them. It's very personal. He puts his biggest fans into the game as NPCs, it's adorable.
I've never had better satisfaction in games compared to open-source. The focus on iteration making the games trumps any jockeying about over features/correctness/'is this needed' in open source contributions.
Not for everyone https://josephg.com/blog/3-tribes/
I've worked at AAA studios on AAA games with 500+ devs and you still get to play with art and fun ideas. How do you think they trick kids into spending 12 hour days at the office?
There are some that retreat into bank software levels of detachment but it seems to be the exception, not the norm.
> What I mean is that gamedev has possibly the most untapped potential for coders wanting to make something truly amazing, with a sheer infinite amount of possible creations.
Whilst I agree there is a lot of common and drudgey work in gamedev as well even in extremely creative projects.
I'd add that engineers have their place in gamedev as well, because many artists don't know how to make computers create worlds. Engineers generate the possibility space where artists can work. Sometimes, fast code is needed to unlock capabilities no-one could have pre-imagined of.
Whether someone believes the project will succeed or not is an interesting question, but you can't deny that they've made great progress at the fringes of a lot of game mechanics.
My partner doesn't care that I wrote a really sweet cron job for collating web orders today, but she can instantly grok how cool a game idea is and have fun playing.
I would claim it's the most risky type of software coding. And because of that probably also the most "dirty" way of software coding...
> "Gamedev has got to be the most rewarding type of software coding there is."
I am also a game development enthusiast, but I would say this is the reason why it feels so rewarding. The way of programming is not the reason, in my opinion.
I have mixed feelings about this. When you do something creative for a job it takes on an entirely different character than doing it for yourself. Another thing is that gamedev is still software coding (among other things), and only a fraction of what you're doing amounts to the "fun bits" related to making interesting game design decisions. The majority of it is endless slog in trying to get collision detection to stop snagging on corners or figuring out why your fire status effect is cancelling as soon as it's applied (turns out it's because fire is cancelling ice without checking for the presence of ice in the first place, and ice turns enemies wet when it expires, and wet status cancels with fire status, so setting things on fire made them wet, which means they're no longer on fire). And 50 million more thing like this.
I enjoy it, but then there's also the fact that the industry itself has a lot of pathologies that "boring" software development doesn't, lower pay and worse working conditions as an employee, and extremely turbulent ever-changing conditions as an independent developer or freelancer.
Whenever some kid tells me they want to go into games for their career, I like to trot out the probably-apocryphal story of the Jewish rabbi who refuses to let a proselyte convert until he's come to the rabbi three times and been flat refused twice. I use the same method -- "no kid, you don't want to go into the game industry for all these reasons." If they keep coming back despite all that, they at least know what they're getting into.
10k games were released on Steam in 2020. In 2021 Q1 there are 316k games available on iOS. When creating a game is what you like, it might be rewarding, but the coding work is usually not very rewarding when it comes to the details. Especially because game ideas are usually not as original as most people think...
When you are not a code monkey, coding is always highly creative be it games, missile control systems, high frequency trading, insurance policy management etc. It might be easier to imagine fun in the idea of coding for a leisure activity, but in reality it can also feel very shallow.
With the problem about status effects, how is this typically implemented? Do the rules for interactions exist within the game objects themselves, as if-then-else statements? If so, I can see why that would be error prone. Even if those rules exist in abstractions like "Burnable" and "Metallic", it's still hard to see the side effects of changing or adding a single rule.
Does anyone ever implement it in a single place, where you can query for the interactions between the different status effects? That way, all the rules are in one place, and being able to query for it, the results would tell you how it came to that conclusion. If not, how come?
A significant amount of my time is not even spent coding, but doing admin and spreadsheets.
But I hear you. 30 mins probably isn't enough frustration to warrant something like that. What spreadsheets? Like systemic design in spreadsheets? Or you're doing accounting?
But actually in this specific case like 99% of my elemental interaction code is in the same place just as you recommend!
In this specific case the problem was entirely that I added a new rule to make ice decay into wet when it was removed, but didn't add a check to see if ice had been applied in the first place before removing it. And of course, that was all in the elemental interactions file. 28 of the 30 minutes were spent in just puzzlement why the fire wasn't applying and checking a bunch of irrelevant dead ends before I thought to check "oh obviously it's probably the elemental interaction code, go check the elemental interaction file." 2 minutes were spent fixing the actual code.
For something like status effects, I was thinking about using a datalog engine, like jasonwatkinspdx mentioned in a sibling comment. That way, you can query it for applications of status effects, instead of hunting it down in code.
That said, I never heard any game dev talking about Datalog, and was wondering if there was a reason for that--whether it's obscurity, or if it's impractical for some reason.
So a bunch of design work happens in spreadsheets, yeah, that and long form google docs. Then a lot of business and admin stuff too (if you're an independent dev which means you're making games AND running a business). Whether that's accounting or projections or any number of other sundry things.
I've seen quite a few use an OO modeling approach. That's fallen out of favor for good reason.
Another approach is Entity Component Systems. I suggest googling for one of the better blog posts on that.
Another approach is to build the equivalent of a datalog engine.
An approach I favor is to have a stack per entity, and as you parse input events things get stacked up. Then a processing pass iterates across popping things off the stack. If you know how MTG rules work it's roughly the same idea.
None of these are a panacea, because you can have logical contradictions in your ruleset that are subtle and only emerge in very niche situations.
It's definitely very difficult problem. What you suggest is similar to what I termed the datalog style. If you've ever tried to debug a prolog or datalog program, you'll know that it all being in one file is a trivial concern compared to the emergent complexity and potential for you to have misstated your logic or included contradictions.
If you have a stack per entity, like MTG, how would you find a contradicting rule?
So the stack approach essentially doesn't, because it forces a linearization. You'd have to rewind back through and see why what the system did didn't match your expectation. But at least the order is comprehensible vs some of the other approaches.
“real-time 3D content”—a category that includes games and material with game-like interactivity—will account for almost half of all visual digital content by the end of the decade, compared with what he estimates at only about 3% today. [1]
That's in addition to his estimate that more than 15% of Unity development today is outside the gamer space.Over time I agree with him and think the better part of 3D UI/UX game design elements will make their way in to traditional enterprise software and web stacks. They will be both more functional and beautiful to work with as a result.
[1] https://www.theinformation.com/articles/unity-ceo-predicts-a...
Lol, what better part? Game UI serves the game. UI of serious applications serves the user. Traditional enterprise software and web stacks will be inspired by serious well done consumer software that serves the consumer and is so pleasant to use that they want this at work too (see e.g. https://www.se-radio.net/2021/01/episode-442-arin-bhowmick-o...). Nobody wants to fumble seriously in inventory screens and go through click fests that are meant to keep you in-game.
i just wanted to stress that gamedev is anything but "lets do this great idea" and then magically it's done. it is a ton of work and you gotta celebrate those small steps.
Well sure, when you're doing the fun bits for fun.
> It’s a type of coding that is much closer to actual artistic creation rather than engineering.
Unless you're in a team with both artists and coders, which is, y'know, all of the commercial ones with a chance of success.
> The sheer amount of creative & engaging stories, puzzles, real-time strategies and on top of this entirely multiplayerable online allows for an infinite amount of types of entertaining creations… all made possible thanks to code.
It's the game designer who gets to do all this creating, not the coders. Unless (see point 2) you're in a tiny team hoping to win the lottery. See also "the kid fresh out of gamedev boot camp who wants to be a designer and is confused when nobody wants to join their team because everybody else has already has their own great ideas for a game which they've been working on for 10+ years while they also learned to code or model."
> But surely building “yet another react form” feels like coding an already solved problem.
Try building "yet another 3D model loader (that has to handle the quirks of three different modeling programs and eleventy different graphics cards)" - it's just as much reinventing the wheel, but with the added bonus that if you really cock it up you can hard lock your computer. Or my personal favourite, "debug this third party open world game engine which is clearly just a model viewer with a for() loop around it and the object loading part in a separate thread with zero synchronization." :D
> You’re not approaching the creation with the usual “what problem am I trying to solve” but rather “what’s the most fun thing I can build?”.
Sure but 99% of professional game coders don't get to do this. This interdisciplinary paradise is the domain of hobbyists who never get paid and of the tiny minority who are there at exactly the right place and time (and also probably never get paid.)
Career traits: Fun, lucrative, attainable. Pick any two. This applies to gamedev as much as any other line of work.
This rant brought to you by distant, slightly salty memories of my brief stint in gamedev.
Yes, most game dev is not a magical utopia of coding whatever you feel like and watching the magic happen. But it's also not a horrific grind where you are treated entirely as a code monkey for someone else's art.
There is an entire continuum between these points and different companies and teams will lie at different points on it. I have worked on games where I was so deep in the bowels of tools and tech that I couldn't even tell you how the game was played (maintaining the UI editor for Madden, which was actually a lot of fun). And I've worked on games where I sat right next to the designers and artists and had a lot of influence on the game itself (Henry Hatsworth, where I wrote the level/animation editor and in-game AI engine).
I think overall, most game dev jobs do have a few things going for them compared to other domains:
* You get a greater opportunity to work on cross-discipline teams. During my time at EA, I worked closely with artists, UI designers, producers, technical artists, sound designers, etc. It was wonderful to not be in a programmer monoculture. It's good for the soul to be around people who think differently.
* People outside of your work have a more immediate understanding and appreciation for what you do. There is some prestige to being a game dev and at the very least most people can at least visualize a video game. If you work at a typical non-famous non-FAANG software company, your job is almost totally invisible.
* You're working on a game. You might not spend much time literally playing it, but it's still more fun when debugging to poke around a football field or dungeon than a spreadsheet full or insurance rates or whatever stuff most typical CRUD devs are dealing with. Game development often feels concrete and tangible in ways that other software doesn't.
But there are some downsides:
* The market factors the intrinsic rewards above into compensation, so game dev pays less than other software fields. The massive number of young people who want to do it also drives salaries down.
* The overtime is often awful.
* A side effect of the above two is a constant brain drain. Experienced devs age out and leave when they want to start a family and have sane hours, to be replaced by another crop of fresh-faced kids who will work for peanuts for the cachet of being a real game dev. That means there is often a large lack of software engineering maturity on teams. Tons of spaghetti code, broken processes, poor estimation, and other self-inflicted wounds.
I really enjoyed my time at EA (except for the overtime and often crappy code), but I'm also glad to not be working full time in games any more.
Among Us: "I definitely burnt out. It was tough because during all of this, we weren’t able to see friends and family. Being so tired from working, I couldn’t even go visit my family during covid and had to spend holidays alone...That was definitely the hardest time.” [1]
Minecraft fans getting angry at Notch for daring to take a vacation I remember, and here's one about a fan getting PISSED at an update with only one new thing to play with: [2]
Stardew Valley fans mad for how long multiplayer update took "I love you ConcernedApe and your game, Stardew Valley, but people are getting impatient. I am getting impatient. You've had your vacation, your space and your earnings." [3].
Or Shovel Knight "We wanted another Shovel Knight game, but we didn’t want to make it. We’re sick of making Shovel Knight games." [4]
The book Blood, Sweat, and Pixels goes into this more, especially for Shovel Knight and Stardew Valley.
I worked on several games in the industry, a few small free ones on my own were popular but every game I worked on for a company failed to be successful or enter the gaming zeitgeist at all. It almost feels like a waste of my time when that happens, and often lead to layoffs. I got out of the industry after the third company in a row where that happened.
[1] https://kotaku.com/among-us-developers-say-they-burnt-out-af...
[2] https://www.reddit.com/r/Minecraft/comments/iaeqj/dear_notch...
[3] https://community.playstarbound.com/threads/rip-stardew-vall...
[4] https://www.fanbyte.com/features/shovel-knight-dig-interview...
Artistic creation with code is
Been to a good art show lately? Maybe any one of those popup trippy museums over the last decade?
I know people that develops music software, they love playing instruments, they love music, and they enjoy their jobs.
Educational software, medical software, everything can be extremely enjoyable if you like the topic.
I made accounting software, and it was really fun to do. In that case was just because I had creative control of the accounting software, and I like how well everything adds up, and how grateful are users when you remove their day-to-day pain-points.
But if you like that, making games is more fun nowadays. It used to be a lot of code for networking, graphic engines, and tooling. More math and low level system coding than actual game development.
And, no, if you like playing games that does not mean that you would like to make them. Even that it helps.
I don’t think this is true. I’ve worked at multiple jobs where I barely interacted with the subject matter. Just the same old crud for webapps
You are completely right.
My point is that is the same for video games than any other subject.
And following your example, you may join a video game company and still spend all your time fixing bugs on the code for translations and subtitles or adding support for a button that publishes videos to social media.
It depends on the size of the company and your position within it. But, many subjects are enjoyable.
It is... under certain circumstances. At a AAA studio it's an utter slog, unless you're the designer or one of the top coders working closely with the designer. Then you get to build prototypes, bounce ideas around, etc. until you come up with something you can hand down to the C++ slaves in the salt mines.
If you don't want to be in the salt mines yourself, the best route to take is the indie route. Become the designer/lead programmer, write the game on your own schedule, and either do your own art/sounds/music or hire people to make those assets for you as necessary and use placeholders while you refine the game design. You also get your choice of language. Want to write a game in Lisp or Haskell? Go nuts!
Do yourself a favor and start with a data-oriented model for your game world like ECS, instead of an inheritance-based object-oriented model. Your inheritance tree is going to whack you like a Whomping Willow the minute you try to build a game object with traits from different classes across the tree. With a data-oriented approach, your game objects are just pieces of state -- rows in a spreadsheet -- and you can change them with whatever tools are most handy: objects, plain functions, whatever. Choosing an ECS has saved me much hassle in adding new enemies and behaviors to the game I'm working on, and that shortens the time and effort from "I need to add this thing" to "WOW! It works!"
Oh, and START SMALL. The easiest way to get from zero to finished game is to limit the scope of your game! Kenta Cho, the guy behind rRootage and all those bullet hell shooters, put up a bunch of tiny web games on his site, each of which uses tiny bitmaps or canvas graphics primitives, so has little in the way of assets: https://abagames.github.io/games-web-pages/browser.html
> But surely building “yet another react form” feels like coding an already solved problem.
Building "yet another React form" should take minutes to hours. If it doesn't at your shop, consider the processes you have in place. Processes like Scrum are there to ensure transparency to management throughout the SDLC and to act as dampers to prevent programmers from becoming too efficient -- not to make the programmers better at their jobs!
> You’re not approaching the creation with the usual “what problem am I trying to solve” but rather “what’s the most fun thing I can build?”.
That can quickly degenerate into "what problem am I trying to solve" when you are trying to work out why collision detection isn't working or why enemies do random things they shouldn't be doing, etc.
There are probably labs out there they have figured out how to send 'viral waves' out into the economy and profit from it, but thats all this is. Game of Thrones was an example, The Walking Dead was an example, Fortnite was an example, and Roblox was an example. Those examples highlight two very different viral culture waves. The kids playing games and the grown ups watching tv, but they highlight the exact same phenomenon.
As for this game itself its probably exactly like Among Us and the million other little indie games like it that shot up in popularity 'out of know where' except it wasn't out of nowhere at all. It was a couple dozen HIGHLY interconnected Twitch streamers all getting into the same space and then 100's of follow along mid tier twitch streamers hoping to ride the new bandwagon to higher viewership.
> It was a couple dozen HIGHLY interconnected Twitch streamers all getting into the same space and then 100's of follow along mid tier twitch streamers hoping to ride the new bandwagon to higher viewership.
I have access to the traffic stats behind FNF and this is demonstrably false. There was a lot more to it. Twitch was one small part of this phenomenon.
I'm happy to welcome critique but could you please be less dismissive and instead make a more substantive critique?
I mean, until Twitch is no longer such a big thing, that sounds like you're describing a likely repeatable formula for success: make a game that will catch on amongst these couple-dozen Twitch influencers.
And it seems like a good property for such a game to have, would be a really low barrier to entry, to entice them into trying it in the first place, when they don't see anyone else playing it.
As such, I can see the validity in the argument in the article is making — and I'm not sure why you think it's a "small detail."
It's not like that set of Twitch streamers has ever made a game go viral that didn't have this "pick-up-and-play-ability" in some way or another. The property is just created in different ways for different games.
Sure, but like half the world's game devs are all trying to do exactly that right now.
Similar to the stock market, game development is an novelty-based ecosystem. That means that there is essentially no long-term repeatable formula for success. Any formula will eventually discovered by others, over-exploited, and players will lose interest and go elsewhere.
The problem is that last step, "be noticed", is extremely hard and mostly based on luck/money.
And this is 100% "long-term repeatable" if you can continually deliver "good enough" games after being noticed. The obvious example is Call of Duty.
And a high quality "Fuck you Steve Jobs" as well. I'm here for any posts that says "Fuck you Steve Jobs"
I will gladly agree that Twitch streamers may have helped boost Among Us out of its slump. I also agree that it helped FNF too. But you know what else helped Among Us and FNF? Millions of views on YouTube, Tiktok, fanart on Twitter/NG/elsewhere, mods across the entire Internet, etc. and where it’s fair to say that Twitch could’ve been the catalyst for Among Us, saying that it is the catalyst for FNF without further evidence seems patently unfair. Big platforms like TikTok and YouTube are more than capable of driving viral sensations that are bigger than the entire audiences of “a couple dozen highly interconnected Twitch streamers.” (For clarification I regularly watch a couple of the Twitch streamers you are likely grouping into this category so yes I do know how large their audiences are.)
I think Among Us's mod support is underrated for a multi-player game, and I think it did a lot to improve the game's longevity.
I'm hesitant to make broad sweeping claims about the game, but I agree that looking purely at streamers is probably underselling its success, even though streamers did obviously play a big role in bringing it to more people's attention.
What’s so weird is it feels like this lesson should’ve already been learned. Several prominent franchises were born as mods to other games, and TF2 even went as far as simply making mods part of the actual game and compensating modders in the process... Yet it feels like a lot of this is left on the table in the walled garden world of gaming.
I really enjoyed this article, but it's a bit of a discursive brain dump, which is why I think a lot of the criticisms have essentially been misrepresentations of the actual article contents.
Couple of things -- despite the admittedly click-baity headline, I'm not 100% convinced that "instant games" are definitely the future. Nobody can predict the future with certainty. And as I state up front in the article FNF itself is obviously an outlier which should not serve as a model to try to replicate step by step.
My main point is that instant games -- which is to say browser games -- are actually already the past and the present (even if they're not necessarily taking over everything else just yet), and most people are unfamiliar with a bunch of weird details about how they began in the first place.
The article's actual thesis is not necessarily to prove to you that instant games are the "wave of the future" but to point out:
1) Even games industry insiders are often massively out of touch with trends
2) Browsers games represent the potential to disrupt existing gatekeepers and platforms
3) Browser games had a weird and unique ecosystem that represented a 'minor league' of games that provided an on-ramp to further professional success, especially for international developers, and we've largely lost that today
4) Modern platforms want to own the entire stack top to bottom (editing tools, playback engine, discovery, and marketplace), but trying to capture so much value yourself and tightly controlling the environment can actually stunt the ecosystem
And yeah the article is really long. I'm chronically unable to write short articles when I have a lot to say and that means I'm taking the sincere risk of boring some of you to death while you wait for me to get to the point, sorry about that!
By getting you the pre-roll ads Mochi gave you a way of being rewarded on a per-play basis which A) bypassed the risjk of up front sponsorship number B) allowed absolute total amateurs to not even bother with sponsorship and just dump a game with Mochi ads onto the net, if it took off they would rake in the bucks. m Add on top of that the Mochi microtransaction infrastructure and I'd say Mochi was as important, if not more, than FGL for boosting the ouptu of games.
I remember a big question was always: should you self sponsor if you can't get high enough bids for sponsorship? If they're willing to pay $5k to put their ad on your game, why shouldn't you capture that revenue yourself?
The answer was for most developers it was difficult to capture that value without some kind of centralized game portal where you could redirect this traffic and keep those users coming back. So even if the sponsor was paying $5k and still making money off that game, it was unlikely you could make anywhere near that amount just from Mochi ads or similar.
But for people just starting out and, say, knocking out a game in a weekend, unpolished, raw Mochi was incredible. With zero effort (beyond spending a couple of weekends making games) I had 3 figure annual revenue from games that would have never ever gotten sponsorship.
If you were a 16 year old hacking stuff together in Flash that would have been hugely motivating. That's would drove the sheer volume and variety of Flash games.
If I could apply the knowledge I have now back to past me I'd have easily been able to get 4 figure annual revenue swiftly and that would have let me focus on putting the polish on FGL level serious sponsorship games. ( I did make one full stand alone game and it flopped, I've made more money from people playing the demo than from full game purchases)
I feel like a large leap is being made that instant games will win back users when their instant-ness didn't keep them in the first place.
I don't feel like any catalyst is explored enough to be convincing.
I don't agree, particularly in the case of mobile App stores where the top charts are consistently dominated by the same few games.
Also, I don't think people moved away from instant games because the instantness wasn't enough. I think it's more about what devices kids (and people in general) are using for everything else; people who are playing mobile games now probably would have been playing flash games a few years ago. I'm kindof spitballing here, but I wonder if all the chromebooks that are used in schools now are or will be pushing kids back to online games platforms like the old flash sites
If anything, I see modern platforms using more off-the-shelf and standards based tech rather than reinventing the wheel. It used to be the case that you'd have to download not just Flash, but Shockwave, Silverlight, the Java applet plugin, Unity Web Player, and all sorts of proprietary plugins just to play games built on whatever proprietary game engine and scripting language came with it. It was like downloading individual video codecs in the early 90's before the advent of Quicktime. Nowadays, you can play fully fledged 3-D games on a Web Application built with any game engine, any language, on nearly any browser of your choosing. No plugins needed. I don't think web games are going to be siloed to particular platforms any time soon. What I do think is that web games are now competing with siloed AAA games. And this might be a good thing overall for competition in that space. For a long time Flash and mobile games were also-rans simply because of the limited computing power. Very few were of such caliber either in graphics or playability as to compete with contemporary installable or console games and were very often mimicries of those very same games. In the West, mobile games underwent a revolution with Angry Birds and Infinity Blade, there hasn't been a killer app that's reinvigorated the browser game craze of the Y2K era just yet. But Epic's interest in itch.io might be hinting at an attempt in that direction.
Compare that to say, Roblox. If you make a Roblox game, not only will it only run within the Roblox environment, it is only able to exist on exactly one website and one app -- Roblox. Roblox owns the entire stack top to bottom. You can't take your game anywhere else.
Brevity is a good skill, but given the choice between too concise and too long, too long is probably the better direction to err.
I'm always happy to see articles like this on HN. I'm not sure I agree with all of it, but it's generally pretty thoughtful and covered some interesting points I hadn't thought about before. Thanks for writing it!
And some solution for preloading/caching/preinstalling large (many gigabytes) assets are added.
Than yeah webgames have a very bright future ahead, assuming a method of monetization is found.
As I was reading it, I somewhat agreed with the sentiment I see in some of the comments around that the article had a bit of the "old person discovers new trend and concludes its the future of everything" (which you see a fair amount with VR, on Stadia/cloud gaming, the "metaverse," and other things you mentioned FNF doesn't do) but this comment tempers that feeling. At the very least, I think that this is an interesting showcase of a project that is successful outside of the big platforms and I agree that it's a direction that things could be going in to some extent.
Speaking about the fact it's free & open source, I think that people --in this case the games industry people to whom this doesn't make sense-- sometimes put too much weight on the decision to publish source code. I think it's about focusing on what differentiates your product from others, and in this case it seems like the game differentiates itself with music and personality rather than complex code, thus bandcamp & kickstarter. There's probably a lot of software products that don't gain anything from being closed source, and I'm no Stallman.
As a bit of an aside, I appreciate you mentioning the fact that there's a whole several continents of people who aren't American, or NA, or English-speaking, etc. and aren't necessarily talked about when it comes to diversity. Diversity is often based around US/CAN sensibilities around identity and other things. Obv very difficult to fully consider the entire Earth's population in everything you do, but just considering the fact that not everyone is in the same place or can have the same powerful hardware/internet connection is worthwhile. I'm absolutely not perfect in this regard either.
I wonder if the increasing use of chromebooks in school (revealing my US bias) is/will push this trend forward as well. I don't use chrome, so maybe there already is an ecosystem of games in the chrome app store.
1) It's made FNF very easy to mod, and these mods drive a lot of viral engagement with the game. If you scan social media you'll see that this is what keeps the community excited and engaged when the authors themselves are not putting out updates.
2) I mention it because many people see being open source as a liability because of concerns about cloning. Seeing a FOSS game like this pull in literal millions shows that at least in this one case, FOSS games aren't literally doomed to failure because of being FOSS, is all.
So my position is, no actual players care that you have a github repo with source available, unless that actually affects them somehow, and in FNF's case I argue it does affect them by enabling the community to keep making more weird content for the game (though it could be achieved in other ways, like using a modding API like [polymod](https://github.com/larsiusprime/polymod), which it has been integrating with recently).
Indeed, the money should flow from app stores to developers and not the other way around
Developers provide value to their platforms. Developers don't need them except for the fact that they enforce a monopoly on distribution (iOS)
The day is coming when platforms will have to reward content creators based on usage metrics or simply up front. Platform subscriptions, micro payments, or platform ads are the future. And they will only get cheaper as time goes on
A ruling forcing Apple to open up iOS to different browsers or app stores will be the sign that change is coming
AFAIK it's going pretty well. I don't actually own Apple Arcade, but the games all look really nice, and no ads or microtransactions. Maybe someone who knows more can comment.
Although, who knows, maybe if Apple Arcade is compensating game makers by how much time is spent playing their games, then those tactics will be present in Apple Arcade too.
Although there are some split in Apple Arcade for maintenance.
Apple's "protection" is actually just a racket and scheme to control the flow of money and extract as much as possible.
iPhones and Androids are computers and web downloads should be first class. We've been gaslighted into this "nanny state", yet we do much more dangerous things every day: get into cars, wire transfer money, go on blind dates, ...
Open and free computing is not wrong. The powers that be are trying to tell us that it is so that they can "protect" ( = control and tax) us.
Apple App Store and Google Play can still exist and cater to specific needs. Marketplaces like Itch and NewGrounds do a better job at what they do than either Apple or Google. If indie developers want to show up in multiple places, including their own website, it should be allowed.
So are Xboxes and PlayStations
Nobody needs an Xbox, but they need a phone.
Also, there are 10000 gaming options (many fully open!). There are only two phones.
The iPhone is the internet and the computer for most Americans.
Increasingly, all commerce is being funneled through iPhone and Android. Tim Cook gets a cut of the videos I watch, the art I buy, the donations I make, the banking I do, the productivity apps I use, fucking everything. Slimy, greedy assholes.
They were just in the right place at the right time. The US government isn't going to put up with them having their Berlin Wall. They do not get to do that.
Computing != Tim Cook's bank account.
So stop defending these extortionist gas-lighters. Computing and the internet aren't supposed to work this way.
Thank you.
Stop that hypocritical cherry picking bullshit.
Thank you.
Most computing happens on an iPhone. Most banking, dating, emails to bosses, video calls, web browsing, etc.
You don't owe Apple anything. They certainly don't care about you. Please realize and stop defending their theft of our industry.
App stores also fund hardware. Ask a consumer if they want a device 50% more expensive or better terms for developers and guess what the outcome will be.
It only changes if there is a lot more competition or legislated terms for how these companies operate.
I find the Epic Game Store really interesting in this regard. While they aren't quite paying developers, they are funding a lot of games and giving out upfront payments.
I love it, personally—but it hasn't gone over too well with users.
Also, I didn't know app stores funded hardware. I thought the money came from the value created by devs or from the actual device price. I mean, should my next IAP say "fund the development of the next iphone". How many consumers will like that? How do Android manufacturers manage to make hardware without an appstore? It's not like Apple has billions to spare to actually make hardware, things must be tight
Now seriously, none of the above are the issue. The issue is that the iOS app store should be one of many, and that Safari shouldn't break html5 functions on purpose to prevent PWAs
This even spills over to Android because devs in general aren't going to adopt wasm until it truly can be run cross platform. Google actually benefits from Apple's protectionist policies. Microsoft also tried to pull this with IE and we know what happened. It will happen again (and consumers will benefit from it). What good is a great device that can only run few and bad apps?
What would be interesting is if instead of the Appstore taking the cut off the top, the Appstore charged developers based on utilization of different parts of the A13 or M1 processor. Sort of like an AWS compute pricing.
If iOS Netflix users are using N million hours of the video accelerator, then charge Netflix something like NCost per video compute. If an Augmented Reality app users are using N million hours of ARKit, charge them NCost per ARKit compute.
This could lead to more efficient iOS apps and better future HW roadmaps.
I'd say apriori the one difference between AWS compute fee and an iOS compute fee would be that Amazon owns AWS hardware, whereas Apple sort of doesn't own iOS hardware (i.e the iOS user does).
That's exactly the case and I have receipts to prove it. I have financial records as proof of money flowing from Apple to my bank account.
What's the plan for rewarding the developers? If anything is broken with the mobile games it's the model where the money doesn't flow from the App Stores to the developers but developers need to interrupt the player and make them buy something so that the developers get rewarded.
Ads in games are dreadful.
I'm afraid that if the subscription services for games becomes the norm, and the payment is based on engagement it will make mediocracy the norm just like with Netflix. This will make game development a practice of matching the spec sheet of the subscription platform you want to be included. If it is like Spotify, what developers are supposed to do for substitute of the live performances if their rent is higher than $0.52?
I never had problem with iAP or pay to play games.
>>That's exactly the case and I have receipts to prove it. I have financial records as proof of money flowing from Apple to my bank account.
Are you sure that money came from Apple and not from your own users? Don't forget, they chose you. Apple doesn't own them
The %30 cut is nothing for the service provided. The only people I know to suffer from it are the resellers(i.e. Spotify like services where they redistribute most of the revenue).
The multiple store thing is going to be a hell for the small developers. Apple handling all the legal and regulatory procedures for selling globally is a great service stuff since it’s something out of the reach for most small companies otherwise.
Users who simply can’t find the app they need in the App Store due to the limitations can use Android.
When there’s a opportunity for innovation that is not possible on iOS because of this, it will happen on Android.
But with side-loading, all you would need is the website you likely already have. You could offer direct downloads. No need to integrate IAPs with different API calls. Just use Stripe or Paypal everywhere. Things could be a lot simpler. The sole idea of an app store adds unnecessary friction. When we're talking a 1 and mandatory app store, then this friction is clearly there for a purpose, and it feels so wrong. I soo dislike being told what I can and cannot say in MY app. All in the name of "protection" /s
>>When there’s a opportunity for innovation that is not possible on iOS because of this, it will happen on Android.
Devs don't bother doing things that can't be cross-platform these days. I definitely don't want my users to tell each other "you need to have an android phone for this app".
As a user, of course I would like to be able install whatever I want easily. I still can install whatever I want but it's not that easy.
People like to make fun of me when I talk tech with teens (TM?). This is exactly why. Because as much as we think we're on top of all the latest trends, sometimes we're just too not hip.
Which makes me further think -- how many OTHER transformative trends are we missing, because they AREN'T money or media based and thus destined to eventually pierce our industry bubble?
https://trends.google.com/trends/explore?q=roblox,among%20us...
(But I hadn't heard of the game before now, so maybe dismissing it is just a bias on my part.)
Probably not, but I also learned about Roblox, Snapchat, Instagram, and TikTok from teens long before any of those got popular in my usual bubbles. In part because when I would tell my usual bubble about them, they were dismissed as fads.
Perhaps market research should interview 10-16 year olds more often?
It doesn't seem that web client built in the same manner is impossible. What's impossible is, most likely, telling a browser to give you a gigabyte or two of memory to keep the local world area, then step aside and forget about it.
The article starts with a point that there is a huge spectrum between the arcade-style instant game and modern “full” games but then never really addresses that gap. They highlight that these games can be on a maintained third-party streaming service but then go on to focus mainly on browser games and make points that don’t even apply tangentially to things like Game Pass or PlayStation Now.
Although I'd argue that instant games don't necessarily need to be multiplayer. For example Friday Night Funkin isn't right now IIRC.
Stadia could do that but hasn't yet. A really strong demo for them would be to let you click a link and be playing a AAA game immediately. But as the article notes you have a scale problem immediately because you still need to run expensive hardware to support that.
That's what happens, as long as you have an account. Considering most games are paid, it's entirely reasonable to expect an account-type barrier to entry.
From memory, at least some Flash game sites, which is apparently the baseline, required a login.
This doesn't just apply to games, building a new programming language? Embed a web playground with your hello world example in the landing page!
Yes, we can expect there to be a barrier to entry.
But that is what I would expect this to fail.
I can both expect that stadia will have this significant barrier, and also think that it is going to be harmed significantly by it.
What is clear, is that the 30% commission charged by platform holders is absolutely stifling creativity and output, in apps and games.
Plus, the extra costs from VAT and refunds.
Friday Night Funkin's chief innovation is that it basically bypasses this by using Kickstarter to fund production.
Now, the platform owners have dropped all developer support to basically zero, are just sitting on core systems that were created 10+ years ago, have no curation, and all of their fixed and marginal costs have been pushed towards zero.
You can go into the Steamworks dev forum for example and find ongoing major platform issues that have been raised for years, consensus gained from a lot of other devs that they need to be fixed, and just never addressed or even responded to by any Valve staff.
https://landgreen.github.io/sidescroller/index.html
It's also free, open source, no ads, no micro-transactions, web based, no freemium, no data harvesting, no gacha, no crypto harvesting.
Why does everything have to be so damned complicated these days? It's not necessary complication, it's complication for the sake of complication.
Being rid of the hoops of app store submissions, being able to update at any time, and play on nearly any device has been very freeing.
Almost none are built with Unity. It's very very rare to find one that isn't built with a web-native game engine.
Check it out if you've never seen it, you will be impressed. https://www.facebook.com/instantgames/
The crappy thing is that iOS doesn't let you do IAPs on FB Instant. So you can only have IAPs on Android & Desktop. Ad monetization works everywhere though.
There are at least two audiences for traditional RTS: the ones who want an experience resembling speed chess and are focused on multiplayer, and the ones who don't care about anything more than maybe a little casual multiplayer, and mostly want the campaign.
Looking back, all the RTS games I played growing up, as the latter kind of gamer, were sort of bad at delivering what I wanted, even the greats. Teasing out the elements into their own things makes them so much better. Base-building is a better single-player experience when it's more like city-builders with objectives. Moving your little dudes around a map in service of a story is better when there's minimal or no base-building, and certainly when most maps don't revolve around both sides building bases while trying to destroy the other's. Grand strategy scratches another part of the RTS itch. Certain RPGs, another. They all shine better, doing what they do, than RTS did, however nostalgic I am for the abstract ideal of it, which, in hindsight, was never even really approached by the actual games.
Meanwhile, the RTS genre seems to have refined more and more into the multiplayer speed-chess-alike space, sometimes dropping some traditional elements of the genre in order to hyper-focus on delivering that experience, all of which makes it even less interesting to me (but I gather has made it much better for people who want that). It's not the 90s now, so you can ship a game that's almost entirely focused on online multiplayer, with little or nothing to offer for single-player, and it can still sell, so there's no need to try to tack a satisfying single-player campaign on to these.
1. Surmountable engineering problems. Flash on phones ran like crap... like everything else on early iPhone prototypes. Apple did a shitton of work to get the iPhone to fit on hilariously underpowered hardware, a journey Adobe never really undertook
2. The CEO of Adobe wouldn't take Steve Jobs's calls
Adobe was disinvited from the iPhone party not because it competed with the App Store (they didn't even HAVE an App Store at launch), but because Adobe was (and still is) a company that fundamentally does not understand touch input or mobile devices. Or anything that requires substantial engineering investment. Hell, Flash wasn't even their baby, their competitor Macromedia did most of the work. Even AS3 had to have been in development pre-aquisition (given the stories I heard about them trying to license Java).
The issue is that at least in my experience web game engines suck. JavaScript is slow and awful for large-scale software, even today. Frameworks which compile into JavaScript and WASM (e.g. libGDX) compile incorrectly, leading to obscure awful bugs, and they're still slow because JS. Your best bet is a general-purpose game engine like Unity or Godot which can export to web, but still, the web export is often broken, missing features, and just slow. Even tiny games I've played on itch.io either don't load or play super slow, and sometimes that might be the dev's fault, but often I think it's the state of web-gamedev in general.
Totally disagree about Unity. Unity's web export is awful. If you want a good web game you need to use a web-native engine like Pixi, PlayCanvas, or Phaser. I guess the Haxe & Godot tools are good too but I've never used them.
The huge advantage with using a Javascript/Typescript based game engine is that you can use the latest & greatest build tools like Webpack, and the latest ECMA/javascript features, instead of some proprietary tool chain that hasn't seen a major updated in years.
I think mobile game companies who have only been using Unity and have all their games built in Unity will have a hard time transitioning to mobile because you just cannot use Unity to make good web games. You have to rebuild them in a new engine.
But, if you use a web game engine, you can still target mobile. So, I would not use Unity for any new mobile/web game projects.
The hard part is getting the eyeballs on the link in the first place. But that's the same problem you have on Steam and other app stores.
If everything that was popular to teens during the flash era has a shot, I prognosticate we'll see haxe ways to box celebrities.. uhh elaborately choreographed stick figure violence, and a whole lot of things that are based off old warcraft 3 custom maps. Also winter bells. Definitely winter bells.
Further, there's a huuuge dropoff in interest once you do go to a paid release. Often these games are accessed from locked-down school or office environments as part of a "game jukebox" in the same way that YouTube often doubles as a "music jukebox" - there's minimal investment in what you're playing, so, like fast food, it's more important that it leaves a good impression in five minutes than to actually have substance. FNF's basic appeal is akin to a fashion brand with a cool logo - these characters could have used any number of delivery vehicles but the game, and the game when put on Newgrounds specifically, happened to be the right one with the right audience. And because it's positioned for ease of access you get the high virality. When you flip things so that the audience pays upfront, they have to have some conviction in this one, out of a countless number of games, being the one they should champion. It's just a radically different proposition and only some games can cross over between the two markets.
FNF does benefit from having a lot more hardware and bandwidth available these days. Music is classically the Achilles' Heel of web gaming because it's either space-inefficient or you need to invest in a sequencer format of some sort(which was only feasible in Flash by fighting the available technology every step of the way). But FNF delivers full-length audio streams without too much difficulty, so we've clearly made some giant strides there.
There seems to be a general disinterest by investors, developers and gamers, apparently it's very hard to monetize instant games over a longer period. Even if there are some bursts of popularity, those games are soon forgotten because people don't stay around.
A single game can change that, but nobody knows when this will arrive and what it will look like.
Browser games allow you to fast prototype but people don't care at all whether the game is Flash or instant, written in C++ or you need to install some software to play it. The only thing they care about is the game good.
Flappy bird had insane success as well, why not claim the future of games is mobile?
My NES games are instant and that preceded Flash by decades. In fact, I think the 8-bit era inspires game devs today far more than the early-mid 2000's browser games.
That was not my experience with Flash on Linux or BSD. It was a huge pain getting it to work and keeping it updated.
Anyone remember having to load a Flash app just to see a restaurant menu? I'm very happy you don't need Flash anymore to browse the web.