Jump to content
Fletch

Games Computers Play, Inc. - Multiplayer Online Game

Recommended Posts

I was a member of GCP back in the day .. I LOVED IT. Aside from the awesome Lord of Space game, there was also an awesome multiplayer TANK game. I was SO disappointed when they closed shop because it was SO AWESOME for what it was, when it was! There WAS chat as well as a private chatting area where you and another person could meet up and have a private convo. It was CUTTING EDGE!!!!

  • Like 1

Share this post


Link to post
Share on other sites

So, eight years later, and I've whittled apart the "term.com" binary enough to figure out a few things. There is a set of 65 commands that can be sent from the server, along with specific parameters for each of those commands. I haven't worked out any of the parameters, but if you look at the *.003 and *.004 files, you'll see many lines that start with a single character for the command, and then sets of hex digits and occasionally some text. From a brief glance, it looks like the "2" is used to load some sort of local binary file, and "D" is used to display strings.

 

Anyway, I figured I'd share this mild epiphany with you all, and hopefully it won't take another eight years to figure out more.

  • Like 2

Share this post


Link to post
Share on other sites

GCP will be included in the little bit of writing I am working on right now along with wardialers and the other things I've been talking about in other messages.. Please keep the messages coming. Would LOVE to see done to GCP that c64 users were able to do with QL...

  • Like 1

Share this post


Link to post
Share on other sites

I haven't worked out any of the parameters, but if you look at the *.003 and *.004 files, you'll see many lines that start with a single character for the command, and then sets of hex digits and occasionally some text. From a brief glance, it looks like the "2" is used to load some sort of local binary file, and "D" is used to display strings.

 

Anyway, I figured I'd share this mild epiphany with you all, and hopefully it won't take another eight years to figure out more.

Architecturally, this makes sense. GCP appears to be a "rich client" design (which is totally in-favor these days, particularly with mobile apps) where the user's terminal already has the code to do the audio visual kind of stuff, and they just need the live game or environment variables passed back-and-forth (and then the rare binary xfers for downloads or client-side software updates). An opposing method (which I have tried) is streaming high level BASIC graphics commands (or low-level pokes, peeks, and block memory transfers) to draw an environment. (Streaming sounds had problems, for reasons that I now understand.) That kind of "dumb terminal" approach is closer to what PLATO uses, but the dumb terminal approach doesn't lock you into only running a rich but pre-programmed interface.

 

Hex digits would likely be to avoid 8-bit mangling over a time-shared service and they would also be easy to encode/decode on client and server sides. Hopefully they had a more efficient method for actual binary file downloads.

 

900kHz would have indeed been overkill for the server. A UNIX workstation with a single 250kHz processor would have, too, as would a modern-day Raspberry Pi. The 12-user limit was probably a physical or virtual port limit with the time-sharing service and was less likely to be a software or CPU capacity issue. But at some larger number, they would have had to look at game lobbies, instances, or some method to control load. They may not have been successful enough to had to tackle those issues of scale?

 

Resurrecting the host code and maintaining the service would be a match for my skillset. If there were like-minded individuals, this might be a project for me to participate in.

  • Like 1

Share this post


Link to post
Share on other sites

I'd heard from somewhere years ago, that GCP is what became AOL. I haven't listened to the interview above yet to see they mention this at all...if it's true at all...

Share this post


Link to post
Share on other sites

...and now that I listened to the interview, I learned that they used a compressed windowed communication protocol, and he remembers it actually being closer to a dumb terminal with the flexibility to play other games... no game logic on the client-side. So a more Atari 8-but capability-specific kind of PLATO, then, huh? But also had an ST client for a short period of time?

 

The details would be interesting to know more about how they handled.

Share this post


Link to post
Share on other sites

And now that I've listened to it, the GCP-to-AOL thing seems a ridiculous old urban legend.

 

I really would like to see this up and running again, and able to use it with my 1030 modem...or even just through SIO2PC/APE. I suppose Dragon cart, but since those aren't available anymore someone might want to make more...especially with that other cross-platform racing game in beta testing. I want to do that too, but not on an emulator.

Share this post


Link to post
Share on other sites

 

 

Resurrecting the host code and maintaining the service would be a match for my skillset. If there were like-minded individuals, this might be a project for me to participate in.

 

I'd certainly be willing to help.

Share this post


Link to post
Share on other sites

Quantum Link is the service that morphed into AOL.

 

 

-Kevin

 

 

And now that I've listened to it, the GCP-to-AOL thing seems a ridiculous old urban legend.

 

