• Content count

  • Joined

  • Last visited

Community Reputation

272 Neutral

About dalerank

  • Rank

Personal Information

  1. Created by dalerank Translated by Anastasia Smolskaya I hope that the previous post Back-Engineering Caesar III, with the description of the algorithm of creating textures from the resources of the original game was welcomed by the inhabitants of habrahabr.ru. This article describes the format of maps, algorithm of selection and order of tiles for drawing, creation of the final texture. If you are familiar with tiles you can skip the following part of the article.   Tiles Tile is a picture of a fixed size created so that while you draw near other tiles you don’t create any “stiches”. Here is an example of grass from the game Caesar III© If you put them together in a definite order and add a little bit of texture with trees then you’ll get some part of surface. And if you add to this picturesque image another kind of tile, say, the one that depicts a road, you can put together a basic map.       You have probably noticed that the presented tiles have a shape of a diamond not a square. The purpose of this is to create the image with dimension (depth). That kind of tile looks as if it was turned to the viewer and as if it spreads to the depth, bidirectional image gets third dimension. To create the effect of dimension the width should be two times less than the length of the image. Tile base in the game Caesar III is 58x30 pixels, this is the minimal size of the tile which is operated by the game engine. On the first phases of remake creation we got one unpleasant effect, textures in the game are created without taking into account transparency and when displayed on the screen without additional processing we got the following result. The way out is as follows: you can use a mask, for example the color of the farthest left symbol is taken as transparent or textures should be complemented with an alpha channel. In the original game we used the first option, in the remake – the second: textures are prepared at the stage of resources upload. Map Map is an array that defines the position of the tiles on the layer and their parameters. In the simplest case the map is a matrix MxN with each element having an identifier (number, figure) from the so called “tiles palette”. Tiles do not necessarily have successive position number, numbers of tiles are divided between several intervals and named areas. Thus, for example, tiles of earth, trees, water, cracks and grass have the indexes from land1a_00001 to land1a_00303. In the game Caesar III it is allowed to use square maps from 30?30 to 160?160 tiles. Tiles are positioned the map so that its upper boundary is the “north”. In order to draw the tiles on the screen it is important to take in account the distance to it, if you just draw tiles in the order they are placed on the map you’ll get a misconvention because some part of tiles was not drawn in time. The order for drawing tiles is shown by the following image. 1. The first image shows the order of drawing tiles on 2D map for creating dimension effect. 2. The second image shows the order of drawing tiles on 2.5D map knowing that the higher is the tile the earlier it should be drawn. This image is generated from the following tiles drawn in the correct order. Drawing a town Additional conditions that occur while drawing a town. 1. On the map there are not only static tiles of earth, grass, buildings, but also dynamic objects (people, animals, animation) 2. There are objects for passing through (archways, gates, barn) 3. Additional animation of tiles and objects 4. Nonsquare objects These conditions complicate the process of drawing and create additional rules for drawing. 1. Moving objects on isometric map needs some tricks to happen. The map is turned “inwards” and its absolute size vertically does not correspond to the horizontal size. Therefore, any dynamic object should appropriately move “up”, in the simplest case for each two steps aside there is one step inward. 2. A dynamic object can be in the different parts of tile and it is drawn after the main tile is shown which can create the artifacts of imaging, for example, a cart moves above the gates. This can be neutralized by drawing additional sprites which will be shown after drawing dynamic objects. += 3. Animation can exceed the size of the main image and here you should remember the feature that animation can go up and down or it’ll be covered by other tiles. 4. In majority of cases the game uses square objects but there are extended ones to simplify the algorithm of drawing, they are divided into smaller (square) parts, for example, hippodrome. ++= How to draw 1. At first you should draw “flat” tiles and dynamic objects on the, 2. Secondly, you should draw tiles which images can exceed the tile base. 3. Then you draw the additional animation for tiles, which have the following flag This algorithm was retrieved from the original game as much as I could understand it, though it may be changed in the later versions. Advice on the drawing cycle is welcome. Map format of Caesar III The objects that are shown in the town in file *.map include first five data blocks. Read from the beginning of the file, read the data one by one without gaps. short tile_id[26244] — contains identification elements, each identificator corresponds to its texture. For example, identificators group 246-548 corresponds to textures land1a_00001-land1a_00303, these are textures of earth, trees, etc., which were described before. byte edge_data[26244] — the array contains information about the size of the object which has  texture in the array tile_id short terrain_info[26244] — the array contains characteristics of surfaces for each tile, earth, water, road, wall, etc. (complete info here) byte minimap_info[26244] — basic info for creating a mini map, it also takes part in some calculation during the game as a so called array of “random numbers”. byte height_info[26244] — this array describes the height of the tile over the surface, 0 – for land, 1 – 15 pixels, 2 – 30 pixels and so on. Application More details about the game Caesar III© and the development of the remake can be found on our wiki at bitbucket.org. Special thanks to Bianca van Schaik for help in writing the article and providing materials. And in the end a small test screenshot that depicts Etrurian spearmen vandalize the City of Fountains:
  2. CaesarIA is an open source remake of a real time strategy game released by Impressions Games in 1998 — Caesar III.    I remember the first time I played Caesar III. It was a wonderful amazingly smart game that made me feel that the city lived its own life even after I finished playing. This feeling stays with me ever since. One can spend hours observing the life of the city even without interfering with it: the plebes and the patricians, the merchants and the students — everything and everyone is in balance. This game has given me enormous pleasure during many days I have been playing it. During any activity in this game such as constructing new buildings or taking care of its citizens' health, bargaining with neighbors or waiting for the barbarian besieges, you have the feeling as if you were a real governor to be known even in Rome.     CaesarIA aims to expand the possibilities of this classical city-building simulator and to add new features to the city life. Currently, the game works on following OSs: Windows, Linux, Mac, Haiku and Android. Requirements to people we need. Artists — we all love the old Caesar but it was made 15 years ago, and it has its own parents. We need a step forward. This remake requires new textures, that would be unique for this game, reflect Roman architecture but at the same give it a fresh breeze making use of modern graphics. Programmers — all of us know how much knowledge is required to develop a good quality game even if one has time and good fortune. In this game the behavior of all city's objects is predefined but it's possible to diversify the set of these actions so they will not repeat often making the game world look real and immersive. There is plenty of freedom here, but experience in c++ and a broad view would anyway be of great use. Talented writer — ever felt immersed in the plot of a game? That is exactly what this game needs. So I am searching for someone who can draw the player's attention by the plot and by game events presenting an interesting story in career mode. Composers — the sounds that surround us when we are playing are of great importance. The city strives to be filled by new sounds, voices and songs, which will submerge you in its ancient Roman city atmosphere.   I invite all of you to participate in my project, you can find the game's source code on the main page as well as you can download builds for different OSs. On the following page I estimated the prospective expenses on different needs based on a reasonable hourly rate.  Also I know that it is impossible to put some strict deadlines in such creative projects because requirements can be changed, the terms can be shifted or broken as a result the final quality will be worse than one planned before.    I am unfortunately not a high-qualified game developer, but the good news is that I have many successful projects in my portfolio. There is really not much difference between developing software or games. For more than five years I have been developing a naval diver detection systems with strict deadlines and occasionally changing requirements. I have been using computer graphics and many other technologies to achieve my goals. It makes me feel positive about the outcome of this project and I am keen on putting all the effort into it. I do believe this project will succeed.   igg.me/at/caesaria-game
  3. CaesarIA

    If you like this game you can support us in Steam   Near time i add CaesarIA in Steam greenlight, you voice very important for me. Thanks to all.
  4. CaesarIA

      Last changes Now may use native Caesar III(c) resources without repack to zip archives, use cmd option -c3gfx /path/to/caesar3_folder Add Tarrentum mission (3 military) Add sound options window Add background music player Increased interval between month change Add drawing sprites over walkers in constuctions Capua mission improved. Add briefing screen for mission select Now may load custom archives list, see game/resources/archives.model Now hippodrome and chariot workshop work correctly Fixed chariot animation Governor's houses now not need workers Add project and compile instructions for Android build Existence of necessary goods is displayed near factory Loading window (map, mission or save) now show button for continue Fixed farm broke carts when overload output store Add animation for short information messages Add confirmation dialog before dispatch emperor requesting goods Factory production rates correct, now production rate equale carts/year Granary now say about itself troubles Now may open emperor adviser from senate infobox MarketLady and MarketBuyer now load correctly, before those can lose here goods Add house morale calculating Add Mercury and Nepture divinities Fountain now evolve/devolbe such terrain around Factory now not applying any goods without workers Buildings animated on crime/damage layer now Now may switch netween same type buildings from infobox (keyboard button "," and "." ) Amphitheater now generate gladiators or actors when possible Add citizens ideas about eduacation state in city Engineer now have own ideas about city BurningRuins have different animation interval by building updater not download haiku-os specific file on windows Last versions here
  5. CaesarIA

    * Localization improved   * MarketLady append market access to house, when it buy something    * MarketLady now buy foods from warehouse also   * House now comsume all type of foods, which available on market   * MarketKid save/load fixed   * Game not crashed if priest cannot load state from save   * Fixed loading serviceman from save   * Fixed display city wokers number on Employer's adviser screen   * Granary/Warehouse now may use "deliver good" order   * Dock correct trade operation, only 2 workers active work from it   * SeaMerchant now go away from city when buy all needed goods   * Add stacktrace for informatively logging error   * Fixed trade route save\load land type   * Fixed merchant leave city if no trade operations did   * Save game state improved, now save events from missions   * TaxCollector fixed bug with big money collecting   * capua.mission improved empire start state   * empire map, now may contain drawble objects   * entry point now correct loading from (caesarIII).sav files   * EmperrorWindow display request improved   * Fixed emperror requests complete   * Tooptip  widget displaing fixed   * Tutrorial mission now use map from original story   * City funds history fixed step add       Windows offline online   Mac offlineonline   Ubuntu 13 offline online   Haiku offline online
  6. CaesarIA

  7. CaesarIA

    + Initial language is changed to English + mission engine recoding, add events with fixed birthtime, load mission localization when mission start, loading new mission after win + first training mission from original Caesar III (r) added + widget for text display now show images like original game + work on macosx and haiku (on mac need to start in a full-screen mode, but may will be loss events from mouse) + Cyrillics symbols work on mac improved + fixed color scheme on mac + add tooltips on information layer "Religion" and "Education" + add event locust attack on farms with the subsequent consuming of a crop Is added for some time + add information layer of "Problems" + frequency of updating territory around the reservoir fixed, water layer sometimes vanished when was large number of consumers + Baths/fountains show warning message when constructed far from the reservoir + add new citizens opinions + fixed crash "Entertainment" layer if the house was left by inhabitants + calculation rating of culture equale such original game + fixed broke water layer near fountain at new month start + improved descriptions for farms and extracting buildings + fixed getting user home directory for linux + fixed crash when using fast load function on windows + fixed display of the unemployed near the senate building Download [url=http://sourceforge.net/projects/opencaesar3/files/bin/caesaria-win-2014_02_14.zip/download]Windows(zip)[/url] [url=http://sourceforge.net/projects/opencaesar3/files/bin/caesaria-ubnt13-2014_02_14.zip/download] Ubuntu13(zip)[/url] [url=http://sourceforge.net/projects/opencaesar3/files/bin/caesaria-osx-10.8_64-2014_02_14.zip/download]Mac OS X (10.8.3, zip)[/url] (better in fullscreen) [url=http://sourceforge.net/projects/opencaesar3/files/bin/caesaria-haiku-gcc2_2014_02_14.zip/download]Haiku(gcc2, zip)[/url]
  8. CaesarIA

    Game in develop mode, yet... (current stable version 0.2 r1105) Remake of Caesar3   Now + render engine fork from FIFE + sound engine with ambient sounds + lot of working buildings + minimaps + correctly economic, city cimulation, houses evolving etc... + json based save/load system + linux, windows os support + support maps/saves from Caesar3 + translations English,Dutch, Russian, Spanish and Swedish + rome empire, merchants and trade routes + soldiers and fortifications + citizents simulations + online/offline install + online update   Future + Network + Big maps + Android, MacOS X, Haiku os support   Steam concepts http://steamcommunity.com/sharedfiles/filedetails/?id=201200943   Last Changes (28.01.2014) + senate show current values of ratings + trained actors (gladiators/recruits), correctly find the road to buildings where they are necessary, (the actor is necessary at theater, the gladiator in an amphitheater, etc.)+ add information window for ruins of the collapsed buildings + add education layer + on entertainments layer add descriptions of problems in buildings under the cursor + clear land fixed, later sometime drawing  artifacts from previous tile state + add management window for legion + translations improved, now more situations are corrected displayed with normal text (Swedish remained from the last version) + recoding game engine, now compliing in MacOS and Haiku (gathers, but yet doesn't work normally) + path finding algorithm fixed, fixed jamming in tree tiles and crossroad loops + improved drawing low bridges and behavior of inhabitants on it + if inhabitants on the bridge that can't be removed + add fast save\load (F5\F9) + on emperor screen shows current requests + now game doesn't crash at creating trade route with city which not buy goods   Full archive(windows, linux) Online installer windows Online installer linux
  9. OpenCaesar3

  10. OpenCaesar 3

    New build available https://github.com/gecube/opencaesar3/wiki/builds
  11. OpenCaesar 3

    + Water infrastructure fixed + Add overlays for damage,religion + Shoreline upgrade available + Prosperity now calculate + Granary\Iron mine work correct   screenshots here http://www.gamedev.net/gallery/album/649-opencaesar3/
  12. OpenCaesar 3

    + Bridges add + Pathfinding use bridge now + Screen employers advisor improved + add construction offset for citizens (bridge,walls)   >
  13. OpenCaesar 3

    Save\load system add. Disasters (burn\collapse) event add. Prefect behavour fixed.   More screenshots here http://www.gamedev.net/gallery/album/649-opencaesar3/
  14. OpenCaesar 3

    Desirability add.   Screenshots here. https://github.com/gecube/opencaesar3/issues/114  
  15. OpenCaesar 3

    Have update.   http://www.gamedev.net/gallery/album/649-opencaesar3/