• Register

CaesarIA is remake of Caesar III in the big world of Ancient Rome. You can build the small village with some of gardens and a workshop where you want. You also can perform tasks from emperor or build the large city and broke attacks of barbarians, Egyptians or carfagens which want to steal your goods and kill your citizens! You also can pass the company from original game. The good lock with high walls will help to cope with any invasions.

The fighting system of game continues and develops the principles from Caesar III. Legions of soldiers can be sent to any point of the card, but don't submit to direct instructions of the player, and work independently. Depending on a situation soldiers can recede or be reformed for the best interaction.

The agriculture, extraction and production of goods will demand adjustment of production chains and if the necessary goods can't be got in the city, your trade partner can always sell it to you using land or maritime trade routes.

Features:
+ loading maps from original Caesar III.
+ save\load game state
+ create\destroy buildings and construction
+ constructions influence on desirability around
+ migration(in/out) of citizens
+ warehouses and granaries for storage of goods and products
+ damages\fires of buildings
+ entertainment constructions (theaters, collisions and B'day)
+ imperial trade network with the computer-cities
+ fishing, agriculture, extraction
+ Information layers for city states
+ prefects, engineers, trainee, soldiers and other
+ advisers
+ employments simulation
+ houses grow depending conditions around
+ health care and water supply
+ military buildings and war action

Support OS
Linux, Windows, Haiku (future MacOSX,AndroidTab?)

Current state
+ Now it is possible to download the game alpha version.

CaesarIA realizes all main mechanics, but still some important features aren't made yet completely, for example:
- the relations with emperor and gifts,
- wrath and blessings of gods,
- realistic financial system (salaries, purchase of goods, job search)
- specification of citizens, preservation of parameters of thoughts and formation of requirements
- seamlessness of the world
- computer players (cities) and simulation of a distribution network
- network (web/local)

With your support i'll create remake of great game and to add new opportunities.
CaesarIA: devide et empera

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Original article here (https://bitbucket.org/dalerank/caesaria/wiki/Reverse engineering Caesar 3 (part 2))

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.

MapMap 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.
+=
  1. 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.
  2. 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:

Indiegogo campaign

Indiegogo campaign

News

Add campaign for my game in Indiegogo. Caesar's remake need your voice!

Big map support

Big map support

News

In the latest revisions I achieved stable operation of the game in a large map (up to 512x512 tiles). The original game does not support maps more than...

CaesarIA game

CaesarIA game

News

Nightly builds available, north and desert region, dock/oracle crash fixed

CaesarIA in Steam Greenlight

CaesarIA in Steam Greenlight

News 1 comment

If you like this game you can support us in Steam Greenlight

Add file RSS Files
CaesarIA (b68, Linux)

CaesarIA (b68, Linux)

Full Version

Hey! Here we go with another big update which mostly contains stability fixes + a couple updates of the content of the game. Let's go straight to business...

CaesarIA (b68)

CaesarIA (b68)

Full Version

Hey! Here we go with another big update which mostly contains stability fixes + a couple updates of the content of the game. Let's go straight to business...

CaesarIA(Build 66,Linux)

CaesarIA(Build 66,Linux)

Full Version

This is another huge update for all you Caesaria fans. Let's go straight to the subject. First of all, what was fixed: - Fixed sound processing while...

CaesarIA(Build 66)

CaesarIA(Build 66)

Full Version

This is another huge update for all you CaesarIA fans. Let's go straight to the subject. First of all, what was fixed: - Fixed sound processing while...

Caesaria (Build 64,linux)

Caesaria (Build 64,linux)

Full Version

Summer is here! In this update we've fixed a lot of minimap bugs, some other minor issues and added new content. Check this out: + Added textures for...

caesaria (Build 64,windows)

caesaria (Build 64,windows)

Full Version

Summer is here! In this update we've fixed a lot of minimap bugs, some other minor issues and added new content. Check this out: + Added textures for...

Post comment Comments  (0 - 10 of 17)
apurba
apurba

Tried every android version but crashed after showing "initializing animation" .... and sorry for the bad english......

Reply Good karma Bad karma+2 votes
RoyTheShadow
RoyTheShadow

what do i do for taking part of staff of language conversion?

Reply Good karma Bad karma+1 vote
asi_turk
asi_turk

Hey I got some questions:

1.Why people walking are so slow even ve make 0 speed.
2.When people come to live in my city they just go away even if they make it to lot!

I know remarking a game is a very hard thing but this issues gotta to be fixed I got 95 pop and 69 empty lots even people coming to live in that lot!

Reply Good karma Bad karma+1 vote
asi_turk
asi_turk

"0 speed" I mean 100 speed sorry :D

Reply Good karma Bad karma+1 vote
Guest
Guest

It is good to know someone is remaking this awesome game!

Reply Good karma Bad karma+1 vote
CreativeOven
CreativeOven

Hey i tried the one for android i could install but i had black screen, please tell what could it be or what i need i can't wait to play caeser 3 in my mobile phone it's like a dream for me : ).

Reply Good karma Bad karma+1 vote
Oddly?
Oddly?

hello I was just looking though all of your images what a rush of Déjà-vu! :D I also had a small question, in the description it said "- seamlessness of the world" I was just curious what you meant? do you mean like a massive world map where you can see other nations and cities?

Reply Good karma Bad karma+1 vote
darkdiablo7
darkdiablo7

CaesarIA (Windows,b1577) can't play. it's say "This appliction has failed to start because libpng15.dll was not found. Re-installing the application may fix this problem." what happen? i have download all file.

Reply Good karma Bad karma+1 vote
CreativeOven
CreativeOven

nice that you guys are remaking it , really worth rome based game.

Reply Good karma Bad karma+1 vote
Guest
Guest

This comment is currently awaiting admin approval, join now to view.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

X