The Ur-Quan Masters Home Page Welcome, Guest. Please login or register.
Did you miss your activation email?
July 03, 2022, 08:20:01 pm
Home Help Search Login Register
News: Paul & Fred have reached a settlement with Stardock!

  Show Posts
Pages: 1 [2] 3 4 5
16  The Ur-Quan Masters Re-Release / General UQM Discussion / Re: Net Play............................ on: January 08, 2007, 05:11:00 pm
So I've been tossing around ideas about how to code a reasonably good "master server" + client code for publishing and finding UQM net games.  Here are the notes so far:

Right.  So what's the required feature set? 

Assumptions (please correct if any are wrong!):
* UQM's netplay uses a peer-to-peer model with two peers, rather than a client-server model.  Thus player A needs to know B's IP and port, and B needs to know player A's IP and port. 
* Moreover, currently A needs to be waiting for B to connect, and B needs to be waiting for A to connect.  (is this correct?)
** This is kinda strange.  A suggestion is to have A wait for a connection, then when B connects, we're done.  A and B talk via the same port, at this point they know each other's IP address.  If for some reason A needs to know B's port, it can be the first item sent.  This means only A needs to have it's port open for incoming connections: usually firewalls can talk freely once an outbound connection has been made.  (is this correct?)
* Also there's currently a bit of quirkiness in that you have to determine who is the top player and who is the bottom player (is this correct?).  I recommend that in the future this gets phased out in some way.  Since it's peer-to-peer though, there has to be some way to distinguish between player slots.  My first instinct is for one side to just force the issue:
* There is currently no way to host a game server where you are not playing but others can join (ie a "dedicated server" so two other players can play; is this correct?). 
* I'm also assuming here that even though you must currently specify all these details on the command line, in the future it will be possible to change these parameters at run-time, and they will change many times in one program run to play complete games on different servers. 
* An integrated solution for finding games online would be cleaner than using some outside tool to launch the game via commandline parameters.  For example, GameSpy had such a tool.  Writing (or using) an outside tool could work as an intermediate measure.  From my experience, temporary solutions end up being permanent more often than not.  Google "lazy as a virture."  Smiley
* This solution requires the creation of master server software.  This also requires a dedicated server box set up someplace.  If money's an issue, I recommend a "Slug" running on someone's dedicated home, business or school network and using a free dns service.  Or paying for an actual DNS entry. Smiley  Note that sourceforge, berlios etc are not candidates for running such a server. 
* This solution should not require any other external software or service.  As in, you don't need a seperate ping daemon / web server / etc running. 


* (REQ 1000) Players can start a game server to host a game with themselves as a player.
** Starting such a game server advertises its availabilty to a master server
** By virtue of sending this message the sender's external IP address is revealed
** The sender may also have to specify which port to use. 
** This request also specifies which player positions are in use and which are available. 
** For future use, "max players" might be better than available player positions.
** For future use, we might specify the "map", "gametype", existing players in the game (enumerated by their names).  Console games typically have a "matchmaking service" whereby they don't show a list of servers in the UI; instead it picks a server that matches the player's chosen criteria.  Here is where such clues are given. 
** This master server may also return some info from the request. 
*** For example, a generated unique public game server ID.  This is useful for distinguishing between multiple servers behind the same network, using the same external IP and port.  May also be used for updating the server's stats. 

