News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

How many changes to the code would be required to recreate Industry Giant?

Started by Leartin, December 28, 2017, 06:02:33 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Leartin

Industry Giant was a game from 1997 which is, in some ways, a transportation game. However, besides transportation, the actual focus is on building factories to produce goods to be transported in the first place. That series still exists, with four parts out, one in the making, and inofficial remakes such as "Rise of Industry" using the same concepts.

Even though the focus and gameplay is very different, I think most features required for a game of that type are already in Simutrans, and others, which would be required, might make sense in a "normal" game as well. I think it would be fun to think a bit about which additions we would need to be able to create PakIndustrygiant. :)

(Note: This is not in Extension Requests, as this is not about actually doing it. It just seems something fun to talk and think about)


Obviously, the first feature we would need would be player-owned factories, otherwise you could only ever play as the public hand using editor tools. But that shouild not be a big change.

Those factories would need to be linked via contracts. Contracts can currently only be made by the public player, so perhaps players need their own contract tools which only allows linking between factories they own and public factories, while contracts with other players factories can be suggested, but need to be accepted by the other player and always broken by either player?

In order for money to play a role, you'd somehow need to pay and earn with your factories and goods (not just the trains you set up between stops - actually, those probably shouldn't earn you anything at all, since you deliver your own goods - but that's possible by setting every good to 0)

So every factory needs to have a running cost (perhaps adjusted to potential production) and every good needs to have a buy/sell cost.
I suppose you could earn money for each good leaving a factory and pay for each good entering a factory. While this essentially means you pay yourself, it's probably much easier than taking track of where each good came from and where it goes to determine whether you use it yourself in further production or send it to another player.
End Consumers additionally gain money for each good consumed, probably more than it's worth.


And... I think that would be enough for an Industry Giant Clone based on Simutrans. Have I forgotten something important? Do you have any better Ideas? Let me know :)


Ters

I don't really see where there challenge in this is. How do you risk losing money on this? It seems like you just build some factories and make profits, so maybe I am missing some important aspect. If this is all there is to it, it doesn't sound like much more than giving industries an owner, adapting the industrial construction tools for this and adding a line or two in the finance window. Getting an AI to play against you would be a bigger challenge, if that is a requirement.  I would expect such a game to have a more dynamic and complex economic model than Simutrans, though.

DrSuperGood

If I ever get around to re-remaking the factory code I would add the required features for at least some kind of factory economics. If they end up being used after that is another question.

Each factory would have monthly maintenance. Factories would have "plants" which do all the production work with separate inputs and outputs. Each plant works in a batch which will alter inputs and outputs by a time invariant amount after a production rate based amount of time. Each batch could have a cost associated with it. Inputs keep track of average landed cost of its ware, which is used to automatically determine the sale price of the product. Supply and demand limitations are controlled by the inputs and outputs respectively, with associated plants being fed the data.

Leartin

Quote from: Ters on December 28, 2017, 06:58:20 PM
I don't really see where there challenge in this is. How do you risk losing money?  I would expect such a game to have a more dynamic and complex economic model than Simutrans, though.
I never played that type of game much, so I don't know if there is a real long-term-challange to it. I suppose you could say the same about simutrans, though - how could you possible lose money once what you buildt works? If you have never played any of the games, maybe watch a YouTube video on the side to see what it is about?

As for AI, while that would be fun, I presume the game already provides everything necessary in the scriptable AI. While it would still need to be done by someone, it would not be a game code change :)

DrSuperGood

Money loss would come in the form of factory overhead. For example in pak64 balance terms a factory that is not utilized fully or running uneconomically might cost 200,000 per month. Otherwise like all things Simutrans they become just another source of money.

The main problem with the factory idea is to stop abuse. What would stop someone putting raw materials, factories and shops right next to each other? Doing so would make pure profit generators.

Ters

I agree that "staying alive" is not difficult in Simutrans after getting the first couple of lines going, but it is at least possible to lose money. With any reasonably mature pak set, you must avoid long detours and/or overly expensive vehicles.

Without something that limits demand, you can always sell everything you produce at whatever rate you produce them for the same fixed price. The only possible thing that can challenge the players is having chains that are so expensive to fully construct that just attempting to build them as the first thing you do, would be suicide, either because you can never afford to complete it at all, or because you can't afford enough outlets to make an earlier part of the chain run efficiently enough to make a profit.

