Before Flash: Java Applet Games and the Pre-2000 Browser Gaming Era
Flash gets credit for inventing the browser game, but Java applets were doing the job years earlier, embedded directly into HTML with the <applet> tag and running real, interactive, occasionally quite good games.
Sun Microsystems released Java in 1995 with a pitch that sounds almost quaint now: write a program once, and it will run inside any browser on any operating system without modification. The mechanism for delivering that promise on the web was the applet, a small compiled Java program embedded in a page with the <applet> tag and executed inside a sandboxed virtual machine that the browser had to load separately. For a few years, before Flash had matured into a real game-development platform, applets were the most credible way to put an actual interactive program, not just an animation, on a webpage.
The games that came out of this era ranged from simple board-game ports, chess, checkers, connect-four, to genuinely ambitious multiplayer experiments. Chat-adjacent social spaces built on applet technology let strangers interact in real time years before social networking existed as a category. The applet sandbox model, which restricted what a downloaded program was allowed to touch on your machine, was itself a meaningful piece of security engineering for its time, since it let a browser run someone else's compiled code without handing that code full access to your files.
Why applets struggled against Flash
The friction was mostly about weight and startup time. Loading a Java Virtual Machine inside a browser was a heavier operation than loading a Flash player, and applet load times on the hardware most people had in the late 1990s could stretch into ten or twenty seconds for anything nontrivial, an eternity by web standards even then. Flash's vector-based, tween-driven approach to animation produced smaller files and near-instant startup, and once Macromedia's tooling matured enough to support real gameplay logic rather than just animation, applets lost their main advantage: the ability to run genuine program logic that simple animation tools couldn't match.
There was also a distribution problem. Applets depended on a correctly installed and version-matched Java plugin, and Java's plugin situation grew messier over time as Sun, and later Oracle after its 2010 acquisition of Sun, pushed frequent updates that browsers increasingly treated with suspicion due to a long string of security vulnerabilities. Flash had its own security history, but it never suffered quite the same reputation for silently breaking or nagging users mid-session the way the Java browser plugin did in its later years.
The one applet game that outlasted the format
The most consequential Java applet game was also one of the longest-lived pieces of software on this entire list: RuneScape launched in January 2001 running directly as a Java applet inside the browser, with no separate client download required at a time when every other major online role-playing game demanded exactly that. That single decision, keep the whole game inside the browser tab, let RuneScape reach an audience that would never have installed a dedicated multiplayer client, and the applet delivery model stuck around for that particular game for well over a decade even as most other applet-based software quietly disappeared from the web.
Applet games never built the kind of casual-portal ecosystem that Flash eventually did, no equivalent of Newgrounds or Kongregate built primarily around Java content, but they proved something the rest of the browser gaming industry would spend the next two decades relearning in different technical forms: that people will play a real, code-driven game directly inside a webpage if the friction of getting there stays low enough. You can read more about how that lesson played out once Flash took over the space in how Flash invented casual gaming, and about what a persistent, always-on browser world looked like once the applet era gave way to something more ambitious in the casual gaming revolution that followed.
Oracle's own archived Java applet documentation still describes the mechanics of the sandbox model that made this entire era possible, a useful reference for anyone curious how a foreign, downloaded program was ever allowed to run safely inside a 1990s browser at all.
What an applet game actually looked like to a player
From the visitor's side, an applet game announced itself with a distinct gray loading rectangle where the <applet> tag sat, sometimes displaying a coffee-cup icon or a progress message while the Java Virtual Machine spun up in the background, a noticeably different visual signature from the near-instant appearance of a Flash movie once its own plugin had loaded. That loading rectangle became a kind of shorthand warning to experienced web users of the era: this page is about to ask more of your machine than most of what you'd clicked on that day. Some sites tried to soften the wait with a status bar showing initialization progress, borrowed directly from the desktop application conventions Java had originally been designed around rather than anything native to the browsing experience.
Multiplayer applet games added their own visible quirk: a visible connection indicator or lobby screen while the client established a socket connection to a game server, something almost no Flash game of the same period needed to show, since the vast majority of Flash titles ran entirely client-side with no server communication at all. That extra layer of visible network plumbing marked applet games as a genuinely different category of software to anyone who used both kinds of game regularly, closer to installed multiplayer software wearing a browser costume than to the throwaway single-session experience most Flash content offered.