Jump to content
Sign in to follow this  
Radagast.

[Status] Collection of Functionality Ideas

Recommended Posts

Finally under version control:

https://htmlpreview.github.io/?http://github.com/worlddevelopment/virtual_time_machine/blob/master/status_functionality_ideas.html

Long list, but I like it. Did we forget anything?
Good day! :hi:


Still a lot of room for your ideas!
Feel free to propose in this thread or provide a pull request on Github.

Edited by Radagast.
Remove list as it has been moved to version control.
  • Like 3

Share this post


Link to post
Share on other sites

Allow me to comment on some of the things mentioned here:

- Prisoners:

In Act of War: Direct Action and High Treason, there is a prisoner system that makes it possible for an attacked unit to have a sort of surrendering animation in the middle of the fight (which I think was tied up to the amount of HP / morale that remains for that unit. The attacker would then treat that unit as sort of a neutral indestructible player and would proceed attacking other units/ do other tasks flawlessly.

- Children:

I like the way Stronghold Crusader treated the family (females and children). Maybe we can have a sort of eye-candy family created whenever there is a certain number of houses present, and then, have each house spawn children who then grows up to become (free of cost villagers) - sort of the peasants of Stronghold.

- Triggers:

I'm begging you for this! :)

(1st Wow)

Share this post


Link to post
Share on other sites

Not only allowed, even desired.

prisoner system that makes it possible for an attacked unit to have a sort of surrendering animation in the middle of the fight (which I think was tied up to the amount of HP / morale that remains for that unit

Thanks, that's what we plan while we take the distance into account. So if there are many fit enemy units around a single hero, then even that one will get captured if the encirclement is close enough.

Females as they have less health-points will get captured easily even from a distance. The weaker a unit the earlier (closer distance) it will surrender, becoming a neutral unit that follows the unit that captured. This unit now only can capture more units for as long as the own health is higher than the altogether health of all captives.

Then the unit might go home, taking the captives away.

This way, if a well aimed javelin hurts the capturer that has already many captives, then probably one of them can break out, the fittest in this case.

The cool thing is, in 0 A.D. this is not limited to soldiers .. you can even catch a fox or crododile like that. Beware that crododiles attack your units, if you should lose control over one of them while having them as a captive nearby.

Once we have the possibility to place eye-candy objects (like fences) then we can fence the captives.

For animals a corral was planned and there is a patch around that makes animals be tied to the corrals. It's even possible to have them inside the building. Though I like the fence thing better as then we don't have to prop extra animals to the stable object. And they would still be attackable/freeable. It's more realistic than first to have to destroy the building down to 25% .. especially if you just had to jump over the fence to get the horse out. :)

Good you mention the morale. We need it for the military anyway, so way not adding this too for every unit. If a formation has overrun other units, then moral would increase and even if they meet a stronger unit then, they could hold out longer due to the initial morale being high while it's decreasing more and more as long as they have more losses than the enemy, lose ground or are heavily overpowered. We have flexibility here.

As we already have to execute range check for picking attack targets in the battle, then we could even make units nearby to a loss more affected than those far away. This could lead to a partly dissolving army if they encounter elite units at a certain part of the front.

Perhaps we should not even store morale at all having it at 50% instead and deriving the + and - through a calculation that takes all nearby factors into account. Later we can add that bad news from another army has influence into the formula depending on time, the news was received by the unit.

Maybe we can have a sort of eye-candy family created whenever there is a certain number of houses present, and then, have each house spawn children who then grows up to become (free of cost villagers) - sort of the peasants of Stronghold.

Interesting! You sparked another idea, we could create an optional vasall system too.

The free of cost is good idea. I think it would be cool to not allow instant units at all. The exception are the mercenaries. They are getting much more interesting this way too.

Each map could have either infinite mercenaries available. Or we limit it to eye-candy mini-cultures that of course could also go extinct if too many mercenaries are drawn (it's possible they also send mercenaries to other tribes, e.g. the AI, perhaps we should add a tech for allowing to force the mini-cultures to not send mercenaries to other units. Of course the enemy will get a message and could use your takeover of the mini-civ as a reason for war.).

The cost for the units would be the school and grow-up then. Also the food and water they consume will be pricy. They need leather too. Iron later once they become soldiers if they decide to apply for the posts that are written out of the mayor/government.

So if you decide to recruit all you have in an emergency (raising alert the second time, e.g.), then you might well lose your teachers too. Could still send a general or other elite instead. Of course you don't have to send the teachers in yourself. We could add a button that decides if only teachers are teachers or all other elite units too.

I wish to avoud having it all hard-coded, I like it if it's flexible.

As we introduce time (somewhere I calculated 1 world-day will take 60 minutes by default) we will have a quite realistic feeling. The flow of time can be increased. just like it is currently.

Of course this open the problem of overreproduction, so this could lead to send your units abroad to populate an island or to conquer new territory. This might also trigger an AI to lead an preventive attack before the enemy gets too strong.

Good you mention stronghold, I hope we will have a similar building-damage system soon. Time will tell us how to achieve it.

Share this post


Link to post
Share on other sites

Ah, you sum up the ideas very good. I agree that in everything the team will make, it's better for all to be flexible rather than hard-coded. That way, people can modify these values as they see fit, when doing their own mod or just messing around with the variables.

Let me add on the mercenaries - if a map will have infinite mercenaries, then in time, there should be a sort - of either an assimilation of cultures or total rebellion/ defeat of the culture who hired the mercenaries (something akin to what happened with the Late Western Roman Empire).

On overreproduction, may I suggest though that the children spawning be tied up to a certain number of houses so that if like, 20 houses are reached with 20 children, no more children is spawned. Something like that.

  • Like 2

Share this post


Link to post
Share on other sites

Let me add on the mercenaries - if a map will have infinite mercenaries, then in time, there should be a sort - of either an assimilation of cultures or total rebellion/ defeat of the culture who hired the mercenaries (something akin to what happened with the Late Western Roman Empire).

Though wWe planned rebellion with the Hybrid AI, I did not think of this usecase!! glorious, colleague! That must go on our list.

The mercenary count will be examined taking their loyalty to the tribe/player that hired them into account. So the formula will be something like:

mercenary_rebellion_probability_0..100 = moral * loyalty_towards_those_who_hired_them they_will_be_loyal

where

moral is already affected by military success and health, so health must not go into the calculation explicitely.

loyalty_towards_those_who_hired_them is a property of each unit that comes with the Hybrid AI. (we should discuss if additionally each unit has sympathy_towards_other_tribes_or_players. The units already have plenty have plenty of sympathy values to store, i.e. for all elite unit and all direct and indirect chiefs. We can't include every unit probably, but we can test if hardware can handle it to store sympathy of a peasant towards another peasant. would be cool indeed to add additional battlefield possibilities like, ha, I abandon this comrad and help this. You see. Or I help this woman and I marry her if she feels the same. I think you get the idea. We could make this moddable so that forced marriage might be possible for other cultures.)

they_will_be_loyal is a factor, usually 100 . Might be lowered for mercenaries that are known to not be very reliable. could be read from the units XML-file as an optional property.

Note: If we use floating point, then each factor has to be divided by 100. Then the probability would be between 0..1 just like it's formally correct as a probability is always between 0 and 1. (not that you accuse me I teach wrong things, what I probably do anyway.)

On overreproduction, may I suggest though that the children spawning be tied up to a certain number of houses so that if like, 20 houses are reached with 20 children, no more children is spawned. Something like that.

Are you sure it's tied to houses in nature? hm.. Perhaps it is. So probably each house a number maximum people and others (children grown up) then have to live on the streets/ inthe woods .. lowering their moral and increasing their will to become hired as mercenary of other tribes. Or join the military if any new soldiers are wanted (what might not be the case. The moral will sink and sink ... and they will start being like Robin Hood, finally even changing clothes to become citizens of the woods, split by their original tribe.). . interesting.

Or simply a cap like:

#citizen_maximum = #houses * #people_per_house

Like it currently already is. So no work to be done here. :D

Edit:

(something akin to what happened with the Late Western Roman Empire)

If I am remembered of this tragedy of failing commanders then I get quite upset. Really throughout history things are happening that are difficult to grasp. What they did:

  • They said: Celts and Avar, only the fittest are allowed to take shelter in the Roman Empire. All elderly are left to the huns.
  • Emperor: You are allowed to settle here.
  • Local praefect: You are no longer allowed to settle here.
  • Emperor: You want to settle? Well, you are not allowed to settle anywhere, you can cross the danube if you like the huns.
  • Awar: How do come to say that, then we take the land we want. Try to stop us.
  • Emperor: Call the armies. I lead one myself.
  • General victorious against a small cohort of Avar.
  • Emperor: You see, it's easy.
  • Another General victorious in France/Germany against celts. They try to help the others, because there are plenty of Avars. They have a long way.
  • Emperor: Oh, all are winning. Well, it's easy. I will show. To General: Is my army ready?
  • General: We better wait for the others.
  • Emperor: You maybe. Me certainly not.
  • General: Awk... Okay.
  • Emperor and General both dead after they underestimated the number of gothic tribespeople.
  • Ha, nothing else than free way to destroy everything for the now certainly angry tribes.

And the bad thing is, those stories never end. Just recently another example came up in real world.

Okay. Back to topic. That re-sparked another idea I almost forgot:

  • Technological advances will spread. So neighbouring celtic and other tribes will gain knowledge if a high-tech country is nearby. Even far-away will have influence, so that it's at no time possible to have knights at one half of the world and spaceships on the other. (at least no majorities, local ancient tribes are fine)
Edited by Hephaestion

Share this post


Link to post
Share on other sites

This is starting to look like total wars i like it :)

Is adding motivation planned ? Maybe more like morale in tw series than in the settlers but would be a nice realistic approach for the game

So things like deserters(units turning to gaia) and even the mercenary stuff could be implemented :)

Also when everything is stable I ´d like to have waypoints that can be set in scripts. For instance you set three waypoints in a neutral mini factions and add children going from one to another or villager or units going from their house to for instance their dried fish on racks and starts an animation.

Share this post


Link to post
Share on other sites
Is adding motivation planned ? ... So things like deserters(units turning to gaia) and even the mercenary stuff could be implemented :)
No only planned. Already begun. Coming with the Hybrid AI.The fighting system will work a lot with morale as this will determine if the cavalry was successful and the other units start fleeing. Deserting might be a variant from that. I'm sure Romulus wants to put his units with the long flexibles sticks into action then. Forgot how it is called in English. Ah, whip.
Also when everything is stable I ´d like to have waypoints that can be set in scripts. For instance you set three waypoints in a neutral mini factions and add children going from one to another or villager or units going from their house to for instance their dried fish on racks and starts an animation.
But that's already possible. Add a javascript and the units will go where you want.Or do you want to expand the trader functionality to other units? For the AI that will be possible. Send units here via this mountain region and at the end surrect a military tent or lay siege. Crossing rivers will be difficult at most points, so that is a natural help for defence if you destroy all bridges (once they are constructable).It's a difference if you want to define something like in settlers, making units go somewhere and start fishing, though 0A.D. is even more flexible and support this already on the fly (see units going to fields and starting harvesting).

Share this post


Link to post
Share on other sites

Great then :)

