New capitalism-inspired game: Your thoughts and suggestions?

General discussions and Technical Support for Capitalism II.
woubuc
Level 2 user
Posts: 15
Joined: Mon May 19, 2014 11:04 pm

Re: New capitalism-inspired game: Your thoughts and suggesti

Post by woubuc »

counting wrote:If writing agent-based simulation taught me anything, is that you can't simulate every detail, at some point abstract concept and boundaries need to be set
I wasn't really planning on making it agent-based, since the world would span multiple countries with each a number of cities in them (each the size of a Capitalism II city) and resource regions in between them. A world like that would require some kind of supercomputer to run agent simulations. My idea was to employ a set of detailed statistical models for the citizens, but have these statistics employ a whole range of different characteristics (gender, age, wealth, income, family size, origin, ...) and have these influence each other. This in itself is going to be a very resource-heavy simulation to run, but it will be manageable even with a huge number of citizens.
counting wrote:started from the actions and action scripts for players, sort of working from bottom up in "city simulation" perspective, and let the macro-level interaction "emerge" out of the micro-level procedures.
Working from the bottom up is a good way to give each part of the game great depth, but 'letting it emerge' so to speak can make the game as a whole come loose. Especially for a graphs- and numbers-heavy game like this I think it would be better to try to create and optimise a 'framework' game interface where each part would fit in, and then work out the details on each part. I really want to avoid making the game feel cluttered.
counting wrote:I sense you really want to simulate at worker/labor level actions, but for player's "main focus" is reside at city-management level, it's a huge gap you need to cover
Not exactly. I do want to expand the simulation to provide a more detailed worker level and more varied demographic in cities (because in a city not everyone has the same needs, so there should be more than one 'needs fulfilled' graph in a residential building), but the main focus both for the player and for the simulation should be on the business management level.

To give an example of that last part, something that's always bothered me in Capitalism II is that you have a product, and you've got one 'demand' bar graph that symbolises the demand for that product. But there is never just 'x amount demand' that goes up or down depending on price/quality/brand (product rating). Wether you build a jewelry store on the outskirts of town or in the center, the only difference is the amount of traffic you receive depending on the residential buildings around the shop. This isn't really realistic. Expensive jewelry will be in very low demand e.g. in the ghetto where in lots of people live but they don't have much money. But, it will be in much higher demand in the center of town, even if the population density there is much lower because most of the room is taken up by shops, offices, large villas and penthouses, ...

I hope the above illustrates what I want to achieve with the more detailed and layered simulation I'm suggesting. Doing something like this agent-based would be extremely resource-heavy, whereas making the simulation statistical but layered and with a lot more parameters will hopefully prove achievable. As soon as I find a developer to create these server simulation algorithms (I myself know a lot about programming in general, but lack the specific knowledge and experience to pull something like this off) I will discuss the possibilities in detail and I'll have a much more realistic view on what's doable and what isn't.
counting
Level 8 user
Posts: 843
Joined: Wed Jan 29, 2014 12:44 am
Been thanked: 1 time

Re: New capitalism-inspired game: Your thoughts and suggesti

Post by counting »

An agent is not equal to individual, that's why we use the term "agent". It's a programming entity to handle a specific task as a unit, it can represent a person, a car, a house, a building, an enterprise, even a city, a planet. The core concept of agent-base is emerging property from interactive agents of similar "level" onto another. A statistical model is to view every "unit" as data points, and use functions to calculate return values and sent to players. Agent-based is to contain data within its own function and sent to other agent, and players are "intercept" their transmission in order to interact or observe them.

