Beta Galactic Artifact - Release B


Trevor Bradley said:
Hessiess said:
Try generating your random numbers by reading from "/dev/random", which works on reading device drivers, instead of using pseudo random algorithms, so should be more random.

Whenever I play this game, I too always seem to end up starting in that general aria.
Won't work on Windows machines, but that's what the pre-processor is for I guess... :)


If you want more random seeming pseudo-random numbers then use a better algorithm like "Multiply with Carry" which is very fast and about as random as a mersenne twister algorithm (i.e. better than most implementations of rand()).

I've attached my implementation of a few random number schemes that you can use without license or whatever, the best algorithm is the "cmwc" one which is "Complimentary Multiply With Carry" and should be better than the algorithm you are currently using.
 
Last edited by a moderator:
flatmush said:
If you want more random seeming pseudo-random numbers then use a better algorithm like "Multiply with Carry" which is very fast and about as random as a mersenne twister algorithm (i.e. better than most implementations of rand()).

I've attached my implementation of a few random number schemes that you can use without license or whatever, the best algorithm is the "cmwc" one which is "Complimentary Multiply With Carry" and should be better than the algorithm you are currently using.
I actually already have a brilliant book on Pseudo-Random algorithms in C, left over from my 4th year Mathematical Physics textbook. I'm using those algorithms for star positioning, but thought I could get away with rand() for simple things like artifact and ship position...

I got fooled by the fact that srand(time(NULL)) actually works decently on Windows/MinGW. I'll be replacing rand completely for the next release.
 
Last edited by a moderator:
I've been doing some more testing with the latest builds and it seems to be working nicely (no more FPS drops in the center!). Only a couple of small problems... I've had quite a few bad starts with the newer versions where I just can't get any fuel do to hardly any items near me and even fewer aliens. The other problem is shown in the screenshot:

When you get a few items with large multiline names you can't see the bottom of the list! It's not too much of a problem if it's just fuel you need as you can guess what is currently selected, but can be a little annoying. Soooooo.. any plans on making it scroll?

Also, any news on the alien art? I don't pay attention when going into planets and forget what sort of planet I'm on when selling the items :p




PS, I love the Ringo Starr look of the Futurist :lol:
 
Javacat said:
I've been doing some more testing with the latest builds and it seems to be working nicely (no more FPS drops in the center!). Only a couple of small problems... I've had quite a few bad starts with the newer versions where I just can't get any fuel do to hardly any items near me and even fewer aliens. The other problem is shown in the screenshot:
When you get a few items with large multiline names you can't see the bottom of the list! It's not too much of a problem if it's just fuel you need as you can guess what is currently selected, but can be a little annoying. Soooooo.. any plans on making it scroll?

Also, any news on the alien art? I don't pay attention when going into planets and forget what sort of planet I'm on when selling the items :p

PS, I love the Ringo Starr look of the Futurist :lol:
The items overrunning the screen is a known problem (though I usually see it when I'm cheating while testing and get more than 10 artifacts). I need to figure out a way to fix the whole list at a later date, but not for release C.

Alien Art is coming, but likely after Release C. Pat's done a great job on Mr Future there, but they're hard work, and he's working on some game music that might just squeeze into Release C.

It's actually not Ringo Starr, but I won't say who it's modeled on... that would be bogus. :)

OK, with all the final bug fixes:
* Minimap Industrialist offset bug (black area not reaching edge) fixed.
* All new random code that should give much better random starts (as long as people don't start their clients in the same second.
* Fixed bug where mouse wheel + home + click would cause mouse cursor to disappear
* Fixed Babababa bug caused by panning over 1000ly at max zoom (holding down CTRL+6 for about 15 seconds)
* Fixed Single/Multiplayer ESC on exit from in game and in victory screen

Consider this a "Release Candidate" for Release C, but it still has all the cheats in it:

http://games.randomlynx.net/GalacticArtifa...ct0317-TEST.rar

After Release C comes out, I'm going to take a break from development for at least a week. I have other things I need to get done, and to be honest this has been exhausting and I need a break. I'll still be on the forums taking in ideas though.

Also in other news, I just put in my wire transfer for my Pandora today. It's probably the most financially irresponsible thing I've ever done in my life, but what the hell... :) I'm very late in the queue, so don't expect a port until about a month until the very last of the Pandoras have been shipped out.

I'm also thinking about releasing the code as open source for Release C and onwards. Anyone have ideas on which license I should pick?
 
Last edited by a moderator:
Would be interesting to know if other people can take the current game as base to add more things we not even thought about. :)

