Woo finally ready for another update..
(btw it is playable and accounts will be persistent now, even if the universe gets wiped a few times - play)the past few days I've been working pretty non stop on this. My cheapo vps was flipping out when I had 2 or 3 people playing at the same time (sending request packets about every 300sm). I'm pretty sure the company has me running off slow budget hard drives cause MySQL read/writes went sloww as crap even with small indexed queries, and the table lock just held up the rest of the queries making everything break.
Anyways, I decided to bite it and redo the whole thing to use Google Appengine. It went pretty slow but now I have everything running in a nice organized framework, using up Google's bandwidth (at least the amount they give for free). Considering I haven't used Python for 2 years, have never used Django, and have never used AppEngine, it went better than expected.
One of the biggest issues is this nice little gem: You cannot run inequality comparisons on more than one field when querying an appengine datastore. ie.. "select stars where x < 0 AND y < 0" turns into a giant mess. I initially tried using the built in GeoPT module used to store latitude, longitude.. but a giant bajillion width flat 2d map doesn't work out . Dividing everything into sectors made filtering objects by position more reasonable though.
Yesterday I finished up the account creation / login hooks and updated the flash loader to make it slightly more intuitive. UI's in Flixel are a pain in the ass..
Today I started working on my algorithms for stars and planets. I am using an image of the Universe as a data source by reading a pixel for each sector, and using the red and blue values for age of the sector, and luminosity to determine number and density of main sequence, giant and dying stars. I found
this nifty post for generating spiral galaxies, so I ported it from C++ to Python . Currently it still clusters stars too close to each other. I am trying to get it so in game space the stars are actually all pretty far from each other, even near the center of the spiral. At least far enough where I can generate distinct solar systems for each star.
Once I get the stars spaced a little better, I'll trying to port a python implentation of
StarGen, based off ACRETE, to do semi-realistic solar systems. I'll tweak the numbers to make there more habitable worlds however
Also coming soon: Chat and Pilot profiles. Those are fairly straightforward so maybe tomorrow I'll throw them in.
This is what happens when I scale a clustered star system too high:
tl;dr - I did a lot of crap but still have lots of crap to do.
try it