A total war fighting animation would be so great...

What i meant is for instance you have a village. Units can garrison in or out of the small houses and have a small path defined per waypoints. On each waypoint they may start an animation like i don ´t know sitting on a bench.then going fishing or see another unit and start a discussing animation.

Did you watch the making of the settlers 5 ? They.have those waypointd in buildings :)

Share this post


Link to post
Share on other sites

I would split it into:

  • Roads,
  • Unit awareness. [for starting discussions]
Units that are idle could wander around if you like. I can try to include it in the hybrid Ai, can't promise it though.

Edit: Waypoints look like a lot of work. Weren't some self-awareness for units better?

Edit 2: Making houses walkable is surely something I wish too. For now we can simply make people that are idle go to the tavern and garrison in there if you like? Because the obstruction within a house can't be removed on the fly I guess with the 4x4 pathfinder resolution. The 1x1 might make this possible too. Put some props in there then and here you are. The combination of RTS and RPG is alive.

Edited by Hephaestion

Share this post


Link to post
Share on other sites

Edit: Waypoints look like a lot of work. Weren't some self-awareness for units better?

What do you mean ?

Edit 2: Making houses walkable is surely something I wish too. For now we can simply make people that are idle go to the tavern and garrison in there if you like? Because the obstruction within a house can't be removed on the fly I guess with the 4x4 pathfinder resolution. The 1x1 might make this possible too. Put some props in there then and here you are. The combination of RTS and RPG is alive.

