Sign in to follow this  
Thermodynamics

Mass units abstraction ideas

Recommended Posts

Well it has been a long time since I have posted in here. Here goes: In a competing gray goo scenario, how do you represent the units so you don't need to model each one separately. I am looking to represent large numbers of units in an abstract sense. I have several ideas already: Large representative units on grid: Each large unit would represent the same number of individual units and would move on a tiled grid. Examples would be table top strategy games, Civilization, or even to some extent the Age of Empires Series (depending on whether or not you believe that a single archer in the game represents one archer or a platoon). I would like to have the units created on a much smaller scale than what this implies and I don't care for the set size of the unit grouping. It also seems like the path that most games have taken up to this point. Soft body blob that changes in size The blob would change up in size with additional units, and deform when meeting an enemy blob. This is currently the idea I have been batting around in my head. As long as there were significantly more units in the blob then points needed to create it would behave realistically. An example of a soft body blob would be Blobular and example of an expanding group unit could be Nano War (which didn't seem to be working on Kongregrate last time I looked). My issue with both of these is that I don't know how I would represent formations such as melee in front and range units behind cover. Simplified individual units My last idea is to show as many units as conceivable by simplifying them down to points like sand in a sandbox game. I like this because it best shows the enormity of all of the units on the field. I don't think that I would be able to show as many as I would like though. The falling sand game has a max of 40,000 points which seems to get used up very quickly. I would like to represent 10 or 100 times that. The other problem I see with that is that each unit is simplified down so much that you can lose some of the nuance of the unit types. Any suggestions or critiques?

Share this post


Link to post
Share on other sites
Look at Supreme Commander. It's an RTS in which you can zoom out so the entire map is on one screen. As size decreases, units become first outlines, and then squares on the map. While it doesn't convey power very well, it definitely gives a feel for the sheer mass of guys you control, and allows you to easily send waves of units at the enemy.

Representing units could be done a bunch of ways. Shading unit colors based on type (if you're the red color, your cavalry are near pink, your archers are a bright red, and you infantry are a darker hue) could be effective, especially in a goo type model (you could see what parts of the goo were what color, and send units based on that.

Share this post


Link to post
Share on other sites
What about a mix of the simplified with a kind of "holographic projection" representing the large units? You'd be able to see through the projection and watch the individual points spread out and reform, and it would have the limit that groupings of points have to correspond to a unit type (not exactly realistic, but more understandable.) So if you have a bunch of artillery pieces and tank pieces they stay in separate groups but maybe the tank pieces flow around an invisible barrier as they move in front of the artillery. Bonus points if the units even look vaguely like what they represent (i.e., a tank is a square with a small point sticking out)

Share this post


Link to post
Share on other sites
doomhascome: I really enjoy Supreme Commander. It and Total Annihilation were what got me interested in mass unit attacks. The problem I see with that is the unit limit. SC has a unit limit somewhere around 1,000. And that really taxes the system. What if you could take your group of 10 assault bots and combine them abstractly into one unit. What if you could take 10 of those groups and combine them into a larger group. And so on. In the typical sci-fi gray goo scenario, it is goo because you can't see the individual units from one another. That is the effect that I am going for. Now being able to zoom in through each layer would be awesome eye candy, but that is for another post...

Wavinator: That is somewhat along the lines of what I was envisioning (especially if you could zoom in and get more and more detail. At the closest zoom would be individual units fighting.) The holographic projection would have to hold the information of everything that it contained as far as how many of each type of unit. If I had a mixed company of units, what would the holograph show? Each type with a damage bar over top? How could I abstract even further and combine multiple holographs together. At some point, I start losing valuable information about the individual unit locations. How important is this? If I zoom out and then zoom back in and my units have changes position dramatically, that would be a problem. Somewhere along the way, I need to keep position and type information to keep things real on an individual level and yet discard it to allow for a much larger number of units.

Perhaps what is needed is a jpeg instead of a bitmap metaphorically speaking.

Share this post


Link to post
Share on other sites
Quote:
Original post by Thermodynamics
If I had a mixed company of units, what would the holograph show? Each type with a damage bar over top? How could I abstract even further and combine multiple holographs together.


I don't know how aesthetically pleasing it would be but Civ IV's approach of a single unit being composed of multiple characters *might* work if you could limit the number of possible unit combinations. This would force you, though, to set arbitrary limits on what constitutes a unit-- it would not simply be a matter of adjacency. (A big flaw would be what happens when you mash two of these together? Could there be a restriction in terms of physical movement so that 10 type of can't occupy the same "square"?)

Two other possible approaches: Allow the player to filter so that you can see either the top N units or units of a specific category, allowing cycling or maybe represent units with special markers which function like tooltips, exploding extended information either in a callout or separate window.

If your game was very hardcore, one other (admittedly left field) idea would be to come up with a sort of symbolic shorthand / number combo that IDs strength and number of every unit within a certain range. I'd question, though, whether you really want players relating to something like "AFV 1175/Art 1262/INf 3338 etc etc" when they look at a unit marker.

Share this post


Link to post
Share on other sites
Quote:
Original post by Wavinator

I don't know how aesthetically pleasing it would be but Civ IV's approach of a single unit being composed of multiple characters *might* work if you could limit the number of possible unit combinations.

Part of my over-arching design goal is to have unit types be designed by the player and then tweaked to become more effect versus the current enemy. (imagine a slider on a shooting unit that traded damage for range or another that traded armor for speed). This would end up creating many types of units some with the same basic design and only slight differences versus others with completely different designs. So I don't see this working well.
Quote:
This would force you, though, to set arbitrary limits on what constitutes a unit-- it would not simply be a matter of adjacency. (A big flaw would be what happens when you mash two of these together? Could there be a restriction in terms of physical movement so that 10 type of can't occupy the same "square"?)
I have a feeling that I will be forcing some type of limit due to space in each tile. A tile based approach seems more feasible and less processor intensive. Each type may end up having a size based on its cost as well. perhaps not.

Quote:
Two other possible approaches: Allow the player to filter so that you can see either the top N units or units of a specific category, allowing cycling or maybe represent units with special markers which function like tooltips, exploding extended information either in a callout or separate window.
Or what about layers of the various soft body blobs for each type? Would getting a cohesive formation interaction be more difficult or would the various layers of blobs stick on top of one another?

Quote:
If your game was very hardcore, one other (admittedly left field) idea would be to come up with a sort of symbolic shorthand / number combo that IDs strength and number of every unit within a certain range. I'd question, though, whether you really want players relating to something like "AFV 1175/Art 1262/INf 3338 etc etc" when they look at a unit marker.
I know, i know. Even worse, since the players will be constantly producing new types of units without bothering to name them themselves, the unit names will become even less coherent. Its a mess that becomes even stickier with each unit added to the area.

Most of your comments here address the visual representation of the units which I agree is an issue. A greater issue to me is the computational representation of the units. If I can not figure out a way to lump units together computationally, then I will never be able to have the vast number of units that I imagine.

Share this post


Link to post
Share on other sites
Quote:
Original post by Thermodynamics
A greater issue to me is the computational representation of the units. If I can not figure out a way to lump units together computationally, then I will never be able to have the vast number of units that I imagine.


I wonder if part of the problem comes down to game mechanics standing in for reality? If you had the computational power you could simulate every single movement and interaction and build an AI sufficiently powerful to assess the battlefield and act accordingly.

But do you want success to be a straightforward matter of numbers? Or can you partition the battlefield, use abstract rules when at higher levels, then simulate in greater detail only when the player zooms in while at the same time using more nebulous values (like leadership) to drive combat resolution in the places you aren't looking?

I ask because recently I've had a lot of trouble in my own stuff of "simulating for simulation's sake." On the face of it it seems easier to build up low level components, test their behavior, then aggregate more and more low level stuff until you have the scope you want. But in terms of a combat experience it likely means that you will not have control over vast swaths of the battlefield because there's no notion of higher level control. Do you want, for instance, to allow the player to lose a fight on one side of the map because attackers had a few points of reach more than your units and you couldn't reposition them in time (maybe simply because there were too many to select)?

Or do you want to give players the ability to generally designate for most of the battlefield, zooming in and micromanaging in the places that count?


Share this post


Link to post
Share on other sites
I always have trouble balancing simulation versus gameplay. I am fine watching a simulation of things play out but most people want to interact with their games and control units and stuff. Freaks... all of you.

Anyway- I am fine simulating the vast majority of the battle field, but i would like the gameplay to mostly exist in the design and tweaking of the units.
Perhaps where I should start is a 1 dimensional playfield that takes the unit numbers question out of the picture and focuses more on the design of units issue.

Share this post


Link to post
Share on other sites
You can increase the number of units you can control by increasing the amount of time you are willing to spend updating the game. In a turn based strategy game you can have millions of units if you want, because a few seconds thinking time is acceptable. In a real time strategy you might design the system so it only needs updating say twice a second, which might get you half a million units or so.


If you've ever played any of the excellent Total War games you will see the power of grouping. You have thousands of units (even in Shogun Total War which was released back in year 2000) but they are in groups. You can do complicated stuff like pathfinding and AI at the group level while still resolving the battle on a unit by unit basis.

One last crazy idea. Use the GPU instead of the CPU. I confess I don't actually know a great deal about programming GPUs, but I do know they have far more power than CPUs and I have heard they are becoming increasingly flexible. You also have the benefit that these millions of units are on the graphics card and can be rendered without having to be sent over the PCI bus.

Share this post


Link to post
Share on other sites
Quote:
Original post by Thermodynamics
The falling sand game has a max of 40,000 points which seems to get used up very quickly. I would like to represent 10 or 100 times that.

The only reason to calculate individual units is so the player can interact with individual units - indirect interactions can be abstracted by grouping multiple individuals in one icon. Do you think players are going to be fast enough or have enough time to interact with 4,000,000 individual units?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this