Imperium: Sticks
A Real Time Strategy game from the dawn of history to the far future

Project page
Site news
About the project
Still to come
Game manual

How to get involved


Version 0.1.5

- New unit - Granary unit
- New unit - Blacksmith unit
- Units will now drop resources off at the closest appropriate dropoff point, rather than just the town centre
- Stationary units can now be animated
- Map tiles now have a 1 in 50 chance of containing recoverable underground resources, in preparation for mining units
- Units now have a bounding ellipse
- Female worker unit art upgrade
- Improved obstacle avoidance
- Bugfix - Chickens can again be built in the stockyard
- Bugfix - Fixed problem where female workers could not switch between task panels
- Bugfix - Fixed error where drawing boundaries were being incorrectly calculated when drawing to a surface
- Bugfix - Units can again move to and harvest chickens
- Bugfix - Building Warrior Lodge now places Lodge in more accurate location

Version 0.1.4

- Game window can now be resized
- Minimap location changes based on size of game window
- Default screen resolution is now 800x600
- Minimap now centres on chosen location properly
- Minimap viewport box is now visible
- Multi-unit selections now require a selection box greater than five pixels wide or long
- Chickens now turn pink while being harvested
- Improvements to the granular pathfinder
- Units now track which direction they're facing when moving
- New graphics for the Warrior Lodge unit - thanks again to qubodup!
- New unit - Wisdom house - an early university - graphics by qubodup!
- Civilizations can choose a writing stle, between:
- Ideograms, similar to Asian languages - gives 10% bonus to research point allocation (written languages are complex, so only the intellectual elite can fully understand them, and by extension be placed in positions of importance), *or*
- Alphabeta, similar to Latin/Greek langauges - gives 2 extra research points per year (written languages are easy to learn, and ideas - in theory at least - enjoy a wider audience)
- Players can now adjust the in-game audio volume
- Male units now harvest resources faster than female units
- Game can now make use of more than one sound clip per action
- Bugfix - Game no longer crashes when clicking on statusbar option area when no unit is selected
- Bugfix - Game can now be resized to specific screen resolutions
- Bugfix - Chickens now stop moving when being, er, harvested
- Bugfix - Units will now follow chickens into the stockyard, rather than needing to be sent into the stockyard *then* to the chicken
- Bugfix - Fixed segfault when multiple timed messages timed out and were removed from the message queue
- Bugfix - Units should now drop resources off at the closest town centre, rather than the first in the queue
- Bugfix - Spurious "Insufficient resources" message should no longer be seen when building units

Version 0.1.3

- Set the Agriculture advance as a prerequisite to building farms
- Added the Stockyard building as a unit - thanks to qubodup!
- Livestock units are now placed inside the Stockyard unit
- Livestock units now belong to the resource civ structure, rather than the player, so that piracy and raiding is possible.
- Town centre art update
- Farm art update
- Warrior lodge art update
- Resource art update - thanks again to qubodup, looks much better!
- Game now tracks number of male/female unit ratio in civilization
- Game now adjusts unit costs based on number of male/female units
- Directed research no longer hardcoded in game; data has been split off into data files
- Added idle task state animation
- Livestock units now randomize behaviour between waiting, walking, and, er, pecking the ground...
- All statusbar pieces now draw to the statusbar, not directly to screen
- Units now keep track of damage accumulated
- Units can now be constrained by another unit; when placed inside that unit, the constrained units will not leave the parent unit's boundaries
- Civilization now keeps track how long a civ prefers training men/women for 26 years, units cost modifiers are adjusted based on this history
- Female workers' strength has been reduced slightly to balance greater speed
- Removed ability to resize window for the time being - will add that back in in a later version
- Bugfix - units and technology descriptions now display the proper language upon game start
- Bugfix - unit build bar no longer overflows when the maximum health modifier's been increased past 1.00x
- Bugfix - removed errant message overlapping the sliders on the research panel
- Bugfix - while a stationary unit is selected, right-clicking the game map while building another unit no longer crashes the game
- Bugfix - units no longer keep trying to build completed buildings
- Bugfix - units are no longer visible on the statusbar
- Bugfix - build buttons are now disabled when buildings are in the process of building a unit
- Bugfix - buildings are now built until maxhealth reached, so if under attack, the building is finished but damaged
- Bugfix - players can now use the numlock key to enter numbers