A tavern : this building is missing too. Should be added to the art Mod list. I'm also wanting to add props that only appears when units are garisonned. And to add a blacksmith to the forge. I'll try to make the animation in blender once everything is fixed therE.

Add (blizzard games and AOE 3)Special abilities Systems.

Could you elaborate on this ?

  • Like 1

Share this post


Link to post
Share on other sites

Setting up waypoints for units manually or by modders is a lot of work. Shouldn't this be handled by calculations, the self-awareness of units. So if a unit is idle, well then I look there, the tavern for some time, perhaps depending on the number of units nearby. If there are too many, go elsewhere. Perhaps fishing.

Should be random. Could be location oriented too.

If an idle unit is nearby a lot of fish or a fisherman it might sit down nearby under a tree, watching the fisherman - at least until it's dark. Then all units go home.

@blender:

If you create the animation in blender, then everything is fine.

Edit: Don't worry, triggers might still influence units paths. Obstacles too. So if an avalanche is triggered, the idle unit might get trapped if it was around there.

This might not even lead to issues if this unit were to be assigned a task as the Hybrid AI is decentralized. So the unit might try to apply for a post/job, but as it never reaches the main building/educational building or where the job is posted .. well .. then there is no problem. There are other applications anyway. Only those that are in or near the building at the due time will be taken into consideration.

