Preface
The first web application I built was called Terrania. A visitor could come to the web site, create a virtual creature with some customizations, and then track that creature’s progress through a virtual world. Creatures would wander about, eat plants (or other creatures), fight battles, and mate with other players’ creatures. This activity would then be reported back to players by twice-daily emails summarizing the day’s events.
Calling it a web application is a bit of a stretch; at the time I certainly wouldn’t have categorized it as such. The core of the game was a program written in C++ that ran on a single machine, loading game data from a single flat file, processing everything for the game “tick,” and storing it all again in a single flat file. When I started building the game, the runtime was destined to become the server component of a client-server game architecture. Programming network data-exchange at the time was a difficult process that tended to involve writing a lot of rote code just to exchange strings between a server and client (we had no .NET in those days).
The Web gave application developers a ready-to-use platform for content delivery across a network, cutting out the trickier parts of client-server applications. We were free to build the server that did the interesting parts while building a client in simple HTML that was trivial in comparison. What would have traditionally been the client component of Terrania resided on the server, simply accessing ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access