However, the game makes me creative too. In Theory, how much effort would it make to create such a game, where you first have to find the Star with the Price Artifact like we currently do, then entering the Planetary system of the Star, find the right planet and land onto that Planet (2D or 3D, whatever) Then scanning the Planet surface for the final Artifact and then explore hidden tombs, caves, antique places (3D? ) and so on...and every time, the Planet and the environment is generated randomly (better than designing millions of possible worlds per hand ;) )
I could imagine, that every Online-Player gets the position of the artifact if the first one reach the Star, so they all meet sooner or later onto the final planet, and if the lucky first one not fast enough, ohter people catch his artifact...
...just theoretical, crazy ideas, I don't wanna scare you to death ^_^
 
fusion_power said:
Would be interesting to know if other people can take the current game as base to add more things we not even thought about. :)

However, the game makes me creative too. In Theory, how much effort would it make to create such a game, where you first have to find the Star with the Price Artifact like we currently do, then entering the Planetary system of the Star, find the right planet and land onto that Planet (2D or 3D, whatever) Then scanning the Planet surface for the final Artifact and then explore hidden tombs, caves, antique places (3D? ) and so on...and every time, the Planet and the environment is generated randomly (better than designing millions of possible worlds per hand ;) )
I could imagine, that every Online-Player gets the position of the artifact if the first one reach the Star, so they all meet sooner or later onto the final planet, and if the lucky first one not fast enough, ohter people catch his artifact...
...just theoretical, crazy ideas, I don't wanna scare you to death ^_^
I really did give that some consideration and even started to implement a "solar system zoom", but decided anything lower down than where we are now would totally break the flow of the game. The early game is slow enough as it is. :)

If you're looking for a "explore every nook and cranny of the galaxy game", I do have an idea for another one that may come at a later date... :) Might make the Star Control 2 fans a bit more happy... :)
 
Last edited by a moderator:
Take that break, you deserve it! You're pumping out releases at an incredible rate.

Trevor Bradley said:
I'm also thinking about releasing the code as open source for Release C and onwards. Anyone have ideas on which license I should pick?
Licensing is probably more a matter of taste than anything else. Go GPL if you want to make sure your gift stays a gift or go with a (short) BSD-/MIT-style license if you feel really generous. :) Personally I never saw the need for any other license (which must of course exist somewhere, but escaped me due to my ignorance). It would be nice if the artwork could be licensed under a CC-license in the spirit of the source license (either attribution or attribution-share alike), but you have to discuss that with your (amazing) artist of course.
Copyleft or no copyleft is really more of a believe-thing, so you should be able to find all the arguments for and against it in a lot of heated flamewars all around the net.

It will definitely be interesting to read your code, even though I never really got the hang of C/C++, so I won't have any good advice for anything. Pointers make me itchy. ;)
 
Last edited by a moderator:
Klaus said:
Take that break, you deserve it! You're pumping out releases at an incredible rate.

Trevor Bradley said:
I'm also thinking about releasing the code as open source for Release C and onwards. Anyone have ideas on which license I should pick?
Licensing is probably more a matter of taste than anything else. Go GPL if you want to make sure your gift stays a gift or go with a (short) BSD-/MIT-style license if you feel really generous. :) Personally I never saw the need for any other license (which must of course exist somewhere, but escaped me due to my ignorance). It would be nice if the artwork could be licensed under a CC-license in the spirit of the source license (either attribution or attribution-share alike), but you have to discuss that with your (amazing) artist of course.
Copyleft or no copyleft is really more of a believe-thing, so you should be able to find all the arguments for and against it in a lot of heated flamewars all around the net.

It will definitely be interesting to read your code, even though I never really got the hang of C/C++, so I won't have any good advice for anything. Pointers make me itchy. ;)


My code isn't going to be that immaculate, as this is the first time I've coded in C++ ever, and the first time I've coded C for 16 years. I feel a bit like I'm going into the town square and dropping my pants.

I'm working with Pat to ensure a Creative Commons license for the new artwork and music. Some of the existing sounds and one song are licensed under the soundsnap license... I really want to fix those.

Also, if you read the dev forums I'm stuck in a quandary as to how I should handle anti-cheating measures. I had intended to hold off until Release D for source, so I could fix up some critical problems with the multiplayer communication order. Basically the game was built single player first, then multiplayer, so it's going to take me some time to get things secure for all the players.

Specifically, there's no "anti-cheating" software on the server, and the very first thing the server does on joining a multiplayer game is transmit the location of the artifact to the player.

Now in retrospect, this is exceptionally dumb, but it didn't occur to me until after I did it, and the solution (moving information requests to the server) is a fair amount of work.

In the short term, I've created a bit of my own code called Crypto that encrypts and decrypts data sent from the client and server. I was planning on changing Crypto from the source to the binary.. so you'd need one of my binaries to connect to my server, but would be able to create your own server and clients, create your own crypto code.

I've been reading into the GPL and don't think this is possible. There are strong restrictions on releasing binaries that have modified code in them without releasing the modified source. It *may* be possible to rework the LGPL to make it work, but I'm not sure how to do it cleanly... linking this Crypto code in as a library defeats what I'm trying to do.

I want to obey the spirit of the GPL, I'm just concerned about violating the letter of the GPL. And it's having the catch-22 effect of keeping me from releasing my source at all.

The devs on the devboard have said not to worry about it too much, that I've covered my bases, but I'm not entirely comfortable with not exactly following the GPL. I'm hoping I'm being dumb and there's some other way to do this where I can share the game with everyone *and* take some steps to ensure they play fairly.

The best bet may be to just hold off on releasing source until Release D, and then fix up the server so that it won't let the player cheat.

An alternative would be to release the source under a closed license.... say that the code can't be used without the author's permission, and then re-release it under the GPL at a later date. That could work in the interim.

EDIT:

http://www.opensource.org/licenses/mit-license.html

Hmm, that MIT license looks pretty good, actually... A lot closer to what I'm looking for. It doesn't restrict me from releasing a closed binary.

I'm a bit concerned about re-releasing under GPL at a later date, and if this causes any issues with mixed licensing though... I'll think about it.
 
Last edited by a moderator:
Actually, as you are the copyright-holder to that code, you could release it under as many licenses as you wish. I followed the discussion on dev and it would be no problem to release your sources under the GPL and release the binaries under a different license because of the crypto-code (as long as you don't statically compile the LGPL-libs into it). That's what many companies do, release a GPL version and a version with more features under a proprietary license.
EDIT: To restate it clearly once more, as my English might not be that great, the restrictions of the GPL apply to others, who obtain the code from you. It's the license they must obey if they want to use your code. You are in no way hindered by that restrictions to do what ever you want with your own code.

A problem could occur if others contribute to the GPLed project, as you would have to seek for their permission, as the copyright-holders of the contributed code, to include it in your closed binary. But the same could occur if you release it under the MIT-license as other could just release their contributions under the GPL and still comply with the MIT-license. That is probably a non-issue, as anybody who contributes something would most likely be happy to see it included.
 
Trevor Bradley said:
It's actually not Ringo Starr, but I won't say who it's modeled on... that would be bogus. :)
RUFUS!!! Amirite? ;)
 