Not that I found the industrial aspects of Railroad Tycoon (2 and 3) and Tropico (1, I think, and 4) particularly challenging, despite both having a dynamic economic model. In the latter, ensuring your factories make profits isn't that hard (except for the foreign investors AI, apparently), at least with moderate difficulty settings. The challenge is rather to ensure that the workers don't get disgruntled and turn against you, whether with ballots or with guns. It is probably fair to say that it is more challenging than making profitable lines with pak64, at least in the mid-20th century.

DrSuperGood

I personally think the idea of having the game build the factories would probably end up more balanced. Factories cannot be hand placed (outside of public service player) in optimum ways so transporting to/from whatever forgotten place they appear is still important. Companies can then buy neutral existing factories, or invest in new ones (to prevent monopoly abuse).

Another concept could be factory "upgrades". These can improve the productivity or efficiency of a factory. They might even have separate physical buildings, giving what used to be a small factory the feel of a complex or industrial/commercial park.

Similar to extended, consumer factories would be linked to population to some extent, so those 4 bookshops in the same town compete with each other rather than being separate. Consumer competition is all about price as well as upgrades. Being a monopoly does not help either, if the landed price is too much less will sell.


Leartin

Quote from: DrSuperGood on December 29, 2017, 05:46:48 AM
The main problem with the factory idea is to stop abuse. What would stop someone putting raw materials, factories and shops right next to each other? Doing so would make pure profit generators.
Quote from: Ters on December 29, 2017, 06:59:20 AM
Without something that limits demand, you can always sell everything you produce at whatever rate you produce them for the same fixed price.

In Industry Giant, cities have different demands and the player has to deliver to the city/a wholesale in the city. In Simutrans, that would be end consumers spawned by the public hand, while the player could be limited to production buildings. AFAIR the factory-spawning-code could be used to spawn end consumers only, as long as all the other factories of the chain have a distribution weight of 0. Hence the game would spawn only the "market" buildings, limiting how much the player could sell to the world, as your product won't leave the factory unless it has a destination.

Quote from: DrSuperGood on December 29, 2017, 08:01:09 AM
I personally think the idea of having the game build the factories would probably end up more balanced. Factories cannot be hand placed (outside of public service player) in optimum ways so transporting to/from whatever forgotten place they appear is still important. Companies can then buy neutral existing factories, or invest in new ones (to prevent monopoly abuse).
If the goal is to have "normal" Simutrans expanded with factory ownership, that's probably true. But that's not how the Industry Giant type of game works.

Ters

Quote from: Leartin on December 29, 2017, 08:45:45 AM
In Industry Giant, cities have different demands and the player has to deliver to the city/a wholesale in the city. In Simutrans, that would be end consumers spawned by the public hand, while the player could be limited to production buildings. AFAIR the factory-spawning-code could be used to spawn end consumers only, as long as all the other factories of the chain have a distribution weight of 0. Hence the game would spawn only the "market" buildings, limiting how much the player could sell to the world, as your product won't leave the factory unless it has a destination.
If the goal is to have "normal" Simutrans expanded with factory ownership, that's probably true. But that's not how the Industry Giant type of game works.

This is stuff that requires more work. You either have to make it so that players can't build end consumers, thereby restricting consumption to the number of end consumers spawned by the game, or you have to make the "productivity" of end consumers dependent on the population. The latter would be kind of like the passenger boost, but rather than scaling up a minimum that is always there, it would rather be a percentage of a maximum. And if one wants players to be able to play even if they don't like passengers transport, it would be tied directly to population in the area rather than visiting passengers.

DrSuperGood

QuoteIf the goal is to have "normal" Simutrans expanded with factory ownership, that's probably true. But that's not how the Industry Giant type of game works.
Except Simutrans is a transport simulator and not a factory simulator, hence it should still keep focus on transporting goods rather than optimizing factory configurations. As in real life, optimum factory configurations are always placing them as close by as possible to minimize transport costs.

Leartin

Quote from: Ters on December 29, 2017, 03:20:19 PM
This is stuff that requires more work. You either have to make it so that players can't build end consumers, thereby restricting consumption to the number of end consumers spawned by the game, or you have to make the "productivity" of end consumers dependent on the population.

