2015/02/02 There's a new world map of Valmeria:
and with that, the game will change a lot, starting with the name: The world map will replace the current menus for starting a new game or loading an existing savegame. Instead, there will be a lot of region names on the world map, and you play that region. All of the regions are savegames, and they all take part in the world market and they also may be part of a mission that sets goals for that region. So you will be able to play any of the regions at any time, and export goods in one region to import in another.
This will take some time to complete, so enjoy the latest version below and stay tuned.
2015/01/18 All new graphics for houses now, no more programmer's art. I hope you like it!
More features include an UNDO for building. If you build a new building, then for some time this can be undone.
This is indicated by a recycling icon. Right click to open the dialog window, then you see a button to undo.
If you just delete the building, then if UNDO is possible, instead of deleting and paying you will get back the cost for building.
Once the building has started to be functional, like producing some goods or sending out a walker,
or a house going up a level, UNDO will not be possible any longer.
Any production or service building can now be disabled (mothballed in Caesar IV).
Workers are set free and production stops, no goods are requested any longer.
You can use this for catastrophe management, when a part of you city is going downhill
and you need to make sure that markets and basic distribution remains staffed.
Storage yards have a new mode of operation: They can be set to not distribute goods locally.
In this case, they also don't accept goods locally, and they use a reduced workforce.
You will use this for transit station/storage villages, which should be very small and require only a few workers.
Download 0.12.3.0 here.
2014/06/14 Advisor menu looks good enough, so here's an updated version,
before I add more stuff (I'll try to add some undo-function for the next update).
2014/06/11 New advisor menu is almost done.
This screen shows current ratings, a collection of messages with hints about your city,
and a balance sheet including all costs and income of your city.
Also fixed a bug that causes the goods buttons of the overview map to be invisible in some situations,
due to a missing update.
2014/04/26 Finally there's a new version, and an update for the 0.11.1 version as well.
The update 0.11.1.22 fixes the display bug with wrong clipping of buildings and walkers.
Download 0.11.1.22 here.
Then there's 0.12.1.0. This version has a number of balancing changes that came up during playing the 0.11 versions.
Some buildings have been removed, and the menus are hopefully better ordered now.
2014/04/18 Added some more detailed info about income and costs in different areas.
With this, most of the incompatible changes are done, so the next version comes closer. The balance sheet
needs to be displayed of course, and the balancing changes need some testing.
2014/04/13 Finally I found a nice solution for the clipping which was wrong for a long time
now. I thought it would make saves be incompatible, but in fact this solution works without changing
persistent data structures.
2014/02/05 Two important changes: One is new messages when a building collapses, and the
message will have a "goto" button which scrolls the map to the location where it happened.
Second is that houses on the housing overview map is colored according to housing level, yellow is low and
turquoise is high.
A smaller fix is a better message for the builder when some of the goods there are not needed within that
builder's reach, and the build button should say how far the builder can go.
2014/01/30 Another small update, this one has performance on huge cities improved.
Everything else seems to be reasonably stable right now, so I'll start with more new stuff.
2014/01/25 Fixed an (oh so tiny) bug in the target finding for warehouse walkers, which
shows in two ways: One is sending stuff back and forth between two warehouses, that should be rare now.
The other was distribution issues (stuff not being sent to where it's needed) if many warehouse walkers
were spawned to just distribute almost anything along the warehouse network, like an overloading effect.
Overview menu should also be properly updated when new building types are present or buildings had been
2014/01/23 Here's an intermediate version, but I feel it's important enough to get this out.
If saves are renamed and the name is too long, there was a crash in the load screen.
The builder's workshop is renamed, and doesn't need wood for maintenance any longer. Existing saves are
adapted to this.
There's a map display mode which shows almost all buildings transparently, so you can easily see all roads.
This is toggled using the 't' key, there will be a button in future, too.
2014/01/21 Thanks to many testers playing and finding strange things, I could nail down
a few more bugs around the deletion of buildings. I really hope that it all works now.
Moreover, there is some repair in the load function, so most of the saves that were not loadable with the
previous version should be fine now. In some cases there may be corrupt walkers, they look like just sitting
there and not moving. Another save and load should get rid of most of these.
Ruins of houses that were saved weren't loaded correctly, instead they looked like a fresh building place.
That's also fixed.
Numpad + and - keys should work now.
2014/01/19 There are problems with deletion of buildings. More specifically, deleting
a building that has walkers that have this building as a target. If a save game happens immediately after
you delete a building, or you delete a building in pause mode and then save the game, it's almost sure
that this save game cannot be loaded. There's no easy repair for that case, unfortunately.
So today I managed to get some of the problems fixed: If you delete road tiles, the game should not crash
any longer. For buildings that are target of walkers, like warehouses or markets, deleting should work
well enough if you don't delete in pause mode. The repair code that I added for .14 was incomplete, that
should also be complete now. If you see goods not moving, they should eventually go away and new walkers
should be spawned instead.
What is not yet solved: If you delete and a save happens immediately after that, the resulting save may
not be possible to load. That's why the version number is .15, there's more work to be done.
2014/01/18 Fixed a bug that renders production buildings unusable. In addition, there's
a repair routine that fixes saves from 0.11.1.12, where the bug was introduced.
2014/01/16 Some smallish fixes this time, improving colors on service and builder
overview maps, adding a production overview showing where input goods are lacking or production output
is very high.
There additional info text saying how far walkers can reach, and the limit of non-housing tiles they
do not walk: This is a feature of most market and service walkers, they want to stick with houses and
not walk along road tiles that are not adjacent to a house. So there's a limit, and this behavior can
be used to separate areas of concern for market and service walkers, just leave a gap of, say 10 tiles
between housing areas.
2014/01/06 Main improvement with this update is nice housing for lower level houses.
Looks so much better, so I'll definitely continue to draw more houses.
Fixed a crash bug related to deleting and immediately rebuilding a warehouse, market oder production
building. The bad thing was that the crash only happens a moment after you did it, so the only way back
was to load an earlier autosave.
Minor improvements in the overview maps. The road overview also shows walker problems, the workforce
overview shows work related problems (colors were not right), and the attractivity map also shows ruins.
2013/12/30 Numbers are better now, it's either counting items or it's counting
shipments if it says so. That makes most numbers now much more reasonable.
Many more beautifications: there are now icons on the map instead of the rectangular bars, and there
are some more drawn graphics and added details.
2013/12/26 More balancing adjustments. The big luxury market only sends one market
lady now, that is sufficient anyway. Luxury warehouses can now also store gold. There's a new type
of warehouse for metal ore and such, but that's not yet needed by anyone.
Milk production is a bit slower now, so you may need some more cow runs.
Tax income is increased.
Some buildings are marked as deprecated, because they will be removed in a future version, but not
before 0.12. So they can be loaded from a save game, but they cannot be built any longer.
2013/12/23 Here is an important bugfix, that makes savegames unloadable when you
have built things on areas with roaming sheep. Now this version contains not only the fix but also
a repair for this.
Then we have a little bit more information about warehouse situation, and added info about the effect
of buildings on desirability. Did you know that some production buildings actually increase the
desirability? It's the show maker and the rope maker, or the fruit orchard, for example...
2013/12/22 More improvements on the overview map, and a better organized right side
menu for that.
Most important is a new map to play on: "blackforest". This is a new style of map that also shows a
new terrain type "wasteland".
2013/12/14 Seems that the 0.11.1 download did not contain the right executable.
So here's the fixed installer.
2013/12/09 With all the detailed testing going on, there are a few changes now.
One part is an enhancement of the overview map, and some clearer messages about production in game.
That affects only what you see, not what happens underneath.
This is about production, one view is the whole region you play. Here we have a maximum possible
production, which is what the buildings can produce if they are fully staffed and fully effective.
Then there's a maximum consumption, which is what the buildings can consume, provided all what they
produce is really needed.
In addition to these, there is the map now, which shows where goods are produced and where they are
consumed. This can vary in different parts of the map, and the overview shows where is what. This
works using the warehouse network, and the warehouses also function as an information hub about local
yield and use of the goods. This is now the basis for messages about local availability of goods.
Then there are some minor balancing tweaks, which you also should get and play with. They do affect
the game though, but they are fully compatible. One change is that the decay of services for houses
is slower. I want a service provider to be able to service at least 2 long roads with houses, better
3 such roads. That should now be possible, so it will be somewhat easier to cover an area with a service.
A second change here is an increase in the number of walkers that a warehouse can use. If there are
many goods stored, a higher number of possible walkers helps to get goods all over the map.
This is a rare occasion to have two similar versions. If you're not sure, use the newest. If you want
to compare how things worked before and after the balancing change, use both versions and tell me if
you like the changes or not.
2013/12/01 Improved overview maps. Now they show what houses need, this is for goods
and services and the builder. This way, not only the warehouses indication tells you in which area there
may to too much / too little of something, but it also shows you this down to the houses.
Even more important is an internal bug fix which could cause truncated autosaves and empty lastsaves.
The reason was that when you leave the game, then if you're unlucky, the autosave collides with the
lastsave, which firstly causes the lastsave to be empty, and secondly could also truncate the autosave.
This should not happen any longer.
2013/11/28 This update brings the overview map. The overview map is an extra screen
which allows you to deeply analyse your city and find problems, so you can improve your city.
This is a bit of work in progress, as finding the right way to visualize something in your city is not
always easy. So there will be improvements of the overview maps, like making them more interactive,
but this update is important enough to ship it in the current state.
Besides the overview maps there were some smallish fixes, as always. Nothing too important.
2013/11/01 Fixed a bug related to warehouses going into ruin and not deleted quickly,
that got some things messed up including possible crashes when the ruins were deleted later.
Markets were looking for demands in a way which was not consistent with the market walker behaviour. Market
walkers do not walk far when there are no houses, so leaving gaps between houses helps to separate areas.
Demands have to be determined accordingly. In addition, the reach of market walkers has been increased.
Tax collection was slightly buggy, leading to very high tax income. This has been fixed, and tax income
has been reduced as well, making a difference between housing types. Craftsmen will pay more taxes that
There's an updated readme, which is also translated into english. I hope this helps to get into the game.
2013/10/10 Renamed storage to warehouse, seems to be a better word here.
Reworked the distribution scheme that govern the walkers between warehouses. Now distribution of goods
between warehouses should be much smoother, no more goods going back and forth, and goods should be pushed
all across the whole map, if necessary.
Jewelry production was much too slow.
Roads can now be built onto ores.
2013/10/05 Some smallish fixes. Houses of craftsmen didn't pay taxes, some strings had to be
improved for clarity. Simplified the Pause function, so pausing the game should work better now.
2013/09/12 Added a number of tutorial kind of in-game messages. Hope they help to get
started, especially for those who are new to this game.
Then there's a re-write of some path finding code, which mostly affects storage walkers. They can go farther
than before, which helps to avoid many very small storage-yard villages.
2013/08/20 Double click ASSERT issue solved. The second mouse event will just be ignored.
2013/08/19 Two small fixes: There were some erroneous error messages during loading the
game, that is resolved. Nothing to worry about. The second fix is that you couldn't place copper, tin and
There's one issue: When you build something and double click fast enough, there will be a crash. I'll think
about how to solve that, it's not a new thing though. For now, just avoid (double) clicking too fast.
2013/08/18 One more important change is included: Walkers that attend to houses, like market
and service walkers, will keep walking along houses, and not walk long distances elsewhere. This should
help to keep separate villages separated from market and service distribution.
2013/08/11 Very close now. Found some more bugs related to goods and material distribution,
like stuff going into houses that cannot evolve anyway, which just wastes things. Now building up to level 18
works fine, as explained earlier... for level 19 I need gold which is not available on that map.
2013/08/06 Turns out that getting 19 level for peasant housing and 14 level of craftsmen
housing properly balanced is more difficult than expected. So to make balancing easier I changed multiple
production to use a separate production rate for each produced goods, and it makes things a bit easier.
The main change to earlier version is, however, that with the current settings it will not be possible to
level up all houses on a region map to the maximum level, simply because the workforce needed to produce
all the necessary goods is not large enough.
This leads to building some smaller villages to support a city, where the houses can then be maxxed out.
I must admit that I really like this idea...
2013/05/29 Did a whole lot of experiments with housing of different sizes. Like having
peasant housing in sizes 2x2 and 3x3, as well as craftsmen's housing. Seems that this all doesn't really
add to the game play, so I'll leave this as it is. Maybe it helps to have more craftsmen and not soo many
peasant requirements for workplaces, so both housing types become somewhat more equal in their numbers.
2013/03/24 Despite very busy times, here's a new update. Mainly new graphics by guinan,
plus lots of internal cleanup, which is all about preparation for the next changes.
Next changes will be about houses: Planned in up to level 20, which makes for many new images. Then there
will be an experimental thing about houses in 2x2 and 3x3 for the same type, just to see how that works out
(in terms of game play). With the many levels there come new goods to produce and consume.
2013/01/05 New version to play around with.
2012/12/30 Finally implemented a proper loading screen, showing some progress during
loading the game data, the map, savegame and whatever else is happening. Also a lot of reorganization
of code behind the scenes, some things are considerably easier to write down in code now.
Also, the improvements of the UI are complete, so there will be a new version to download soon.
2012/12/26 Upgraded lpng from 1.2 to 1.5 and freetype from 2.3 to 2.4, failed to
upgrade lua 5.1 to 5.2 because they changed how to access global variables.
2012/11/11 No big progress, but continuously working on improving the UI.
2012/10/16 TM announced a new city building game, also set in the Middle ages: Medieval Mayor.
I'm very curious how this is going to be... and how this will turn out in relation to Villages & Cities.
2012/08/16 More images made by guinan, some rebalancing, and minor bug fixes.
2012/07/27 Same thing can happen with other buildings, so there's also repair for
production buildings now. Please do not play with older versions, instead, use this one.
2012/07/22 Another bug fix. This one had a more complex root cause, but made certain
save games unloadable. Root cause is hopefully fixed, and a repair function has been added to be able
to load defect save games to continue building.
2012/07/15 Two more bug fixes: One change introduced a bug which allowed certain buildings
to be built onto water. Another fix is, that all walkers now use the new path finder, so it should not
happen any longer that walkers vanish because they are unable to find a path, if such a path exists.
2012/07/11 More changes to the balancing. It's highly recommended to start a fresh game.
Also, guinan has drawn a series of sheep, so sheep are now roaming around the shepherd's hut.
2012/06/28 Another bug fix, and more importantly, changed requirements for housing, for
a better balancing. This is to be play tested, of course. Save games are not compatible, so players have
to start a fresh game.
2012/06/14 Important bugfix for houses that level up to 3 or higher, but then level down
to 1 again, that will trigger an assert.
2012/06/13 Here we go, new version. Saves are not compatible, too many things have changed.
Most important change is the new builder: Most buildings wear down and thus need some build material every
now and then, distributed by the builder from his workshop. Buildings other than housing have material in
stock, so they will need a visit by the builder after some time. Houses however need material to level up,
so in the beginning it will be necessary to over produce lumber, just to give some hint.
The game uses the common directories now under Win XP etc, so the game should properly run without admin
rights. Saves and log files are stored in "My Documents/Villages and Cities".
Other smaller changes are that the healer does not need herbs, and there are many more things to produce
and consume. An additional service is the barber, which is needed for better housing.
One of the next big changes is the introduction of the world map and trade, the first traces of that can
be seen as the background of the menus...
2012/06/03 Builders and material distribution complete also for housing types. Now some
more testing and a few other planned improvements, like showing a world map on the main menu instead of
2012/05/28 Got a lot done during the long weekend. Material consumption is now enabled
in all building types except housing (which wirks differently), and normal upkeep works fine. There is
one todo left when things go down and a building is destroyed then, and of course the same has to be done
for housing now.
2012/03/31 Most of the new builders is in place now. Even if it's only for production
sites, once it's really running well, it's not too much work to put the new stuff into the other
building types as well, i.e. services, decoration, markets and of course housing.
Some people are porting the allegro library to Android, so there's some chance to port this game
to a tablet, too. I will definitely look into this later this year.
2011/10/30 Small fixes, updated graphics (courtesy guinan) and a large additional map
(by Kevin). Most probably this is the last of 0.9.5.*, as I'm working on some major next feature.
2011/07/31 Bugfix, you should not be able to build houses on top of each other.
2011/07/23 Savegames are now compressed, sand pits can be built on sand. Some images of
buildings look nicer.
2011/06/25 Bugfix which affects balancing: Houses did consume more than intended,
due to a rounding error. In extreme cases houses could consume 4 times the configured amount, in theory
it could even be more. Some production and consumption has been tuned, and storages send out 7 walkers
instead of 6 to help distribution. On the minimap, the really severe problems appear blinking, less
severe problems are just red.
2011/06/23 Bugfix which prevents hangups in long games. Screenshots can again be taken
using the Printscreen key, or the F4 key. Slightly increased production outcome of furrier and
2011/06/22 Add mini map, to be toggled with key 'M' or the new button at the top left.
More smaller performance fixes, and a lot of re-balancing, which should lead to fewer prod walkers
running around (i.e. goods). Making the individual goods more efficient not only reduces the number
of walkers, but also makes the storage system work better.
This version is built with Visual C++ Express 2010, so you need to install the
"Microsoft Visual C++ 2010 Redistributable Package" from
(if you don't have it already installed).
Known bugs: It seems that the "Printscreen" button does not work any more, I'll have to look after this.
If you build many storages, distribution of goods is not good, i.e. it may happen that goods are not
transported to where they are needed.
2011/06/07 Found performance bug, which affected path finding of walkers.
Should be considerably faster now.
2011/05/15 Added more output to the overview windows. Now you see the number of each
type of building and walker, and summaries of these.
2011/05/05 More bugfixes.
2011/04/30 One bugfix, one improvement: On a fresh installation, the msg.ini wasn't
correctly created. The improvement lets you see what you have on the tile where you point the mouse
at, by showing those images that would hide that spot transparently.
2011/04/21 Porting to Allegro 5 is done. The remaining problem about incorrect
phantom objects showing where the building is going to be placed was actually introduced earlier
and went mostly unnoticed, or better, tolerated to be fixed later. Which is now, but only with a
workaround: Instead of showing only the building at level 1, now the game shows the ground area.
So you don't see what you build (you have selected this a moment ago from the building menu), but
you see exactly how big it will be and where it will be placed. Red shade indicates that the thing
can't be built at that place, for whatever reason.
2011/04/03 Porting is almost complete. Everything works now, there are only minor
differences in how some things look like, which have to be changed a little bit. The new lighting
model of Allegro 5 makes some things more difficult, but other stuff becomes easier... I expect a
new version for some technical testing this month, before I go into adding really new features again.
2011/02/06 Working on porting everything to the fresh and new Allegro 5.1 library.
This is quite interesting, many things have changed, but it also opens a lot of nice opportunities:
Use all hardware acceleration one can get, use "real" 3D for the display of the landscape and all
the houses, maybe more graphical eye candy, as I see fit and learn to use lighting and shaders and
all that stuff.
2011/01/05 A fresh installer does not deliver outdated and unused runtime DLLs
any longer. Instead, you have to have Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
installed on your PC, which you can download from
2010/12/05 First version for 0.9.0 ready to try. Please uninstall a previous
version before installing.
2010/11/28 Long time no update... been busy implementing real maps, so the
map is now read from a color coded image file. This is mostly complete by now, so I think
I should prepare another version before Christmas.
And before I start changing everything, because the whole thing has to move from Allegro 4.4
to Allegro 5. The disadvantage is that it's a big change, virtually nothing remains like it
was before (technically). The big advantage however is that hardware acceleration is just built
into Allegro 5, so making good use of DX or OpenGL is very easy then.
2010/05/21: (Rev 248) Version 0.8.1.0 ready. Another important bug fix, another
localized language text.
2010/05/04: (Rev 242) Small but important bugfixes, and all dialogs for
the different building types completed, including possibility to request workers and
enable / disable individual goods at each market.
2010/04/03: (Rev 238) Busy implementing dialog boxes for each type of
building. It should be possible to enable and disable individual goods on a market to get
some fine control over what goods will be available in the vicinity of that market.
Maybe even more important is the possibility to request more workers at one building of
there are too few workers available and the player wants to make sure that the building
can operate as needed. Unfortunately this led to the discovery of some deeper bug in the
workforce assignment routines, which I have yet to find... so the next version will be
available later than I initially hoped.
2010/03/17: (Rev 233) Version 0.8.0.1 contains two changes. One is a
bug fix: Deletion of a tile which has a walker on it triggers an internal assertion,
causing a crash. Now the walker either can continue his path, or is deleted.
The other change removes the possibility to store water in the basics goods storage yard.
Water has to be fresh, to be used for the bakery or by the gardener.
2010/03/14: (Rev 227) Version 0.8.0 is available for download.
Storage walkers are now fully
functional, so goods distribution across the map, using a network of storage yards,
should work fine now. This enables 'real' building for the first time since I started
2010/03/07: Storage walkers implemented. This means that goods are
now transported between storages, across the map. Demand and supply are automatically
computed along the network of storages, and transported as needed.
Some rework of the path finding algorithms involved is needed, to make sure that walkers
target the 'right' buildings. Whatever that exactly means - it should make sure that
goods and services arrive where they are needed, and not too late.
2010/02: Family events.
2010/01/06: Extended the data model to use more than 50 different
goods to harvest, produce and consume in the game. Not counting weapons and such.
2009/12/29: (Rev 168) Version 0.7.3.1
introduces one little addition: right click on a building shows the info box,
another right click closes that info box again. Later, this box will give some
options to configure storage yards, or adjust certain parameters of a building.
2009/12/19: (Rev 163) Version 0.7.3.0 ready.
There is one notable change, on the main map, try to hold shift while you're
moving the mouse pointer to see the difference.
2009/12/06: Deco elements consume
goods now, which is necessary to produce attractivity. Without goods supply the
generated attractivity will be less. An example is a garden that needs water.
Services also consume goods now, walkers are only sent out if goods are
available, and these goods are used to 'produce' a new service walker. An
example is the healer who needs herbs, or a gardener who needs water and seeds.
implementation of storage yards. They can receive goods and send out prod
walkers to distribute goods in individual lots. The difficult part is to
connect all the storages with each other such that goods are distributed
automatically, even across the whole map... which opens more questions than I
have answers for now.
There will be another build in december, even if storage yards are not fully
implemented at that time.
2009/10/18: New property for
walkers: Each walker can be set to use only roads instead of using all walkable
tiles, with a preference of roads. So as a consequence, if some walker can only
use roads, the building that sends these walkers out must have road access to
2009/10/12: Some bug fixes:
0.7.2.1 to be downloaded.
2009/10/04: The improved version
is 0.7.2.0 ready for download.
2009/09/30: Currently I'm
working on an improved version, which contains an extended data model,
including various new goods, plus a few bug fixes. Meanwhile, the server has
moved and will be joined with the staedtebauen.de city building portal - there
are some pieces missing however, so that will take some time. We're also busy
giving the final touches to Heike's Rechenmonster project, so get ready for
some math trials soon.
2009/09/03: (Rev 121) A few
important bugfixes, found in early testing.
2009/08/31: (Rev 115) Many small
improvements, english translations and balancing. This should be the first
really playable version, at least the basics of the intended gameplay.
2009/08/23: Reimplementation of
triggers. This is something I learned from Caesar IV, and it's also much better
for other reasons: No different triggers for any sorts of events, but just one
trigger which is called in regular time intervals. This one trigger can then do
several things, depending on ingame data. The main important thing about this
way of doing triggers is that it should be completely determined by the exact
point int time, and that's only possible if the trigger is integrated into the
update queue mechanics as any other update which occurs ingame.
2009/08/09: Big milestone: Market
walkers are fully implemented now! Why is this a big milestone? Now goods are
consumed by houses, so the production loops are closed and there is a sink for
goods in the game. So I guess it's about time to prepare another downloadable
version, because this is the first really playable thing.
2009/07/12: Caesar IV contest is
over, and I learned a lot about what makes Caesar IV fun. In fact, they did a
whole lot of things right with that game. On the downside, there are a number
of plain bugs which are normally exploited during play and contests, which
reveals that doing micromanagement can be great fun. For some people at least.
Despite not working on Villages and Cities these days, I have been improving
the game framework a lot and started to branch off my own guichan version,
decoupled from the main development.
2009/04/26: Decided to play Caesar
IV contest. Main objective: learn about what makes Caesar IV such a good game
that it is. Will be great fun, but keep me away from programming...
2009/03/12: (Rev 61) New data
model and new type of graphics: generated as an additional way to read image
files. This has the big advantage of easily creating lots of placeholders in
all sizes and colors, which can later be replaced by more beautiful images.
2009/02/01: (Rev 42) Major
restructuring: Most of the game framework code has been moved into a separate
library, so other games may be built upon that. There are similarities to the
gfwk used for The Next Train, so this will be called GFW2. As a difference,
there are now elemts of fonts and guichan included.
2009/01/06: (Rev 35) Markets
implemented to receive goods. Markets receive and distribute all goods that are
consumed by houses. In contrast, storage yards will be able to receive and
distribute all goods, including raw materials and intermediate products.
2008/12/25: (Rev 20) New version
for download and testing.
2008/12/14: Finally different
speeds of walkers on different types of roads works as intended. Needs a bit
more testing now, then I'll put up another version to download and play around
2008/12/07: Switched to SVN on a
local server. This means that counting changes starts with 1 again...
2008/11/02: (CL1099) Several
localization improvements, houses and other buildings now show much readable
information about their state, what they need to level up, and so on.
2008/10/05: (CL1088) Hinterland is
out now, so I decided to put the current version up for inspection, too.
Service walkers should work nicely, no goods distribution yet. That will be the
next big task. Installer language now sets the corresponding language for the
2008/09/21: (CL1076) Service
walkers reserve their current targets, they use path caching instead of
recomputing everything on each tile, so I would consider service walker
complete now. Whoot! There are some reasons why things are going slow, one of
them is Spore. Another one is the upcoming release of Hinterland (by Tilted
2008/08/15: (CL1066) Lots of bug
fixing, some really hard to detect stuff... Now tested with two different types
of services, looks quite good. Walkers need to reserve their targets however,
at least for a short while, to avoid having all walkers always go for the same
2008/08/08: (CL1046) Walkers find
their targets now, so random walking is only needed as last resort, when a path
can not be found. No real optimizations done so far, so everything is
recomputed on every tile - nevertheless, a few walkers run around without any
problems. Further testing required now, but then it's a giant leap forward!
2008/08/04: (CL1030) First
complete implementation of path finding. There are no further optimizations
yet, and walkers only use this to fund their way home, but it works. Next steps
include target selection, so that the walkers do better than random walking
around to deliver services, proper caching to reduce computation and further
smaller tuning of the algorithm.
2008/07/27: Use upgraded versions
of libpng and freetype.
2008/06/29: Simcity Societies: Destinations
is out. Seems to be a really good expansion, so I'll do some more testing and
maybe write a review...
2008/05/01: No updates. Real life
is very busy, but I hope that I'll get to work on this again.
2008/03/22: (CL1009) Service
walkers do distribute their service to houses now, and houses depend on regular
visits to level up. As of now, they do not try to find paths, they just stay on
a road if they can, otherwise they are just random walkers: That will be the
next major implementation task. Happy easter!
2008/03/09: (CL999) Some bugfixes
in saving and loading games, walkers are walking correctly, next will be the
distribution and consumption of services.
2008/03/01: (CL983) Dropped
OpenLayer support. Using pure AllegroGL should be sufficient, and OpenLayer
just adds too much overhead. Also, some test machines do have problems with
OpenLayer, while they work properly with agl and pure allegro back ends. Add
support for other tile formats, like 4:3 and add functionality for resizing
images on load, so using tiles of different sizes becomes much easier.
2008/02/24: (CL968) More than
20000 lines of code by now. First walker movements, mostly random by now.
2008/02/10: (CL954) Switched to
allegro 4.3.10, started work on adding walkers.
2008/02/02: (CL943) Minor
improvements and internal restructuring.
2008/01/27: (CL937) Improved
screen menu for saving games, now including a delete button. Added counter for
screenshots and add configuration for screenshot directory and filetype.
2008/01/14: (CL916) Important
bugfix, adding current map view position to savegames. Changed major version to
0.4 since that reflects all the changes better.
2008/01/13: (CL912) Saving and
Loading is complete. Many checks to avoid loading outdated saves are added into
the loader. Reorganized the locations of files, and separated the data model
definition scripts from the actual new game creation scripts (which will
eventually lead to complete scenarios). There are now two screens with settings
and options, and a few of these are saved in a user specific ini File.
2008/01/06: (CL884) Saving and
Loading games is on its way. A save will only contain data about objects that
are actually used, so that part is not entirely trivial. Loading a savegame is
more difficult, though. The idea is to flexibly remap internal indexes if the
scripts have evolved in a compatible way, which mainly means that you should be
able to load a savegame when you are adding new types of buildings, new goods,
new walkers or change any of the trigger scripts. On the other hand, the loader
has to detect if you try to load a savegame that refers to buildings that are
no longer available and fail with a readable error message. Well, this is work
2007/12/28: (CL846) Many
changelists, few updates. Added a message system to the game. Now the game can
write messages to the player, either by dialog box, line at the top of the main
screen or not at all, this is configurable for each message type. A later
addition will be a complete diary where the player can review all messages and
change the configuration easily. The other big thing is the introduction of
something like a filesystem: Files are read using special functions which
search for the file in configurable directories: application-data, user-data
and development-data for those who wish to fiddle with the scripting without
wrecking havoc to their installed files.
2007/12/02: (CL802) Christmas
season comes closer, and thus all the preparations which are due. Nevertheless,
workforce assignment is mostly implemented now. Needs a bit more testing and
balancing, but works as intended and provides some interesting gameplay. There
will be a download before christmas, but for now I want to do some more testing
and some polishing.
2007/11/17: (CL785) Workforce
assignment started. Some restructuring was necessary, but now all notifications
work as they should. Service and production buildings can now require more than
one type of people to work there. This should make workforce much more
2007/11/15: Simcity Societies is
finally in store. Started playing...
2007/11/11: (CL775) Added
decorative elements, which also raise attractivity. Fixed openlayer display and
added preliminary allegroGL back end. Internal rework of game timing, now the
game clock supports at least 8000 years of game time to pass. Added noblemens
houses, variants for all houses, replaced graphics for the bakery and added
graphics for wood cutter and pottery.
2007/11/04: (CL764) Improved map
drawing now implemented. As long as all buildings have square dimensions, the
image will be correctly rendered (i.e. without incorrect overlaps).
Additionally, the area below the mouse pointer will be drawn transparent, so
that the player can see what's going on there, and where things can (or have
to) be built. Some restructuring of image and script files has been done, to
improve code structure and make additions easier.
2007/10/29: (CL755) Map
attractivity is now implemented, and people will immigrate when houses have
empty space for them.
2007/10/14: (CL718) No updates
here does not mean that I didn't work on the game. In the meantime I have
finished to implement the core game data structures and their relations, they
all can be loaded with scripts, built within the game and deleted again. There
are even some more hand-drawn placeholder graphics for the required objects!
2007/10/02: (CL705) Switch to
using lpng1.2.20 and freetype 2.3.5. You can make a screenshot using the Print
2007/09/23: (CL702) Minor changes
to the way the scripts work, and started to implement the game's core data
structures for all game objects. Since these are all related to each other, it
doesn't make too much sense to add them one by one, so this update will be a
2007/09/09: Started to draw some
graphics to use as place holders for the next development steps. See the
screenshot in the corresponding forum thread!
2007/08/31: (CL695) Lauch site
www.simcity-soc.de about SimCity Societies.
2007/08/26: Been visiting the
Games Convention 2007 in Leipzig to see SimCity Societies. Very promising! Made
a lot of friends there as well. Though this means that there's no immediate
progress with Villages and Cities, I'm motivated as ever to continue this work
here. Especially the multiplayer ideas seemed to cause some interest, so my
priorities have been shifted a little to incorporate networking and multiplayer
features in an earlier version of the game.
2007/08/20: (CL681) Added more
special mouse pointers. Houses and roads level up after some time and then
start again at lowest level, to show some of the other graphics. Some
additional range checks to prevent crashes when pointing to a location out of
the map. Scrolling is a little more restricted now, so it will happen that you
can't see the very edges of the map.
2007/08/15: (CL669) The
Delete-Button works now. The objects that will be deleted are highlighted in
red. Implemented custom mouse pointers and included graphics provided by
2007/08/07: (CL657) Roadbuilding
first version is there. Two types of roads, that will have different behavior
and costs, to be implemented in a later stage. Prepared graph implementation.
Road building works with dragging, the pathfinder is very simple but good
enough for now. Will later be replaced by proper pathfinding and optimization.
2007/07/31: (CL638) Started some
restructuring to prepare the next steps, and changed behaviour such that ESC
leaves the main menu, in addition to pressing 'q'. There seem to be problems
with the OpenGL implementation which causes problems on some PCs. So I have to
give this some higher priority along the road map.
2007/07/24: (CL629) Changed
version numbering, so this is 0.2.2 which contains build menüs, so you can
build houses. Building is not completely implemented, so don't complain about
invalid placements of houses. This version is mainly aimed to show images in
the game, you may look into the starting script to see how house types and menu
entries are defined, and it should be easy to modify these scripts to show
different images if desired.
2007/07/22: (CL628) I can build
houses now! There are some technical issues to solve, but after that it will be
time for another download to show all progress made so far.
2007/07/15: (CL619) On the path to
completing the dynamic building menus. This includes scripting, implementing
some basic data structures to represent houses in the game, and all the user
interaction, so this task is about to touch most other modules in the project
so far. That's why it takes some time to complete (but I have to admit that the
fine weather doesn't help either). Doing this right will help a lot for further
implementations of that type!
2007/06/23: (CL603) Switched from
using return codes to exceptions, even in code parts that are called from a
script. While this does not make much notable difference, it can produce much
better error messages if something goes wrong during script interpretation:
Detecting errors in a script should be much easier this way.
2007/06/17: (CL599) Implemented
ingame message console that displays informative and error messages during
script loading and similar. The text (which is also written to the logfile
allegro.log) is shown as overlay over anything else that is displayed,
including menu screens and even the game map screen.
2007/06/10: (CL596) Vacation is
over, and I didn't do much programming, but thinking about game concepts
instead. The changes to the current sources are preparations for the dynamic
menu which will be needed to implement all the building options. Lua is now on
version 5.1.2, and a number of additional settings are configurable from the
2007/05/01: (CL577) Map can be
scrolled with the right mouse button. While this does not seem to be
spectacular, it means that all preparations are done to be able to interact
with the map. All coordinate computations between screen and map coordinates
are in place and pixel precise. The current center tile and the current mouse
hovered tiles are outlined. The proposed map size of 30x30 tiles is minimal, I
have tested until 2000x2000 tiles, which is pretty large.
2007/04/15: (CL574) First display
of a map, smooth scrolling using keys, tiles are loaded from scripts so tiles
can be easily added and changed. Also changed tile height to 31 instead of 32,
which saves one line of transparent pixels. Included a first version of
2007/04/09: (CL564) Tiles can be
loaded from single files as well as from larger graphics as parts. Error
handling settled between script and main program, but the messages have to be
read from allegro.log with an external editor or viewer.
2007/03/11: (CL557) Added
scripting to load simple bitmaps into the game. Error handling is an issue
here, because the game should not simply crash or terminate with an exception
if there's a syntax or runtime error within a script.
2007/02/25: (CL 554) Added true
type font support to guichan for use with OpenLayer and Allegro with
GlyphKeeper. This proved to be some hassle, not because it's so much or
difficult coding, but to have these changes and enhancements be accepted by the
corresponding developers. Well, now that's almost finished, so I can at last go
back to the main subjects.
2007/02/18: (CL 525) First
milestone reached. This version shows the main menus and provides some moving
figures to estimate frame rates with different settings on different machines.
Entered this version into local source code control as changelist 525.
2007/01/24: The framework is
improving. By now, there's a menu, and instead of a game there are balls
jumping around. The missing features until I can upload something here are the
display of the actual framerate, and an adjustable speed for the simulation.
2007/01/15: There's not too much to report yet. I have
started active development just recently, after evaluating a number of
different libraries and possible approaches. Including the decision about going
3D or staying 2D.
The outcome is: I will do this game in 2D with isometric tiles, mostly because
the old games are done that way, but I also believe that it is simpler this
way. I haven't seen a decent game made by a very small team or a single person
in 3D. Of course I want to use as much hardware acceleration as possible, so I
will use OpenGL, through the abstraction OpenLayer provides. Currently I'm
setting up the framework which will host the game later.