Passenger Transport
Passenger Transport
For those who are interested in the passenger transporting system of P1SIM, I recommend reading the latest post on P1SIM.org about Passenger Transport Aspects.
As always I hope for constructive critism.
As always I hope for constructive critism.
www.p1sim.org - P1SIM - Traffic, Logistics, City-Building & more
Join the discussions here on tt-forums.net!
Join the discussions here on tt-forums.net!
Re: Passenger Transport
Will there be only weekdays when people go to work and somebody have always holiday or will there be also weekends when passenger movements and movement times are different?
Re: Passenger Transport
This is perfect! It is more complex than OpenTTD and also realistic. I like the idea of individuals and what their need is; like Roller Coaster Tycoon. Will they choose what mode of transport to take?
Re: Passenger Transport
There won't be any differences beetween weekdays and weekend. Every day will be the same. A new destination is calculated every day.Katve wrote:Will there be only weekdays when people go to work and somebody have always holiday or will there be also weekends when passenger movements and movement times are different?
Passengers will go for the most suitable route. Comfort-orientated customers will choose more expensive, faster routes. Price-orientated customers will choose cheaper, slower routes.thphwh wrote:Will they choose what mode of transport to take?
www.p1sim.org - P1SIM - Traffic, Logistics, City-Building & more
Join the discussions here on tt-forums.net!
Join the discussions here on tt-forums.net!
Re: Passenger Transport
Excellent! This system combines my two favorite games; (O)TTD and RCT. I like this system very much and cannot fault it.smallfly wrote: Passengers will go for the most suitable route. Comfort-orientated customers will choose more expensive, faster routes. Price-orientated customers will choose cheaper, slower routes.
OT: I like the graphics a lot, it reminds me of Simutrans Comic Pak. How are you making them?
Re: Passenger Transport
Seeing the last picture/scheme, isn't the number of "citizen id" would be soo limitating ? (unless its not as detailed as that, im agree)
YNM = yoursNotMine - Don't get it ?
「ヨーッスノットマイン」もと申します。
「ヨーッスノットマイン」もと申します。
Re: Passenger Transport
Sorry i dont get the question. Could you please rephrase it?Yoursnotmine wrote:Seeing the last picture/scheme, isn't the number of "citizen id" would be soo limitating ? (unless its not as detailed as that, im agree)
The citizen id is a running number from 1 to x (total number of citizens on the map). The id is used as a seed for an internal random number Generator. Providing the Same seed leads to a citizen with identical characteristics. Thus citizen 747397 is always an Office worker and acts like a price orientated customer.
www.p1sim.org - P1SIM - Traffic, Logistics, City-Building & more
Join the discussions here on tt-forums.net!
Join the discussions here on tt-forums.net!
-
- Chairman
- Posts: 845
- Joined: 26 Nov 2005 16:21
- Location: Dresden (formerly Ruhr Area)
- Contact:
Re: Passenger Transport
How many citizens are there possible might have been the question he was asking?
Re: Passenger Transport
Ah, for sure I was asking that - I'm aware that this is depend on the computer specs. But, just give a ratio : How much your current computer can handle it ? (specs too, as its really effecting)LocoMH wrote:How many citizens are there possible might have been the question he was asking?
YNM = yoursNotMine - Don't get it ?
「ヨーッスノットマイン」もと申します。
「ヨーッスノットマイン」もと申します。
Re: Passenger Transport
I have to calculate the maximum amount (on modern personal computers) as soon as I know which data has to be saved for each citizen.Yoursnotmine wrote:Ah, for sure I was asking that - I'm aware that this is depend on the computer specs. But, just give a ratio : How much your current computer can handle it ? (specs too, as its really effecting)LocoMH wrote:How many citizens are there possible might have been the question he was asking?
Currently I think each citizen has a
- numeric citizen identifier (32 bit integer) [much data is calculated in real time based on the identifier used a seed for a random generator]
- numeric flat identfier (32 bit integer) [where does the citizen live]
- numeric work identifier (32 bit integer) [where does the citizen work]
- numeric car identfier (32 bit integer) [which car belongs to this citizen]
But this list could be extended. Its just not sure yet. But I think there will be "enough" citizens. Don't worry
www.p1sim.org - P1SIM - Traffic, Logistics, City-Building & more
Join the discussions here on tt-forums.net!
Join the discussions here on tt-forums.net!
Re: Passenger Transport
I am a bit puzzled of what you're doing here.
Wouldn't object identity be a much more useful notion to identify a citizen rather than some number (that is, use (the address of) the Citizen object itself to identify a citizen)?
That also removes the 32bit limit without any further effort. It is also faster, as you eliminate the need to map numbers back to objects.
Obviously, in the same way you can use Work, Flat, and Car objects instead too.
I have a bit of trouble seeing a work identifier and a flat identifier as being unrelated to each other however
(The notion that every citizen has a car made me smile, apparently, nobody needs a public transport system )
As for using citizen identification as seed for its properties:
Obviously, there is no need to store the properties in such a case, as it is duplicate information (that is, given a seed, I can compute the properties at any time).
Also, the normal approach with seeds is to initialize a random number generator one time (upon game start) with a seed, and then use that one generator for generating all values for all citizens (and all other things you want to have randomized).
Random number generators are carefully designed not to have correlation in the sequence of numbers that they generate.
By using a separate generator for each citizen, you may introduce such correlations, that is, reduce the quality of the drawn numbers.
Wouldn't object identity be a much more useful notion to identify a citizen rather than some number (that is, use (the address of) the Citizen object itself to identify a citizen)?
That also removes the 32bit limit without any further effort. It is also faster, as you eliminate the need to map numbers back to objects.
Obviously, in the same way you can use Work, Flat, and Car objects instead too.
I have a bit of trouble seeing a work identifier and a flat identifier as being unrelated to each other however
(The notion that every citizen has a car made me smile, apparently, nobody needs a public transport system )
As for using citizen identification as seed for its properties:
Obviously, there is no need to store the properties in such a case, as it is duplicate information (that is, given a seed, I can compute the properties at any time).
Also, the normal approach with seeds is to initialize a random number generator one time (upon game start) with a seed, and then use that one generator for generating all values for all citizens (and all other things you want to have randomized).
Random number generators are carefully designed not to have correlation in the sequence of numbers that they generate.
By using a separate generator for each citizen, you may introduce such correlations, that is, reduce the quality of the drawn numbers.
Re: Passenger Transport
Of course you are right. Only object pointers are saved. Thus the term "integer" is wrong. Sorry for that. [But object references (pointers) also have a size of 32 bit (or 64 bit on 64 bit systems).]Alberth wrote:Wouldn't object identity be a much more useful notion to identify a citizen rather than some number
Why should there be a relation between the citizen's flat and the citizen's factory/office?Alberth wrote:I have a bit of trouble seeing a work identifier and a flat identifier as being unrelated to each other however
Every citizen CAN save a car pointer. That doesn't mean that every citizen really has a car. To get accurate: Pupils and students wont own cars in P1SIM. All others do. But having a car doesn't mean always using car. Check out real life. If someone has a car, that does not mean, that s/he does not use public transport.Alberth wrote:The notion that every citizen has a car made me smile
In general you are right. But in some cases it could be clever to store the calculated values.Alberth wrote:Obviously, there is no need to store the properties in such a case, as it is duplicate information (that is, given a seed, I can compute the properties at any time).
I coded a random generator on my own. It always outputs the same number y when inputting the same number x. That way I can easily ask my "random generator": "Which shirt color does the citizen 45923 have?" And the generator will always output "green". [It will output an integer value which I translate to the color value]Alberth wrote:Also, the normal approach with seeds is to initialize a random number generator one time (upon game start) with a seed, and then use that one generator for generating all values for all citizens (and all other things you want to have randomized).
That way I dont have to store the characteristics of a special citizen: Shirt color, car color, being price or comfort-orientated traveller, profession, gender, age etc. can be calculated in real time.
www.p1sim.org - P1SIM - Traffic, Logistics, City-Building & more
Join the discussions here on tt-forums.net!
Join the discussions here on tt-forums.net!
Re: Passenger Transport
Thanks for your clarifications.
Re: Passenger Transport
All the computer based random number generators which I came across seem to work this way - you seed them with a value, or data set, and for the same seed a generator will always create the same sequence of numbers. I've been making use of this in some projects, about the same way you will use yours. But I didn't have to make my own for that.smallfly wrote:I coded a random generator on my own. It always outputs the same number y when inputting the same number x. That way I can easily ask my "random generator": "Which shirt color does the citizen 45923 have?" And the generator will always output "green". [It will output an integer value which I translate to the color value]
Why did you make your own, and what's the special feature that the other crng's don't have? I'm asking because a 'good' crng is really had to design.
Working on a Simutrans fork with a nicer UI: http://sourceforge.net/projects/ironsimu/
Re: Passenger Transport
OFFTOPIC:
but this is a very technical detail of P1SIM, which i dont want to discuss here in the passenger transport section. if you would like to go on with this special discussion, please open a new thread for it or ask me via private message. thx
/OFFTOPIC
The random generator I am using is based on two seeds. It needed it for map generation. The map coordinates x/y 571/120 look completely different to 120/571. I didnt want any symmetrical terrain. If I would use a standard "mono-dimensional" random generator, the height value would be the same for x/y and y/x.Varkaleas wrote:Why did you make your own, and what's the special feature that the other crng's don't have? I'm asking because a 'good' crng is really had to design.
but this is a very technical detail of P1SIM, which i dont want to discuss here in the passenger transport section. if you would like to go on with this special discussion, please open a new thread for it or ask me via private message. thx
/OFFTOPIC
www.p1sim.org - P1SIM - Traffic, Logistics, City-Building & more
Join the discussions here on tt-forums.net!
Join the discussions here on tt-forums.net!
Re: Passenger Transport
I'm a bit sceptical about passenger transport for several reasons (mainly for performance reasons).
I think you should keep it very simple, but in a way that it can add some complexity to the game.
I was playing Virtual City 2 Paradise Resort recently, not really a bad game (I usually prefer sandboxgameplay), but the passenger system is too simple and hard to understand, because for example, different passengers like office workers or tourists can't be identified by the player. There are no workers for industries in this game.
Although it could be fun to see some people walking around in a town, it may be better for performance if they would only show up at stations.
The game Virtual City 2 has industries and production chains which remind me industry giant2, but the concept of IG2 was better. One problem of IG2 were the ridiculous high profits, missing option to expand by credit and static demand. Virtual City 2 is only a disguised transport game (you can only make money by transporting people and rawmaterials/goods).
Theoretically it would be possible to reduce an economy to a simple formula for a game: One company's wages (costs) are other companies' revenues.
You could do a simple mod for locomotion: Buildings produce workers that go to industries, industries produce tired workers which go to shopping centers to buy goods and food and then return home, but the way tired workers buy goods (=more realistic demand) would need some extra programming work.
I think you should keep it very simple, but in a way that it can add some complexity to the game.
I was playing Virtual City 2 Paradise Resort recently, not really a bad game (I usually prefer sandboxgameplay), but the passenger system is too simple and hard to understand, because for example, different passengers like office workers or tourists can't be identified by the player. There are no workers for industries in this game.
Although it could be fun to see some people walking around in a town, it may be better for performance if they would only show up at stations.
The game Virtual City 2 has industries and production chains which remind me industry giant2, but the concept of IG2 was better. One problem of IG2 were the ridiculous high profits, missing option to expand by credit and static demand. Virtual City 2 is only a disguised transport game (you can only make money by transporting people and rawmaterials/goods).
Theoretically it would be possible to reduce an economy to a simple formula for a game: One company's wages (costs) are other companies' revenues.
You could do a simple mod for locomotion: Buildings produce workers that go to industries, industries produce tired workers which go to shopping centers to buy goods and food and then return home, but the way tired workers buy goods (=more realistic demand) would need some extra programming work.
Re: Passenger Transport
Yes, Rollercoaster tycoon already had a quite good economic model. Peeps have a certain amount of money they can spent and a few preferences how they spent it, they are getting hungry from time to time but there's a limit how much they can eat . But trucks and trains have large capacities in reality and in order to meet the demand of people on this small scale you would have to scale down the transporting capacities of vehicles drastically?thphwh wrote:This is perfect! It is more complex than OpenTTD and also realistic. I like the idea of individuals and what their need is; like Roller Coaster Tycoon.
Re: Passenger Transport
Please stick to the topic: It's "Passenger Transport". Or post your ideas/questions to the correct thread, i.e. P1SIM - Economic System.
www.p1sim.org - P1SIM - Traffic, Logistics, City-Building & more
Join the discussions here on tt-forums.net!
Join the discussions here on tt-forums.net!
Re: Passenger Transport
I just wanted to point out that you need to connect public transport and economy in some way.smallfly wrote:Please stick to the topic: It's "Passenger Transport". Or post your ideas/questions to the correct thread, i.e. P1SIM - Economic System.
If you look at rollercoaster tycoon2, you realize that the pathfinding of people is quite poor (but good enough for this kind of game) and the game is written in assembler code, which seem to be more efficient than the programmcode programmers want to use today, but the game is still limited to a few thousand peeps.
For this reason it may be better to transfer people just from one station to another. Ideally they could "get sorted" at stations automatically with the capability to change the vehicle.
Re: Passenger Transport
I will join this discussion aspect when I have reached the programming routines of citizen generation/movement.robo wrote:For this reason it may be better to transfer people just from one station to another. Ideally they could "get sorted" at stations automatically with the capability to change the vehicle.
www.p1sim.org - P1SIM - Traffic, Logistics, City-Building & more
Join the discussions here on tt-forums.net!
Join the discussions here on tt-forums.net!
Who is online
Users browsing this forum: No registered users and 1 guest