Total Conversion -- Combat Shore
Moderator: Forum Moderators
Total Conversion -- Combat Shore
I am working on a clone of ASC which is itself a clone of
BattleIsle 2/3.
My current working name for the project is "Combat Shore", suggestions for better names are welcomed.
The default faction of Combat Shore can be discussed there.
Together with the mod itself I hope to get a good solution for Wesnoth supporting conversions being provided by the addon server.
Setup
The setup of Combat Shore is that of modern Warfare with some slight references to the past and some futuristic elements as well.
You still rely on battleships and heavy artillery while on the other hand there are plenty of drones,
satellites and futuristic (not that anymore) stuff like stealth submarines.
BattleIsle 2/3.
My current working name for the project is "Combat Shore", suggestions for better names are welcomed.
The default faction of Combat Shore can be discussed there.
Together with the mod itself I hope to get a good solution for Wesnoth supporting conversions being provided by the addon server.
Motivation
The setup of Combat Shore is that of modern Warfare with some slight references to the past and some futuristic elements as well.
You still rely on battleships and heavy artillery while on the other hand there are plenty of drones,
satellites and futuristic (not that anymore) stuff like stealth submarines.
Comparison Wesnoth - ASC
Height Levels
Resource System
Re: Total Conversion -- Combat Shore
Early Battle Isle experience is probably what conditioned me to like Wesnoth I didn't play BI3 very much but I felt Battle Isle was deterioriating after BI2 because of too many special effects and OP units while broken core mechanics were not fixed.
I guess what would really shine is if you can fix the broken (in BI, don't know ASC) logistics system, I recall that 2 adjacent supply units could give unlimited supplies at least in BI and BI2. Then supplies would really start to be part of the game.
I guess what would really shine is if you can fix the broken (in BI, don't know ASC) logistics system, I recall that 2 adjacent supply units could give unlimited supplies at least in BI and BI2. Then supplies would really start to be part of the game.
I am a Saurian Skirmisher: I'm a real pest, especially at night.
Re: Total Conversion -- Combat Shore
Same here, always searched for a turn based strategy game like it, gladly I found Wesnoth, or it found metaptap wrote:Early Battle Isle experience is probably what conditioned me to like Wesnoth
It was a perfect match because I also love medieval fantasy settings and RPG stuff.
Sadly, what you say is too true, BI2 and BI3 are games which have never been really completed. Like many commercial games it was released unpolished and critical bugs remained.I didn't play BI3 very much but I felt Battle Isle was deterioriating after BI2 because of too many special effects and OP units while broken core mechanics were not fixed.
ASC features two different resource management modes, one similar to BI3 but fixed and a new even complexer one.I guess what would really shine is if you can fix the broken (in BI, don't know ASC) logistics system, I recall that 2 adjacent supply units could give unlimited supplies at least in BI and BI2. Then supplies would really start to be part of the game.
ASC is a pretty game, the first MS-DOS based version is from 1994 thus you can imagine that it is a mature product.
Every BattleIsle fan can be recommended to have a look at ASC especially if he loves complex games and determinism.
I like also to point you to crimson fields which is a well made BI1 open source clone.
Regarding Combat Shore, I like to have an own definition of KISS.
The game mechanics of BattleIsle are too complex to make a similar game which can be called KISS in Wesnoth's context.
But it should be doable to simplify the rules too a degree such that Wesnoth players might still accept the game as manageable.
Re: Total Conversion -- Combat Shore
Some progress:
Most of the vision related issues are ready to test, having support in c++ and on the converted WML front as well.
I have also found a way to translate the weapon damage tables of asc into Wesnoth unit resistance ones,
with the disadvantage of having way too many of them now.
What prevents the faction from being playable is one last issue,
most likely it needs some inventing skills, I see no source for translation in the asc game mechanics.
ASC is deterministic, an attacker's chance to hit is 100%.
The defender gets some sort of resistance bonus for the terrain he stands on, but that doesn't depend on unit type.
Thus I don't see a chance to generate a unit specific defense table.
This leaves some possibilities:
1) Go with the deterministic damage system but find a way to include the terrain specific resistance bonus.
2) Translate the terrain resistance bonus into a generic resistance table not discriminating any unit types.
3) Carefully design some resistance tables, maybe one for each of the ASC vehicle types.
Most of the vision related issues are ready to test, having support in c++ and on the converted WML front as well.
I have also found a way to translate the weapon damage tables of asc into Wesnoth unit resistance ones,
with the disadvantage of having way too many of them now.
What prevents the faction from being playable is one last issue,
most likely it needs some inventing skills, I see no source for translation in the asc game mechanics.
ASC is deterministic, an attacker's chance to hit is 100%.
The defender gets some sort of resistance bonus for the terrain he stands on, but that doesn't depend on unit type.
Thus I don't see a chance to generate a unit specific defense table.
This leaves some possibilities:
1) Go with the deterministic damage system but find a way to include the terrain specific resistance bonus.
2) Translate the terrain resistance bonus into a generic resistance table not discriminating any unit types.
3) Carefully design some resistance tables, maybe one for each of the ASC vehicle types.
Re: Total Conversion -- Combat Shore
I think a totally deterministic Game in a Sense of what Humans understand about may be possible from an Aspect of Physic as the general Property of Reality to be Undeterministic are at MacroLevel normally not relevant BUT for Precision of of collected Data and Precision of Planing and Execution there should be any small Level of Random. But I don't want to start a Discussion pro or con Determinist reps Random but advise to make Influence of Random customizable that a Rifle could change its Precision from "SniperRifle" to "shot around the Corner" to cover all Tastes and Needs for Precision. E.g. a broken Engine could happen unexpected while Operation but at least due to not economic reasonable sufficient collectable and analysable Amount of Data there shoul remain any Kind of Unsureness about if Result of Execution match Planing. Fazit: I don't argue at last for Random or Determinisitc but Support for all. If different Classes for Random exist e.g. for Precision of Guns due to variable WeatherConditions or other Influences that doesn't concerns Reliability of Engines which are more sensible to stabil Production-Conditions etc. However, I don't think its good to build a "highly integrated Engine" you can't adjust any Effect for Things you can't or don't want to determine precisely and thus introduce Unprecision by Emulation by Random. You can't simulate Disease of Cancer at Moleculare-Level but you can emulate it by defining a Likelihood to die by Random due to that Desease.
Brief: Due to you can't know and plan all relevant Things with always sufficient Precisions like Weather is effectivly still not totally deterministic for Humans you have to Deal with Likelihood this or that Way if you want to implement Weather you can't forecast precisely without Unsureness.
Regards, MK
Brief: Due to you can't know and plan all relevant Things with always sufficient Precisions like Weather is effectivly still not totally deterministic for Humans you have to Deal with Likelihood this or that Way if you want to implement Weather you can't forecast precisely without Unsureness.
Regards, MK
"Sir! We are surrounded by our enemies!" - "Excellent ! We can attack in every direction!"
"Make everything as simple as possible, but not simpler." -- Albert Einstein
No Source - No Binary - No Trust!
Map Wesnoth Springs - The great War [200x120],Player=9
"Make everything as simple as possible, but not simpler." -- Albert Einstein
No Source - No Binary - No Trust!
Map Wesnoth Springs - The great War [200x120],Player=9
Re: Total Conversion -- Combat Shore
I have made some more progress.
There is now a github repository for CS.
Note that you need to merge it into Wesnoth's data dir.
https://github.com/fendrin/CombatShore
I only test on the latest development version.
There is no content (campaign or mp scenario) yet.
You can start the test scenario "wesnoth path/to/your/data_dir_merge -t" and play a little with the new units.
There is now a github repository for CS.
Note that you need to merge it into Wesnoth's data dir.
https://github.com/fendrin/CombatShore
I only test on the latest development version.
There is no content (campaign or mp scenario) yet.
You can start the test scenario "wesnoth path/to/your/data_dir_merge -t" and play a little with the new units.
Re: Total Conversion -- Combat Shore
Again, some progress.
Every single unit of the default faction is now present in the game,
although not every feature they offer is supported yet.
I also managed to lift a simplified implementation of the rotsprite algorithm for rotating the unit artwork.
It is used to produce the 4 missing facings that can't be produced by flipping or by the old limited rotation imagepath function which was only able to rotate in 90 degree steps.
The feature will soon be commited into our repository at github.
Last but not least I have made progress on a prototype which supports transporters.
Mounting units already works like a charm, the unmounting still suffers from lacking gui support.
Every single unit of the default faction is now present in the game,
although not every feature they offer is supported yet.
I also managed to lift a simplified implementation of the rotsprite algorithm for rotating the unit artwork.
It is used to produce the 4 missing facings that can't be produced by flipping or by the old limited rotation imagepath function which was only able to rotate in 90 degree steps.
The feature will soon be commited into our repository at github.
Last but not least I have made progress on a prototype which supports transporters.
Mounting units already works like a charm, the unmounting still suffers from lacking gui support.
Re: Total Conversion -- Combat Shore
On a none personal note, there are good news for every BattleIsle fan:
The German company "KING Art Games" finished a successful Kickstarter campaign for a sequel/remake of BattleIsle.
Battle Worlds Kronos
Turn based strategy, made in Germany.
Check it out, I will do so.
The German company "KING Art Games" finished a successful Kickstarter campaign for a sequel/remake of BattleIsle.
Battle Worlds Kronos
Turn based strategy, made in Germany.
Check it out, I will do so.
Re: Total Conversion -- Combat Shore
Progress update:
1)
Height Levels (deep dived, dived, floating, ground level, low level flight, medium level flight, high level flight, orbit) are now implemented and working by using the [unit_type]'s [variation] feature.
This includes weapons which can only be used from certain levels and/or reach only certain ones.
The c++ engine features added for this:
Support for a default variation in [unit_type].
Support for filtering by a unit's variation id (list of id is supported as well).
Translatable names for [variation].
Some updates to the help browser would be nice, it gets a little crowded now and is not easy to use, but it will be delayed until a first working prototype is ready.
2)
Fuel consumption.
Syntax:
In [unit_type] or [unit]:
fuel_consumption=12 # Moving one hex field consumes 12 fuel. (maybe mileage= is a better name?)
fuel_tank=1200 # The amount of fuel a unit can carry at maximum.
The example values lead to a unit with a range of 100 hex fields.
Support for refueling is on the way.
3)
Cargo
Syntax:
The gui already supports mounting units, just by moving them on the hex field occupied by the transporter.
Unmount is on the way.
4)
Support for ranged weapons is still missing.
This is the last bigger issue for the conversion to be ready for a first working release.
1)
Height Levels (deep dived, dived, floating, ground level, low level flight, medium level flight, high level flight, orbit) are now implemented and working by using the [unit_type]'s [variation] feature.
This includes weapons which can only be used from certain levels and/or reach only certain ones.
The c++ engine features added for this:
Support for a default variation in [unit_type].
Support for filtering by a unit's variation id (list of id is supported as well).
Translatable names for [variation].
Some updates to the help browser would be nice, it gets a little crowded now and is not easy to use, but it will be delayed until a first working prototype is ready.
2)
Fuel consumption.
Syntax:
In [unit_type] or [unit]:
fuel_consumption=12 # Moving one hex field consumes 12 fuel. (maybe mileage= is a better name?)
fuel_tank=1200 # The amount of fuel a unit can carry at maximum.
The example values lead to a unit with a range of 100 hex fields.
Support for refueling is on the way.
3)
Cargo
Syntax:
Code: Select all
# the cargo unit:
[unit]
weight=14 # The weight of the unit
[/unit]
# the transporter unit:
[unit]
[cargo_bay] # multiple cargo_bays per unit are allowed
slots=5 # this cargo bay can hold 5 units (optional, if not giving an infinite amount of units can be loaded)
max_weight=32 # each unit mustn't be heavier than 32 (see the weight attribute in [unit]) (optional)
max_total_weight=108 # The sum of all cargo units mustn't be greater than 108 (optional)
[entrance] # multiple entrances per cargo_bay are allowed
in=yes|no # The entrance can be used to load cargo
out=yes|no # The entrance can be used to unload cargo
docking=yes|no # The entrance can be used to switch into another transporter
movement_cost=3 # The (cargo) unit looses 3 movepoints when using this entrance
[filter_self]
# The transporter must match this unit filter for this entrance to be usable.
[/filter_self]
[filter_cargo]
# A unit must match this unit filter to mount the transporter
[/filter_cargo]
[/entrance]
[/cargo_bay]
[/unit]
Unmount is on the way.
4)
Support for ranged weapons is still missing.
This is the last bigger issue for the conversion to be ready for a first working release.
Re: Total Conversion -- Combat Shore
The height a unit is flying at is now shown by a shadow.
The higher the unit flies, the larger the shadow, but also more transparent and more set off.
Sadly the shadow isn't moving with the unit but jumping afterwards.
Thus I could use some assistance with animation WML.
The higher the unit flies, the larger the shadow, but also more transparent and more set off.
Sadly the shadow isn't moving with the unit but jumping afterwards.
Thus I could use some assistance with animation WML.
Re: Total Conversion -- Combat Shore
Managed to solve the problem.fabi wrote:Sadly the shadow isn't moving with the unit but jumping afterwards.
This is still true for including some attack/defense effects.Thus I could use some assistance with animation WML.
Re: Total Conversion -- Combat Shore
Today I was busy with converting ASC's buildings.
After converting some nice buildings like "Airport", "Small Vehicle Plant", "Depot" and others,
I stumbled upon another one, hidden in a file called "bld_asc_atomkraftwerk.asctxt".
Inside the file the "Name =" attribute (which is, as you easily can guess, the equivalent of Wesnoth's [unit_type]'s name= attribute)
is hold in English language again: "Nuclear Power Plant".
The file is quite short compared to other building's descriptions, only 65 lines at all.
The "Description =" and "Info_txt =" attribute is missing.
The former is quite similar to the WML attribute with the same name, while the later usually provides more detailed informations on the object.
That leads to thinking about why they are missing, wondering if the author simply thought that the name tells enough.
The parent= attribute points to the town base unit (yes, towns are buildings in ASC which can be conquered),
which makes sense at a gameplay point of view.
It's also not that far fetched considering that most of such buildings are placed in urban regions.
Armour = 1000, translated into 1000 hitpoints seems quite much in Wesnoth context, but is a fair amount compared to an heavy tank's 800 and the 10,000 of the quite resistant "Big Headquarter", if you consider that a single hit by an armor breaking weapon like a human carry-able Bazooka leads withe near certainty to a breakdown of the cooling circuit, resulting in similar events to those we could watch in Japan, luckily from a save distance in my case,
even when the hit does not reach the reactor core.
This is true for every nuclear power plant running in Germany, and I guess also for every single one in the world, considering that the German government claims that our plants are the most secure in the world.
Recently watched a documentation about nuclear energy, and guess what, the nuclear facilities in both, France and Sweden, are also the most secure in the world. (Not counting Omicron Persei 08)
The "Functions = matter_converter" means it consumes "material" (one of the three resources in ASC, beside "energy" and "fuel") and produces "energy".
The term could be no more true for any other energy producing facility, as physicist will confirm.
And it is quite an efficient one:
For 1000 fuel and material you receive 10,000 energy, the "material" just vanishes, no need to spend any further thought about it.
There are units in ASC which provide a certain level of damage to their neighboring hex fields when destroyed.
Not so for this one, if it sustains the 1000 points of damage it just disappears into nowhere like most of the other units in the game.
All in all, a quite useful object, beside the relative high costs for building it.
During the conversion process I considered to just keep it out of Combat Shore.
The original BattleIsle series never included it, like any kind of nuclear, chemical or biological weapon.
On the other hand, it could make some nice addition for designing interesting scenarios where you fight for a greater purpose than usual.
But how should the destruction of such a building being handled?
Just making it a defeat condition similar to the loose of a story immanent character seems silly.
"Oh no, we have lost Landar! We can't continue without him."
At the end I just converted the building mechanically, like every other unit.
How to put it onto game mechanics, code the unthinkable but yet not impossible without trivializing the tragedy of the event?
No other unit, being it far more complex than this one took me that long to convert.
Thank you for staying that long with my thoughts.
Also, please excuse the very long and thus hard to read sentences.
I have made the text that long because I didn't had the time to make it any shorter.
After converting some nice buildings like "Airport", "Small Vehicle Plant", "Depot" and others,
I stumbled upon another one, hidden in a file called "bld_asc_atomkraftwerk.asctxt".
Inside the file the "Name =" attribute (which is, as you easily can guess, the equivalent of Wesnoth's [unit_type]'s name= attribute)
is hold in English language again: "Nuclear Power Plant".
The file is quite short compared to other building's descriptions, only 65 lines at all.
The "Description =" and "Info_txt =" attribute is missing.
The former is quite similar to the WML attribute with the same name, while the later usually provides more detailed informations on the object.
That leads to thinking about why they are missing, wondering if the author simply thought that the name tells enough.
The parent= attribute points to the town base unit (yes, towns are buildings in ASC which can be conquered),
which makes sense at a gameplay point of view.
It's also not that far fetched considering that most of such buildings are placed in urban regions.
Armour = 1000, translated into 1000 hitpoints seems quite much in Wesnoth context, but is a fair amount compared to an heavy tank's 800 and the 10,000 of the quite resistant "Big Headquarter", if you consider that a single hit by an armor breaking weapon like a human carry-able Bazooka leads withe near certainty to a breakdown of the cooling circuit, resulting in similar events to those we could watch in Japan, luckily from a save distance in my case,
even when the hit does not reach the reactor core.
This is true for every nuclear power plant running in Germany, and I guess also for every single one in the world, considering that the German government claims that our plants are the most secure in the world.
Recently watched a documentation about nuclear energy, and guess what, the nuclear facilities in both, France and Sweden, are also the most secure in the world. (Not counting Omicron Persei 08)
The "Functions = matter_converter" means it consumes "material" (one of the three resources in ASC, beside "energy" and "fuel") and produces "energy".
The term could be no more true for any other energy producing facility, as physicist will confirm.
And it is quite an efficient one:
For 1000 fuel and material you receive 10,000 energy, the "material" just vanishes, no need to spend any further thought about it.
There are units in ASC which provide a certain level of damage to their neighboring hex fields when destroyed.
Not so for this one, if it sustains the 1000 points of damage it just disappears into nowhere like most of the other units in the game.
All in all, a quite useful object, beside the relative high costs for building it.
During the conversion process I considered to just keep it out of Combat Shore.
The original BattleIsle series never included it, like any kind of nuclear, chemical or biological weapon.
On the other hand, it could make some nice addition for designing interesting scenarios where you fight for a greater purpose than usual.
But how should the destruction of such a building being handled?
Just making it a defeat condition similar to the loose of a story immanent character seems silly.
"Oh no, we have lost Landar! We can't continue without him."
At the end I just converted the building mechanically, like every other unit.
How to put it onto game mechanics, code the unthinkable but yet not impossible without trivializing the tragedy of the event?
No other unit, being it far more complex than this one took me that long to convert.
Thank you for staying that long with my thoughts.
Also, please excuse the very long and thus hard to read sentences.
I have made the text that long because I didn't had the time to make it any shorter.