I really would like to see this up and running again, and able to use it with my 1030 modem...or even just through SIO2PC/APE. I suppose Dragon cart, but since those aren't available anymore someone might want to make more...especially with that other cross-platform racing game in beta testing. I want to do that too, but not on an emulator.

  • Like 2

Share this post


Link to post
Share on other sites

Quantum Link is what went on to become AOL.

 

Edit: Kevin beat me to the post by a couple of minutes. I read the entire thread, and Kevin posted before I reached the end, so it was not visible at the time.

Edited by scotty
  • Like 1

Share this post


Link to post
Share on other sites

I would love love love to see this service re-created. FYI, I tried for two years after the interview to get the source code to the server, which might have been in a binder that Gardner Pomper might have still had around somewhere. But now Gardner is dead, and his business partner never responded to my emails.

 

So do it! But don't expect any help from the source code.

 

—Kevin

  • Like 2

Share this post


Link to post
Share on other sites

We need modern mmorpg for Atari! Maybe same for A800 / ST... Using sio2pi for xl/xe or nullmodem st cable to pi...

Imagine metaverse just for Atari fans...

I think it would be a lot more fun to make something that had several 8-bit clients.

Share this post


Link to post
Share on other sites

We need modern mmorpg for Atari! Maybe same for A800 / ST... Using sio2pi for xl/xe or nullmodem st cable to pi...

Imagine metaverse just for Atari fans...

I imagine something along the lines of a MUD would be easy (in comparison) to anything else. You could download a fully working generic setup (these are free), customize the game, and ensure it had an Atari-friendly display (40 columns). The nice thing about MUDs is that you can have a whole community building the world. On the Atari end, you'd need to connect over an SIO2PC via the R: handler, or with something like a dragon cart. The old MUDs originally started on BBS' in the 80s, so the format would certainly work. Just have to find someone with the tech skills and willingness to adapt an existing MUD server.

Share this post


Link to post
Share on other sites

Lots of thoughts...

 

1. If one was to launch an online gaming service for classic machines (Atari 8-bit or others), if it was a significant effort, it would be advantageous to have the GCP name behind it (with or without original code). A new service would be rewarded with publicity and legitimacy if it could point to an established pedigree and say, "We are GCP. GCP was the first commercial online game service" (or whatever is still accurate, even if it is "the first graphical online game service"). If a remaining GCP business partner was only to give his blessing, that by itself is a significant advantage. (Worth nothing, adopting the GCP name need not force anything into becoming a commercial service or a for-pay service.)

 

2. The Atari audience is awfully small, but for that same reason, it might not be a bad place for a service to work out the kinks. And if done as a labor of love, who cares if the audience isn't huge?

 

