Jump to content

Campaign: Macedonia - Rise to Power + Balkan Campaign + Into Asia


Recommended Posts

21 minutes ago, Langbart said:
  • rP24687 - [gameplay] Tweak mace, ptol, sele specific structures (18/Jan/21)
  • -    <RevealShore>true</RevealShore>

So I take it that the change was intended, thanks :)

I'd still wish it worked as it did before, there is one other mission where I think this dynamic is important. If anyone can point me to the code of how that was implemented before, please do, for this mission it was intended.

 

 

Link to comment
Share on other sites

5 hours ago, SciGuy42 said:

If anyone can point me to the code of how that was implemented before, please do, for this mission it was intended.

As far as I ca see the code wasn't removed (at least in this patch), so it should be sufficient to add the missing xml pice @Langbart mentioned back into the lighthouse actor file (or create a new lighthouse actor that has this enabled, without changing the new one)

Link to comment
Share on other sites

Mission 10 is now converted to a25 as well -- The Sacking of Thebes.

You get to sack the city of Thebes which rebelled against Macedonian rule. But first, you must destroy its farms and storehouses, secure the blessing of the nearby temples and ideally, find siege equipment to help break through the city's defenses. As you make progress, reinforcements will arrive to help you with the task.

If anyone wants to contribute to the design of the city itself, please let me know. There is definitely room for improvement (you'd just need to keep roughly the same number of towers and fortresses).

thebes.jpg

mace10_thebes.png

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • 3 weeks later...

I am still working on converting the missions -- so far, up to mission #11 are converted. However, I ran into an issue in terms of backwards compatibility.

In many of the scenarios, the starting technologies are predefined. In the previous version, if I add a technology twice, I get twice the effects. So for example, the following code would add 30% to the international trade bonus as the tech itself adds 10%:

for (let k = 0; k < 3; k ++)
        cmpTechnologyManager.ResearchTechnology("trade_commercial_treaty");

Now, this no longer works -- only the first time does the effect take hold. Would it be possible for me to edit some code to make sure that each time the ResearchTechnology function is called, the effects of the tech are triggered even if the tech has already been researched? Does anyone know where that code would be? Thanks.

Link to comment
Share on other sites

2 hours ago, SciGuy42 said:

Now, this no longer works -- only the first time does the effect take hold. Would it be possible for me to edit some code to make sure that each time the ResearchTechnology function is called, the effects of the tech are triggered even if the tech has already been researched? Does anyone know where that code would be? Thanks.

@Freagarach @wraitii

Link to comment
Share on other sites

I'm not sure what changed, but IIRC @wraitii did some changes, indeed.

You could try adding the effect manually in the modifiers manager (ModifiersManager.prototype.AddModifiers = function(ModifID, Modifs, entity, stackable = false) you'll have to do some warn(uneval())'s to see the structure of the Modifs.

Link to comment
Share on other sites

I'm fairly sure what changed is that the tech is now recognised as being the same, and so explicitly doesn't stack.

My recommendation would indeed be to just use modifiers directly. You can check how it's done in e.g. binaries/data/mods/public/simulation/helpers/InitGame.js

  • Like 1
Link to comment
Share on other sites

On 09/01/2022 at 9:34 AM, wraitii said:

I'm fairly sure what changed is that the tech is now recognised as being the same, and so explicitly doesn't stack.

My recommendation would indeed be to just use modifiers directly. You can check how it's done in e.g. binaries/data/mods/public/simulation/helpers/InitGame.js

Thanks, yeah, I figured I was just exploiting a bug :)

The code example helped, I now know how to use modifiers directly from code, it's pretty cool.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Up to 16 are now converted to a25 and tested. Some extra coding was needed as now siege weapons are no longer capturable. Therefore, in cases where you're supposed to capture one, just kill it and an identical type will spawn under your control :)

Following at scenes from "Macedonia 16 - A Bridge Too Far", chronicling Alexander's (failed) attempt to conquer Tyre by building a bridge and marching his army over.

mace_16_a.png

mace_16_b.png

  • Like 1
Link to comment
Share on other sites

On 27/01/2022 at 12:34 AM, Lion.Kanzen said:

@SciGuy42 Do you think that any unity is needed in the campaigns?

 

 

Some of the missions definitely deal with tribes that are not in the game, like Thracians, the Gatae, Illyrians, various tribes throughout the Persian empire, etc. Probably not worth investing that much work though. A small step would be to add some units that cannot be built by anyone but I could still script to spawn or place initially that represent non-playable civilizations in the region.