Edited by Hephaestion

Share this post


Link to post
Share on other sites

Waypoints would be script entities, like in the Settlers 5 Editor. So it would be unit awareness, but invisible units. What do you think ?

Agreed with the rest. Would be so life like.

Share this post


Link to post
Share on other sites

The problem with the game examples for me is, I have not much playing experience. I hope you are not angry. Though I even own Settlers 5, I really never dived deeply into anything other than Settlers II + III.

Invisible units? What do these waypoints do? Are there reasons we should hard-code those? Or hard-set those in the editor for each map? Isn't that a heavy workload without possibilities? If you don't like the shortest path units take, place a trigger, though still the official devs even work on waypoints and have there even is a patch ready. It's all very exciting.

Share this post


Link to post
Share on other sites
The problem with the game examples for me is, I have not much playing experience. I hope you are not angry. Though I even own Settlers 5, I really never dived deeply into anything other than Settlers II + III.

Oh... I'm not angry ;) You can tell me when you don't see I'll take pictures and stuff.

post-12287-0-73182500-1395941089_thumb.p

Here is the thing those little white squares get replaced by whatever you want (building, units)

for instance (this is lua)

function CreateArmyOne()-- create a description table for that army, named army one     armyOne    = {}-- fill the description with all needed information-- ID of the player the army belongs toarmyOne.player     = 2-- a valid unique ID for ID, must be between 0 and 9armyOne.id = 1-- the number of leaders, which will be attached to the armyarmyOne.strength = 8-- the start position of the army (use the position of a script entity, which has the name "armyOne")armyOne.position = GetPosition("armyOne")-- set the length of the rode (movement range)armyOne.rodeLength = 4000-- call the comfort function "SetupArmy" to create the army    SetupArmy(armyOne)end

this line : armyOne.position = GetPosition("armyOne")

get the position of the entity, which can have a script name here ArmyOne and Replace it, here by a bunch of soldiers.

Just saw the aging system, no need to stop aging, if the guy reach a cap from 55to 90 he dies.

Edited by stanislas69

Share this post


Link to post
Share on other sites

Having a quick squiz through all of the ideas mentioned, I am also liking where this is going.

Interesting Stan mentioned becoming like total war, yeah, because the foundation of the Rome project will similar in concept, BUT ... obtaining RTS gameplay.

Total wars was nice at first, but became limited and boring. I like RTS because you have:

Control over everything

Freedom