Errr... in order for this to work, players would need to be able to build factories in the first place. Pretty much every object a player can build requires an icon for the menu - now, it doesn't really matter if this is achieved by actually giving factories an icon and a cursor graphic, or if "WKZ_BUILD_FACTORY" allows to name a specific factory it would build, like other general tools do. Perhaps both. But both would allow you to use the same restrictions - don't add a WKZ_BUILD_FACTORY for a factory you don't want the player to build, or don't add an icon in that factories definition. Sure, it's something additional that needs to be done, but not a show stopper.

Quote from: DrSuperGood on December 29, 2017, 07:02:31 PM
Except Simutrans is a transport simulator and not a factory simulator, hence it should still keep focus on transporting goods rather than optimizing factory configurations. As in real life, optimum factory configurations are always placing them as close by as possible to minimize transport costs.
You are simply in the wrong thread. This thread is about the idea that a type of game exists which is close to simutrans, but has a different gameplay concept - the question asked here is how close it actually is, in terms of how much needs to change in order to be able to create a pakset with a gameplay concept similar to that other type of game. Argueing about whether something should be done and follows the general direction of development is the boring stuff for extension request threads - this isn't one, this is to dream.

And yes - optimal factory configuration would be to place them as close as possible. But with complicated chains where the parts don't have a nice ratio to one another, that's like claiming the best connection between two coordinates is a direct line and acting as if all the challenge of building a nice train network doesn't exist...

Ters

Quote from: Leartin on December 29, 2017, 08:46:26 PM
Errr... in order for this to work, players would need to be able to build factories in the first place. Pretty much every object a player can build requires an icon for the menu - now, it doesn't really matter if this is achieved by actually giving factories an icon and a cursor graphic, or if "WKZ_BUILD_FACTORY" allows to name a specific factory it would build, like other general tools do. Perhaps both. But both would allow you to use the same restrictions - don't add a WKZ_BUILD_FACTORY for a factory you don't want the player to build, or don't add an icon in that factories definition. Sure, it's something additional that needs to be done, but not a show stopper.

I was still thinking the minimal changes route, in which all players simply had access to the existing tool for building factories. And even if there were icons for each factory, it would/should probably function like most tools do today, in that you only specify "icons for factories here", and the game would fill in all the icons automatically. This would in the first option I described, need some kind of filter, so that you are not encouraged to spam the map with consumers so that your factories will always run at peak efficiency.

Quote from: DrSuperGood on December 29, 2017, 07:02:31 PM
in real life, optimum factory configurations are always placing them as close by as possible to minimize transport costs.

That is not how I see it. Transport costs seems to be the least concern when placing factories. Other running costs seem far more important, such as electricity prices and labor costs. The latter only really comes into play in a globalized market, and there may be different opinions on whether Simutrans maps really span multiple countries. Access to abundant, cheap hydroelectric power is why Norway and Iceland are so high up on the list of aluminium producers, despite having no ore themselves, and very little nearby. In fact, the greatest deposits are on the other side of the planet, one of them almost literally. I also seem to remember that cotton was shipped from America to Britain, woven into fabric and then shipped back, but I don't remember why and when. Some regulations, perhaps more common in earlier times than now, could force factories to be located where it would be cheapest.

Leartin

Quote from: Ters on December 30, 2017, 07:59:01 AM
if there were icons for each factory, it would/should probably function like most tools do today, in that you only specify "icons for factories here", and the game would fill in all the icons automatically. This would in the first option I described, need some kind of filter, so that you are not encouraged to spam the map with consumers so that your factories will always run at peak efficiency.

While that is how it is usually done, the code for individual objects finally exists thanks to userfriendly (https://forum.simutrans.com/index.php?topic=13786.0) so that's already sorted out and could be used. But even if not, you can just not add an icon to a consumer or any other factory you don't want to be buildt by players. No icon means nothing to click on, so nothing could be buildt. Or, actually - just remove what I said about end consumer gaining money for everything they consume, since that's just some extra logic to implement. Now the player can only make money by selling products to factories other players/the public controls, an end consumer would only be useful to get rid of overproduction (In Rise of Industry, if a factory produces two items, you would need a sink for the second item, otherwise your storage fills up and it won't produce at all. This is not true for Simutrans, and I don't think any change to emulate that behaviour would add much gameplay in an industry-driven game, and would probably crash normal simutrans unless the factory placement code was aware of that and much more complex)