Link to comment
Share on other sites

4 hours ago, SciGuy42 said:

Some of the missions definitely deal with tribes that are not in the game, like Thracians, the Gatae, Illyrians, various tribes throughout the Persian empire, etc. Probably not worth investing that much work though. A small step would be to add some units that cannot be built by anyone but I could still script to spawn or place initially that represent non-playable civilizations in the region.

Thracians and Illyrians, were already created in mods a long time ago, the Thracians in particular have several resources in the current game I think it's enough to know which units are needed and add them.

  • Like 1
Link to comment
Share on other sites

 Hello, I got a huge lot of errors while loading the map, and the game doesn't work well. I can't recruit troops, nor capture buildings or Gaia loot, nor build something (like a city centre), and the enemy is absent. I can only move my troops, and if I cross the bridge, I win, as it's supposed to do. The problem is that I can do the crossing totally unopposed.

 I play on Fedora 35, using the rpm version of 0AD Alpha 25b, with only two mods installed, Community Maps v2 and Macedonia.

 I joined the html report.

interestinglog.html

Link to comment
Share on other sites

2 hours ago, SolarEagle said:

 Hello, I got a huge lot of errors while loading the map, and the game doesn't work well. I can't recruit troops, nor capture buildings or Gaia loot, nor build something (like a city centre), and the enemy is absent. I can only move my troops, and if I cross the bridge, I win, as it's supposed to do. The problem is that I can do the crossing totally unopposed.

 I play on Fedora 35, using the rpm version of 0AD Alpha 25b, with only two mods installed, Community Maps v2 and Macedonia.

 I joined the html report.

interestinglog.html 344 kB · 0 downloads

Thanks for trying, by mistake I had uploaded the files in the wrong folder, they are now where they're supposed to be in the a25 branch:

https://github.com/SciGuy42/Macedonia_0ad/tree/a25

Ignore the mission files in the root of the folder, I need to get rid of those. The correct files (up to 16) are in:

https://github.com/SciGuy42/Macedonia_0ad/tree/a25/maps/scenarios

Can you let me know if those work for you?

  • Thanks 1
Link to comment
Share on other sites

On 17/02/2022 at 1:52 AM, Lion.Kanzen said:

Which tribes? Sogdians , Hyrcanians, Fhrygians, Phoenicians,  Babylonian, Dahae,  Karina, Capadocians, Lydians,  Egyptians? 

9255f2d5d59551fa75d1f76455848695.jpg.8c1b30e9fdce72c72ff6d4ba98ea76d0.jpg

Sogdiana would be awesome, there are a few scenarios where Alexander is fighting them and currently I am just using Persians as a substitute. 

The Dahae would be good too, their horsemen rode alongside Alexander, currently I am using the Persian Horse archers to represent them. 

Capadocians appear in mission 11, any units unique to them would be great.

  • Like 2
Link to comment
Share on other sites

7 minutes ago, SciGuy42 said:

Sogdiana would be awesome, there are a few scenarios where Alexander is fighting them and currently I am just using Persians as a substitute. 

The Dahae would be good too, their horsemen rode alongside Alexander, currently I am using the Persian Horse archers to represent them. 

Capadocians appear in mission 11, any units unique to them would be great.

@wackyserious

Link to comment
Share on other sites

On 17/02/2022 at 2:10 AM, SciGuy42 said:

Some extra coding was needed as now siege weapons are no longer capturable. Therefore, in cases where you're supposed to capture one, just kill it and an identical type will spawn under your control

There should be a way to programmatically enable/disable capturability of an entity I'd say. I can think of quite a few scenarios this might be desirable in campaigns. Maybe there is even a clever way to do it already which I'm not aware of.

Campaign support is very limited at this point, basically you are the first to be this serious about it and you are prone to run into many situations where you think this or that would be nice to have. So if you run into such an issue, don't be shy to ask for it to be added if it's not available to make your life and the life of future campaign creators easier.

The first step to improve campaign support is to know what is actually needed/desired, then if it's reasonable the implementation should be only a small hurdle.

An example of a feature that only makes sense for a campaign would be https://code.wildfiregames.com/rP25393 by @wraitii

 

Anyway, much impressed by your work so far.

Link to comment
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.

 Share

×
×
  • Create New...