Okay, I''ve started doing an overhaul of what I''d like to accomplish with my overal game design goals. For the long time members, they know my love of wargames though they may not realize my love of traditional pen and paper roleplaying games as well.
I thought of trying to create a game engine that could scale from strategic battles, to tactical skirmishes down to the individual level of roleplaying. STRIKE is really an acronym for Strategic Tactical Roleplaying Integrated Kit Engine. The Kit part means that in some sense, it has a plug-in architecture to be able to modify certain aspects.
Now, this integration does not imply a MMO world in which a person plays at one level (and can''t switch between levels) and everything happens in real time. Though that would be an interesting approach, it is not currently my main objective. Instead I want a consistency regarding the interfaces between each scale, as well as consistency regarding the setting. For example, let''s say that I want to plan an all out planetary invasion. I can set up all my forces and work out all the logistics to support my invasion force. I can play at this level and at any moment I chose, I can switch to a more fine-grained level. The deeper down the chain I go, the more detailed and less abstract the simulation becomes until finally it enters a RPG/FPS realm. While it should be possible to zoom down to the tactical level from any unit, going to the RPG mode should only be possible with certain key "Hero" characters which are fully fleshed out and designed.
Obviously, there are some huge technical difficulties here. First of all, the required data would be tremendous. If the game were just strategic, then Cluster (my term for organized groups of single Units...either homogenous or heterogenous) data could be fairly well abstracted. But since it is possible to zoom down to tactical levels (say company vs. company level), then the required data becomes greater and greater because each scale requires a different set of data (for the most part). Then there''s also the information for all the Heroes in the game. In essence, there''s going to be a hell of a lot of data tracking going on.
Secondly, world maps must be able to zoom from world scale down to the first person level with accuracy. I''m a firm believer that strategy games must allow players the room for maneuver, which means they should be able to choose when and where battles take place. This means there can not be pre-defined maps for a fight to take place. Each factions forces will position themselves for the greatest advantage meaning that it could be anywhere. Moreover, since the game can scale down, it is necessary for the terrain to be consistent and detailed enough to be playable at each scale. While I know there are some algorithms to create more finely detailed terrain from general data, I''m not sure how to store and save this information for later use. This is necessary because if another battle is fouhgt in the same area, the terrain logically must be persistent (the algorithm can''t dynamically generate terrain, and then forget about it...it must somehow store this data to disk for future use). How efficient this algorithm is is very important. Could 64bit come to the rescue here?
Thirdly, the level of most other software engineering will be difficult. For example, the perspective must have both a traditional 3d roving camera as well as first person ability (meaning probably two different sets of scenemanagers). There''s also the un-Godly level of AI work that has to be done to not just create the Commanders that will lead the various Battle Groups and Clusters, but also understand the differences between strategic play, tactical play, and first person play (in essence, each game scale requires a different set of "intelligence" much as a General has a different set of training and experience than does a Lieutenant).
From a game design perspective it''s also going to be a nightmare. In essence, it will be three rules sets. It will have roleplaying stats and abilities for the Heroes, it will have the tactical options for the tactical level, and it will have the economic, logistics and campaign aspects of the strategic mode.
I''ve already been trying to think of ways to abstract out as much as possible to save myself some headaches. For example, the hierarchical organization of an Army is the same for all three scales. Therefore the container classes that hold all the different Units, Clusters and Battle Groups should be the same. And AI should have certain "skill modules" that allow them to understand what problem domain they face (i.e, what game mode it is in). The problem solving abilities should generally remain the same, but the awareness of what they need to know changes for each game scale. Morale too is another rules system that applies to all scales.
Is this simply too much to hope for? Is there a way to create 3 seperate games and yet still unify them somehow?
The world has achieved brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants. We know more about war than we know about peace, more about killing than we know about living. We have grasped the mystery of the atom and rejected the Sermon on the Mount." - General Omar Bradley
I designed my own table top strategy game. that had two combat modes tactial and strategic.
All units had the following stats:
1 Speed
2 Weapon Skill
3 Ballistic Skill
4 Strength
5 Toughness
6 Wounds
7 Attacks
8 Initivate
9 Leadership
10 Save
11 Move
12 Armor
13 Threat
14 Streatgy
15 Cost
When fighting a tactical battle stats 1-10 where used, when fighting a strategic battle stats 12-14 where used. Move determined how many spaces on the map a unit could move.
Similar system could work for what you are trying to achomplish. Each unit could have set of stats that represent its abilites in each the 3 levels. Through applying various level of abstraction you could achomplish what your trying to do. At hero level you have a single character, at tactical you control units organized into clusters, in strategic you control clusters.
The same goes for the map. On strategic the player would have an over head map, with forests and rivers being represented by apportite tiles. Forces would be represented by cluster tiles.
Tactical would would be more closer up the map the player would see things in an rts style interface. Indvidual units would be organized into clusters but each unit would be also be seperate entity.
On Hero mode would by through a FPS style interface.
The actual implementation would be time consuming but hardly impossible, with prober entity modeling. If all entities would possess the characteristic needed to use it in each of three modes, then depending on the mode diffrent characteristic would be used.
Take a fictonal example of say a cluster of riflemen.
Now a cluster of riflemen could look something like this.
Stragic:
Cluster Values:
Man Power 5
Threat 10
Strategy 2
Tactical:
Cluster value:
Number of units = man power = 5
Individual riflemen values:
Health 10
Attack 5
Defense 2
Move 1
Range 3
Hero:
Individual Values:
Hp = health * 10 = 100
Strength 3
Toughness 3
Speed 1
Damage 50
Armor 20
Weapon Range 30 feet
So he player is on stratgic mode and their riflemen cluster is attacked and its Man power was reduced to 3. The player then switches to tactial mode and has three riflemen to control. They fight some more and two more are killed. The player switches back to stategic and the clusters man power value is 1 and the player decides to retreat the cluster.
As long as the entities values remain consistent from level to level then it can work fine. Although in terms of practically it does require you to program essentailly three games but then you already know that.
As for random maps, the simpliest method to preserve the maps would be using a fixed seed system. Essentialy you have some algorithim or system the determines the seed or set of seed values for a given map, those values are then used to generate the map. The algorthim should always generate the same seed number for any given map and that seed value will ensure the map is always the same.
-----------------------------------------------------
"Fate and Destiny only give you the opportunity the rest you have to do on your own."
Current Design project: Ambitions Slave
All units had the following stats:
1 Speed
2 Weapon Skill
3 Ballistic Skill
4 Strength
5 Toughness
6 Wounds
7 Attacks
8 Initivate
9 Leadership
10 Save
11 Move
12 Armor
13 Threat
14 Streatgy
15 Cost
When fighting a tactical battle stats 1-10 where used, when fighting a strategic battle stats 12-14 where used. Move determined how many spaces on the map a unit could move.
Similar system could work for what you are trying to achomplish. Each unit could have set of stats that represent its abilites in each the 3 levels. Through applying various level of abstraction you could achomplish what your trying to do. At hero level you have a single character, at tactical you control units organized into clusters, in strategic you control clusters.
The same goes for the map. On strategic the player would have an over head map, with forests and rivers being represented by apportite tiles. Forces would be represented by cluster tiles.
Tactical would would be more closer up the map the player would see things in an rts style interface. Indvidual units would be organized into clusters but each unit would be also be seperate entity.
On Hero mode would by through a FPS style interface.
The actual implementation would be time consuming but hardly impossible, with prober entity modeling. If all entities would possess the characteristic needed to use it in each of three modes, then depending on the mode diffrent characteristic would be used.
Take a fictonal example of say a cluster of riflemen.
Now a cluster of riflemen could look something like this.
Stragic:
Cluster Values:
Man Power 5
Threat 10
Strategy 2
Tactical:
Cluster value:
Number of units = man power = 5
Individual riflemen values:
Health 10
Attack 5
Defense 2
Move 1
Range 3
Hero:
Individual Values:
Hp = health * 10 = 100
Strength 3
Toughness 3
Speed 1
Damage 50
Armor 20
Weapon Range 30 feet
So he player is on stratgic mode and their riflemen cluster is attacked and its Man power was reduced to 3. The player then switches to tactial mode and has three riflemen to control. They fight some more and two more are killed. The player switches back to stategic and the clusters man power value is 1 and the player decides to retreat the cluster.
As long as the entities values remain consistent from level to level then it can work fine. Although in terms of practically it does require you to program essentailly three games but then you already know that.
As for random maps, the simpliest method to preserve the maps would be using a fixed seed system. Essentialy you have some algorithim or system the determines the seed or set of seed values for a given map, those values are then used to generate the map. The algorthim should always generate the same seed number for any given map and that seed value will ensure the map is always the same.
-----------------------------------------------------
"Fate and Destiny only give you the opportunity the rest you have to do on your own."
Current Design project: Ambitions Slave
Writing Blog: The Aspiring Writer
Novels:
Legacy - Black Prince Saga Book One - By Alexander Ballard (Free this week)
Technogoth: Is it based on Warhammer? Some of those stats are awfully familiar (1 to 9 at least)..
A friend of mine has also made a table top strategy game. Based on Warhammer. He''s designed it to be a tie-in with Warhammer Fantasy Battles (mineature battles)..
A friend of mine has also made a table top strategy game. Based on Warhammer. He''s designed it to be a tie-in with Warhammer Fantasy Battles (mineature battles)..
Its wasn''t based on warhammer, but for ease of play we used the warhammer rule system for tactical battles. It just made things easier, since I made the game back when my friends and I all played warhammer.
-----------------------------------------------------
"Fate and Destiny only give you the opportunity the rest you have to do on your own."
Current Design project: Ambitions Slave
-----------------------------------------------------
"Fate and Destiny only give you the opportunity the rest you have to do on your own."
Current Design project: Ambitions Slave
Writing Blog: The Aspiring Writer
Novels:
Legacy - Black Prince Saga Book One - By Alexander Ballard (Free this week)
I''m trying to figure out which stats the Strategic and Tactical levels have in common. For example, at the tactical level, I''m not sure if Fuel is a concern (though ammo should still be).
I''m currently working on a Unit Construction system. It will work for vehicles as well as ground troops. It''s based off of what one unit can do.
The real trick is going to figure out what happens when you have different vehicles together in one unit and try to figure out what the group''s abilities are. Some things should follow the "weakest link" theory, for example the max speed of the group will be that of the slowest unit in the group (unless the slower unit is riding inside another vehicle). Max distance will be equal to the smallest fuel capacity of a unit.
But the more difficult to calculate things are abstract concepts like firepower. For example, let''s say you create a mechanized infantry unit that is composed of 4 Infantry Fighting Vehicles that carry 4 squads of infantry. One squad of the infantry is actually an AT team, so they should be able to help take out hard targets along with the IFV''s own AT weapons. Or what if at the company level, they have a dedicated (but non-organic) mortar battery in support? Do you just calcluate the attack capabilities of every Tactical Unit and resolve them seperately? That would seem like a very calculation intensive exercise, and defeats the purpose of having a Strategic scale (which should be somewhat abstracted).
I''m currently working on a Unit Construction system. It will work for vehicles as well as ground troops. It''s based off of what one unit can do.
The real trick is going to figure out what happens when you have different vehicles together in one unit and try to figure out what the group''s abilities are. Some things should follow the "weakest link" theory, for example the max speed of the group will be that of the slowest unit in the group (unless the slower unit is riding inside another vehicle). Max distance will be equal to the smallest fuel capacity of a unit.
But the more difficult to calculate things are abstract concepts like firepower. For example, let''s say you create a mechanized infantry unit that is composed of 4 Infantry Fighting Vehicles that carry 4 squads of infantry. One squad of the infantry is actually an AT team, so they should be able to help take out hard targets along with the IFV''s own AT weapons. Or what if at the company level, they have a dedicated (but non-organic) mortar battery in support? Do you just calcluate the attack capabilities of every Tactical Unit and resolve them seperately? That would seem like a very calculation intensive exercise, and defeats the purpose of having a Strategic scale (which should be somewhat abstracted).
The world has achieved brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants. We know more about war than we know about peace, more about killing than we know about living. We have grasped the mystery of the atom and rejected the Sermon on the Mount." - General Omar Bradley
Well the way it worked in my game was like this, when to armies fought, you took the total threat value of the attack compared it to the total threat value of the defender, that told you which of the seven result tables to roll on, then the side with higher stategic value could adjust the table up or down one level in their favor. After that you had the acutal table, then the attacker rolled a d6 and consulted the part of the table to determine how many hits had been scored on both sides. Then casulties where removed and the next round started. Combat always consisted of a most three rounds a turn.
For example:
Attack has total threat of 30, and total strategy of 5
Defender has total threat of 10 and total strategy of 10
So the attack has 3:1 advantage and would roll on the 3.0-4.9 times table.
The defender however has a higher strategy rating and so adjust the the table down one level to the 1.5-2.9 table.
The first thing I would do is seperate things, first off a unit should be considered X number Y. Then you can have groups, squads, division, companies, battilions, etc.. Which consist of a number of units.
So give each unit a firepower rating, a speed, and fuel capacity to start. Then simply have the groups firepower = total firepower of all units, speed = lowest units speed, and fuel = total fuel of all units(assuming that units can share fuel)
This where you can get into more complicated things. For instance instead of having just firepower, you could have mutiple values, light weapons rating, heavy weapons rating, anti-air weapons rating. Then you have to figure out how to apply those against defenders, you could do it by having:
Light weapon Hits = 1 Light hight, 1/3 heavy hit 1/2 air hit. Heavy hits = 3 light hits, 1 heavy hit, 1/3 air hit.
Air hits = 2 light hits, 1/2 heavy hits, 1 air hit.
Where hits are paired against like target types first and remaing hits are applied to the target type with the least hits.
So if you say scored 20 lights and 3 heavy hits, and your facing a force 5 light targets 1 wound each, and 10 heavy targets 2 wounds each. Hits would be worked out like this 5 light hits applied to the light targets killing them all, 3 heavy hits appiled to the heavy tagets killing 1 and damaging another leaving 15 light hits remaining which are converted to 5 heavy hits, which kill 3 more heavy targets including the wounded one. For a final result of the defender having 6 heavy units remaining.
As for the mortar that would be considered support, you could have support calacuted before or after each combat round or perhaps only at the start of each turn. One way you could do support is that for each point of support you have you cause d6 hits at the start of the turn.
The important thing is to not think about units in strategic but interms of armies or clusters as you call them. So you click on a cluster and would see something like this for your mech infantry example:
Light Firepower = 3
Heavy Firepower = 1
Anti-air Firepower = 0
Light Manpower = 4
Heavy Manpower = 0
Air Manpower = 0
Speed = 2
Fuel = 10
Support = 1
and that would be all a person would need to know in order to properly use that cluster.
-----------------------------------------------------
"Fate and Destiny only give you the opportunity the rest you have to do on your own."
Current Design project: Ambitions Slave
For example:
Attack has total threat of 30, and total strategy of 5
Defender has total threat of 10 and total strategy of 10
So the attack has 3:1 advantage and would roll on the 3.0-4.9 times table.
The defender however has a higher strategy rating and so adjust the the table down one level to the 1.5-2.9 table.
quote:
The real trick is going to figure out what happens when you have different vehicles together in one unit and try to figure out what the group''s abilities are. Some things should follow the "weakest link" theory, for example the max speed of the group will be that of the slowest unit in the group (unless the slower unit is riding inside another vehicle). Max distance will be equal to the smallest fuel capacity of a unit.
The first thing I would do is seperate things, first off a unit should be considered X number Y. Then you can have groups, squads, division, companies, battilions, etc.. Which consist of a number of units.
So give each unit a firepower rating, a speed, and fuel capacity to start. Then simply have the groups firepower = total firepower of all units, speed = lowest units speed, and fuel = total fuel of all units(assuming that units can share fuel)
quote:
But the more difficult to calculate things are abstract concepts like firepower. For example, let''s say you create a mechanized infantry unit that is composed of 4 Infantry Fighting Vehicles that carry 4 squads of infantry. One squad of the infantry is actually an AT team, so they should be able to help take out hard targets along with the IFV''s own AT weapons. Or what if at the company level, they have a dedicated (but non-organic) mortar battery in support? Do you just calcluate the attack capabilities of every Tactical Unit and resolve them seperately? That would seem like a very calculation intensive exercise, and defeats the purpose of having a Strategic scale (which should be somewhat abstracted).
This where you can get into more complicated things. For instance instead of having just firepower, you could have mutiple values, light weapons rating, heavy weapons rating, anti-air weapons rating. Then you have to figure out how to apply those against defenders, you could do it by having:
Light weapon Hits = 1 Light hight, 1/3 heavy hit 1/2 air hit. Heavy hits = 3 light hits, 1 heavy hit, 1/3 air hit.
Air hits = 2 light hits, 1/2 heavy hits, 1 air hit.
Where hits are paired against like target types first and remaing hits are applied to the target type with the least hits.
So if you say scored 20 lights and 3 heavy hits, and your facing a force 5 light targets 1 wound each, and 10 heavy targets 2 wounds each. Hits would be worked out like this 5 light hits applied to the light targets killing them all, 3 heavy hits appiled to the heavy tagets killing 1 and damaging another leaving 15 light hits remaining which are converted to 5 heavy hits, which kill 3 more heavy targets including the wounded one. For a final result of the defender having 6 heavy units remaining.
As for the mortar that would be considered support, you could have support calacuted before or after each combat round or perhaps only at the start of each turn. One way you could do support is that for each point of support you have you cause d6 hits at the start of the turn.
The important thing is to not think about units in strategic but interms of armies or clusters as you call them. So you click on a cluster and would see something like this for your mech infantry example:
Light Firepower = 3
Heavy Firepower = 1
Anti-air Firepower = 0
Light Manpower = 4
Heavy Manpower = 0
Air Manpower = 0
Speed = 2
Fuel = 10
Support = 1
and that would be all a person would need to know in order to properly use that cluster.
-----------------------------------------------------
"Fate and Destiny only give you the opportunity the rest you have to do on your own."
Current Design project: Ambitions Slave
Writing Blog: The Aspiring Writer
Novels:
Legacy - Black Prince Saga Book One - By Alexander Ballard (Free this week)
I don''t think there''s any way to avoid this problem. If you take on a mega-project like that, you''ll end up facing mega-difficulties.
The easiest way to solve your problems is to kludge everything so that it achieves 90% of the desired effects; i.e. instead of saying "we have to have the terrain be huge and dynamic and persistent" pick only two, and then find a way to sort of fit in the last, like abstracting the changes in terrain between battles rather than keeping it 100% consistent. And perhaps instead of storing data on every soldier''s condition, only store those of the "hero units" and then just leave everything else to a % of unit strength when you aren''t playing in first-person. Enough of those little compromises and you might be able to whittle the work down to an acceptable size.
If you architected it well, too, there''s the potential for later improving it to get that last 10%.
Open-sourcing the thing might also make things easier in the long run:
If you can make a simple-but-functional initial release and build a community from there, over time additional support, from individuals or companies wishing to build off of your work, will crop up to fill in more features. Of course, the problem - the REAL problem - in making an open-source game is that if the game isn''t already good or fills the need for "clone of x," nobody will want to improve it. But if it''s already good, nobody will improve it then, either, except to fix a few bugs.
But I think a project like this would make a good choice because of its positioning as an engine - a tool - rather than a "finished product." I''ve seen enough game modding and customization communities to know that if an engine is functional and easy to work with, it''ll be used, even if it has a tiny featureset. With a growing community, demand for "cool new features" will arise, and eventually developers will emerge. You won''t necessarily get total control over the design when that happens, but since nobody''s done a game this broad yet, that''s of secondary importance to seeing it executed, regardless of what goes wrong.
The easiest way to solve your problems is to kludge everything so that it achieves 90% of the desired effects; i.e. instead of saying "we have to have the terrain be huge and dynamic and persistent" pick only two, and then find a way to sort of fit in the last, like abstracting the changes in terrain between battles rather than keeping it 100% consistent. And perhaps instead of storing data on every soldier''s condition, only store those of the "hero units" and then just leave everything else to a % of unit strength when you aren''t playing in first-person. Enough of those little compromises and you might be able to whittle the work down to an acceptable size.
If you architected it well, too, there''s the potential for later improving it to get that last 10%.
Open-sourcing the thing might also make things easier in the long run:
If you can make a simple-but-functional initial release and build a community from there, over time additional support, from individuals or companies wishing to build off of your work, will crop up to fill in more features. Of course, the problem - the REAL problem - in making an open-source game is that if the game isn''t already good or fills the need for "clone of x," nobody will want to improve it. But if it''s already good, nobody will improve it then, either, except to fix a few bugs.
But I think a project like this would make a good choice because of its positioning as an engine - a tool - rather than a "finished product." I''ve seen enough game modding and customization communities to know that if an engine is functional and easy to work with, it''ll be used, even if it has a tiny featureset. With a growing community, demand for "cool new features" will arise, and eventually developers will emerge. You won''t necessarily get total control over the design when that happens, but since nobody''s done a game this broad yet, that''s of secondary importance to seeing it executed, regardless of what goes wrong.
Dauntless, it''s been great to follow your musings over the long term, and I have to say that many of your posts made me see things a different way. So don''t take this the wrong way, but I have to ask: Why do you want to do this?
Both you and I (and some others here too) are working on projects tht are bigger than we should be working on compared to our resources, but so what? It''s fun and even if we fail, we''re doing something we love. So I''m not asking why you''re working on what you''re working on, I''m asking what about your game makes it have to look the way it does.
What is the core FEELING you''re going for, and are there any ways of getting that feeling than the brute force "calculate everything" approach? For instance, why do you need to be able to zoom in on every battle? What does that accomplish, what value for risk and reward does it offer?
I have been asking this question myself to make my project more managable, and iteratively continue to do so. Being more clear on the emotions that I want to evoke and the choices I want to give you allows me to be more ambitious on the things that count.
I''m going for a similar mix of the grand and personal. The way I plan to do it, though, is to use an idea of a personal map that you occupy that''s impacted by a completely abstract world. If you have allies fighting elsewhere, you only get reports, and these are the result of Risk style roles hooked up to conversation tables. If you want to weigh in on a particular battle, you go and fight that battle yourself, and the stats there get thrown together as a random battle in progress: Units in different scripted positions according to manuevers, with varying health and ammo.
You observe all of this from a very simple to do long range map with markers (ala Civilization). I nix the idea of massive AI by embedding a personality and skill system I have directly into the rules for success and failure, for two reasons: One, I want an RTS flavor without the clock cycles murdering me, so it''s just you versus comps on a zoomed in map and alot of stuff happening outside that map; and two, I want the player to think about the heroes more than micromanagement of the hero''s force (after all, he''s a competent general, can''t he do it himself?)
All of this is to say that there''s a feeling you want and an essential core that you can''t live without. I think the more you know what they are, the more you''re able to embrace more limited but feasible goals.
--------------------
Just waiting for the mothership...
Both you and I (and some others here too) are working on projects tht are bigger than we should be working on compared to our resources, but so what? It''s fun and even if we fail, we''re doing something we love. So I''m not asking why you''re working on what you''re working on, I''m asking what about your game makes it have to look the way it does.
What is the core FEELING you''re going for, and are there any ways of getting that feeling than the brute force "calculate everything" approach? For instance, why do you need to be able to zoom in on every battle? What does that accomplish, what value for risk and reward does it offer?
I have been asking this question myself to make my project more managable, and iteratively continue to do so. Being more clear on the emotions that I want to evoke and the choices I want to give you allows me to be more ambitious on the things that count.
I''m going for a similar mix of the grand and personal. The way I plan to do it, though, is to use an idea of a personal map that you occupy that''s impacted by a completely abstract world. If you have allies fighting elsewhere, you only get reports, and these are the result of Risk style roles hooked up to conversation tables. If you want to weigh in on a particular battle, you go and fight that battle yourself, and the stats there get thrown together as a random battle in progress: Units in different scripted positions according to manuevers, with varying health and ammo.
You observe all of this from a very simple to do long range map with markers (ala Civilization). I nix the idea of massive AI by embedding a personality and skill system I have directly into the rules for success and failure, for two reasons: One, I want an RTS flavor without the clock cycles murdering me, so it''s just you versus comps on a zoomed in map and alot of stuff happening outside that map; and two, I want the player to think about the heroes more than micromanagement of the hero''s force (after all, he''s a competent general, can''t he do it himself?)
All of this is to say that there''s a feeling you want and an essential core that you can''t live without. I think the more you know what they are, the more you''re able to embrace more limited but feasible goals.
--------------------
Just waiting for the mothership...
--------------------Just waiting for the mothership...
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement