Sign in to follow this  
Followers 0
Spahbod

Skirmish concept

   23 members have voted

  1. 1. Do you agree with this?


Please sign in or register to vote in this poll.

27 posts in this topic

If you've read the design document before or have seen this topic, you know that there are proposed random maps that are very hard (if not impossible) to make. They are Cradle of Civilisation, Fertile Crescent, Peloponnesos, Central Mediterranean, The Crimea, Eire & Albion, Paradise Lost and Gambia River.

Also some other existing maps fit well into this concept (Like Death Canyon)

These maps have many features that makes it very hard for scripters to make and the whole concept would be very unbalanced. One of the main problems would be player placement. We have to define player locations depending on player numbers. Even if we manage to make them, they won't look like "Random Maps". But we also can't omit these maps and creating them as scenarios makes them very inflexible (As some of them are). There is a solution for this. Melee maps.

If you have ever played games like Warcraft III (which I borrowed the term "melee map" from), C&C series, Battle for middle earth series or Rise of Legends, you are familiar with this concept. These maps are created using editor like scenarios. But instead of defining player options and their related entities, we put a "start location" entity where player base and units are to be located.

post-12825-0-54428800-1331195680_thumb.j

In game setup gadget, you can add players up to a specific number and change their options which are faction name and team. Each player can choose his/her start location from a small preview in the setup screen.

post-12825-0-66397800-1331195732_thumb.j

After clicking the start button, the game engine creates the related entities for the players in their chosen start location (A random one if they didn't choose any).

This is my idea for such maps.

Advantages:

1:Ability to add high degree of details to the maps just as scenarios

2:There is no problem with the player number anymore as we can set the max just by adding certain number of start locations.

3:Flexibility in player options

4:Ability to balance the resource placement.

Disadvantages:

1:Needs an overhaul of game engine (Although not a very large one)

2:These maps should be created in atlas thus cost a lot of time.

3:Players are going to play the same map again and again without any change.

Waiting for your comments.

Share this post


Link to post
Share on other sites

Yep. One of the (good, IMHO) ideas we've had was to have some kind of generic object place-able in Atlas that represents a "player start point" so that custom maps can be played like random maps. Using the old 'settlement' object is as good an object as any to use. I endorse the idea wholeheartedly. It allows us to use generic random maps, while allowing for more detailed and hand-designed custom maps to be usable like random maps.

EDIT: But just to be clear--Death Canyon was never meant to be a mockup for a random map. :) Also, what's so difficult about the Gambia River random map as spec'd? :)

Share this post


Link to post
Share on other sites

I know that Death Canyon was never meant to be a mockup for a random map. I said it also fits into the concept. Gambia River needs a huge amount of details that are hard to implement in a random map script and the result won't be as good as it should be.

Share this post


Link to post
Share on other sites

I agree the 'start location' object is a much needed feature. It would greatly increase the replayability of our scenario maps, and would reduce the 'Oasis' anomaly.

Share this post


Link to post
Share on other sites

Alright, so we can have sorts for:

  • Custom Scenarios: Everything is set by the designer, including start-points and factions for all players.
  • "Melee Maps"(?) Where the map is created by a designer, and the start points placed by the designer, but the players or game host can choose where players start* and what factions they want to play.
  • Random Maps: Random map scripts.

*Optional feature.

Does that sound about right?

Share this post


Link to post
Share on other sites

That's exactly what I meant. I think that 0 A.D. would be the first RTS game to contain all of these map types.

Share this post


Link to post
Share on other sites

I'm not sure about the name 'Melee Maps' - but the logic is correct :)

Share this post


Link to post
Share on other sites

How about these names?

Skirmish

Normal Maps

Premade Maps

Typical Maps

Anyone has an idea?

Share this post


Link to post
Share on other sites

Warcraft 3 had a great support for scenario designers and i liked it very much, although i never used it at its full power. The game had an excellent map editor with the capability of creating custom object/actors/techs from an already existing unit (this feature was what gave life to DotA), possiblity of adding new models exported from 3ds max, creating custom campaigns with progressive heroes just like the main campaigns, and the map editor interface was very intuitive too, since i could learn how to do everything without even touching any manual.

Share this post


Link to post
Share on other sites

I could also see a 'check box' option in Atlas in the resources panel to allow the game host to decide the number of resources (map settings, standard, high, death match, etc.).

Share this post


Link to post
Share on other sites

How about these names?

Skirmish

Normal Maps

Premade Maps

Typical Maps

Anyone has an idea?

Yeah I'm liking 'Skirmish' - so we'd have:

Scenario: Created in Atlas with locked starting positions, civs, resources, teams, etc.

Skirmish: Also created in Atlas, but starting positions and civs are customizable

Random Map: Random map scripts as they are now

Share this post


Link to post
Share on other sites

Yeah I'm liking 'Skirmish' - so we'd have:

Scenario: Created in Atlas with locked starting positions, civs, resources, teams, etc.

Skirmish: Also created in Atlas, but starting positions and civs are customizable

Random Map: Random map scripts as they are now

Sounds good to me.

A variation upon a skirmish map would be to have set enemies, while allowing Player 1 or whoever to choose their own faction. We could play with this idea a lot.

Share this post


Link to post
Share on other sites

