Beta Galactic Artifact - Release C


TrevorBradley

Active Member
Joined
Nov 6, 2007
Messages
732
After two more weeks of feature development and bug fixing, Galactic Artifact: Release C is finally here!

GalacticArtifactTeaser4.png


Galactic Artifact - Release C (SVN 335). This binary is for Windows and Linux, but an OSX binary should be out within the week.

EDIT: drop.io Mirror of Galactic Artifact. Use this if you want a much faster download speed... :)

Release C focused on refining the multiplayer experience, but there were many other updates as well.

Here are all the changes that went into Release C:

* Network code should be stable now. The addition of threaded network envelopes should prevent server hanging. Server messages are now properly detected and rapidly sent messages are no longer lost (thanks to zear for helping me test this).
* New Cargo Icon graphics from Pat Ferguson.
* New Animated Futurist Alien from Pat Ferguson.
* Artifact naming for Ancient artifacts is completed.
* Multiplayer chat has been added. Hit T to start a chat, Enter to send a message, ESC to abort a message. Foreign language characters should be supported. (Thank you Klaus!)
* Fixed a bug where buying fuel at beginning of game would crash the game.
* Fixed a bug where if you were visiting aliens, went to an empty sector and hit enter, you'd be talking to the aliens again.
* Slowed maximum ship speed. Should slow down the endgame somewhat.
* Futurist information now properly excludes sectors if you're closer to the artifact.
* Ancient information is now always in a range, no matter what the value of the artifact. The delta of the range will decrease with more valuable artifacts.
* Rare artifacts can now only be found 5% of the time (instead of 10)
* Wrapped network send code in a threaded envelope. Should prevent server hangs.
* Servers, clients now properly detect disconnection.
* Huge improvements to rendering time for Radar Surface and Information surface. Testers are now reporting the game is playable in all region of the galaxy, even for slower computers.
* Linux fps now improved so that 33fps is attainable. (Busy loop is the only practical way to do this in SDL, unfortunately)
* Frame pan rate, cursor move rate now keyed to clock, not fps.
* Fixed a networking bug where messages sent in rapid succession were lost. Messages should no longer be lost.
* Artifacts on the Alien Interface are now colour coded so you can tell them apart.
* User is now prompted if they want to quit if they hit escape.
* Fixed a bug where it was possible on some interface screens to hide the cursor on the next interface screen page.
* Increased key repeat speed (for chat).
* Made "No" the default option when being offered to trade artifact for information.
* Fixed a bug where high priced Industrialist artifacts didn't render their information properly at 22.5 degree angles.
* Hopefully the Babababa bug is gone for good.
* Fixed a bug where the mouse cursor occasionally disappeared on zoom.
* Fixed a but where if you mouse clicked at the edge of the screen while zooming into level 7, the screen would pan.
* Removed system rand() calls, replacing with a new algorithm.
* Fixed a bug where Industrialist artifact information would not show up properly on the minimap.
* Added comments to code in preparation for public release.

Many thanks to kattle87, Gruso , Klaus, keaft, bencoder, kidrdbz, dentrado, MarkoeZ, Hessies, Tobriand, Wolfsclaw, Javacat, Queryno4, azmodean, PoisonedV, flatmush, sinoth, and most especially TheMonkey, fusion_power and zear_ who's comments, suggestions, bug reports, rigorous testing and code snippets have helped make this latest release a reality.

Thanks to everyone in the dev forums who have been a huge help getting me off the ground.

Thanks to Pat Ferguson, who in now contributing awesome graphics (and music to come) to the project as time permits.

And thanks to anyone I missed who deserves it. :)

Release C contains source code for the game, distributed under an "educational only license". Details in the LICENSE file and Game Manual. You're free to compile, and examine the code, run your own server, play with your friends, but please do not redistribute the code publicly in source or binary form without permission. And if you want to, please just ask, the authors will likely say yes, but there are licensing issues to deal with. PLEASE NOTE: This would include the German version distributed for Release B. Please get in contact with me first before repackaging or hosting a mirror. (If you're willing to host a mirror, please let me know ASAP, I'll probably need it...)

I need to take a bit of a break from this for a while, so I can recuperate and work on a few other neglected things. I'll still be active in the forums taking in ideas, but won't start working on Release D until mid-February unless there's a critical error that needs fixing.

This is the Beta Testing thread, so feel free to reply with game ideas, bug reports, and general gloating for a multiplayer game well played. :)
 
