Post Reply 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
philosophical question
10-31-2015, 10:48 PM (This post was last modified: 10-31-2015 10:49 PM by jerrys.)
Post: #1
philosophical question
This is a great game. I've been playing a lot of SO recently (My brother commented the other day: "it's like the summer 1996 all over again!")

I have a sort of meta- question that I wonder if anyone has given any thought to.

MOO2 is great too. I can still play it (with dosbox) 20 years later, and it's still great... My kids can play it when they're a little older, if they want. etc.

Here is the concern: SO is in a proprietary language, running on a proprietary platform, and the multiplayer only works through the proprietary multiplayer server. Some day it will stop working, and there's nothing anybody can do about it. My kids' kids won't play it.
Maybe somebody would make an "iOSbox" emulator, or something...but is Dude still going to be maintaining that server in 20 years?

(Even now, it seems like the server is a little flaky, particularly around what I guess to be the prime load time (~7pm NY time). It would be nice if there weren't that single point of failure, right?)

So, I don't know what I'm asking. (That's why it's a philosophical question.)

Obviously, I think that everybody should write their stuff in standard-compliant, cross-platform technology (e.g. C++/openGL) and implement multiplayer over as p2p over a LAN or something, so you can still play it in 100 years if you want to.

But, I realize that's somewhat unreasonable. (particularly unreasonable in this case.)

Maybe I am crazy and should just stop worrying about this kind of thing, enjoy it while it lasts? Float like leaf on river of life?

Thanks for your thoughts,
Find all posts by this user
Quote this message in a reply
11-02-2015, 01:15 PM
Post: #2
RE: philosophical question
This is a topic I've certainly given a bit of thought, mostly in the context of the currently in development Starbase Orion 2. And while I don't have all of the answers, maybe I can provide a few.

On the topic of playing "old games long into the future", that's hardly problem limited to SO1. All software has a shelf-life, and it generally takes one of two things to give it any kind of longevity; emulation software to keep the environment for the software the same, or continual update work by devoted developers. For the former, it will be a problem all iOS-only games will face. For the latter, it requires either a moderate size software company which continual success (ie a reason to keep spending money on developers to maintain/update code), or it requires software to be made free and open-source and have a devoted developer following willing to do that work for free.

SO2 is being written in Unity (closed source development engine for sure, but its at least backed by a largely successful company and should stay around a while), with the goal of being released on iOS/Android/PC/Mac. So in this case, the future-proofing of SO2 simply by "being available on a PC and therefor future PC emulators" looks good. If we're talking about 100+ years in the future, then this is likely the best course anyway (in other words, in 100 years I sincerely hope the state of the art in computer science and operating systems evolves to something far beyond Unix/Linux/Windows, hence emulation will probably be the only fallback).

The topic of "future-proofing multiplayer" is a little-bit trickier. In my opinion, multiplayer in a 4X game like SO can only thrive if its done in an asynchronous fashion; meaning, there needs to be a system where both "computers" don't need to be online and communicating at the same time in order to play. Hence, SO2 multiplayer will be like SO1 multiplayer, where one needs to connect to an existing server.

The server for this kind of game also has special requirements;one of which is that it needs to be able to run a tool which it capable of processing the game files, and to be streamlined enough to be maintained that tool needs to be written in the same language as the client app (basically, the server tool and the client can share the exact same code for things like turn processing). In the case of SO1, that means an obj-c command line tool exists on the server which processes turns, and is called by the "server software" (in SO2, this will be a command-line tool written in C#). The server itself is powered by SmartFox Server, with custom Java extensions to handle things like matchmaking, turn timers, push notifications, etc.

The server for SO2 will also be driven by SmartFox Server (the latest version), but all of the custom extensions are being rewritten from scratch. I know the architectural decisions which make the current server slow at times, and its one of my goals to make sure the SO2 server doesn't suffer from the same malady (fwiw, the slowness is all in the custom extensions and not in SFS server itself).

The larger question of "what happens to a piece of closed-source software written by one dude when that dude dies?" is something I've also thought about from time to time. While I'm alive and the games I write continue to be financially successful they will likely stay closed-source. I've thought about adding to my will instructions to open-source them after I'm gone; I will likely make that happen some day.

If there are specific features you would like to be considered for SO2, I strongly suggest you post them on the forum. The good ideas which gain traction from the community usually end up getting implemented.
The Dude
Find all posts by this user
Quote this message in a reply
11-02-2015, 03:51 PM
Post: #3
RE: philosophical question
I like the idea of grandchildren being able to play your games. It's always a treat to read the more polished writings of our immediate ancestors. The pass and play feature at least should survive if there is emulation.
Find all posts by this user
Quote this message in a reply
Post Reply 

Forum Jump:

User(s) browsing this thread:

Contact Us | Starbase Orion | Return to Top | Return to Content | Lite (Archive) Mode | RSS Syndication