posted
synVille is a simulation game for up to 4 players (but can also be played solo, with or without bots, I think)
The fundamental inspiration is the game "Hammurabi" where you make periodic decisions which influence the growth of your 'town.' Lots of other games have derived from this model, so expect to see a lot of familar ideas.
The world is a grid, divided into four regions, separated by two crossing roadways. Each region is controlled by one of the four players. Extra people on the server are spectators, but a player may "hand their region to another player" (or clear it and allow it to be restarted by another player).
As a solo game, you develop your region in such a way as to maximize its population, without it falling into chaos. Game continues either forever, or for a fixed period of time. (moderator choice).
As a multiplayer game, your score is your population and you are trying to beat the score of the (up to) 3 other players, who are each developing a region of their own.
To some degree, the people who move into your region are leaving an opponent's region (not exactly true as there is also an infinite supply of 'foreigners' to come from outside).
If the moderator has allowed it, you might also be allowed certain 'violent' actions (such as blast cannons to lob destruction upon your neighbors, invading armies, etc.)
You start with a certain amount of money to invest. You invest in farms, buildings, and infrastructure. You charge taxes to earn more money.
Much of the game consists of simply watching your invisible people develop their land.
------------------------------ WHAT IS THE POINT OF THE GAME?
If you have to ask... Seriously, this style of game doesn't appeal to everyone. It's more slow-paced than a melee game.
But basically, your goal is population, and the challenge is positive cash flow. You'll need money to keep developing, and you earn money by taxing your current population. You need a positive cash flow before you run out of your starting capital.
Then, when you add the multiplayer element, the additional challenge is that you are all competing for a limited number of virtual people to inhabit your towns.
Exactly what the limits are remain to be seen. Let's pretend for now that there are only a million people to go around. The game doesn't have to have an ending, but if you really want one, I propose a time limit (set by moderator) after which the highest population wins.
And, of course, the blast cannons to rain destruction upon your competitors :-) (moderator option).
But really, if you're into this sort of game, the appeal mainly comes from micro-managing your city. And the multiplayer aspects are generally a distraction to that. So... can a multiplayer version of this sort of thing be successful with the same community which enjoys this sort of thing in the first place? perhaps! we'll see!
Would people prefer a cooperative mode? Perhaps!
Should I allow save/restore of cities? Almost definitely.
But should I allow a restored city to compete in a multiplayer game?
Perhaps.. but only in a "Robot Wars" fashion...
For example, imagine this:
1.) All players load their most powerful cities 2.) Moderator pushes GO and the simulation begins.
BUT, at GO moment, each city is reset to 0 population (all the buildings are there, but vacant)
Can you design a city which is attractive enough that it manages to gain a winning population before it crumbles into dust?
Hmmmm... it's a good thing I typed that just now. It answers a nagging data structure quest I had.
[This message has been edited by samsyn (edited 12-11-2001).]
The first thing you may notice is 'the grid.' Your region is divided into 64x64 grid squares, and these represent the smallest unit of construction available.
Just to be different, I think I will make the mode of transportation be "the canal" instead of a road.
All your properties must be within a certain distance of a canal to develop properly. Canals provide transportation, water, irrigation, etc.
Each grid-square can be zoned for a certain type of construction:
FOOD. Here your people will grow crops and otherwise develop the means to feed themselves.
HOMES. Here your people will build hovels in which to huddle throughout the cold evenings.
CRAFT. Here your people make and build things. (In return for income, which you then get to tax).
TRADE. Here your people trade goods and services. (i.e. shopping malls)
-------- In addition, you can also make specific buildings and structures:
CANAL. You'll need a lot of these
GUARDS. You'll need guardhouses distributed around to keep the people in line.
FUN PLACES. That people like to hang at
[This message has been edited by samsyn (edited 12-04-2001).]
posted
can't have a toy without a splash screen, right?
---
I'm thinking a bit more about the simulation engine right now.. trying to make it drive the graphics as opposed to the other way around.
It looks like it will be easiest to implement it as each 'region' being a separate data structure (well, to have an array of them, of course) and hence I don't *have* to limit it to four players just because it is graphically convenient to display 4 such regions.
Also, I think each region may be 128x128 grids now.. but I reserve the right to go back and forth on that for awhile.
posted
OK, not all that impressive of a screen shot, but I drag-selected this rectangle!
Note the cool oblique view.
I have 3 levels of zoom. I'm doing the wacky view-to-reality math first.
Here's your programming challenge for the day:
1.) Convert the (x,y) coord of a screen click (include current view center and zoom level) into a row/col value for the effective grid clicked into
2.) Do the reverse. Given a row/col, determine the (x,y) of the top point of the grid's on-screen "diamond" Again, assume that there is a view center (defined as the row/col of the grid cell which should be on center of screen) and a zoom level (3 levels, factor of 2 at each level)
And, of course, make it keep working when you resize the window.
posted
I am a little afraid I am painting myself into a corner here... it's possible that this game will use a lot more bandwidth than I was hoping for.
On the one hand, however, so long as you accept that what you see for the other player's cities is only a VERY LOOSE APPROXIMATION of what they see... then it should be OK... But that will be a bit problematic when "handing a city" to another player.
Oddly enough, thinking about this gave me a wacky idea for a image/compression video/codec concept... which I will blabber about here with the hopes it is ignored, rather than contaminating the purity of the synVille topic...
Imagine I have a black and white photo to send you (maybe one frame of a video sequence) (for color, I do this three times, for the R G and B 'filters')
Now imagine that instead of sending you any real data at all, I just repeated do THIS:
1.) Compute a random rectangle within the bounds of the image. (possibly emphasizing larger rectangles at first)
2.) Compute the average brightness of the image over that rectangle.
3.) Send you the coords of the rectangle and the intensity, which you write down.
You remember every such rectangle I sent you, and you do something like this:
Compute the intensity of your own copy of the image for that rectangle (you start off all gray or something) and then "proportionally" brighten or dim your image so that it has the same intensity over that rectangle.
In the static case, I guess you would keep track of which pixels were included in which rectangles and make better use of the previous information, rather than just upping/downing the intensity of the entire received rectangle.
In any case, the receiver's goal is to make sure that ALL rectangle brightnesses received so far remain 'true' in their own image.
Now, rather than random rectangles (which I admit appeals to me), it would probably turn out to be smarter to binary divide the image, or analyse it for 'centers of interest'
I have a feeling that if I bothered to read more about the JPEG spec, I might find that this is not a very original idea.
But aside from the prosaic job of a low-bandwidth duplication of imagery at a remote point (i.e. videophone), the technology interests me for game value where having a sort of "shadowy misty construct" instead of a crystal clear picture, has interest within the game. (Also makes it less likely to simply turn into a porn service!)
posted
well.. this isn't really a 3D game. you can rotate in the sense of viewing from 4 different directions, but not from any arbitrary angle.
This allows me to keep the art assets nice and simple (i.e. 2D) and paint a whole bunch of them on the screen.
Speaking of that, painting a whole bunch of buildings on the screen IS going to get a bit laggy. I try to do it as intelligently as I can, but it is still going to chew a lot of CPU when the building count is high.
posted
/a eagerly anticipates the first release of Synville. I guess perfection takes time. I cant wait to see it, tho
Posts: 359 | From: Midland, Texas, USA | Registered: Jul 2001
| IP: Logged
posted
This looks good, reminds me of that game SimCity 2000, they linked it with Sim Copter so you could fly in the city, not to put any pressure on you samsyn. :-)
Posts: 3361 | From: Midland, TX, USA | Registered: Nov 2001
| IP: Logged
posted
I have Sim City 2000 SE! It don't have Sim Copter though . With SE you can make your own tile patterns, in essence the same thin Dan's letting us do!
Posts: 711 | From: Chanhassen, Minnesota | Registered: Oct 2001
| IP: Logged
posted
Dan I think this looks really, really cool but whats the point of playing it is it to make more money than your opponent? Oh and I also dont have the time to read the whole thing got homework to do.
Posts: 42 | From: Monroe, NJ, USA | Registered: Dec 2001
| IP: Logged
posted
Yes, that was a particularly unreal version...
----
HOWEVER, I have reached the spot in the development where I can't keep the existence of the toy hidden further...
So.. here are the 'release notes' for synVille .0001
============= .0001 Release Notes 12/12/2001
* THIS IS NOT A GAME. YOU WON'T HAVE FUN YET.
When you first run the toy, you will see something very similar to the synSpace ENLIST button, only it says "NEW TOWN"
Push that to start a town of your own. If you want to name the town, set the name and architecture style on the OPTIONS dialog, BEFORE you push the NEW TOWN button.
If you were successful, a Grid will appear. Otherwise, it won't.
At this point, you just have a green screen with a black grid on it. Woo hoo!
in the upper right is the town number (1-8), name, and mayor.
Use the F1/F2 keys to 'step through' the available towns. Up to 8 people, in theory, can start a town on the same server.
The player list should shown their town info, if they have one.
The population will STAY AT ZERO (this is not a game yet).
If you are looking at your own town, you will see the TOOL PALETTE in the lower left. For now, this is just a weird IGNORE THIS button. I.e. no tool palette yet.
So, if you try to drag-select some city blocks (each grid square is one city block), nothing much will happen.
But do not despair! The FKeys come to your aid in the absence of the real tool palette.
F5 - select FARM to be zoned F5 - Select HOMES to be zoned F6 - Select CRAFT to be zoned F7 - Select TRADE to be zoned
Whatever your current zone selection is, is what blocks will be set to when you drag select. *remember* you can only edit your own town.
As soon as you zone some land, you will see some random growth begin. It's just random for now and has nothing to do with your cleverness.
But it should be fairly well synched with the other players. Newcomers only see things after they have changed.
Also, the synch will get worse after the town has been around for awhile, since I am letting development "wrap" from max back to zero and that won't get reflected properly for the spectator. THIS IS NOT A GAME YET.
F12 - Destroy Zones. Select this, and then drag select to un-zone land.
F11 - Select CANAL. Drag-select adds 'water'
Again, this is just to explain what you CAN do right now... not that you ultimately would WANT to do this.
LEFT click to rezone one block, or to start the drag-selection of a bunch of blocks.
This version only uses the 1x1 art. However, if you have more than one 1x1 art file, it should pick between them randomly.
========
Um, in case it wasn't obvious, the idea is to have a tool palette with buttons for all these choices. The FKeys are just easier to implement and increase the probability that when I do the graphical control, it will be 'right'
[This message has been edited by samsyn (edited 12-12-2001).]
posted
yeah... that's a ... bug.. right... (/a wishes he could keep the toys invisible just a bit longer )
It seems to have managed to run all night without crashing or swallowing all my resources. And I see your town "Hi, Mom" all right.
I'm going to have problems with disconnected people losing their cities, though. Especially in the case of either a double-mod, or a mod leaving without designating a replacement first. This will be particularly irritating for this style of game where you have quite a bit of time invested in your city. Minimizing the hassle without creating an easy way to cheat will be an interesting challenge.
And my family *loves* "The White House" so what 'chu talkin' 'bout, leniad?
posted
I dunno, with the 'evolving' houses it looks kinda like SimEarth to me. Maybe a cross between SimEarth and SimCity... But cool for the current 'completeness'. Posts: 544 | From: Maryland | Registered: Jun 2000
| IP: Logged
* First version with 'real' growth (not just random). But the growth algorithms are still very primitive.
* Includes the "Command Silo" (or perhaps it is the "Command Kiosk"...) It appears only when you are viewing your own city.
* Various cursor and helpful info ribbons
* Displays your population and remaining funds. Everyone starts with $250K (too much, and should be moderator selection, I know)
* Zoning costs money (and no taxes yet, so when you run out of cash, you're done!)
* Your city population, though displayed on your own screen, is not yet passed to the other players. Only the housing population counts towards the city population. Eventually the pops of the other blocks represent 'workers' (who must also have a home somewhere). Right now that is not true, and you could easily have more workers than homed-people. (ok, as a metaphor, but not the ultimate intent of the game).
I am pushing this the INSTANT I made it, so I apologize if there are any instant crash scenarios...
If the moderator exits, and the moderator is taken back over, it causes all towns to 're-join' or whatever. The town STAYS but the money resets to the original amount of 100k.
Posts: 948 | From: Woodland Hills, CA. USA | Registered: Dec 2000
| IP: Logged
* first order tax income (eventually this will be moderator-selectable)
* you can build on the edges
* the click inside the diamond shapes should now be perfect (it was selecting tiles just to the side occasionally)
* new growth algorithm (harder to grow, in general). Still not good enough however.
---------
And, I think I have come up with 'the plan' for an element which has been bugging me. On the one hand, I want to support a "timed, aggressive, interactive" game where everyone follows moderator-selected 'rules' (time limit, fixed total $, gameOver criteria, available weapons, etc...)
And yet, I also want to support the 'city designer' who simply wants to make the biggest and best city possible, even if it takes several days to get it right. For that player I have to support save/restore cities, etc. This is basically solo mode play, but with bragging rights in multiplayer mode.
So, basically, I think I will just add some sort of "opt-in" command for "killer mode"
Hmmm... City_Killer.. as in Player_Killer.. hmmm, not such a novel concept after all, I guess!
Anyway, CK cities (CKers) would be subject to the moderator rules and could nuke each other. nonCKers would be pretty much independent cities and would be competing purely on stats like population created per dollar spent...
A nonCKer city would be saved locally on your hard drive, while a CKer city could be instantly erased by the moderator pushing the "start battle" button. (getting all CKers to start playing at the same moment.)
And, ok, MAYBE you could import your nonCKer city as a starting city in CKer mode. as a moderator option.
posted
How about X number of people are available to be recruited to a given city each year. (I guess on the moderator side). These people would be attracted to the cities that are most ideal for them. So players are competing for the available population blah blah blah. Maybe even have the people with interests...so a work oriented citizen would want an industrial city, wheras maybe a different kind would like parks etc... Work with it...i'm tired.
Posts: 948 | From: Woodland Hills, CA. USA | Registered: Dec 2000
| IP: Logged
posted
A world population would be cool to have. You could have a little counter in the corner with all the populaitons added together. The synWorld population.
Posts: 1443 | From: Penn State | Registered: Apr 2001
| IP: Logged
posted
I got $0 building a city on a multiplayer server, but an empty ('cept for me) server. I'm not sure if this is a bug, or if you just can't play by yourself yet.
Anyway, very cool menu thing, Dan! that reminds me... I made a little UI thing for Arcadia a while back when you implemented the Park sports selector. Its not done, but its not too bad. And its got a real cool Splat button, if anyone wants to steal it.
I will put it up on the net sometime, and make a post w/ a link for anyone interested.
posted
yeah, oddly enough I still haven't seen $0 myself, but I am sure it is a result of the 'fix' for the bug that changing moderators gave you an extra $100K
Posts: 10610 | From: California | Registered: Dec 1998
| IP: Logged