Last edited by a moderator:
Klaus said:
Actually, as you are the copyright-holder to that code, you could release it under as many licenses as you wish. I followed the discussion on dev and it would be no problem to release your sources under the GPL and release the binaries under a different license because of the crypto-code (as long as you don't statically compile the LGPL-libs into it). That's what many companies do, release a GPL version and a version with more features under a proprietary license.
EDIT: To restate it clearly once more, as my English might not be that great, the restrictions of the GPL apply to others, who obtain the code from you. It's the license they must obey if they want to use your code. You are in no way hindered by that restrictions to do what ever you want with your own code.

A problem could occur if others contribute to the GPLed project, as you would have to seek for their permission, as the copyright-holders of the contributed code, to include it in your closed binary. But the same could occur if you release it under the MIT-license as other could just release their contributions under the GPL and still comply with the MIT-license. That is probably a non-issue, as anybody who contributes something would most likely be happy to see it included.
I was having problems getting through the legalese and was under the assumption that if I released my code under the GPL I would also be bound to it and unable to release closed code based around it. That's good to hear that I retain I actually retain ownership and control over my own code. I understand the issue with multiple authors though.

OK, I think I know where to go from here.

I did mention you're getting server code with this as well? :)
 
Last edited by a moderator:
I'll throw my support in for a MIT style license. I used to be gung-ho about GPL until I started seeing some pretty nasty reactions to it from some developers. I really wasn't sure how something that promotes open software could be a bad thing, but after some digging I see why. Even though the viral GPL license promotes what I believe to be a good practice (keeping code open and free) it promotes it at gunpoint -- you HAVE to accept it if you want to use this code. It's basically saying you can't trust anyone to do the right thing so you might as well force them. The MIT license is a lot more laid back and assumes people will do the right thing.

Personally, I think the GPL also has some ego issues -- the most common argument for the license is that you don't want some super mega corporation to take your code and profit from it... but I reallllly doubt most code released under GPL could turn any kind of profit.
 
sinoth said:
I'll throw my support in for a MIT style license. I used to be gung-ho about GPL until I started seeing some pretty nasty reactions to it from some developers. I really wasn't sure how something that promotes open software could be a bad thing, but after some digging I see why. Even though the viral GPL license promotes what I believe to be a good practice (keeping code open and free) it promotes it at gunpoint -- you HAVE to accept it if you want to use this code. It's basically saying you can't trust anyone to do the right thing so you might as well force them. The MIT license is a lot more laid back and assumes people will do the right thing.

Personally, I think the GPL also has some ego issues -- the most common argument for the license is that you don't want some super mega corporation to take your code and profit from it... but I reallllly doubt most code released under GPL could turn any kind of profit.
Well, gcc or g++ might. Even the GPL website said they had to change the licensing because people wouldn't use gcc if the licensing were more restrictive.

The MIT license is looking good. As long as my name stays slapped on the code, I'm OK with it.

Any suggestions how to put the license in? Do I need to prefix all my .cc and .h files? How do I include the LGPL license info for the distributed SDL binaries?
 
Last edited by a moderator:
fusion_power said:
Would be interesting to know if other people can take the current game as base to add more things we not even thought about. :)

However, the game makes me creative too. In Theory, how much effort would it make to create such a game, where you first have to find the Star with the Price Artifact like we currently do, then entering the Planetary system of the Star, find the right planet and land onto that Planet (2D or 3D, whatever) Then scanning the Planet surface for the final Artifact and then explore hidden tombs, caves, antique places (3D? ) and so on...and every time, the Planet and the environment is generated randomly (better than designing millions of possible worlds per hand ;) )
I could imagine, that every Online-Player gets the position of the artifact if the first one reach the Star, so they all meet sooner or later onto the final planet, and if the lucky first one not fast enough, ohter people catch his artifact...
...just theoretical, crazy ideas, I don't wanna scare you to death ^_^
I've been dreaming of a game where you can fly from randomly generated planet to randomly generated planet. I'm working on a concept for a game called "Space Agent 7". Rather than finding artifacts, you go from planet to planet foiling evil plans, seducing sexy aliens and trampling the weak in the name of the Great Brutish Empire.

As you approach a planet I want to generate more and more details on the fly. First continents appear. As you get closer the terrain becomes more detailed and buildings appear. As you come closer the buildings get more detailed and eventually you can see humans/aliens walking around. I want to generate all objects procedurally from simple shapes.

Anyway, to answer your question: Though I plan to use very simple Asteroids-inspired graphics to simplify things, I think implementing this will probably be impossibly hard and perhaps take years. I have to try, though. :)

Then again, things could be much simpler if you replace the whole approaching the planet part with a "Land on planet" button and generate an environment that's not the size of a whole planet. This way you wouldn't have to do incremental generation of content as described above.
 
Last edited by a moderator:
Dutch_Cap, I've been wanting something similar. I think a lot of us do, but there are surprisingly few attempts at such a game. I find this one particularly interesting:
http://en.wikipedia.org/wiki/Noctis