Minor bug - if you start a map and hit HOME twice then press any direction, you get the "Babababa Bug".
 
just out of curiosity: what's the chance of me finding the final prized artifact right the first time I play it?
reminds me of that big tree which you had to find a secret prize hidden in a single pixel, a web page famous way back :p
 
.Gogeta§§J4BR. said:
just out of curiosity: what's the chance of me finding the final prized artifact right the first time I play it?
reminds me of that big tree which you had to find a secret prize hidden in a single pixel, a web page famous way back :p
Starting the game on the same star as the prize artifact? The chances are about 1 in 39.5 million. You have a better chance of winning the lotto.

It's likely less than that, as the game starts you in a dense region inside one of the two minor spiral arms, and the artifact is random by geography, not density. Sort of like throwing a dart at a dart board, then finding a close star, zooming in, and repeating, which is why the artifact is frequently in very star-poor regions of the map.

The probability is low enough that if someone told me they won the game before they got to play, I'd assume they'd found a bug. :)

The code is now available, you can have a look for yourself. Artifact star position is determined by Star::getRandomStar(). Ship star position is determined by Star::getRandomStar2(), which gives much less crappier starts.
 
Last edited by a moderator:
I think I need to code in a function where if you log in from TheMonkey's IP address, your ship is slowed down by half. How do you do it man??!

(Make sure you don't scare away the newbies... :)

Not to be too mean to TheMonkey, but considering how few people are playing and how diverse their abilities are, I'm going to have to start thinking of ways the Computer (or some other game actor) allows you to slow down the leading player, or speed up slow ones. Anyone have a good idea on how to do this?
 
Looks good, downloading now ;)

Edit:

A useful feature would be some sort of visual representation of how much fuel travailing to a planet actually requires, for example a 'required fuel' bar overlaid on top of the fuel bar. Also, having the escape key as exit menu, instead of exit game would be handy, being a Vi user, 'escape' means 'back' as far as my mussel memory is conserned ;)

What's the record for easy mode, currently I have 7.47 minutes, beater than the hour+ it takes on normal mode, upgrading the ship takes ages.

QUOTE
Not to be too mean to TheMonkey, but considering how few people are playing and how diverse their abilities are, I'm going to have to start thinking of ways the Computer (or some other game actor) allows you to slow down the leading player, or speed up slow ones. Anyone have a good idea on how to do this?


Instead of generating names randomly, make it necessary to register to play the on-line game. then save the time taken to collect the artefact/ time taken for someone else to collect the artefact. Calculate the average of all a players past games, then use this value as a guide to how good someone is.
 
Still downloading and looking forward to playing it, thanks a lot!

Hessiess said:
A useful feature would be some sort of visual representation of how much fuel travailing to a planet actually requires, for example a 'required fuel' bar overlaid on top of the fuel bar. Also, having the escape key as exit menu, instead of exit game would be handy, being a Vi user, 'escape' means 'back' as far as my mussel memory is conserned ;)
If you select a planet you can see the required fuel in the window left to the minimap.
 
Last edited by a moderator:
Ok, played a little. I really like the new Graphics and didn't run into any problems while playing the game. Nice work.

The .sh-file is not working for me as the included libSDL requires svgalib. Maybe you could include a build that doesn't. Just using the binary works find with my local libs.

Enjoy your time off. :)
 
Klaus said:
Ok, played a little. I really like the new Graphics and didn't run into any problems while playing the game. Nice work.

The .sh-file is not working for me as the included libSDL requires svgalib. Maybe you could include a build that doesn't. Just using the binary works find with my local libs.

Enjoy your time off. :)
I'm not sure exactly what I'm doing wrong with svgalib. Can you attempt a build yourself with the included source and let me know how I'm messing up my Makefile? You won't be able to connect with the complied binary, but it might help me diagnose the problem.

EDIT: It must have been something funky about the way my libSDL.so compiled, probably because I'm running slackware. I should probably try recompiling under an Ubuntu system, likely to be more compatible.
 
Last edited by a moderator:
sinoth said:
Minor bug - if you start a map and hit HOME twice then press any direction, you get the "Babababa Bug".
Hey sinoth, I can't seem to reproduce this. It's important to know if the keys are being pressed before or after the zoom completes. Do you finish all your keystrokes before the zoom?

Klaus said:
Hessiess said:
A useful feature would be some sort of visual representation of how much fuel travailing to a planet actually requires, for example a 'required fuel' bar overlaid on top of the fuel bar.
If you select a planet you can see the required fuel in the window left to the minimap.