* (REQ 1001) Players can get a list of available game servers by querying the master server.
** Players can send in a request to the master server.  For now, it doesn't look like there's much to specify in this outbound request.  The master server doesn't really care about the player's IP, port, player position etc. 
** Should Filters be done on the requester's end or the master server's end?  So if the player specified in a UI someplace that they do not want to hear about full servers or something, do we make that part of this outbound request (at the expense of the master server's CPU time) or do we do that on the
** The return from this request is a list of servers.  For each, we have:
*** Public IP and port
*** Number of players currently in the game
*** Number of available slots, and for each, their "position."  This position should be phased out at some point.   
** Curiously, the server's ping is *not* returned here.  The master server has no idea about the ping time between anything; instead it's up to the player's software to ping the game servers. 

* (REQ 1002) Game servers can update their stats on the master server. 
** Same as REQ 1000.  The main reason this exists is to prevent the server from reporting multiple instances of the same server (by using that unique server ID).

* (REQ 1003) Ping from one game server to another. 
** Useful for weeding out bad game candidates.  Presumably the UI can sort a game list by ascending ping time. 
** This should be done by UQM code. 

* (REQ 1004) UI update for finding online games.
** Think Quake 3's browser list.  You can sort and filter results. 

* (REQ 1005) UI update for creating / hosting an online game.
** Presently there's not much to adjust: your port is about it. 
** For future expansion, this should be made a seperate UI page.  There may be things like choosing maps, gametypes, specifying max players, etc.

Sounds Great!  Now what technology is appropriate here?

Raknet.  This is a network library, which includes among other features, a fairly quick and easy way of implementing a master server and client code. 

This lib used to be available as GPL code; now it's an "Attribution-NonCommercial 2.5" creative commons license.  This is GPL-compatible, but it adds the additional restriction that the resulting binaries must be non-commercial.  Now it might just be possible to work something out with the author such that we pay for the commercial license, but we still end up with a GPL-compatible license... I dunno.. this kinda licensing makes my head spin.  Or maybe it was the Sambuka.  Smiley

Anyhow: great tech, but licensing will have to get sorted out. 

Use SOAP calls.  Simply put all the stuff talked about above into neat XSD-formatted SOAP requests, use some GPL-compatible lib to generate your code from the XSDs, and Bob's your uncle.  Or Toy. 

This is actually a fairly clean solution.  It means adding a build target to generate this code, plus adding the XML parser libs etc, but once that's out of the way this is really cheap maintenance, even if we add crazy features like easy matchmaking services like XBox etc have.  I was actually going to try doing this using a Java client front-end that just calls the commandline + a Java server, just because it happens to be familiar. 

Note that we are *not* going to hand-roll our own XML parsers etc.  *sigh* many a programmer has gotten overzealous and coded such solutions, only to pull out their hair when the spec changes...

Hand-roll our own code.  Nope, not a good idea.  Aside from the idea of which slots are available and the fact that the two players must know each other's IP addresses, this is definitely not a unique problem.  Someone's bound to have code for this, and this is what open source is for! Smiley

Go find someone else's code that already does something similar and use it.  Someone want to spend a few minutes doing a google " ..." so see if there's something already out there? Smiley  There has to be an open source "gamespy" equivalent.

Ok, so are those assumptions even slightly right?  Is this the required feature set? 
17  The Ur-Quan Masters Re-Release / Starbase Café / Re: the StarCon Con? on: December 28, 2006, 01:14:11 am
So maybe then we're looking more at the booth at a conference.  Ballpark pricing for one booth at this "Fan Expo Canada" is about 700 USD.  That's for a booth, with little to no advertising.  FYI , the gaming, sci-fi, comic book and anime expo's are all in the same building on the same dates, and admission gets you into all of 'm.  Presumably we're looking at the gaming one if we apply.   

There are also gaming tournaments going on there.  Hmm... UQM tournaments?  TW* tournaments?  Now that would be awesome! 

So that gets the booth only, no staff.  Uh... does this mean I'm staffing the booth?  Alone, for three very full days??  I mean, if we got ourselves a Syreen booth babe, that's another story. Smiley  What I mean is that we should have at least one  more person (preferrably many) putting lots of time into this in order to get it to work.  These things do take time and effort.

Fund raising... we could sell all kinds of things to raise money before the event (mostly donations or selling crap online I guess), and raise money at the event, like asking for donations for copies of UQM, TW* or soundtracks (if such permission is granted).  Heck, throw it in a shrink-wrapped box, too!  Either that or get corporate or government donations.  Maybe it's worth looking at getting a not-for-profit set up.  Any thoughts? 

However, if the con were to be held in a nice city I might be able to persuade my significant other that the sightseeing and quality time we would spend would far outweigh the relatively small amount of nerd time embedded in the trip Smiley
Toronto is a beautiful city, very tourist friendly.  It's definitely worth the trip. Smiley
18  The Ur-Quan Masters Re-Release / General UQM Discussion / Re: Other games with melee-like gameplay on: December 23, 2006, 05:42:01 am
Starfighter: Quadrant  Wars
* Flash
* Multiplayer, deathmatch and a kind of "kill the other team's base" game modes
19  The Ur-Quan Masters Re-Release / General UQM Discussion / Re: Other games with melee-like gameplay on: December 19, 2006, 07:30:16 am
There's a newer one, hadn't seen it in this or other threads: Armada Online
* MMO, Space-y
* Standard issue levelling up, items to collect, skills to upgrade, etc
* Currently in Alpha, so not all features are in yet.
* Currently free
* There's a similar control mechanism as in Space Rangers 2, in the sense that you click where you want to go with the mouse, and your ship turns and thrusts towards your point.  Targeting is always auto target.  Skills are controlled via standard MMO numbered buttons at the bottom of the screen. 
* Currently no plot, alien dialogs etc are featured, and from what their webpage / forums seem to say (from the 90 seconds I read them) there's no such plans. 
* There's a team combat game mode that would be very cool if they fleshed it out more.  What's strange is that the XP, money and items you gain in this mode do not stay in the rest of the game; they are immediately removed at the end of battle, and you get 2000 or 1000 XP for your "real" character (depending if you win).  This is a little strange at first, but it does make sense: you upgrade fairly quickly and get very powerful, and you kept such upgrades the rest of the game would get too easy.  So it's a combination of action multiplayer with some upgrade options, with an MMO tacked on. 

Mohammed: any other details about getting Timewarp to work?  Which OS are you using, which version did you try?  The latest release had some major issues with some of the game types not working, but the game should at least install.  Try TW-Light instead, it's pretty reliable. 
20  The Ur-Quan Masters Re-Release / Starbase Café / Re: the StarCon Con? on: December 04, 2006, 09:46:36 pm
I'm still kicking myself for not attending the VG Live event when it was in Toronto to pitch this in person directly to Mr. Tallerico, as apparently many game industry-types typically stick around at the end of these performances.  But we went to see Lord of the Rings at one of the last performances that night, so no dice unfortunately. 

I have sent out one such email already to Mr. Tallerico, but no response.  Perhaps it's time to send another.  Smiley

So what are we proposing here: adding Star Control music to the Video Games Live playlist.  So that means:

Getting their interest
** via email, phone calls etc to the VGL organizers.  Typically we'll want to get into contact with their agents first to respectfully get attention, then deal directly with the organizers. 

Once, they're happy with the concept, make a pitch. 
** Get TFB's blessing.  If the answer is no, out of respect we do not go any further. 
** Get the Precursors' permission.  See how involved they want to get. 
** Establish who the points of contact are on our side.  Who do they contact for questions about technology, licensing, creative, organization, PR, etc?  They will be used to dealing with people and organizations (ie a telephone number and email address to call) more so than forum posts etc. 
** Getting all current arrangements to VGL organizers in lossless format (Probably audio CDs via snail mail or if we happen to have people in the right city, via smiling, enthusiastic person Smiley ).  Only use ones that we have permission to use (ie UQM standard, ask permission from Precursors, any others that are kicking around: Chrispy's, Robeter Productions', any others)

VGL starts their planning.
** VGL picks out a short list of songs to play directly / fuse into a medley / whatever creative they want to do with it
** VGL finalizes any licensing issues, probably directly with TFB, and to an extent the Precursors. 
** Creating orchestral arrangements of the music. 
** Doing their other creative aspects of the stage performance: visuals, pyrotechnics, costumes, lighting, the whole works

VGL goes into full production. 
** Conductor, Orchestra, stage crew etc start learning their parts
** PR starts pimping this addition to their repertoire. 
** VGL starts performing Star Control music.  Mandibles clack in amusement. 


What's in it for VGL?

Adding some terrific music in their repertoire; adding yet another popular franchise to their list of such things. 

Money: they charge admission to these events, and I don't think it's cheap. 

What's in it for TFB?

With any luck, TFB may be able to get some royalties from the performances.  As always, I suspect the rest of us will be volunteers. 

This also strengthens their Star Control brand.  When a Star Control game comes out, it'll be that much more popular.  Who knows, maybe this starts a new Internet buzz. Smiley

What in it for us?

We're essentially encouraging TFB to make a Star Control game by showing how popular it really is.  Yes, there are *real people* out there who are willing to shell out *real money* for something with Star Control on it. 

We might also be able to "sell" / ask for donations for CDs with UQM on it at the events.  Yes, the GPL allows for this, it's just no way to run a business since anyone can just download it free. Smiley  In terms of what happens to such funds... I dunno, start an UQM fund, let Meep-eep figure out what to do with it. 

This is a fair amount of legwork to get all this together for some other people (VGL and TFB) to make money. 

Who's doing the orchestration?

Dunno, probably mostly VGL, with help from anyone that wants to volunteer if they ask for such help. 

Also, this is now completely off-topic from the idea of a StarCon Con. Smiley  Such an event would require even more planning... even just a booth would take more, and actually require cash.  It's also do-able when planned correctly.  Next post I'll do a mini-write up on that. Smiley
21  The Ur-Quan Masters Re-Release / Starbase Café / Re: the StarCon Con? on: December 01, 2006, 07:32:07 pm
It could be tacked on (ie get a booth) at the Fan Expo in Toronto (August 2007).  This event combines video games, anime, card games like Magic and Yu-Gi-Oh, Trek and Star Wars geeks, the whole lot.  This is definitely the place to show off Star Control!  In fact, they have Video Games Live going on at the same time, where they play video game music in a symphony orchestra.  Wouldn't that be incredible to have them do Star Control music?* Smiley 

Hmm... wonder what one of those booths would cost...

There are similar events in Montreal, and probably in Vancouver and other major cities.  But I think more of us are closer to Toronto.  Besides, as an IGDA Toronto guy, I tend to promote Toronto for all things video game.  Smiley

* Incidently, I've already asked here and via email to Tommy Tallerico, but so far no reponse. 
22  The Ur-Quan Masters Re-Release / General UQM Discussion / Re: A question about the letters to Toys For Bob for a sequel. on: November 04, 2006, 01:45:34 am
There are a large number of people that talk about plaing SC-series games with their family and closest friends.  For them it's a throwback in time, it's like it becomes the best memories they have, now all wrapped up in windows installer and a GPL license.  Like 80's night, but real-time nostalgia.

What you may wish to phrase is that you would like the people you play with now in UQM to also remember these times with similar nostalgia in a further 10+ years.  By creating a new game, such memories and great times are possible. 

Certainly a nice salutation helps, but a truly compelling story is your own.  It's *your* story about why *you* want a Star Control sequel.  This is a unique situation: the emails are actually being read (from what we gather).  The number of signatures isns't the compelling factor, it's emotional attachment that each story brings. 

Best of luck,
23  The Ur-Quan Masters Re-Release / General UQM Discussion / Re: I have a 3DO Star Control 2 guide from a 1995 Tips & Tricks magizine. on: October 16, 2006, 05:44:20 pm
If you're still stuck after looking at the options mentioned here, I can host it on my webserver indefinitely, without any of the restrictions.  To be fair, one additional restriction is that I won't have time to set up ftp access or anything, so it'll be a one-shot upload.  If you want to take up the offer, say so and I'll PM a suitable email address to send the files to. 
24  The Ur-Quan Masters Re-Release / Starbase Café / Re: Chess? on: July 21, 2006, 12:05:33 am
Here's a similar discussion from a good while back about making a game mode like chess in Timewarp.  So far, it's never been implemented. Smiley

Also, Archon was one of Paul Reiche III's (of Toys for Bob fame) early creations.  It's kind of like chess, but each combat action is fought in real time.  Some of the design elements from Archon went into Star Control 1's strategy mode. 
25  The Ur-Quan Masters Re-Release / Starbase Café / Re: Videos on: June 29, 2006, 08:14:29 am
Here's a gameplay video of TW-Light posted on that there YouTube. 

We created and presented this video last summer for an Indie showcase here in Toronto (details). 

"Quick, kids, to the bandwagon!"
-- Homer
26  The Ur-Quan Masters Re-Release / General UQM Discussion / Re: Anti-spam measures on: June 19, 2006, 07:30:24 pm
We're going through the same insanity over at the timewarp forums.  Sad, isn't it?

Your forum software probably has proper anti-spam measures, as does phpbb.  Typically they are using stock URLs and stock form data, so one solution is to rename files and to rename some of the form variables.  Deny registration from anything that tries to register using a URL or form variable that doesn't actually exist on the webpage.  Other solutions are heavy-handed: force email confirmation, don't show unconfirmed user accounts anywhere, delete unconfirmed accounts within a few days or a week.  Still others are harsher: log each IP address when trying to register, and let them sign up with malicious stuff; then take the evidence to the appropriate authority to get them banned from their ISP or blocked from spamhous or whatever. 

My take is to pose a question in the generated image that the user must type in to register.  Something simple for a human, but more tricky for an automated system: "1 + two is what?", "What is half of ten?", "How many fingers does a person typically have?"  Still it's a technology war. 

There are some complex debates on the perfect solution to spam accounts. 

No matter how you slice, it's not a personal attack, it's automated.  Try not to take it personally.  This is a techincal issue, not a social one.  Smiley
27  The Ur-Quan Masters Re-Release / Starbase Café / Re: Star Control : TimeWarp on: June 15, 2006, 01:35:33 am
In terms of mod-ability, we've made a pile of designs for revamping the way scripting is done using Python.  The idea is to use the C++ code as the engine, and use a higher-level view to access methods and variables via script.  More generally, it means pulling the game logic out of the game engine, and instead making it available via scripting.  This would allow for much more content easier, but also some things are really too difficult to pull off in the current code.  Sure, you can change a ship's graphics, sounds, etc, but not its behaviour.  At least, not at run-time, dynamically, in response to in-game events. 

Say you want to have a ship that sits idle until some condition is met, then an AI takes it over.  Currently, that means writing C++ code, which most creative writer-types wouldn't really like.  Or to make "maps" currently requires making a new gametype.  That doesn't make much sense.  So one idea is take all the same calls that would normally be called inside the gametype's C++ code and expose them to Python.  Then you define your gametype in Python and let it create all the planets, stars, player starting postitions, "walls," nebulae, whatever.  Thus a Python class becomes the "map" file format. 

Anyhow, lots of ideas kicking around, but so far I haven't had time to actually implement a lot of it.  Presently I'm reading through the book "Head First Design Patterns," which should help figure out a more elegant design than what's in the TW forums thus far.  Then design, then review, then implement, then start subclassing to do whatever we like: make maps, make gametypes, make "items" like precursor upgrades that can be picked up, defences, all kinds of stuff.  Sigh.  Very indirect, but probably necessary for future growth. 

Sigh.  Plus making Python bindings for the GUI library we're thinking of using (GuiChan).  Plus redoing the interface.  Plus taking steps to reduce spam in the TW forums.  Plus committing patches from users.  Plus expanding this google maps thing.  Plus real life. Smiley
28  The Ur-Quan Masters Re-Release / General UQM Discussion / Re: UQM on Google Maps on: June 06, 2006, 05:59:18 am
wow, yeah, I forgot about that one.  Sage's map was the most detailed sc2 map ever made.  It seems to be down now, which is a shame if all that knowledge, code and data is lost. 

The google maps API is really slick, so it can probably do just about everything anyone would need, if we're willing to do the legwork on it.  Smiley  So in terms of doing all the crazy features everyone will inevitably ask for, we don't have to build, test and maintain the javascript, it's available now.  It's just a matter of figuring out the API and building some backend stuff if needed, maybe a pull in all the planet info on demand from a database?  Like an AJAX kinda thing?  Yikes, that's a pile of work... Smiley

Here's the one from World of Warcraft, very detailed with a bunch of cool features:  I can't even imagine how big that universe is and how long it would take to make this webpage. 
29  The Ur-Quan Masters Re-Release / General UQM Discussion / Re: Remaking the original paper starmap on: June 06, 2006, 05:21:06 am
The map generator is filed under map
Neat, at the risk of punning, I'll check out this tool.  The google maps thing could definitely use this generated content.

I think I've used one of the output files already without asking, please complain if that's an issue. :/
30  The Ur-Quan Masters Re-Release / General UQM Discussion / UQM on Google Maps on: June 06, 2006, 02:30:14 am
Today I quickly threw together an implementation of the UQM map using google maps.  It's not yet production quality, but it's a neat proof-of-concept.  The WoW players did this some time ago, and dammit we're not going to let them beat us! Smiley

For future expansion:  It would be really slick to improve the graphics and functionality, and get it to"production-quality."
* vector-based, and very high resolution
* very detailed when zoomed in, showing individual systems
* Adding functionality to toggle co-ordinate lines
* Adding functionality to show (hyperspace) mini-map
* Adding functionality to show quasi-space map somehow or another
* Adding functionality to toggle spheres of influence (transparency layer? works everywhere except Opera)
* Adding functionality to make each star clickable (?).  Display stats for each star (?).  Toggle display of resource/bio availablity on each star (?)

Anyone willing to help out with this?

Some background on how Google maps works:
* Main Javascript code is stored on Google servers, there's a public API that you use to call their code from your page's javascript.  Typically Google will host the satellite images themselves, but in this case we want to host them all ourselves, as I've done here. 
* If you want to see the code, just do a view source on the page.  It's not much more than a hello world.  Actually, it's kinda busted. Smiley
* The images are sliced out of the largest, most detailed image you can find.  A script is available for Photoshop that allows this.  For this script, your image's length and width must be a multiple of 256 (but they don't have to be the same).  Edit the script to tell it which zoom level to use.  It's a little tricky, I still haven't figured it out to be honest.
* Links:
Pages: 1 [2] 3 4 5

Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!