update Slash & I were recently interviewed on the Crossed Wires Podcast - if you wanna hear us overwhelming the poor presenter James.. clicky!
update Oscar Clark (Athanateus - see comments below) got in touch and added some more delicious details from '99 - thanks!
update On Oct 30th 2021, Slash & I donated all our Wireplay
material to the Centre for Computing History in Cambridge, not sure as/when it will make it to a display, but it's in safer hands than our garages!
update Slash found an original trial pack in his loft recently, so we had to take photos and rip the CDs: https://www.ashbysoft.com/posts/wireplay-calling-hello-1996/
I wrote this piece just over 10 years ago, in 2009 when Wireplay had already been gone for 8 years, but never found the right channel to publish it, nor spent the time cleaning up the typos, life eh? Well, it's Christmas 2019, and I have found both the time and the place - welcome to some retro gaming history from 20+ years ago :)
NB: This article assumes some prior knowledge of BT Wireplay, which was usefully available from BT themselves:
NBB: At the request of many individuals mentioned below, I have not used their full names, but I have included their gaming handles where known.
Let's roll back that clock...
Originally proposed by Colin Duffy, a long time BT employee and keen video game player with personal connections to the industry. Colin, along with his colleague Richard Warren drew up a business proposal and presented it to the BT operating committee, who approved the plan for a trial of the technology in 1995, and later roll-out targetted to coincide with the Euro'96 football championship.
Wireplay was intended to be a vehicle through which BT could change the way people used their telephone lines: at the time most calls were short, which put a lot of workload on the routing and switching systems but didn't deliver much revenue to BT. Encouraging long hold calls, and always answering calls, meant more money coming in and less equipment wearing out.. in theory! Also, games were cool, and BT wanted to improve it's image again :)
Colin found a small software development company in York to produce the early prototypes of the Wireplay platform (V1.x): Hand Whittington & Associates (HWA) had previously published work in serial communications systems, and GUI development.
HWA used their existing experience to develop the modem-based communications platform that would permit players to log into Wireplay, find other players, chat and organise a game together. They chose to use Solaris at the server end of the system, and Watcom C++/32 (+DOS4GW) on MS-DOS at the client, as did many popular games at the time (Doom, Duke3D, Virtual Pool). They also decided to provide games developers with an API for networking, which shared the modem with the client, handing over the physical COM port during game launch. This API was written using Watcom C++/32 & DOS4GW.
At the same time as prototyping in HWA, Colin began putting the delivery team together who would take the trial technology and roll it out nationally, sell the service and liaise with the games developers to ensure a good selection of content on the Wireplay platform. Colin first found Kelvin L, a keen video gamer and technical delivery manager at BT's Design and Development site in Suffolk (then BT Research Labs, now Adastral Park). Kelvin went looking for a designer with a taste for games and hardcore hacking to build the roll out platform, and found me, at that time working on speech technologies for automated voice systems.
On the 24th Nov 1995 we sat in a small conference room at BT Labs and worked through the top level design of a national scale multiplayer online gaming platform. I still have a copy of the diagram from that whiteboard in my old notebook :)
More team members were recruited, in particular: development folks - Andy (Flipper), Stuart (Slash), Ian (Tallboy), Mark (Heatherman), Colin U; game developer/partner support & education - Adrian (Drilla), Mark (Stikky), Chris (Amok), Dave C, Colin (Garion); test lab - Bryan (Hawklord), Chris (Zymotic), Tim G, Dave B, Tara C, Robin H; network guys - Iain M, Roger HH, Neil McD.
Colin Duffy and Kelvin contacted Gremlin Interactive Ltd., the developers of Virtua Soccer'96, to talk about integrating the HWA network API into their game, and we had our first inkling of the problems to come.. they weren't using DOS4GW but CWSDPMI, which is mostly, but not entirely compatible. It wouldn't hand over the COM port without dropping the call.
At about the same time, we received the first drop of the prototype source code written by HWA, which had been used with Virtual Pool to demonstrate the system earlier in the year (at Live'95). I was promptly sent to York to talk to both the HWA and Gremlin guys who had an immovable deadline to meet!
Our solution wasn't elegant, but it worked: we moved the lowest level of the protocol stack into a 16-bit real mode stub, which maintained the modem call while swapping programs (and DOS extenders) above. This also solved another problem that was apparent on our (low spec) BT desktop machines: starting the game with the client software still loaded frequently caused game crashes due to a lack of RAM, so switching between client and game via a stub gave us the memory back.
The result of this hacking was Wireplay Client V1.4, the first to make it to public release, on the cover of several PC gaming publications. It was great to walk into WH Smiths in mid 1996 and see our software on a million disks!
The server code needed less attention to begin with, we hadn't changed the basic protocol, although we had migrated from individual modems to racks of Ascend Communications MAX4000 terminal servers to front incoming calls and deliver traffic via TCP connections, something which was to cause problems later on. Heatherman and Colin U looked after the Solaris code, and got very good at using sar to track down scheduling issues by the end of that year!
Having got one game working, without changing the API, we were immediately able to run several others, and work started on the Wireplay Doom and Duke3D network drivers (since these games used a separate 16-bit real mode driver for their comms).
After the initial launch, the system appeared to work well for certain games but not for others, and at busy periods everyone found that games would lose timing synchronisation, resulting in a bail out or frozen UI.
People also reported that games wouldn't start if one of the machines loaded the game slowly (a common occurrence), and a host of other minor irritations with the way Wireplay worked. It was bug fix time.
While investigating synchronisation and performance issues, it became apparent that we were suffering from two root causes: the Solaris server(s) were introducing significant jitter under load; TCP retransmissions or modem retraining would interrupt the communications for long enough to confuse our picky FPS games.
The Solaris issue was deferrable by throwing money at it, which we duly did, scaling up to Sun Fire E10k machine(s), while hatching a longer term plan (see below).
The protocol issues were not so easily deferred, thus was born a re-working of the protocol stack, to reduce bandwidth, provide jitter equalisation and support another real-mode API, the Novell IPX interface that was becoming popular with games developers. When we were asked to name the new protocol, someone said 'Phils Framing Scheme' and thus PFS became the abbreviation of choice, which caused some amusement when applying for the patent on it (it was eventually renamed Data Addressing Scheme, and the patent was in three creators names, not just mine)!
I'm pleased to say that PFS gave us a slight edge on some games, in particular we were the only Gaming Service Provider (GSP) to support 8-player Duke Nukem 3D over 28800 baud modem :)
During 1996, id Software released Quake. The original version supported IPX network play, so we were able to run it on Wireplay, however it was also a client server system, necessitating writing an IPX stack for the Solaris comms server and installing Wintel game servers in our platform for the first time.
Later game servers were introduced with the flight simulator AirAttack, these used a native Solaris version of the PFS stack, with a TCP connection to the comms server.
We also experimented with a native TCP/IP version of the Wireplay Client using the DOS TCP/IP stacks from FTP Software, and Novell LAN Workplace for DOS (don't try this at home kids).
Finally, in the drive for stable latency and lower server costs (see above, E10k's are not cheap!), we began the work of re-implementing the comms servers using VxWorks on dedicated PowerPC boards in a high density VME rack, and experimenting with V.80 synchronous modems and time slicing data rather than packetising it.
Customers only saw some of these experiments though, as a whole new phase of work had started to port the client to Windows 95/98/... and broadband was about to make modems history.
From 1996 on, games were moving to Windows (Win32), and by 1997 we needed to support those games and the many people who no longer tolerated a reboot into DOS for a gaming session.
A new development team was created to port / rewrite the Wireplay Client for Windows 95+, led by Martin D with Alex C and, Alasdair (Zippy): they set about the non-trivial task of making everything that worked in DOS work in Win32, including the non-rectangular widgets :)
At the same time, new client-server games were being added to the portfolio, in particular Bridge (sponsored by the English Bridge Union no less!), and a pair of flight simulators; EF2000 by DiD, and AirAttack by Ketsujin, both supported by our resident pilot, and team manager Steve C.
My team were still supporting the current client, however we also needed to find a way for both Win32 and DOS applications to share the modem connection in the new client architecture. We settled on the adventure of writing a virtual device driver or VxD for the still rather new Win95 platform. This turned out to be a very educational experience, although I'd rather not do it again thanks! The result was Wireplay.vxd, a virtual device accessible from both Win32 applications and 16-bit or 32-bit DPMI (DOS) applications. In addition to using the Vcomm.vxd driver to talk to serial ports, this driver also allowed a Win32 application to intercept game traffic from anywhere and process it however it saw fit: in particular we used this trick to make Wireplay work over TCP/IP networks using the native Windows TCP/IP stack.
Wireplay 2.0 for Windows 95 was released in 1997.
Online games really took off after WinQuake / Quakeworld arrived, supporting direct TCP/IP connections to game servers anywhere in the world. Indeed the rapid proliferation of these type of game changed our focus in Wireplay toward the tasks of managing the game servers, providing user stats from them via our website, and sometimes (but not always) launching a game client with the right connection details for a server.
To this end, new people were brought in to work on game server technologies, and alternative web interfaces, in particular: Duncan (Phooey), Andy W, Mark (Valendil).
Oscar Clark joined us in '98 to lead our commercial vision, starting his career in video games and popular book authorship!
Ken (Jigsaw) was managing the technical team at this time, and amongst other things, built the first Wireplay forums for the community to use for chat, ranting, feedback and more ranting.
In this period Drilla and Stikky were in regular contact with Yan Bernier and others at Valve software to provide feedback and input to their first versions of the Half-Life dedicated server. Later (in '99), Drilla was to formalise an agreement with ‘Cliffe’ & ‘Gooseman’, authors of the “Counterstrike” (CS) modification for Half-Life. Part of this deal was a 24hr exclusive for the release of CS beta 4 which, due to it’s rapidly growing popularity, almost caused Wireplay’s inadequate 34mb internet connection to meltdown completely, and resulted in us experimenting with early traffic shaping technologies (Packet Shaper 4000s). Another part of the deal was our commercial team providing funds to buy new PCs for the CS team (yep really!), in return for which Wireplay had in-game decals - an early example of product placement in the industry. The associated ‘IRC CS release party’ was very chaotic in the early days before strict moderation was applied to the thousands of gamers worldwide, eager to see what Cliffe and Gooseman had to say and of course spot the first announcement of the release FTP links...
Implementation and configuration of dedicated servers for the growing number of FPS games posed great challenges. Most had proprietary syntax, no instructions and no support. Drilla, Stikky & Amok found themselves charged with providing a reliable public FPS gaming service from frequently very unreliable and unwieldy server code. Phooey developed effective server monitoring tools, while I (Phlash) produced a Wireplay version of the Quakeworld server that consumed considerably less processor time than the original - it wasn't rocket science, I simply took out the busy wait loop and put in a select()!. If only we had the source to all the other troublesome code!
On the PR / marketing front, James (Uprising) joined Wireplay and organised high-profile events such as “Quakeadelica” and the first “Insomnia” LAN party events - later known as the “I-series” LAN parties which are carried on to this day by Craig and the gang at Multiplay (https://en.wikipedia.org/wiki/Multiplay). James in turn hired Neal (Velvet) to look after the Wireplay online community. He put in place a volunteer management structure and IRC bot service which formed the template for many similar operations since.
Operating business as normal in 1998, we received an update to AirAttack from the developer (in Russia), and promptly popped it on a PC for testing. This same PC we later used to package up the 2.2 release of Wireplay, and upload that to our website for customers.. unknown to us it had the CIH virus! The resulting media storm was quite severe, however we managed to identify every user who downloaded the infected software and shipped them a golden bullet disk to clean their PC.
It turns out that although the AA binaries had been scanned, our BT managed version of McAfee Anti-Virus was 2 weeks behind on signature updates, and this variant of CIH wasn't picked up. Lesson learned, we arranged our own sheep dip machine and kept it fresh!
In early 1999 with many server games, beta releases of Windows 2000, and the rapid demise of peer to peer / IPX games, it became apparent that the Wireplay 2.x Client was getting out of date. We needed something very different, which was more portable, less intrusive, easier to maintain (no device drivers!) and better integrated with the Wireplay website. Thus was born the Outhouse Project - tinkering in the shed if you will...
Our initial experiments were based on the idea that everything could be done in an HTML browser except actually running a local application, which needed a bit more trickery in the form of a browser plugin (ActiveX control / NSAPI plugin). Valendil and Andy W were given the task of 'making something work' in a fairly short time, which they managed to do. We decided however that the number of problems they had to overcome just for one version of Internet Exploder and Nutscrape Navigator were a sign that things would only get worse in the real world, a 100% browser solution was too ugly.
Our solution was to ship our own browser, the Wireplay Layout Engine (WLE, pronounced Wall-E :) which rendered screens specified in XML, using both its own rendering code, plus Internet Explorer for HTML objects, to produce the flexible graphical client we wanted. In addition to the layout engine, Slash developed a taskbar application which managed the Wireplay session, launched local applications and monitored for updates to both itself, WLE and any managed games. All communications were signed for security!
This work saw the light of day as Wireplay 3.0 after a rather bumpy ride...
During 1999 it became apparent that BT wanted to stop Wireplay because it was not making money, of course it was never supposed to (see above). We also saw a number of customers leaving for other cheaper (broadband) services while we maintained an expensive (but reliable) dial-up service. In June, Colin Duffy gathered us together and said that a plan was afoot that might save Wireplay, but he was unable to say exactly what: that was when we noticed the auditors in our office costing up the PCs and monitors, so we were being sold, but to whom?
Rumor was rife: we rather hoped it would be a major game distributor like Sony Computer Entertainment, but it was actually something far more radical. Colin told us in July that he planned to merge Wireplay with an Internet games retailer in Leeds and float the company on the stock market. We would be known as gameplay.com, employee count ~55 (4 directors, 11 technical staff, and 40 warehouse!), if the initial public offering (IPO) raised enough money. He had formed a company with three other well known games industry people, including Mark Strachan, one of the founders of Domark games, all we had to decide was if we wanted to join or move into another BT project to avoid it: that was a difficult decision for many of us!
In the end a few people decided not to follow the adventure, leaving these few to continue: myself (Phlash), Stuart (Slash), Ian (Tallboy), Adrian (Drilla), Mark (Stikky), Chris (Amok), Colin (Garion), Duncan (Phooey), James (Uprising), Neal (Velvet), Steve C, Kelvin L, Oscar C.
On the 28th July 1999, gameplay.com opened on the Alternative Investment Market (AIM), and raised £31million, in a ten times oversubscribed IPO. We were in business and the share options looked good!
I'll leave the story of gameplay.com, the migration to offices in London, the boom and bust of the next 18 months to someone else, suffice to say it was one hell of a ride and I don't regret a thing - long live Wireplay!