One problem with the idea is that while we have a romantic view of this near-endless space to explore with procedurally generated planets, in practice it gets old pretty quickly. Even with a very complex algorithm the number of genuinely interesting planets you find will be very small, and even then there are only so many variations of randomly generated geometry that will keep you playing. So... you need some kind of other hook to spice things up. I can't think of very many ideas that don't get way too complex way too fast, though :/

Pandora seems like a great device for this kind of game. Portable, powerful, net connectivity, and most importantly a full keyboard. All the elements necessary to get comfortable on the couch and endlessly explore space with the rest of the community :)
 
sinoth said:
One problem with the idea is that while we have a romantic view of this near-endless space to explore with procedurally generated planets, in practice it gets old pretty quickly. Even with a very complex algorithm the number of genuinely interesting planets you find will be very small, and even then there are only so many variations of randomly generated geometry that will keep you playing. So... you need some kind of other hook to spice things up. I can't think of very many ideas that don't get way too complex way too fast, though :/
This is *exactly* the reason why I went forward with Galactic Artifact's game concept. A game map the size of the galaxy makes no sense whatsoever. Even an epic game like Star Control II only had hundreds of stars. But this game has a "powers of two" interpretation of the galaxy. All of a sudden, an enormous map makes sense.

Actually, scaling this game up (to millions of galaxies) makes more sense than going down to the planetary scale. Maybe for the sequel... :)
 
Last edited by a moderator:
sinoth said:
Dutch_Cap, I've been wanting something similar. I think a lot of us do, but there are surprisingly few attempts at such a game. [...] One problem with the idea is that while we have a romantic view of this near-endless space to explore with procedurally generated planets, in practice it gets old pretty quickly.

TradeWars 2002 was great for this, as you could have hundreds or thousands of randomly generated sectors, but the lure to find a good trade would make them all useful one way or another. Out of the way sectors were good places to hide out. Backward, empty planets made good bases. I spent many hours on that game. I accidently killed the top good guy in the galaxy when I came into his sector while he was in an escape pod. It attacked me, my ship automatically shot back, his ship exploded. Suddenly I'm on the 10 most wanted list with a huge bounty. Good times. :)
 
Last edited by a moderator:
Trevor Bradley said:
sinoth said:
One problem with the idea is that while we have a romantic view of this near-endless space to explore with procedurally generated planets, in practice it gets old pretty quickly. Even with a very complex algorithm the number of genuinely interesting planets you find will be very small, and even then there are only so many variations of randomly generated geometry that will keep you playing. So... you need some kind of other hook to spice things up. I can't think of very many ideas that don't get way too complex way too fast, though :/
This is *exactly* the reason why I went forward with Galactic Artifact's game concept. A game map the size of the galaxy makes no sense whatsoever. Even an epic game like Star Control II only had hundreds of stars. But this game has a "powers of two" interpretation of the galaxy. All of a sudden, an enormous map makes sense.

Actually, scaling this game up (to millions of galaxies) makes more sense than going down to the planetary scale. Maybe for the sequel... :)


I would be happy with a nice exploring-game where the dungeon/tomb is randomly generated and you have to find the (random) treasures while mastering traps and stuff. Something like Tombraider without enemies. Could be nice 3D but AFAIK "random maps" and "3D" are no friends ^_^
...maybe I'm watching too much discovery channel documentations about ancient treasures, hidden tombs, pyramids and lost Cities in the Jungle...:lol:
 
Last edited by a moderator:
keaft said:
Just for the sake that I know this got lost in the crap here it is again.

Have you chosen your favorite ship? Should I try to make another? When I know which one you want I can work solely on that one and perfect it. Then I'll work on sizing and rotation so you don't have to.

Maybe this is a bit more on topic of beta testing as opposed to game ideas. That's what the dev section is for.
Again, please hold off on the ship design for now. I'm having a rethink as to how ships will be rendered, and want to attempt it myself before passing work on to anyone else.

I'd also recommend that we move any discussion about other possible games to another thread so we can stay on topic here.. :)

I'm not having the best day IRL, so forgive me if I'm a bit cranky today.
 
Last edited by a moderator:
Javacat said:
PS, I love the Ringo Starr look of the Futurist :lol:
RINGO STARR? Cmon, bro, its the Almighty George Carlin / Rufus!
 
Last edited by a moderator:
Back
Top