Sounds good to me.

A variation upon a skirmish map would be to have set enemies, while allowing Player 1 or whoever to choose their own faction. We could play with this idea a lot.

Agreed - I'm liking this a lot :)

Share this post


Link to post
Share on other sites

I personally don't feel a need of scenarios at all, skirmish would do. But since the 0ad concept is bound tight to realism, it's good to have them aboard.

But for re-playability and for network games (as far as I can see 0ad will run in hell a lot of trouble with random maps in network games), the 'skirmish' type would be the prior map-type to work on.

Since it's possible to load random maps in atlas, designers can prepare maps (scenarios or skirmish) by writing random map scripts that do the rough work.

I guess that could speed up things.

To the Warcraft III WorldEdit:

Indeed! That was the most powerful tool I've ever seen and since there where some changes in the higher levels of Blizzard, I guess it'll stay that way.

But of cause U'r welcome to try ^^

Share this post


Link to post
Share on other sites

Why do you say there is a trouble with random maps in multiplayer?

Share this post


Link to post
Share on other sites

Because many functions in rmgen scripts (like group placing methods) use sin/cos offsets. And if I got it right this will cause lightly different values on different platforms (win, linux, mac) and architectures (32/64 Bit). So even if everything will be replaced by rounded versions of the rmgen functions on big maps with many more then 256^2 (262144) tiles there will sometimes be a difference between maps. I don't know if small 'errors' of object placement don't lead to an out of sync, but I think 1 tile will for sure.

An error of 10^(-10) is not so small in my book (afaik the error for trigonometric functions).

I'm not fully into it, so that's just what I expect to happen from my uninformed point of view.

I try to avoid the usage of sin/cos whenever possible.

If you look into the fortresses RMG, you'll find much less trigonometric functions used then in the rmgen scripts.

However, I might have said it a little more kind, sry for that. 

And, btw, I'd really like if everything works fine!

Edited by FeXoR

Share this post


Link to post
Share on other sites

As far as implementing this game mode, I was thinking we could load the map similar to how MapReader works now for scenarios, then pass the map data (terrain, heightmap, entities) to the random map generator, using a special script to replace the "player start" entities with the starting structures and units for each player+civ, and finally return the modified data as we normally do. The harder part would be designing the GUI as described in the OP. I wonder if it wouldn't be easier to just assign players to open locations randomly or on a first come, first served basis?

Because many functions in rmgen scripts (like group placing methods) use sin/cos offsets. And if I got it right this will cause lightly different values on different platforms (win, linux, mac) and architectures (32/64 Bit). So even if everything will be replaced by rounded versions of the rmgen functions on big maps with many more then 256^2 (262144) tiles there will sometimes be a difference between maps.

The new trig functions should be consistent on all platforms, it's not a question of rounding, it's a matter of SpiderMonkey not guaranteeing that identical trig approximations would be used on different platforms (there are CPU instructions for some of the trig functions). So Math.cos, Math.sin, Math.atan, and Math.atan2 are fine now and provide more accuracy than we need, unless someone can prove otherwise :) (Of course you don't have to use them, and they are slightly less efficient than before so don't overuse them)

Share this post


Link to post
Share on other sites

Thy, now I will sleep better...

Perhaps I should have gone to bed before my last two comments ^^

Share this post


Link to post
Share on other sites

As far as implementing this game mode, I was thinking we could load the map similar to how MapReader works now for scenarios, then pass the map data (terrain, heightmap, entities) to the random map generator, using a special script to replace the "player start" entities with the starting structures and units for each player+civ, and finally return the modified data as we normally do. The harder part would be designing the GUI as described in the OP. I wonder if it wouldn't be easier to just assign players to open locations randomly or on a first come, first served basis?

It is better for players to be able to choose their start location. If we are going to do it randomly, we should place allied players near each other that is very hard as there isn't any rule about start location placement.

A variation upon a skirmish map would be to have set enemies, while allowing Player 1 or whoever to choose their own faction. We could play with this idea a lot.

So we should add a checkbox in atlas player dialog to see if this player is able to choose his civ/team. Start locations must be placed depending on the number of "checked" players.

Share this post


Link to post
Share on other sites

In some cases the player may want to have their starting positions totally random (in my case it is true, for my younger brother always try to build things inside my territory for me to safeguard them, but i always end up in lack of space), so yes, we must have the option to put allied players together, but let the player decide wether he wants it or not.

Share this post


Link to post
Share on other sites

I like this idea. Seems pretty legit :)

Share this post


Link to post
Share on other sites

Adding on the Idea;.. Perhaps these skirmish maps could have a few "variations", abit like how Oasis has 10 versions. You'd make 3/4 slightly different versions on Atlas that would get loaded randomly, just so that it's not too boring.

Share this post


Link to post
Share on other sites

What would be real neat is during rounds, events would happen like "a pirate ship has crashed on the sea" or "a forest has burned down, collect remaining wood" and it shows where this has happened for all players so they can race to the good and fight for it

Share this post


Link to post
Share on other sites

What would be real neat is during rounds, events would happen like "a pirate ship has crashed on the sea" or "a forest has burned down, collect remaining wood" and it shows where this has happened for all players so they can race to the good and fight for it

Something similar is planned for scenario maps

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0