Author
|
Topic: PC port of Genesis SC1, maybe? (Read 17650 times)
|
|
Mormont
*Smell* controller
Offline
Posts: 253
I love YaBB 1G - SP1!
|
Yes we do. All SC1 ships had them. Some were just subtle, but all were approprate, and generally balanced. The last point, balance, is one reason why I think some of these ideas may not work. No, only four sc1 ships had them. I'm not referring to the special weapon, I'm talking about out-of-combat abilities.
Also, you gotta think of storyline here. It's okay to give one ship an overpowered special if they will only rarely show up in the missions. Maybe I should sit down and write out my story ideas so far. I've done a bit on the boards alread, but if you like them they may give you ideas. (And if you hate them then .. then.. badword YOU.) You gotta understand though, if I do it I hope to make it so that when you create a scenario, you can either force preset teams or allow custom ones. If a ship had an overpowered ability, it might be too much of a sure pick in a custom team scenario. But feel free to post your scenario ideas.
I'm gonna start with Alliance vs. Hierarchy with a few of the better SC1 scenarios and expand from there to include SC2 ships and custom teams.
I'll consider making the stars move back and forth, but that's the closest I'll go to 3d starmap (so they probably won't fade into the background like in Sc1). I thought everyone hated it, but I guess I was wrong.
Status update: The game engine is a nightmare to write with! I can't even figure out how to use the graphics library. The development team seems to want to simplify things in future versions though, and I'll probably wait until it gets cleaned up some and better documented. But for now, I can still work on the basic mechanics. The thing I'm having touble with is the star connections. I'm working on a method for doing. Randomly generating stars is easy, but what's difficult is creating connections to other randomly generated stars.
|
|
« Last Edit: October 29, 2003, 01:37:32 am by JWJ »
|
Logged
|
|
|
|
Death 999
Global Moderator
Enlightened
Offline
Gender:
Posts: 3874
We did. You did. Yes we can. No.
|
You don't want to create random stars and then figure out how to connect them! That is not at all gauranteed to have a nice solution. How about you create a random graph and then use that to create a star layout. That problem isn't so hard.
Proposed algorithm for creating a random map:
Take parameters S (separation between opposing starbases), D (number of inserted dead ends), L (number of closed loops in the map), and E (Extra stars in loops and dead ends). The total number of stars will be S + D + L + E + 1.
1) create S + 1 stars, all connected in a straight line. 2) do this L times: choose 2 random stars with fewer than 5 neighbors, weighted by the number of connections fewer than 5 (this helps to balance out the map, preventing one side from being rich in stars). Propose a loop connecting these two stars, the loop containing one new star. If the new separation of starbases would be less than its minimum value, compare the shortfall to the remaining Extra stars. If there are enough Extra stars, claim enough to balance out the minimum separation. otherwise, cancel the loop and try again. 3) do this D times: add a dead-end star (once again, weight this by free connections to balance out the map). 4) do this enough times to use up the extra stars: insert a star into a loop or to extend a dead-end (note, the starbases are at dead ends, so these stars can be put outside the separation of the bases even if there are no loops or dead-ends).
This is in no way gauranteed to produce a fair map. Of course, the easy way to make it fair is to make it symmetric. Alternately, you can devise several metrics of constraint (In my example above, I used only separation of starbases). A prime example is: --The two starbases must have similar average distances to all stars. This prevents, say, an umbrella-shaped map with one starbase at the nexus. That starbase would be unfairly favored.
ONCE YOU HAVE YOUR ABSTRACT GRAPH:
here is an algorithm in pseudocode for arranging them in a real coordinate system. Note that with arbitrary graphs, this is much easier to do in 3-space than in 2-space. Once you have it in 3-space you may be able to smush it into 2-space. Maybe you won't.
(forgive the dots -- seems the indenting won't work right otherwise, even in a code statement)
// randomly arrange stars, giving out random coordinates. Then... while (NotYetSettledDown) { . for(Star A in stars) { . . foreach (Star B in stars) { . . . if (A == B) continue; . . . if (A.isNeighbor(B)) { . . . . if (A.distanceFrom(B) < MIN_SEPARATION_NEIGHBOR) {/* push B away*/ } . . . . if (A.distanceFrom(B) > MAX_SEPARATION_NEIGHBOR) {/* bring B closer*/ } . . . } else { . . . . if (A.distanceFrom(B) < MIN_SEPARATION_NONNEIGHBOR) {/* push B away*/ } . . . } // end if not a neighbor . . } // end for each other star . . // optionally, jiggle the star a little to break deadlocks. . } // end for each star } // end while not ok
(edit for clarity and punctuation)
|
|
« Last Edit: October 29, 2003, 09:49:41 pm by Death_999 »
|
Logged
|
|
|
|
guesst
Enlightened
Offline
Gender:
Posts: 692
Ancient Shofixti Warrior
|
No, only four sc1 ships had them. I'm not referring to the special weapon, I'm talking about out-of-combat abilities.
yeah, my bad.
And Death_999, you know I love you, but you're looking like you're going to kill this thread with technicality, like the last one.
Not that I mind it. I love this stuff. I wish I had the time to get back into this like I did when I was younger.
It looks like you've given the logrythm more though since last time. Don't worry about making the map "fair". SC1's maps were often unfair. However, they were made, somehow, from both sides. Open up the scenario editor and look at the variables that went in to see what I mean. Aside from that, this logrythm may be too complex, but what the heck. It could be fun.
|
|
|
Logged
|
|
|
|
Krulle
Enlightened
Offline
Gender:
Posts: 1117
*Hurghi*! Krulle is *spitting* again!
|
Actually i liked Death999s' post. It is a much more logical way to approach the starmap-buid problem. Okay, the algorithm did not need this explicit elaboration, but still useful for understanding. And that's what his post is about.
And yes, i agree, SC1 maps were more often than not no fair maps (unfair fits semantically, but not logically - at least to me).
|
|
|
Logged
|
|
|
|
Death 999
Global Moderator
Enlightened
Offline
Gender:
Posts: 3874
We did. You did. Yes we can. No.
|
Hey, if you don't want to read the coding suggestion, skip the post, don't drop the whole topic! I guess my point was, the stumbling block he mentioned has a way around it.
"However, they were made, somehow, from both sides."
I know -- they clearly used a different algorithm. Even with this one, it is possible to distribute the life worlds and metal worlds according to an algorithm which cares about sides.
"Aside from that, this logrythm may be too complex, but what the heck. It could be fun."
From a computer point of view, this abstract graph algorithm should be very simple to implement -- we're talking around a hundred lines of code, maybe less. From a player point of view, if the player doesn't want to have to care about the topology of the map, they can use preset styles. Did you ever play Galactic Frontiers? That had just about every game parameter settable by the player. But you didn't need to change all the parameters or even look at them to play...
Incidentally: algorithm = a specific description of a method logarithm = the inverse of exponentiation
|
|
|
Logged
|
|
|
|
Culture20
Enlightened
Offline
Posts: 917
Thraddash Flower Child
|
Thanks for the better algo, Death 999! It's far better than my "plot-random; connect the neighbors", and more understandable than your previous suggestion (still not sure what relaxation algorithms are. The only references I saw dealt with simulated protein crystalization - something my ChemE brother might be interested in - but don't answer here; no need to kill the thread ). Just in case people don't know what I'm talking about: http://uqm.stack.nl/cgi-bin/yabb/YaBB.pl?board=Gendiscuss;action=display;num=1046446680;start=0
|
|
|
Logged
|
|
|
|
Mormont
*Smell* controller
Offline
Posts: 253
I love YaBB 1G - SP1!
|
Good idea Death 999! A lot better than what I was thinking of.
I think that the ship costs need some thought. Most of them will be worth the melee point value, but a few need tweaking IMO: Mycon is way too expensive, I think 16 is good. Androsynth is not expensive enough, 18 seems to be reasonable. Chenjesus are nice, but they're way too expensive - not sure how much to drop it by though. Possibly raise Orz, Yehat, and Utwig all to 24 or 25?
I think these are the only major ones - a lot of it is a matter of personal opinion.
|
|
« Last Edit: October 30, 2003, 04:55:57 am by JWJ »
|
Logged
|
|
|
|
Death 999
Global Moderator
Enlightened
Offline
Gender:
Posts: 3874
We did. You did. Yes we can. No.
|
Actually, what I described IS a relaxation algorithm... depending on the how hard you push or pull, that is...
|
|
« Last Edit: October 30, 2003, 07:58:06 pm by Death_999 »
|
Logged
|
|
|
|
NECRO-99
*Smell* controller
Offline
Gender:
Posts: 478
Androsynth Combat Tactics Specialist
|
Hm, who's side would the Spathi be on? I mean, they switch to NAFS in SC2, but they're UQH beforehand. Where would this game sit, as it were, in the timeline?
JWJ:
Chenjesu was expensive because they're the leaders, of course it's going to cost to build 'em. Those Photon Crystals smart!
I actually agree with the Androsynth being more expensive. Due to their limited numbers as beings themselves (and awesome ship capabilities) they should cost just a tick more.
Mycon is right price: They're a pill to kill with any ship that's the same speed, and even if they have 1 crew left and they win, they automatically regenerate full-compliment. Plus, those Plasmoids HURT.
Thought Yehat was 25? I know its the next notch down from Chenjesu.
Utwig: It's good, but it's got a few major flaws. Make it about 20-22.
Orz: 18-20 max. They make excellent shock ships, but have poor "staying" power.
Supox:14-17: Great for picking apart larger ships, and relatively cost-effective.
ZFP: 8-12: Just above the Shofixti. I've gotten into practice with this thing, and it is probably the best skirmishing ship the NAFS has. Wide spray is helpful (Ilwrath = chewtoy) and the tongue packs a punch. Great Mycon-slayer too.
Pkunk: 7-10: Somewhere near the Shofixti. Helluva strafing ship, but lacks any sort of higher offensive power due to small crew.
We just leaving the Chmmr out of this?
Just my 2 cents.
|
|
|
Logged
|
I love being a clone. Everything I do bad gets blamed on the real me!
|
|
|
Mormont
*Smell* controller
Offline
Posts: 253
I love YaBB 1G - SP1!
|
Necro, For the last time, you will be able to allow custom teams in a scenario that isn't story-dependent, or to force certain preset teams for the scenario if it's story-based. Sorry, but I am SO sick of explaining that to people. For example, in Escalation (build up with a starbase and nothing else), the Spathi affiliation is unknown, cause it'll have custom teams. In counter-attack (alliance gets Chenjesu and money, hierarchy gets a few lower-end ships, a couple of mines, and no money), they would be on the hierarchy side. And in a scenario that occurs in the sc2 storyline, they would be on the alliance side
Chenjesu was expensive because they're the leaders, of course it's going to cost to build 'em. Those Photon Crystals smart! I like the broodhome, I just think that 28 starbucks is a bit much. 26 maybe?
Mycon is right price: They're a pill to kill with any ship that's the same speed, and even if they have 1 crew left and they win, they automatically regenerate full-compliment. Plus, those Plasmoids HURT. True, that is a great special ability. Still, I just think 21 is too much. Almost any fast ship can beat it with ease, so can the Yehat and Utwig. And there's no ship that it really performs great agianst.
Thought Yehat was 25? I know its the next notch down from Chenjesu. It's 23. I think it's better than Broodhome, but I'm not sure what the popular opinion is.
Utwig: It's good, but it's got a few major flaws. Make it about 20-22. I agree that it's a bit overrated. I guess 22 is fine how it is.
Orz: 18-20 max. They make excellent shock ships, but have poor "staying" power. Yes, its life expectancy is a bit low. However, it's quite powerful and will be able to capture enemy colonies and/or mines. Right now it's 23. If I lower it at all, it won't be more than 21 or 22.
Supox:14-17: Great for picking apart larger ships, and relatively cost-effective. But Supox is so hard to use! I think that considering how difficult it is to master, 12 is fine how it is.
ZFP: 8-12: Just above the Shofixti. I've gotten into practice with this thing, and it is probably the best skirmishing ship the NAFS has. Wide spray is helpful (Ilwrath = chewtoy) and the tongue packs a punch. Great Mycon-slayer too. ZFP - you serious? I love the race, and it's fun to fly, but no way does it deserve that many points. It already is just above the Shofixti (5 points vs. 6). "Great Mycon-slayer" isn't saying much - arilou, shofixti, pkunk, yehat, utwig, and a few other also rip the mycon to pieces.
Pkunk: 7-10: Somewhere near the Shofixti. Helluva strafing ship, but lacks any sort of higher offensive power due to small crew. Pkunk would be too expensive, but 7-10 is a huge chop (it's 20 right now). How about 14 or 15?
We just leaving the Chmmr out of this? Why? I think 30 starbucks is fine. Maybe 1-3 points more. It's not as good as many people think, just insanely easy to use.
Do you guys think colonies should replenish Chmmr zapsats and Utwig fuel?
|
|
« Last Edit: November 01, 2003, 01:23:21 am by JWJ »
|
Logged
|
|
|
|
|
Mormont
*Smell* controller
Offline
Posts: 253
I love YaBB 1G - SP1!
|
I guess you're right. Arguing about these details is a bit premature.
I've gotten started on the starmap generator, using Death_999's algorithm.
|
|
|
Logged
|
|
|
|
Mormont
*Smell* controller
Offline
Posts: 253
I love YaBB 1G - SP1!
|
News: I've gotten a sort-of working starmap generator now. It can create connectifications between the starbases, and also dead end stars. Can't do loops yet though. In fact, if anyone wants to check it out, I can e-mail it to them. But be forewarned, my code is really sloppy.
|
|
|
Logged
|
|
|
|
Bwahaha
Zebranky food
Offline
Posts: 32
I love YaBB 1G - SP1!
|
Why not create a Sourceforge project to host the code, or talk to the UQM guys about creating a separate package in their SF project for your stuff, if you plan to integrate it with UQM code at some stage?
|
|
|
Logged
|
|
|
|
|