Version 0.1.2

- Modified the map tile assignments to assign map tiles based on height, not on land/water assignment
- Added deep sea tiles to game map
- Added river tiles to game map
- Added more complete beach tiles to land map
- Game can now handle more than one displayed tile type
- Added more tile types to minimap
- Added options to display or remove resource types on the minimap
- Proportion of metal to gold is now roughly 10:1
- Added persistent minimap display options to game (can now remove display of any resource type from minimap view)
- Added Mac OSX build target in Makefile
- Rollover cost displays now show red when not enough resources are present to create the unit
- Bugfix - Corrected inconsistencies in the minimap tile assignments
- Bugfix - Unit creation indicator bars no longer overflow their boundaries
- Bugfix - Metal is now being added to the map as a resource
- Bugfix - Map minimap colours are no longer hardcoded (resource colours are, tho)
- Bugfix - Map movement boundaries are now respected
- Bugfix - Rollover dialogue boxes are again properly sized
- Bugfix - Directed research progress bars again display on screen
- Bugfix - Ore is now more evenly distributed around the map, not just the upper half

Version 0.1.1

- Adjusted discovery probability of existing technologies to make it slightly more realistic
- Added 'special' technologies - this is to simulate situations and techs where certain (now government protected) cultures never discovered key technologies, such as the wheel, metalworking, basic mathematics, or writing. These technologies do not have their probability of discovery increased with each discovery pass
- Split technology descriptions out into description files to accomodate multiple languages (french is the only translation I have right now, though)
- Added spiritual, engineering, civic technology categories
- Added Alcoholic Fermentation tech - increase maxhealth by 1.5x (alcohol was an early water sterilant), increase civ contentment by 10
- Converted game engine back from isometric viewpoint to square tile map engine
- Added code to show players where valid building sites are
- Rewrote granular pathfinder to eliminate pathfinding loops
- Updated function to display when area is clear to build new building
- Bugfix - tech template now properly populates the prereq key
- Bugfix - Game now remembers langauge selection properly between games
- Bugfix - AI *should* no longer build a townhall on top of other units
- Bugfix - Crashes when game tries to get draw access to out-of-bound screen coordinates fixed
- Bugfix - Units no longer walk on water tiles - again
- Bugfix - Units now display the proper animation when attacking other units
- Bugfix - Units should now be able to get around obstacles when lined up exactly on the x or y plane
- Bugfix - Trees should no longer be placed on beach tiles
- Bugfix - Macro pathfinding no longer hangs up on beach tiles now - screen offset is properly updated when game starts

Version 0.1

- Game should now, if an image file or description file is missing, let the user know which one upon crashing
- Basic sound engine implemented
- Added further french translations
- Removed uming font - nothing uses it yet, anyway
- Changed panel tabs to use description files - now need to create said files
- Bugfix - Map no longer generates one water tile squares
- Bugfix - Units no longer start on water or beach tiles
- Bugfix - Metal and gold no longer start on beach tiles
- Bugfix - Game no longer initializes player 1 twice in single player game
- Bugfix - Game no longer crashes when the configuration file is missing
- Bugfix - Units *should* no longer start on top of other units
- Bugfix - Plugged a number of rather serious memory leaks

Version 0.0.11

- Added unit description to template files
- Startscreen has been reworked
- Widget system has been started
- Units now display short description when selected. (thanks for the idea, Ryan!)
- Added dependency on SDL_ttf library to be able to display text in multiple languages
- Partially added French as an available language
- Began work on splitting displayed text out of main program and into language files
- Bugfix - fullscreen mode under Mac OS X no longer flickers and shears
- Bugfix - fixed crashed that occurred when units more than two tiles in size were destroyed

