FreeOrion

Forums for the FreeOrion project
It is currently Sun May 26, 2013 6:36 am

All times are UTC




Post new topic Reply to topic  [ 176 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 12  Next
Author Message
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Thu Aug 18, 2011 9:47 pm 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3693
Location: USA — midwest
Geoff the Medio wrote:
Bigjoe5 wrote:
Something like this?
Maybe. I'm not sure that the Random probability condition is so easy to interpret though, as there is also the galaxy setup setting for life frequency that will have some influence.

Here's how i'd do it if it were a boardgame or a PnP game. It may or may not help.

Life-frequency setting: determines the probability of a system getting a monster.

If a monster is needed, roll from the list of monsters (each having an equal chance).

For "rare" monsters, there's a chance you would re-roll. For instance a monster with a rarity of ".5" would have a 50% chance of being skipped if it was chosen, and a new monster rolled from the list.

Perhaps some monsters would be tagged as "one-of-a-kind", once they were placed, they would be removed from the list-- though there would be no guarantee that they will be placed.

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Thu Aug 18, 2011 11:48 pm 
Offline
Space Dragon
User avatar

Joined: Fri Mar 10, 2006 12:32 pm
Posts: 311
Location: Finland
eleazar wrote:
Perhaps some monsters would be tagged as "one-of-a-kind", once they were placed, they would be removed from the list-- though there would be no guarantee that they will be placed.


So could this mean that not every possible space monster would be in every game? If so, this sounds like a good idea, since if there is a list of rare space monsters that aren`t necessarily in every game, there is a lot more variety between different games than there would be if every game would always have all of the monsters in it. And a similar system could probably be used for some specials as well, so that not every possible special would be in every game.

Geoff the Medio wrote:
What would be good to add now, IMO, is some benefit to players to having the monsters around. This could be similar to bonuses for killing barbarians in Civ games, but perhaps something more interesting could be arranged.


It might also be worth considering, if all of the space creatures should be monsters. Perhaps there could be some creatures that don`t attack the player, but instead do something positive when they move around. Like for example a creature that could temporarily speed up starlane travel in those areas that it has gone through recently.

_________________
What is your favourite alien species and WHY?
Preliminary thoughts about diplomacy
Some unfinished ideas for specials


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Fri Aug 19, 2011 10:21 am 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3693
Location: USA — midwest
MikkoM wrote:
So could this mean that not every possible space monster would be in every game? If so, this sounds like a good idea, since if there is a list of rare space monsters that aren`t necessarily in every game, there is a lot more variety between different games than there would be if every game would always have all of the monsters in it. And a similar system could probably be used for some specials as well, so that not every possible special would be in every game.


Indeed, I think it is an important plus for replayability that the random stuff, monsters, species, & specials be unpredictable from game to game. But also since you can set the galaxy with a very small number of stars, there are certain to be at least sometimes random content that doesn't appear.

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Mon Aug 22, 2011 7:09 am 
Offline
Space Krill

Joined: Mon Aug 22, 2011 6:52 am
Posts: 5
I have been following the freeorion forums for a few years now, on and off, but I am highly interested in the space monster varieties, and their corresponding uniqueness.

Would the importance of such a game aspect warrant a separate engine logic module, so that the ideas are not restricted to what can be done now, which, from the looks of it, is reasonably limited?


I really liked Yakk's approach to the problem, and given a set of creatures, the map generator could randomly populate the galaxy with a unique set of critters.

Ideally, it would be a level more interesting than the MOO2 random appearance of 2-3 creature types + monsters, and, given time, it should be possible to match the fauna growth to a normal empire growth of the player to hamper exponential growth of the empire later on in the game, especially in large galaxies with small number of players.


Would you consider adding a wider range of abilities to the creatures, than traditional MOO1/2 set?

For example, extremely large creatures could feed on the planet's ecology, reducing gaia/terran planets down into tundras/swamps, and later on all the way to barren? Since it would take time for such a monster to grow, the player should have technology to terraform planets back to terran by the time such a monster would spawn.



Overall, it would be interesting to see the space monsters as something other than a simple "reach 6 MIRV nuke destroyers, get all planets" type of obstacle for progress of the game, and more of a continuous resistance for your own expansion, which is matched by force, as the game progresses, effectively reducing the number of planets the player have to manage (since colonising new ones is nearly as hard as taking the other player's ones), and allowing for creation of flexible chokepoints on the map.

This could also add a whole unique set of research tech and auto-generated treasures, which rely on the space monsters, and their sizes.


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Mon Aug 22, 2011 5:16 pm 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3693
Location: USA — midwest
Commutor wrote:
Would you consider adding a wider range of abilities to the creatures, than traditional MOO1/2 set?
We've already surpassed MoO. Unless i'm forgetting something, MoO monsters randomly appeared and simply moved in a straight line attacking everything in it's path.

In SVN we've got reproducing monsters, and scripting allows a lot of other arbitrary behaviors. The only significant thing we lack IMHO is the ability to make the monsters react to specific other ships or monsters.

:arrow: Monsters, IMHO give us a good chance to try development by iteration.

    1) improve monster scripting
    2) playtest: find out experientially what works and what doesn't
    3) go back to step 1

Monsters are a simple enough segment of the game, that we don't really need a grand and integrated plan. And it saves a lot of work over discussing adopting a grand and complicated scheme like Yakk's, implementing code and script, and then discovering that it is overkill, or didn't work as hoped.

Feel free to discuss ideas, or script your own monsters, but the most practical ideas will be about what the next step could be.

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Mon Aug 22, 2011 6:30 pm 
Offline
Programming, Design, and De Facto Lead
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 7899
Location: Vancouver, BC
eleazar wrote:
The only significant thing we lack IMHO is the ability to make the monsters react to specific other ships or monsters.
There is a Design condition in the SVN version that can test for particular ship designs (and thus specific types of ships or monsters). There are also conditions for part types or hull types or part classes.


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Mon Aug 22, 2011 10:10 pm 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3693
Location: USA — midwest
So I was thinking about this while waiting for the doctor. I'm starting to understand how the effects work, but I'm still far from mastery.

So say we wanted to make tame space monsters, but not just let the player build them like ships once he had the plan/tech.

Could a monster lay an egg on a planet -- as a special-- that on it's own would self-destruct and turn into a new monster(s), but if a colony was built there, the special would change to a new special that would allow the monster to be built only there. Or would it need to be a special shipyard module that allowed the monster to be "raised"?

Or maybe the eggs would hatch at a normal rate but the presence of a colony/outpost (and/or having a monster wrangling tech?)would make sure the resulting monster was on your side.


Geoff the Medio wrote:
There is a Design condition in the SVN version that can test for particular ship designs (and thus specific types of ships or monsters). There are also conditions for part types or hull types or part classes.

Ah, good, i missed that addition.

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Mon Aug 22, 2011 10:55 pm 
Offline
Designer and Programmer
User avatar

Joined: Tue Aug 14, 2007 6:33 pm
Posts: 1773
Location: Orion
eleazar wrote:
Could a monster lay an egg on a planet -- as a special-- that on it's own would self-destruct and turn into a new monster(s), but if a colony was built there, the special would change to a new special that would allow the monster to be built only there. Or would it need to be a special shipyard module that allowed the monster to be "raised"?
No special shipyard module would be necessary (though we could make one necessary), and the only hard part about what you described would be making the original special spawn a monster after a certain amount of time (the certain amount of time being the hard part, which would require a long succession of specials, each creating the next and destroying itself until the "one turn left to hatch" special. Or it could occur on a predetermined game turn.). That, and if you wanted to only let the player raise one monster, that would be hard as well.

eleazar wrote:
Or maybe the eggs would hatch at a normal rate but the presence of a colony/outpost (and/or having a monster wrangling tech?)would make sure the resulting monster was on your side.
The issue is how to make the monster "on your side". If the player "owns" the monster, but we don't want him to control it like an ordinary ship, then there needs to be a way to prevent him from doing so. If he doesn't "own" it, then there needs to be some way of making it non-violent towards him alone. I'm not really sure yet what the best way to handle this is.

_________________
Warning: Antarans in dimensional portal are closer than they appear.


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Tue Aug 23, 2011 12:10 am 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3693
Location: USA — midwest
Bigjoe5 wrote:
...the only hard part about what you described would be making the original special spawn a monster after a certain amount of time...
For now i am content with X% chance of "hatching" per turn.

Bigjoe5 wrote:
eleazar wrote:
Or maybe the eggs would hatch at a normal rate but the presence of a colony/outpost (and/or having a monster wrangling tech?)would make sure the resulting monster was on your side.
The issue is how to make the monster "on your side". If the player "owns" the monster, but we don't want him to control it like an ordinary ship, then there needs to be a way to prevent him from doing so. If he doesn't "own" it, then there needs to be some way of making it non-violent towards him alone. I'm not really sure yet what the best way to handle this is.
Uncontrolled space monsters on your side could be interesting, especially if they appeared to your enemies the same as "wild" monsters. But that is probably very forward-looking. User-controlled monsters are a fine for a start.

The big question is, "why bother with raising monsters when you can build your own ships?"
I think we need to provide some sort of answer to that, besides "um... monsters are cool!"

Some ideas:
    monsters aren't "built" from minerals, but grow on their own
    monsters can reproduce (wild or tame progeny?)
    monsters can grow into stronger, bigger monsters by eating little monsters.
    monsters require no fuel

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Tue Aug 23, 2011 6:58 am 
Offline
Space Krill

Joined: Mon Aug 22, 2011 6:52 am
Posts: 5
Well, I primarily just wanted to see monsters as a method to hamper a complete and uncontrollable expansion that you would get after you reach a certain development level, and then just can roll any monster (with exception to MOO2 guardian) with little trouble.

In MOO2, the space eel would reproduce itself (the outer space one, not default one that is spawned at a planet from the start).

A number of actions I would love to see that the space monsters could do (including previously mentioned ones) :

Degrade/Upgrade planet's biodiversity
Degrade/Upgrade planet's mineral value (monster is always visible on the map, even if out of range)
Degrade/Upgrade sun intensity, affecting biodiversity of all planets in the system (monster is always visible on the map, even if out of range)
Turn suns into black holes / eat full planets / etc (monster is always visible on the map, even if out of range, global warning before the monster spawns, i.e. the egg is layed)


Notes :: these supermonsters would present a direct and long-term dangers to any of the players on the map, if tuned correctly (egg spawns in small habitats rather than huge ones) this would lead to monster preferably spawning near strongest player (least monster habitat), while still likely causing a threat to others.
This could lead to interesting events, up to the point of forcing players to declare peace to eradicate the threat, before continuing their assault. Requires quite a lot of logic to prevent the monster from simply rolling a single player, or not being a threat at all, other than destroying planets which could have been effectively colonised later in the game.


Ability to spawn larger version of itself based on certain conditions :

Such as, eating a colony of a certain of higher population
digesting sufficient number of space ships
digesting a spaceship with a particular technology
eating sufficient number of another type of monster
staying in a certain habitat long enough (neutron stars/etc)
Finding a correct type of planet with correct type of sun
etc.

Note :: all of these are advanced conditions to reduce likelihood of a supermonster spawning. They can also lead to other interesting effect, where a newly spawned monster, can be an advantageous trophy to capture/kill for a special research/bonus. Up to a point where the monster would alter the specie's genome?


Ill add more, once I sit down and do a proper write up and analysis... of course under the condition that I am not totally out with whatever I am suggesting.


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Tue Aug 23, 2011 9:09 am 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3693
Location: USA — midwest
Commutor wrote:
Well, I primarily just wanted to see monsters as a method to hamper a complete and uncontrollable expansion that you would get after you reach a certain development level, and then just can roll any monster (with exception to MOO2 guardian) with little trouble.

I don't know if we have a way to do that without making them an invincible force in the early game. Currently i don't see a way to make them randomly appear in the middle of the game.

Commutor wrote:
Degrade/Upgrade planet's biodiversity

FO has no such concept.


EFFECTS:

OK, i'm trying to make space monsters do different things based on weather...
1) there are planet type X in the system
2) there are imperial (non-monster) ships in the system
3) there are specific monster hulls in system.

Usually there is also a random probability. I've looked around for examples, and tried several things, but no luck.

I'm not clear on what goes in "scope =" and what goes in "activation =".

Examples please?

Also, say for instance that i wanted 2 krill swarms to merge into a bigger krill swarm.
If krill swarm looks out for the presence of another krill swarm in the same system, produces bigger krill swarm, then deletes itself... will the order things are executed give me 2 bigger krill swarms or 1?


Also: what does "location=" do in a ship hull?

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Last edited by eleazar on Tue Aug 23, 2011 10:19 am, edited 2 times in total.
more questions


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Tue Aug 23, 2011 11:38 am 
Offline
Programming, Design, and De Facto Lead
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 7899
Location: Vancouver, BC
eleazar wrote:
Currently i don't see a way to make [monsters] randomly appear in the middle of the game.
A special in planet_specials.txt would be randomly placed around the galaxy. Such a special could have a Turn condition in one of its effectsgroups, which would prevent something from happening until a certain number of turns has passed. After that condition is met, the special could start randomly spawning monsters.

Or, a tech or building could have an effectsgroup that creates monsters, and this would start happening as soon as the tech or building is researched or produced by an empire.

Quote:
1) there are planet type X in the system
You should be able to do this with something like
Code:
And [
    System
    Contains Planet type = Terran
]

Quote:
2) there are imperial (non-monster) ships in the system

Code:
And [
    System
    Contains And [
        Ship
        OwnedBy AnyEmpire
    ]
]

Quote:
3) there are specific monster hulls in system.

Code:
And [
    System
    Contains DesignHasHull name = "SH_EXAMPLE"
]


Those are all untested, but should give you the right idea.

Quote:
Usually there is also a random probability.

Code:
Random probability = 0.5


Quote:
I'm not clear on what goes in "scope =" and what goes in "activation =".

The scope condition determines what are the target objects for an effect. The target objects are the objects on which the effect acts. If the effect is setting a meter or destroying an object, then the target objects have their meter set or are destroyed. If the effect is creating a monster, it would create a monster at every target object.

The activation condition can be left out if not needed or not understood, and things should work as expected. It is used to enable / disable the effectsgroup by running a test only on the source object, unlike the scope condition which is tested on every object (ship, fleet, planet, building, and system) in the universe. Evaluating a condition on just the source is a lot faster than doing so on everything in the universe, so it's useful to have the activation condition for things like turning on or off an effect depending on whether the empire that owns a building has a particular tech.

There are some misuses of activation in the current content files. The imperial palace has an activation that tries to test how many of a particular building an empire has, but this won't work, as only the source building for the effectsgroup will be tested, so at most 1 such building will be found by that condition.

Quote:
Also, say for instance that i wanted 2 krill swarms to merge into a bigger krill swarm.
If krill swarm looks out for the presence of another krill swarm in the same system, produces bigger krill swarm, then deletes itself... will the order things are executed give me 2 bigger krill swarms or 1?
I expect you'd get 2 bigger krill swarms. The destroy effect doesn't actually delete objects until all other effects have executed. "Executing" the destroy effect just marks an object as to be destroyed, and the actual deleting takes place afterwards.

So, you'll need to be a bit fancier with the effectsgroup for things to work as you want with two objects being destroyed and just one being created. The MaximumNumberOf conditions might work, as you can ask it to match just one object, and then you could have a stacking group label in the effectsgroup as well, so even if both krill swarms have a CreateShip effect, only one will actually be executed (as the second attempt would see the stacking group label has already been applied to the target object, so it would be skipped). I don't seem to have documented MaximumNumberOf, MinimumNumberOf, or ModeNumberOf though...

Edit: It would probably work to just use the NumberOf condition, which is documented on the wiki.

Or, instead of having a single effectsgroup that creates a new monster and destroys the old ones, you could have two effects groups: one would match a type of monsters when there are two of the monster in the same system, and would destroy the matched monsters. The other would test for systems that contain two of the monster, and would create a new monster in those systems, and would have a stacking group. This effectsgroup would be tested for every moster of the relevant type every turn, which might be a bit slow, but it would only act at most once per system per turn due to the stacking group, and would probably be easier to understand than using the SortedNumberOf condition. /Edit

Quote:
Also: what does "location=" do in a ship hull?
It is used by the production system to determine where a ship with that hull can be produced. For example, it could require a particular building to be present on a planet for a ship to be built there.


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Tue Aug 23, 2011 4:23 pm 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3693
Location: USA — midwest
Geoff the Medio wrote:
...

Those are all untested, but should give you the right idea.

Quote:
I'm not clear on what goes in "scope =" and what goes in "activation =".

The scope condition determines what are the target objects for an effect. The target objects are the objects on which the effect acts. If the effect is setting a meter or destroying an object, then the target objects have their meter set or are destroyed. If the effect is creating a monster, it would create a monster at every target object.

The activation condition can be left out if not needed or not understood, and things should work as expected. It is used to enable / disable the effectsgroup by running a test only on the source object, unlike the scope condition which is tested on every object (ship, fleet, planet, building, and system) in the universe.

So are the above untested snippets for the source or activation?

What i expected that i would have to do for source was something like (in english) "System that contains Source also contains Asteroids", since i'm not targeting asteroids, and don't want something to happen in a system without the hull these effects are attached too. On the other hand i don't see how i can test for asteroids by "running a test on only the source object", if it were to go in activation.

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Tue Aug 23, 2011 5:26 pm 
Offline
Space Squid
User avatar

Joined: Sat Jul 05, 2008 11:00 pm
Posts: 70
If we can affect the Environment of the planet (both habitability [like with the colony ships], and the general EP), the monsters could really be devastating. Like, one monster fires a gigantic goo-ball and makes a Terran planet become Barren.


Top
 Profile  
 
 Post subject: Re: Making Space Monsters Cooler
PostPosted: Tue Aug 23, 2011 5:57 pm 
Offline
Designer and Programmer
User avatar

Joined: Tue Aug 14, 2007 6:33 pm
Posts: 1773
Location: Orion
Nighthawk wrote:
If we can affect the Environment of the planet (both habitability [like with the colony ships], and the general EP), the monsters could really be devastating. Like, one monster fires a gigantic goo-ball and makes a Terran planet become Barren.

Habitability of a planet of a given environment is dependent solely on the species inhabiting it. A species whose EP is Barren would be best friends with the gigantic goo-spewing monster in question (not that that's a bad thing).
eleazar wrote:
What i expected that i would have to do for source was something like (in english) "System that contains Source also contains Asteroids", since i'm not targeting asteroids, and don't want something to happen in a system without the hull these effects are attached too. On the other hand i don't see how i can test for asteroids by "running a test on only the source object", if it were to go in activation.

What I think you're looking for is something like:

Code:
activation = ContainedBy Contains Planet type = Asteroids
This will test the source object to see if its in the same system as an Asteroid Belt. Or, you could do something like:

Code:
scope = And [
    Source
    ContainedBy Contains Planet type = Asteroids
]
which should do exactly the same thing, since after the scope has been narrowed to Source, it's basically just checking to see if the Source is also in a system with Asteroids.

_________________
Warning: Antarans in dimensional portal are closer than they appear.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 176 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 12  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group