HowTo: Multiplayer on-line gaming on oric!

This is the right place to discuss on how to implement hardware vsync, adding a VIA or AY chipset, puting multiple roms, or how to design a new flash expansion card.
User avatar
barnsey123
Flight Lieutenant
Posts: 379
Joined: Fri Mar 18, 2011 10:04 am
Location: Birmingham

HowTo: Multiplayer on-line gaming on oric!

Post by barnsey123 »

Hi Guys,

I've been talking with retromaster about the feasibility of adding internet functionality to the oric. The original idea was to create an external ethernet device that would perform all the complex IP communications with some form of converter to connect to Oric (Oric would then use some yet-be-defined communications protocol - OCP - to communicate with this device - probably over RS232)

Anyway, something similar is readily available, RM pointed me to this site:
http://www.industrialethernet.com/net23 ... 3wodUV8q_g

Of special interest is the "SERIAL TUNNELING CONFIGURATION" which allows the equivalent of an infinite length RS232 cable WITHOUT having to install any special software on the connected devices. All we would need is some form of dongle that would allow the RS232 part of this device to connect to the oric over it's Expansion or Printer port (ideally printer port if this can be made to work - leaving expansion port free for the cumulus.)

In the first instance this would open the door to direct Oric-to-Oric communications over the internet. On a wider note, an Oric Gaming Server (OGS) could be established that would act as a virtual switchboard so that multiple orics could communicate simultaneously.

If this is even remotely feasible (and granted, it's a big "if") the idea I have for the "UFO" game could be achieved.

UFO was another ITC production that predated Space:1999 by a few years (circa 1970/71). This wouldn't be just one big program - it would be a number of big programs. One would let you fly the Interceptors from moonbase, one lets you be the aliens, one allows you to drive the SkyDiver and so on - all the games would communicate with the OGS in the same standardized manner allowing different people to perform different roles in the SAME virtual world. Take a look here and let your imagination do the rest:http://ufoseries.com/

So, HARDWARE/COMMS guys - can it be done?
Programmers: Can we fit in RS232 comms?
Should I just get out more? :D
User avatar
ibisum
Wing Commander
Posts: 1652
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Post by ibisum »

I have to admit that I think the idea of doing multiplayer gaming on the Atmos with some TCP/IP stack is really, really intriguing ..

(I made my first fortune on BBS/Internet services for businesses in the 80's and 90's, many a Terminal server still bears my password out there in the murky land of dialup..)

PPP is designed for just this! What we need is a micro-PPP/tCP stack in Oric assembler, I've seen an "8k ip stack" floating around somewhere, I'll try to dig it out ..


Then there is Contiki:

http://en.wikipedia.org/wiki/Contiki

It has some built-in functionality for TCP/IP somehow, and perhaps this can be forked/repurposed for multiplayer gaming!

The version for the Atmos has been retired, but you can get the .TAP file and sources from here:

http://hitmen.c02.at/html/tools_contiki.html
User avatar
barnsey123
Flight Lieutenant
Posts: 379
Joined: Fri Mar 18, 2011 10:04 am
Location: Birmingham

Post by barnsey123 »

Hi Ibisum,
I hadn't considered implementing an IP stack on the Oric side - I thought it would be too large but 8K has possibilities...

The original idea was to free up the oric from ALL ip-related activities (let the external ethernet box handle that). If we can then build an oric->rs232 adapter we could then (from the oric side) only concern ourselves with the sending of data and processing requests (let the hardware worry about the ordering of IP packets and transmission errors etc).

The server(s) - Linux? - would host a number of game worlds in the same manner as PSN - but without the downtime! :D - and would act as the route through which all oric-to-oric traffic would flow.

A small-footprint customised protocol - OCP - could be used as the common language for in-game communications. Wether this would be for messaging or for the transmission of a players 2D or 3D co-ordinates. A single byte could hold up to 256 different "instructions".

For example "1" may mean "initiate connection to OGS" the server would receive this and as part of OCP it would expect it to be followed by a username/password which the oric software would provide.
"2" may mean "disconnect" (followed by nothing)
"3" may mean "send message" and would be followed by a string of say, 40 chars with a special character to define "end of message" followed by another string containing the userid of the recipient.

I understand that this is a gross oversimplification - there's got to be more to it than this - but if we adopted a common method of in-game communications it would save us all from re-inventing the wheel each time.

All we need now is the RS232 dongle, the server , some server-side software, some network-enabled game software, disk drive, a new communications protocol and some blood, sweat and tears. Easy eh?

Multiplayer 1337 anyone? :D :D :D
User avatar
ibisum
Wing Commander
Posts: 1652
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Post by ibisum »

I mean, I can see a situation where I set up my 5 Orics and a Telestrat to a serial multi-port terminal server, actually .. ;) That'd be fabulous!
User avatar
Symoon
Archivist
Posts: 2310
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Post by Symoon »

Good luck with the idea.
I had the same kind with my never-finished audio link.
One thing I can tell you: you can load an Oric program from a tape hundreads miles away with programs like Ivisit (never tried Skype as I don't use it). So internet communication with our Orics is possible in any way our imagination wants to design it ;-)
User avatar
Dbug
Site Admin
Posts: 4459
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Post by Dbug »

Technically, there is already a TCP/IP implementation for the Oric, it was done by Fabrice Frances, called BIP (BASIC IP), he even had a telestrat connected on the internet at some point. (Check on http://oric.free.fr/emulator.html, the "gateway program").

There was also some talks about networking on the Oric some years ago on comp.sys.oric:

http://groups.google.com/group/comp.sys ... c+internet
Post Reply