Version 0.0.10

- Rewrote technology advancement checking so the tech tree is no longer *quite* so linear; all technologies are now loaded at startup and each is checked to see if all prerequisites have been met. If so, a check is done against the probability of discovery, and if the check is met, the advance is added to a list of potential discoveries. The discovery with the greatest potential of being discovered (probability vs determined chance) is the one discovered that year.
- New resource: metal
- New resource: gold
- Removed defensive tech as a tech category
- Added engineering tech as a tech category
- Replaced the static status window with sliding status windows - most previous information ported to new windows
- Added bit to track types of units in play: workers, buildings, and military
- Bugfix - Victory and defeat are now displayed, rather than "game paused"
- Bugfix - Name entered by player is now retained by the civ structure
- Bugfix - split text initialization into two separate processes so the game does not appear to be hung when initializing
- Bugfix - removed restriction that status displays could not be accessed unless all units were deselected
- Bugfix - units were not being removed from all tiles always, which caused random crashes

Version 0.1-20070330

- New text has been saved and Y-offsets are now used for clarity and dynamic switching of fonts (when created)
- Minor change to game interface - sidebar has been removed
- Added project website to startscreen
- New unit - Lodge
- Map now displays properly in 1024x768 screen resolution
- When selecting a building site for a new unit, red tiles are used to show which tile is unavailable for use
- Bugfix - When units are selected, clicking where the status displays are will no longer change the current panel
- Bugfix - When research reaches end of tech tree, last research is no longer displayed as current
- Bugfix - Program no longer segfaults when shut down by clicking the X window icon
- Bugfix - Directed techs are now cascade researched; starting a new research no longer aborts the previous research
- Bugfix - minor fixes of unit sprites
- Bugfix - Lodge and axe units now display option panels properly
- Bugfix - coloured tiles, used to show the build location of a unit, now highlights all tiles correctly

Version 0.1-20070222

- Added section to display text in civlization colours
- Added contentment var to civilization - currently does not affect civilization output or function
- Added civilization statistics section to statusbar
- Added bounding slots around units so units can find the closest unused slot when trying to get near another unit
- New Tech - "Rhythmic music (psych)" undirected advance - sets civlization contentment to 50%
- New Tech - "Advanced Stoneworking (offensive)" undirected advance - allows building lodge unit, creation of axemen/axewomen
- New unit - Axewoman (created at Lodge)
- New unit - Axeman (created at Lodge)
- Bugfix - AI civs were not performing undirected research
- Bugfix - Technologies are now properly loaded
- Bugfix - Unit removal sub now allocates enough array memory
- Bugfix - Once stationary unit was finished being built, proper display image was not being used
- Bugfix - Only worker and town centre option panels were being initialized - now all panels are initialized
- Buxfix - Units can now move around other units...mostly
- Bugfix - Program no longer crashes when compiled with optimization flags

Version 0.1-20070115

- Added ability for units to do directed research
- Added female worker units
- Text can now be displayed in seven basic colours
- Partially added: when building a new stationary unit, target tiles are displayed in blue to show where building will take place
- New Tech - "Hand Loom (basic)" directed research advance - increases unit defense by 2
- New Tech - "Tanning (basic)" directed research advance - increases unit defense by 2
- Bugfix - fixed issue where unit health did not increase when Agriculture technology was discovered
- Bugfix - status window arrows now change panels properly
- Bugfix - civilization research modifiers are now synchronized across the network
- Bugfix - units now no longer get hung up on other units *all* the time when collisions occur
- Bugfix - granular pathfinder will no longer flag occupied space as clear
- Bugfix - granular pathfinder now checks for sufficient free space around obstacles for unit to move through
- Bugfix - unit tile membership is now done through added checks around unit boundaries, not just through boundary corners
- Bugfix - units can now partially find new destination space when destination is occupied

Version 0.0.9