A live active world

More things to manage.

You see what I want for project Rome is a combination of things, which Hephaestion is exactly 100% in sync with.

An RTS with TW features, fused with city building elements for more micro-management(which I love) and the ease of RTS freedom to control every single aspect in the game world.

What this essentially is an RTS "Swiss army knife"

Meaning an RTS with loads of things to do, and looks beautiful and is satisfying to the player. For me, 0 A.D. Is only "satisfying" RTS out there presently, in my opinion. And I think we can nourish this engine with even more so it becomes a real "heaven game"

Share this post


Link to post
Share on other sites

Concerning waypoints for AIs on maps:

Thats a bad idea. Likely the map designer doesn't know that much about AIs in general and he would need far-reaching knowledge abot the player AI that actually uses the waypoints.

For random maps it is even worse because the RMS writer will likely know less about the actually generated map then an analysis of a specifically generated map would.

Having different AIs available might mean different waypoints are needed fo each of them so it gets worse the more modifiable things get.

  • Like 2

Share this post


Link to post
Share on other sites

It's not for oponnents AI's it's for NPC's in micro factions. So there is a loop. The AI plays on its own, but life goes on in loop in small villages.

Share this post


Link to post
Share on other sites

It's not for oponnents AI's it's for NPC's in micro factions. So there is a loop. The AI plays on its own, but life goes on in loop in small villages.

IMO there's no need for this either. Gaia entities could just randomly walk around (depending on the original point of placement only so e.g. they don't veer away over a maximum distance or something).

The exact behavior could e.g. depend on the stance the unit has (though this cannot be set ATM AFAIK).

This functionality might however be turned on/off so more specific behavior could be added in scripts.

Trigger (that would make such things easy) are not implemented yet though and are not planned to be in part 1 AFAIK.

Anyways, you don't need actors like waypoints to deal with this. You can just add these points in the scripts.

Share this post


Link to post
Share on other sites

Revolution system like to AOE 3 Warchiefts. In that game in last phase a English colony can become to American Soberan

State.

Revolutions

A sample revolution screen where the player (German civilization) decides whether to pick Bolívar (Peru) or San Martín (Argentina), and their respective bonuses.

European colonies have a new option open to them in the Industrial age; instead of advancing to the Imperial age, they can revolt from the home nation and found their own country. The initial cost of revolting is cheaper than advancing to the Imperial age but the nation's economy will stagnate because all settlers will turn into militia and no new ones can be built (except Coureur des Bois from a Cree Village). Resources can continue to be delivered from pre-constructed ships, tributed resources, trading posts, factories and for the Dutch, banks.

The chief advantage of a revolution is one-time military boost when all settlers turn into militia suddenly giving the player a large army. When a revolution is initiated, a choice is presented between two historical revolutionary leaders, each with a unit specific bonus. The player can no longer receive home city shipments but instead can draw from a "Revolutionary Deck" of four cards, three which may be re-played an infinite number of times providing unit caps are not exceeded. Three new units are available only through a revolution; the Ironclad, the Gatling Gun, and Colonial Militia. If the map has water, the new nation can receive two Ironclads which are hybrid Frigate/Monitors. Four Gatling Guns can be delivered which are similar to the Portuguese Organ Gun but fire much faster and do more damage. Sixteen Colonial Militia can be delivered in a shipment which are hybrid Musketeer/Skirmish units. Finally a Fort Wagon can be sent which will unpack into a fort. A new nation may not upgrade units to Imperial .

Share this post


Link to post
Share on other sites

IMO there's no need for this either. Gaia entities could just randomly walk around (depending on the original point of placement only so e.g. they don't veer away over a maximum distance or something).

The exact behavior could e.g. depend on the stance the unit has (though this cannot be set ATM AFAIK).

This functionality might however be turned on/off so more specific behavior could be added in scripts.

Trigger (that would make such things easy) are not implemented yet though and are not planned to be in part 1 AFAIK.

Anyways, you don't need actors like waypoints to deal with this. You can just add these points in the scripts.

Oh you can script positions ? Like guard area ?. What I wanted is script entities that you can use to have a function like getpostion(obj) so you don't have to know the exact position.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...