(What we did in MUD as NPC agents, but players are actually interact below this level with low level actions. And for resource management purpose, we did "group up" NPC and copy their profile with randomizer to create the illusions of millions citizens in the world, where in fact there are just thousands of scripts "active" at any given time. I imagine you won't follow our model, but the other way around where players interact with agents at higher level)

From what you describe it's still an agent-based simulation, just at a different level, where agents are "group of similar behavior demographic", and each one of them is a self contained "statistical model".
-------------------------------------------------------------------
Twitch channel : twitch.tv/ancientbuilder
Youtube channel : www.youtube.com/user/countingtls
-------------------------------------------------------------------
woubuc
Level 2 user
Posts: 15
Joined: Mon May 19, 2014 11:04 pm

Re: New capitalism-inspired game: Your thoughts and suggesti

Post by woubuc »

counting wrote:From what you describe it's still an agent-based simulation, just at a different level, where agents are "group of similar behavior demographic", and each one of them is a self contained "statistical model".
From what you describe, yes it will probably be something like this. But I'll have to discuss the exact technical details and how the simulator is built with the developer once I find one who wants to join in on this project. Because I'm looking for someone who is experienced in that particular field, so that we can build a decent game that is optimised and that works.

But again, I'm first going to complete all the features of the game and try to find a way to make them work together in theory, so that I have something concrete to present for the crowdfunding campaign.
counting
Level 8 user
Posts: 843
Joined: Wed Jan 29, 2014 12:44 am
Been thanked: 1 time

Re: New capitalism-inspired game: Your thoughts and suggesti

Post by counting »

Regardless the technical term, your idea of a slightly detailed demand demographic is interesting. But your vision of location-based unit indicate you want some function to generate a map-like demand graph base on demographic data, which in programming is very similar to a grid-based agent system, where each "agent" is "families living in a grid" (The real difference is probably the way the demand function is called, how variables are referenced and the data structure, resource-and-execution-time-wise they are probably similar. For parallel programming, fine-grain is easier to adapt and program)

BWT, OOP doesn't help much to speedup, usually data-driven approach simulate "agents" better. You don't active every unit every iteration, but using an active matrix to flag which agent is now active, sort of borrowing dynamic programming concept to do the dirty work.
-------------------------------------------------------------------
Twitch channel : twitch.tv/ancientbuilder
Youtube channel : www.youtube.com/user/countingtls
-------------------------------------------------------------------
counting
Level 8 user
Posts: 843
Joined: Wed Jan 29, 2014 12:44 am
Been thanked: 1 time

Re: New capitalism-inspired game: Your thoughts and suggesti

Post by counting »

woubuc wrote: But again, I'm first going to complete all the features of the game and try to find a way to make them work together in theory, so that I have something concrete to present for the crowdfunding campaign.
I can visualize a way to present your idea. Imagine there are several maps for different demographic distribution using different colors of light and dark. You superimpose them on top of each other, then you get an aggregate demand map. And each demographic distribution is dynamically updated when citizen traveling, or due to players' action, like stones throwing into a pond, and different demographic maps react with the "ripple" differently.

There can be many "layers" of different pixel like map, like traffic one, or pollution one, etc. These will be the base of grid-like simulation, where each layer update when something were changed, even referencing each other's previous state to create a complex feedback system.
-------------------------------------------------------------------
Twitch channel : twitch.tv/ancientbuilder
Youtube channel : www.youtube.com/user/countingtls
-------------------------------------------------------------------
woubuc
Level 2 user
Posts: 15
Joined: Mon May 19, 2014 11:04 pm

Re: New capitalism-inspired game: Your thoughts and suggesti

Post by woubuc »

counting wrote:Regardless the technical term, your idea of a slightly detailed demand demographic is interesting. But your vision of location-based unit indicate you want some function to generate a map-like demand graph base on demographic data
Exactly. Basically I want some kinds of businesses to only be viable (in that there is a demand for it) in certain areas.
counting wrote:each "agent" is "families living in a grid"
Something like that, however that "grid" is in turn determined by the number of similar families (similar class, wage, origin, etc...) living close to each other. I kind of want to create a system where, like in real cities, people in similar situations 'flock together'. It's rare to see a mansion of a wealthy family right next to a tenement where a bunch of poor people live. Similarly, often people from a different origin will move in close to one another and then you'll end up with e.g. a "chinatown" in the city where people will have different needs and wants than the other citizens in the city.
counting wrote:Imagine there are several maps for different demographic distribution. You superimpose them on top of each other, then you get an aggregate demand map
Sounds like the way to go. I do want to work a lot with data overlays on the map itself (instead of in different windows) to create a dynamic overview of many different sets of data, in a way that the overlay can be turned on and off. Similar to for instance SimCity, where you have a series of data graphs that are represented in the city view itself.
counting
Level 8 user
Posts: 843
Joined: Wed Jan 29, 2014 12:44 am
Been thanked: 1 time

Re: New capitalism-inspired game: Your thoughts and suggesti

Post by counting »

Regarding the grid-like system, there is a fundamental difference using generated map as a whole and individual grid-agent with their data structure.

In a pure city-wide (or even world-wide) statistical flat map, when you "zoom in" to grid, since the "matrix" is stored in tight structure, the program has to reference a wide range of memory space far apart to read the info, but with grid-like agents, data are "grain" like local value contain in grid, so its easy to process locally, but when "zoom-out" to whole city-view, it will have to call all the "grids" to integrate data into a whole layer.

Generally speaking, matrix like flat structure fit for local processing and bad for parallel, and it will be quick to dump it into buffer to be drawn. However, it will suffer every time a specific grid's data need to be calculated if these data are spread across multiple servers (which might not be a problem for slow pace game)

On the other hand, a grid-like fine-grain structure will perform well, if you wish players to do a lot of fast pace micro actions, constantly changing and influence the demographic data, they can access it locally quickly and easy to implement with mass parallel, even using GPU to speed up, but it will be slower to show "statistical data" and layers since these information are spread into tiny cells, and probably need a cache mechanism and regularly update them in the background thread.

Depend on your preference of UI and how many players would interact and how often, might determine which approach is preferable. Although a hybrid type data structure is usually the case in most game. (That's why we have city boundaries or zoom-in lag in a lot of simulation game, since they only partially loading the data in memory with blocks, and reducing the cache miss as much as possible)
-------------------------------------------------------------------
Twitch channel : twitch.tv/ancientbuilder
Youtube channel : www.youtube.com/user/countingtls
-------------------------------------------------------------------
woubuc
Level 2 user
Posts: 15
Joined: Mon May 19, 2014 11:04 pm

Re: New capitalism-inspired game: Your thoughts and suggesti

Post by woubuc »

The thing is, I really want cities to be able to grow dynamically within the world map, so I don't want to constrain them within a specific "grid". It should technically be possible for all cities to 'grow' together into one giant megacity, and within that for smaller communities to be formed. So I do think the only way to really realise this in an open and dynamic way, is to approach the entire world as one large grid.
counting
Level 8 user
Posts: 843
Joined: Wed Jan 29, 2014 12:44 am
Been thanked: 1 time

Re: New capitalism-inspired game: Your thoughts and suggesti

Post by counting »

There is a project called Boomtown, is trying to do a similar thing. Try to let city boundary "fuzzy" and dynamic. Their idea is quite simple each grid tile can have city belong degree number flag, and it doesn't have to be just one. Any building can "irradiate" this "building degree" and they can be aggregated together to form a fuzzy blob of city shape belong to some player. There is a cap as to the maximum development density can reach within 1 grid, if two blob of towns grow toward each other, the grids will register two belong degrees of both. When there are enough tiles between them all reaching density to form continuous link, the two towns can merge into 1 city.

I do wonder the city simulation aspect and business simulation aspect, they are actually quite difficult to bridge together, what's your vision to accomplish that? I imagine your idea isn't the typical city builder where "cities" are belong to certain players, and players have to plan their layout? But rather only buildings are belong to player corporations, and cities themselves are "procedure generated" and dynamically evolved overtime?
-------------------------------------------------------------------
Twitch channel : twitch.tv/ancientbuilder
Youtube channel : www.youtube.com/user/countingtls
-------------------------------------------------------------------
woubuc
Level 2 user
Posts: 15
Joined: Mon May 19, 2014 11:04 pm

Re: New capitalism-inspired game: Your thoughts and suggesti

Post by woubuc »

That concept sounds quite interesting. However, I can't find much information about it. Do you happen to have a link?
counting wrote:rather only buildings are belong to player corporations, and cities themselves are "procedure generated" and dynamically evolved overtime?
Precisely. For the cities, they should grow dynamically in a way, even if players don't place buildings. If there are lots of unfilled jobs or if an area has a really good land value, I want buildings to be constructed 'by the citizens' instead of by the corporations. But of course the high-rise buildings are to be built by corporations because no single person/family would do that :)

The reverse should also be possible. For instance, if players build too many residential buildings or there aren't enough jobs in the area, people will leave and the city can partly die out. But another city might profit from a stream of new citizens.
Locked