It's still not enough. There are times when I really could use a fuel circle to determine if I can get from my starting position to a better one. If you look at the manual there's a few listings there about fuel circles and low fuel warnings for future releases. It just got pushed back for this release because of all the networking issues people were having.

Hessiess said:
Also, having the escape key as exit menu, instead of exit game would be handy, being a Vi user, 'escape' means 'back' as far as my mussel memory is conserned ;)
I'm an occasional user of vi myself, if the need arises... :)

Even though ESC is "back" in a certain respect, I'm all for changing the keys. They'll certainly have to be changed on the Pandora. Do you have alternate suggestions as to how they should be mapped?

I've tried going through the exercise of figuring out what works, but the "obvious answer" has never come to me.

Hessiess said:
What's the record for easy mode, currently I have 7.47 minutes, beater than the hour+ it takes on normal mode, upgrading the ship takes ages.
I can finish easy mode in about 6 minutes. Hard mode/Network play in about 16 minutes on a decent start. My wife can do Hard mode in about 20 minutes.

I saw someone (and I'm guessing it's TheMonkey) finish a network mode game in under 10 minutes yesterday. I started to have recollections as to why I don't like RTS games with unevenly matched players.. :)

I'm starting to think of ways of matching players of unequal skill so that both parties have fun...
 
Last edited by a moderator:
I wouldn't worry about players of unequal skill playing against each other. If you don't want to be schooled by someone in a network game, then play local. Even if there were separate 'newbie' and 'pro' servers, chances are the pro servers would mostly be empty so the good people would play on the newbie servers anyway. I have never seen a matchmaking service that worked properly. There is no way to protect against pro players making new accounts and rocking the poor noobs until their account is too highly ranked, then rinse and repeat.

This kind of stuff should naturally take care of itself.
 
QUOTE

Even though ESC is "back" in a certain respect, I'm all for changing the keys. They'll certainly have to be changed on the Pandora. Do you have alternate suggestions as to how they should be mapped?

I've tried going through the exercise of figuring out what works, but the "obvious answer" has never come to me.



2 ideas(from the 'shop menu':
---- escape = back to game, escape again = quit.
---- escape = exit game, q = quit.

QUOTE

I saw someone (and I'm guessing it's TheMonkey) finish a network mode game in under 10 minutes yesterday.



How is that even possible? starting right next to the artefact maby...
 
Trevor Bradley said:
I'm not sure exactly what I'm doing wrong with svgalib. Can you attempt a build yourself with the included source and let me know how I'm messing up my Makefile? You won't be able to connect with the complied binary, but it might help me diagnose the problem.

EDIT: It must have been something funky about the way my libSDL.so compiled, probably because I'm running slackware. I should probably try recompiling under an Ubuntu system, likely to be more compatible.
It is definitely a problem with your included libSDL.so. Yours has a lot more stuff linked into it than the one that comes with Arch, maybe you could try to include that one and see how it works for other users.

ldd slackSDL
CODE

linux-gate.so.1 => (0xb80d3000)
libm.so.6 => /lib/libm.so.6 (0xb7ff1000)
libdl.so.2 => /lib/libdl.so.2 (0xb7fed000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7efe000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb7ef0000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb7ee9000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7ee1000)
libvga.so.1 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0xb7ec9000)
libc.so.6 => /lib/libc.so.6 (0xb7d82000)
/lib/ld-linux.so.2 (0xb80d4000)
libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7d7f000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7d67000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb7d64000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7d5f000)



ldd archSDL
CODE

linux-gate.so.1 => (0xb7f10000)
libm.so.6 => /lib/libm.so.6 (0xb7e35000)
libdl.so.2 => /lib/libdl.so.2 (0xb7e31000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7e19000)
libc.so.6 => /lib/libc.so.6 (0xb7cd2000)
/lib/ld-linux.so.2 (0xb7f11000)
 
Last edited by a moderator:
Hessiess said:
QUOTE

Even though ESC is "back" in a certain respect, I'm all for changing the keys. They'll certainly have to be changed on the Pandora. Do you have alternate suggestions as to how they should be mapped?

I've tried going through the exercise of figuring out what works, but the "obvious answer" has never come to me.
2 ideas(from the 'shop menu':
---- escape = back to game, escape again = quit.
---- escape = exit game, q = quit.


Q is already the same as 7.. Laptop users were asking for a non-numeric keypad way of navigating.

I think the first idea makes sense though.

In other news... I've added a mirror for the file. Should provide much faster downloading...

http://drop.io/GalacticArtifact
 
Last edited by a moderator:
I'm just playing now and have run out of fuel. I could rejoin and try again, but I'd lose my identity, so I'm waiting for someone else to finish and chatting to a few of the others players :p
This has made me think that it would be good if you could set your own name and (if possible, have an account). Maybe something as simple as going onto a website and registering your name, then in the game setting that as your name and when you connect to the game, just check the name against the IP.

Another thing (that has been mentioned before) is if you could somehow get a tow. We all know garages are a rip off, so when you request a tow you could have to wait whilst they slowly leave one of the nearest inhabited planets, slowly making there way to you, pick you up and slowly take you back to their planet. Then they will either take all your artifacts and/or much of your money. If you have no money or artifacts they could take some of your upgrades as compensation. Once they get back to their planet and knicked your stuff, they will give you say 10L of fuel so you can be on your way.

Another thing is, would it be possible for you to show how long the current game has been going? Also, could you have some sort of "players screen" which shows you stuff like a list of the current players, how long they have been playing for that session, number of wins and games played in that session?


Anyway, fun game so far and like the new persons graphics :p
 
I have an issue. I extracted the files but the game could not find any of the dll files in the lib folder. After I copied each one it errored on to the root folder, it worked fine (actually, after 4 errors, I just copied all the dll's from the lib\MinGW folder to the root and it finally worked).

Edit: Nevermind, I guess this is what the bat is for. Not the best solution IMO, but maybe you should mention to run the bat instead of the exe in the forum (or maybe you did and I missed it).
 
BackAssward said:
I have an issue. I extracted the files but the game could not find any of the dll files in the lib folder. After I copied each one it errored on to the root folder, it worked fine (actually, after 4 errors, I just copied all the dll's from the lib\MinGW folder to the root and it finally worked).

Edit: Nevermind, I guess this is what the bat is for. Not the best solution IMO, but maybe you should mention to run the bat instead of the exe in the forum (or maybe you did and I missed it).
I wish there was a way to keep the libs segregated (win in one directory, linux in another), while still letting the exe be the executable. I could dump everything in the root folder but it seems so messy (especially since the 64 bit folks are likely to have libs with the same names as the 32bit linux folks.)

Any ideas?
 
Last edited by a moderator:
Trevor Bradley said:
I think I need to code in a function where if you log in from TheMonkey's IP address, your ship is slowed down by half. How do you do it man??!

(Make sure you don't scare away the newbies... :)

Not to be too mean to TheMonkey, but considering how few people are playing and how diverse their abilities are, I'm going to have to start thinking of ways the Computer (or some other game actor) allows you to slow down the leading player, or speed up slow ones. Anyone have a good idea on how to do this?
Ohh yeah. From now on, if someone else is on, ill just collect money out of the way.

Also I noticed you fixed the bug where if you try to quit an offline game and say no, it re-randomizes your ship and the artifact.

(Oh, and I think if you log into the server from an older release, you get the old speed... I don't use that to cheat, but it is possible.)


Edit:
Hessiess said:
Instead of generating names randomly, make it necessary to register to play the on-line game. then save the time taken to collect the artefact/ time taken for someone else to collect the artefact. Calculate the average of all a players past games, then use this value as a guide to how good someone is.
Interesting, but why not just disallow the same ip to win 2 times in a row.


Edit 2:
Trevor Bradley said:
I saw someone (and I'm guessing it's TheMonkey) finish a network mode game in under 10 minutes yesterday.
Yeah it was me, somehow I beat 3 games in a row in under 10 minutes... everybody left. I think they were lucky random starts or something, I usually take 11 to 14 minutes on an average start.

QUOTE
How do you do it man??!

Can anyone else here speedcube (aka: Rubik's Cube, very quickly)? With the 3x3 its very similar to a Rubik's Cube, plus the millions of possibilities of both these games.


Edit 3:
Oh, if you do IP related things, I got a few people on my LAN that share the IP. Some of them take over 30 minutes to win... with the old speed modifier.


Edit 4:
Ok, a cool idea. Make a super server where the speed is doubled on EVERYTHING, then only people brave enough can compete. Or just do the "an IP can't win 2 times in a row" suggestion I mentioned earlier. Either way, if someone else is on, I promise to only get money, somewhere that won't bother them.
 
Last edited by a moderator:
Back
Top