- Created a shadow map to refresh map on screen - one single blit instead of 100+ smaller ones - minor speedup
- Game now exits when esc key pressed or when close window icon clicked
- When game is paused, the message is now easier to see
- Two-tiered pathfind implemented - one for long-distance moves and one for obstacle avoidance
- New tree sprite added (Thanks, Richard!)
- Bugfix - corrected pathfinding - units now walk to centre of tile
- Bugfix - map scrolling problems corrected
- Bugfix - units can now walk between adjacent beach tiles
- Bugfix - units no longer get held up by unit boundaries overlapping water tiles
- Bugfix - units can no longer attack their own side
- Bugfix - units are now properly removed from tile membership
- Bugfix - Trees now collapsed into civilization structure
- Bugfix - Optionpanel now displays the correct rollovers
- Bugfix - Stop movement option button now stops units correctly
- Bugfix - units are now not added to tiles multiple times
- Bugfix - selecting multiple units now selects accourding to box boundaries, not tile membership
- Bugfix - trees are now assigned UIDs properly
- Bugfix - obstacle navigation loops mostly fixed
- Bugfix - game no longer starts and ends a single player game when "Act as Host" is selected and "Start" is clicked before any players have joined the game
- Bugfix - The startscreen "Start" button no longer displays incorrectly when clicked
- Bugfix - game window can now be resized to 800x600 from 1024x768 resolution
- Bugfix - units no longer get hung up when sent to a new destination while harvesting resources
- Bugfix - units now stand beside units they are sent to, instead of a distance away
- Bugfix - game map now displays properly in 1024X768 windowed resolution
- Bugfix - game now no longer tries researching techs after reaching the end of the tech tree (no more tech loops)
- Bugfix - farms, when the building unit does not completely build the farm, will continue to be built when a unit is sent to it, rather than start yielding resources

Version 0.0.9-20060922
-Bugfix - all units now centered on tile
-Bugfix - pathfinding works better now
-Bugfix - units are now added to all bounding tiles
-Bugfix - units now do not start in water
-Bugfix - map now centres on lead unit correctly

Version 0.0.9-20060905
- Changed map to isometric viewpoint
- Added skeleton code for AI
- Added skeleton code for tech tree
- Added basic modules for directed research

Version 0.0.7

- Units now have a bounding base for collision detection purposes
- Basic pathfinding implemented
- Added research point allocation sliders to game UI
- Added locks to the research point sliders so players can pin point allocation
- Selected video options are now persistent between sessions
- Minor graphics improvements
- Game now reads from and saves video options to a configuration file
- Bug fix - Map no longer scrolls too fast
- Bug fix - Running fullscreen under Windows should no longer crash to the desktop

Version 0.0.6

- Added timed message displays
- Added status bar displays for units currently being built
- Network support - synchronized civilization data
- Completed unit/template separation
- Added unit animation
- Added video options to startscreen
- Generalized the cursor display routine to handle any image type
- Game should now handle up to 16 players.
- Separated option panels into three separate panels. Generalized option functions as well.
- Added farms to unit types
- Fixed collision detection bugs
- Collapsed the separate mobile/immobile unit lists into a single unit list
- Placed current resource totals on the sidebar
- Game victory/loss message now displayed on-screen
- Bug fix - Players can no longer build buildings on top of other units or other buildings
- Bug fix - Built units no longer arrive on top of other units
- Other minor bug fixes

Version 0.0.5

- Generalized the option panel button routines somewhat.
- Changed timing to use SDL_GetTicks() rather than clock() (done for amd64 Linux users)
- Changed building routine to slowly build, rather than spring forth fully assembled.
- Network support - synchronized the map, trees and initial players.
- Network support - synchronized unit movement and actions.
- Network support - added lobby for players to join network game
- Added basic video options
- Added unit unique IDs to units for faster sorting and finding of units across the network.
- Added location window in minimap.
- Fixed attacks to properly decrement unit health.
- Started unique unit/unit template separation
- Added bounding box for selected units
- Centred on starting units at game start
- Generalized the game to support up to 4 players properly
- Fixed minor map bugs
- Game now spawns civilizations when players connect, and frees them when they drop out.
- Minor bug fixes