3. A central server running on modern PC-based hardware running Linux can service hundreds if not thousands of simultaneous clients (that's from a CPU and network performance perspective, and given some assumptions). But scalability, redundancy, and regional servers (for legal or latency issues) should still be baked into the original design.

 

4. There is a strong potential for cross-over interest from other 8-bit platforms, as mentioned. (If it goes that direction, that capability should be baked in from the beginning. It would have a very strong impact on the overall design, development, and operation of an initial single-platform system.)

 

5. There would also be some crossover interest from a PC (Linux/Mac) classing gaming and/or Pixel Art perspective. But there might be a reason NOT to go this direction (if just for reason #8, further down).

 

6. There could be some cross-over interest from players of other pixel based worlds, such as... I thought I'd never say these words publicly: Habbo Hotel. That virtual world offers a decent set of examples (and counter-examples) of how a pixel world could work. But really what advanced users and implementors hunger for is more of a world-building experience with real scripting logic behind it. (Habbo Hotel was more "Lobby" and "furniture acquisition with dollhouse showcasing", IMHO.)

 

7. Matej mentioned Metaverse, which most people use interchangeably with "virtual world" (item #6 above). What is interesting is that I've invested a considerable amount of public effort in figuring out how such a real-world Metaverse could/should be constructed in VR. Among the conclusions that I came to is that the most minimal Metaverse service is one that transports a user from one specific place in one virtual world and into an arbitrary location (as allowed by the author) in a completely different virtual world. Source and destination locations could be based on entirely different languages, libraries, development teams, and publishers. As long as they can negotiate a simple hand-off with a tiny bit of client-side middleware, it works. For example, one author's game could lead into documentation which is presented in another application, or a game-centered discussion board which is based in a third application.

 

7a. The Metaverse (as connectivity) concept can lead into a path for existing Atari games to add multiplayer-aware services. There are a number of secondary effects, such as allowing any Metaverse-aware piece of software to become a launcher, a leaf, or just a node along the way to other Metaverse-aware content. Any Metaverse-aware program can pass the user's experience off to any other Metaverse-aware program, which resumes at any definable destination inside the destination program (as allowed by the author).

 

7b. On the concept of multiplayer services, a central service could specifically bend itself to simplify the CPU overhead (as much as the programming overhead) for existing authors to add new multiplayer capabilities to already existing pieces of software (or create new software). A piece of software would associate itself with specifically crafted set of capabilities in a game definition file (on the server side). The definition could be a mix of things that it wants the central server to maintain and/or enforce as well as the specifics for user-to-user data which needs to be shared (and at what rate, and in what format). This would be provided in the form of a definition file (and not hard-coded game logic on the server side.) Initially, the server-side duty might be to enforce instances / game lobbies / game state, but more complex rules could later be enforced on the server side, including things such as dynamic maps and game logic (if not to minimize the capabilities of would-be cheaters). Actually, come to think of it, any default virtual world should itself use those very same definition files and communication protocol. (By extension of the Metaverse principle, a user could swap out the default virtual world with another virtual world of their choosing.)

 

8. Could become very credible use-case for vintage hardware. Actually, I'd go even further: it could become a real way to attract new users (of their own accord) to vintage platforms.

 

It goes without saying that there are lots of small details, considerations, and points to pay special care to. From a high-level, these rambling thoughts seem to me like something that is achievable and actually provides real value to users, content providers, developers, and retro-computing communities.

Share this post


Link to post
Share on other sites

In case I got too deep to fast, here's a re-wording:

 

A modern GCP is totally doable. The twist I'd like to put on it would be:

  • First focus on providing a software-defined communications channel (protocol) which is mediated by a centralized service. Design would emphasize minimal effort to implement in new or existing 8-bit software, and minimal impact on 8-bit CPU when running (relative to volume and complexity of communications utilized).

Concepts I'd like to add:

  • A "home" Metaverse program as a default virtual world or as a default virtual desktop
  • A concept of interactivity between Metaverse programs (where Program A can call Program B with X Variables).
  • No hard-line between local programs, programs downloaded from the network to the local machine, and programs that run somewhere on the network and live-stream to the machine.

An additional priority (or even a second team's priority) would be one of:

  • A default virtual world which is built upon that same communications protocol
  • An abstract cross-platform machine (user input, video output, audio output, data/binary xfer) built on top of that communications protocol. (This could form the foundation for programs which exist in the network and live-stream to the user's machine. "A slightly more modern PLATO for simple devices?" Or it could even make it possible to share today's existing 8-bit applications across the different platforms.)

Share this post


Link to post
Share on other sites

I think a service like this using modern computer technology we should be able to get the price down to $3/hour :grin:

 

In all seriousness, it would be amazing to see a classic online service like this available for multiple systems. E.g. a C64, Atari, and a PC windows port.

  • Like 1

Share this post


Link to post
Share on other sites

OMG far less than that, co location for gaming servers were far cheaper than that... consider the amount of data an old style 16 or 32 player unreal tournament server was pushing.... not to mention most isp can push a gig down and 50 or more Meg up to and including a gig at 10ms or less ping times. Just about anybody with such service or even streams a third of that could serve a crap ton of user... It' a different world folks.. People serve from home all the time now...

Edited by _The Doctor__

Share this post


Link to post
Share on other sites

OMG far less than that, co location for gaming servers were far cheaper than that... consider the amount of data an old style 16 or 32 player unreal tournament server was pushing.... not to mention most isp can push a gig down and 50 or more Meg up to and including a gig at 10ms or less ping times. Just about anybody with such service or even streams a third of that could serve a crap ton of user... It' a different world folks.. People serve from home all the time now...

 

Wow, that's far more aggressive than I myself had intended. I was thinking $FREE/hr.

I'm a monster, aren't I?

 

EDIT: Now that you force me to think about it, a small charge to a credit card could provide some disincentive and limitation for troublemakers. But as a profit-making activity? I just don't see it worth the hassle to either side. Let's wait for troublemakers to actually become a problem before that (or monetization which still doesn't require fees) gets explored in any serious way.

 

Honestly, in-world advertising in a default environment (without user data collection) is as far as I'm comfortable with enacting without conditions, and that'd have to be plowed back into costs. But even that's a condition, isn't it? *sigh*

Edited by jmccorm
  • Like 1

Share this post


Link to post
Share on other sites

Hey you do need some money for the electric bill and hard drives. It is a hobby none the less. The best jobs pay in more than one way.

Donate pay pal, the off add, what have you, I agree with you on the no tracking no full length movie adverts... they suck!

Edited by _The Doctor__

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...