A downloadable Real time strategy for Windows, macOS, and Linux

Stone Kingdoms
Is an open source fan remake of the famous Stronghold from Firefly Studios. Modern tech stack, support on all three major platforms - Windows, Mac and Linux and much more - with the original Stronghold art - courtesy of Firefly Studios and with their permission - all for free!


More info on: https://gitlab.com/stone-kingdoms/stone-kingdoms

For running on Linux, Mac and ARM read the READMEs inside the zip.

For Linux you can also download the game on flathub: https://flathub.org/apps/io.gitlab.stone_kingdoms.StoneKingdoms


Support the core maintainer on patreon: https://www.patreon.com/stonekingdoms/about

StatusIn development
PlatformsWindows, macOS, Linux
Rating
Rated 4.7 out of 5 stars
(18 total ratings)
Authorstonekingdoms
GenreStrategy
Made withLÖVE
Tags2D, Isometric, LÖVE, Real time strategy
Code licenseApache License 2.0
Average sessionAbout a half-hour
LanguagesEnglish
InputsKeyboard, Mouse
LinksSource code, Community

Download

Download
StoneKingdoms_Win64_0.6.1.zip 276 MB
Download
StoneKingdoms_Linux_Mac_0.6.1.zip 272 MB

Install instructions

On windows - extract the zip and run the .exe

On linux/OSX - download the StoneKingdoms_Linux_Mac zip  and read the README

[Linux only] It's available on flathub as well: https://flathub.org/apps/io.gitlab.stone_kingdoms.StoneKingdoms

Development log

Comments

Log in with itch.io to leave a comment.

(3 edits)

Hello,

after I have completed the last mission "Faith in Architecture" and im back into to menu - I would like to notice my success history. 

Maybe you could add a visual small medal symbol or badge or kind of icon to the accomplished Mission(or Campaigns).

We need more missions. It's really fun.

Have a beautiful day.

Hi there, fist of all thank you for the great work you are doing! I really love Stronghold and just discovered your project. Its amazing. I really like the idea of building an improved version of Stronghold in with an Open Source license.

What I generally don’t like about software development is that people only talk about the things which do not work. However that’s the only way to improve the (already great) version of the game. So here we go:

Red Numbers
When I have 11/12 peasant the number shows green when I have 12/12 the number is red -> I don’t like that. It would be green unless I have not enough peasant to occupy my buildings the numbers should show green.

Trees not growing
A mechanic to let trees grow seems not to be implemented yet.

Depth of field
I really hate the DOF blur when you zoom in. I would either completely remove it or make an option for it in the menu.

Mission two is broke
As someone already stated it is currently not possible to build maces. Whatever you klick only swords will be produced.

Armory bug
In mission two I had two armories. For mor space I build three additional once in a row (5 in row) and demolished the one in the middle. My workers will run through the added two armories until some weapons are stored in them.

In general, I think it is complaining on a high level and probably you are already aware of most of the issues. However I wanted to give you a short feedback and express my appreciation for your work.

1. Red numbers

I disagree. If you have 12 peasants and 12 workers, that leaves you with 0 room for recruiting soldiers or engineers. And it's better to bring attention to it earlier rather than later when you're getting attacked.

2. Yep, not implemented yet.

3. Will make it an option as some people like it.

4. Will fix.

5. I'm not sure why we even allow destruction of armories in the first place, because I don't think we handle that gracefully. There is a separate bug where units will pass through buildings placed after they've found a path, so it kinda makes sense.


Thank you for the interest!

Thank you for your quick replay.

1. Red numbers
I probably was phrasing it a bit unclear. Even if I have 11 workers and 6 free peasants the number will be red. See screenshot below.


5. It was indeed not about the separation or emptiness of the armories but because of the routing done before building them. I did another test about it yesterday.

I do believe it makes sense to give players the option to destroy armories. For me the building placement is mainly about efficiency but a lot of players do want to build pretty castles. Replacing the armory or even separating it gives players the possibility to fine tune there castle designs.

The separation of the armories as I described it (destroy the one in the middle) was also in the original game possible, if I remember correctly.

Yes, that's a good point! We will make something more UX friendly.

hi guys, can i ask for some help, im trying to run this on my laptop, (acer travelmate runnig windows 10 , i5 processor, 8Gb ram) but ti keep getting screen flicker, i ran it in compatibility mode for win 8 and it was ok, today ive restarted and it is flicketring again, ive tried changing tdisplay settings from 1920x1080, to a lower res, but no joy .. 

has anyone got any good advice.

snakeydee

Try to update the video drivers, otherwise I can't really help with anything.

(2 edits)

Hey guys,

I had a little time, so I translated the source language to Hungarian.

How can I import/use it in the game under Windows, to test its ingame appearance?

I'm not sure about some things/words.

They are correct, but that's possible, I need to modify some of them a little bit, according to the environment.
Thanks a lot! :)

Hello,

Install love2d from here: https://love2d.org/

Download the latest master .love file and run it. You will be able to select Hungarian from the same options menu under interface.

Here's the .love file: https://drive.google.com/file/d/1P1Yca00sBSTZaRcq0no-d6FNFJHM4owx/view?usp=shari...

Hi, many thanks! :)

I think some words / sentences are not translated... or... maybe there are some bugs, because they are still in English on some places...

Will the menu items be translated later, or are these intentionally in English under any languages, and you don't plan to translate them?

(I also made some screenshots about them, but I didn't want to upload here, because I made more than 10 pictures... :) )

You can upload them on gitlab as a new issue.

The 0.6 Update is brilliant! I love the new ideas like upgrading the keep. But i encountered a few bugs. 

- sometimes the peasants are not respawning and so you are stuck with 7 or whatever you have at the moment

- giving the people money to increase their happiness also increases my gold, so... yeah :D

Yes, I also noticed that, sometimes the "Bribe" generates gold :D

In addition I noticed some other bugs too:

- If I save the game, after I load it, the tasks disappear.

- In "Arms Race" Campaign, I was unable to produce Maces, only Swords.

It doesn't matter if I select the mace icon or the sword, the Blacksmith produces only swords. :| Therefore it is impossible to finish this mission :\

If I upgrade the Keep 3 times, and as my Kingdom growths, I have more than 40 "beds", but I have only around 30 peasants.

It doesn't matter if I build more houses, the beds number increases, but the headcount doesn't, and the new buildings will not function.

If I destruct buildings, then if I rebuild them, they will not function due to lack of manpower, however before the destruction it was working, I had enough men.

I figured it out the only working method was that, if I don't let to growth to big my Kingdom, and the headcount, and I destroy every unnecessary buildings.

Very strange bugs... :|

Will release 0.6.1 that fixes these. Thanks for the reports.

Thank you for these reports! We will release 0.6.1 with fixes that addresses these within the month.

Hello guys,

I ran into this error:

Error

objects/Object.lua:78: Object has no instance mesh instance of class FortressAlias

 coordinates: 74, -1

Traceback

objects/Controllers/ErrorHandler.lua:65: in function 'handler'

[C]: in function 'error'

objects/Object.lua:78: in function 'render'

objects/Structures/Fortress.lua:31: in function 'initialize'

libraries/middleclass.lua:168: in function 'new'

objects/Structures/Fortress.lua:69: in function 'initialize'

libraries/middleclass.lua:168: in function 'new'

objects/Controllers/BuildController.lua:159: in function 'upgradeKeep'

states/ui/construction/level_2_castle.lua:238: in function 'onclick'

libraries/loveframes/objects/image.lua:134: in function 'mousereleased'

libraries/loveframes/objects/base.lua:148: in function 'mousereleased'

libraries/loveframes/init.lua:323: in function 'mousereleased'

states/game.lua:374: in function <states/game.lua:369>

main.lua:116: in function <main.lua:106>

[C]: in function 'xpcall'

(1 edit)

Today I loaded the saved game, and after some seconds, it ran into this:

Error

objects/Units/Unit.lua:294: attempt to index local 'structure' (a nil value)

Traceback

objects/Controllers/ErrorHandler.lua:65: in function 'handler'

objects/Units/Unit.lua:294: in function 'requestPathToStructure'

objects/Units/Miller.lua:252: in function 'update'

objects/Units/Miller.lua:306: in function 'animate'

objects/objects.lua:704: in function 'update'

states/game.lua:127: in function 'update'

main.lua:149: in function <main.lua:106>

[C]: in function 'xpcall'


I get always a blue crash, when I try to update the Keep to a Fortress in Campaign mode - Arms Race.

(1 edit)

Thank you for these reports. Our automatic error reporting has caught these issues and reported them with the crash dump. We're working on fixing these.

(1 edit)

Error: objects/Units/Unit.lua:212: attempt to index local 'quad' (a nil value)

stack traceback:

        [love "boot.lua"]:352: in function '__index'

        objects/Units/Unit.lua:212: in function 'animate'

        objects/Units/Chicken.lua:216: in function 'animate'

        objects/objects.lua:665: in function 'update'

        states/game.lua:124: in function 'update'

        main.lua:109: in function <main.lua:51>

        [C]: in function 'xpcall'

        [love "boot.lua"]:368: in function <[love "boot.lua"]:355>

        [C]: in function 'xpcall'

Thank you, we will fix it.

(17 edits)

I am from the BFME2.22 Mod Team and we have an own BFMELauncherSetup.exe really handy.


I would also really appreciate a kind of a small gamelauncher or an auto updater within a game launcher to always be on the latest version. 

( for beeing up to date & for the possibility to instant report errors & crashes to you )

Like this blue screen crash when saving the game:

Error

objects/Units/OrchardFarmer.lua:83: attempt to index field 'animation' (a nil value)

Traceback

[love "callbacks.lua"]:228: in function 'handler'

objects/Units/OrchardFarmer.lua:83: in function 'serialize'

objects/State.lua:167: in function 'serializeObject'

objects/Structures/Orchard.lua:282: in function 'serialize'

objects/State.lua:167: in function 'serializeObject'

objects/Controllers/JobController.lua:92: in function 'serialize'

objects/State.lua:372: in function 'save'

objects/Controllers/SaveManager.lua:69: in function 'save'

states/ui/pause/menu.lua:91: in function 'onclick'

libraries/loveframes/objects/image.lua:134: in function 'mousereleased'

libraries/loveframes/objects/base.lua:148: in function 'mousereleased'

libraries/loveframes/init.lua:320: in function 'mousereleased'

states/game.lua:348: in function <states/game.lua:346>

main.lua:77: in function <main.lua:51>

[C]: in function 'xpcall'

[C]: in function 'xpcall'



Have a beautiful day!

Replied in the changelog.

Is there a 32 bit version for Windows or Linux of this game?

No, the RAM will barely be enough. 

I could install more RAM.

On 32bit the RAM is limited to 4GB per app no matter what.

Does the game require more than 4 GB RAM?

Yes.

just leaving it here (PS.: i am loving the game!)

Error

objects/State.lua:202: Did you miss to add the Alias in the Object class exclusion list?

Couldn't dereference object:nil with ref obj:{

  additionalOffsetY = 0,

  baseOffsetY = 98,

  offsetX = 0,

  offsetY = -98,

  parent = {

    _ref = 49109,

    info = "instance of class Inn"

  },

  tileKey = 4

}

Traceback

[love "callbacks.lua"]:228: in function 'handler'

[C]: in function 'error'

objects/State.lua:202: in function 'dereferenceObject'

objects/State.lua:284: in function 'deserializeObjects'

objects/State.lua:466: in function 'load'

objects/Controllers/SaveManager.lua:92: in function 'load'

states/game.lua:62: in function 'delayedInit'

states/game.lua:109: in function 'update'

main.lua:109: in function <main.lua:51>

[C]: in function 'xpcall'

[C]: in function 'xpcall'

Thank you, this is fixed in the next update!

Is there a Patreon or something similar to support you voluntarily?

Great work.

As long as there are no competitors it's ok, but I think the raw materials you get aren't enough. For example, from the lumberjacks,

Hi, you can find the patreon of the core maintainer here:  

https://www.patreon.com/stonekingdoms/about

As for the materials, they are not balanced yet, so that's expected. Once we have our first AI to play against, we will look into balancing.

Love the game so far, figured I would mention some things i've noticed (0.5.0):

After demolishing a stone quary you cannot rebuild another on any of the tiles from the previous stone quary. Also stone quarry workers seem to often get stuck on the town hall entrance.

Popularity works strangely currently. Instead of the sum of positive and negative effects being added to the current popularity every x ticks, it seems that the popularity is simply set to 50 + the sum of positive and negative effects, making it impossible to reach 100 popularity (perhaps this is the intention and a departure from how the original system works?).

I don't know if this is intentional but trees stop swaying once you zoom out far enough which might be a bit jarring on larger screens. Personally I would like to be able to zoom out fully and still feel like the world I'm looking at is alive and not frozen.

I've been watching some videos on world generation in games like minecraft using perlin noise, I wonder if perlin noise could also be used to set the initial frame of the tree swaying animation, which could give a more realistic immitation of wind moving through forests.

Looking forward to the next release!

Thank you for the feedback! 

It is impossible to reach 100 popularity right now, you're right. It's intentional but it will become more apparent once we add all the buildings and systems that influence happiness.

The trees swaying is intentional to preserve performance. We will look into an option to keep it on (modern GPU's should handle it). 

The perlin noise idea is a great one! We will try it out!

Really nice so far but some glaring bugs after you play for a little, I suspect they'll soon be fixed though but I'll mention them here just in case:

Sometimes people get stuck at the edges of buildings when they are close to the "entry" point e.g. the granary and the armoury in my case. Rebuilding fixed the problem as long as the worker was then reassigned to something else.

The weapons buildings... I twice had this happen with each of the fletcher, the polearm maker and the armourer; the worker, I discovered after I demolished the building, was stuck in the building itself, possibly trying to reach the centre but not quite getting there? They succeeded without issue unless a building was placed below and to the right of theirs, this time with one space between buildings... buildings newly placed in a bad position would work the first time but then the worker would get stuck after delivering the first item and going back to make the second.

I don't know if it happens with building spaced further apart but if I want to fit all my important, expensive weaponsmiths in my castle space is not going to happen and there should be more warning of this issue at least... personally I don't think it should be an issue at all but I'm guessing it is something to do with geometry? I also discovered that bakeries and windmill can't have their front-left side blocked by another building or else they don't work as workers enter (and queue in the case of the windmill) on that side...

Just my tu'penny worth :)

Keep up the good work :D

Thanks for the feedback and bug reports! We will loook into those!

(1 edit)

This just looks like the same old stronghold game. What makes this different?

It’s open source and built from the ground up, so it isn’t encumbered.

Can you explain in simple terms?

It looks like Stronghold because it is built to be Stronghold, but is as the intro paragraphs says ‘an open source fan remake’ with an Apache License.

That means it is made publicly, anyone can see the code and no-one can hide it. Also, no one can make money off it.

Most importantly is that it can be kept up to date and therefore still be run on current and future PCs and OSes as well as have mods and other things added to it as the community decides, not someone in their high castle trying to make more money than trying to provide the best gaming experience...

can't wait for this game to get even more developed, it already has quite a bit of content and the animations are amazing. amazing yob.

(+1)

Woah, this is super dope, loved crusader so much growing up

(+1)

I really like the 0.5, but sadly it crashes very often and the savegame is broken after the crash.

Error

objects/Units/OrchardFarmer.lua:83: attempt to index field 'animation' (a nil value)

Traceback

[love "callbacks.lua"]:228: in function 'handler'

objects/Units/OrchardFarmer.lua:83: in function 'serialize'

objects/State.lua:167: in function 'serializeObject'

objects/Structures/Orchard.lua:282: in function 'serialize'

objects/State.lua:167: in function 'serializeObject'

objects/Controllers/JobController.lua:92: in function 'serialize'

objects/State.lua:372: in function 'save'

objects/Controllers/SaveManager.lua:69: in function 'save'

states/ui/pause/menu.lua:91: in function 'onclick'

libraries/loveframes/objects/image.lua:134: in function 'mousereleased'

libraries/loveframes/objects/base.lua:148: in function 'mousereleased'

libraries/loveframes/init.lua:320: in function 'mousereleased'

states/game.lua:348: in function <states/game.lua:346>

main.lua:77: in function <main.lua:51>

[C]: in function 'xpcall'

[C]: in function 'xpcall'

I've logged this issue. When you say often crashes, is that the blue screen crash like the orchard or just silent crash ?

Blue Sceen Crash

Yeah, we can fix those given we have the stacktrace (like you posted)

(1 edit)

Sometimes you cant build and it just crashes. I hope it will be better in the future cause i really like it.

Good Job.

Well, we've just released a new version, hopefully this one crashes less!

Deleted post
Deleted 45 days ago

We're first trying to get all the functionality of Stronghold before we expand on it's mechanics, and while you can see subtle differences (wheat farm uses a different layout, the windmill has sound effects), the biggest one is the map size. The default map is currently 512x512 which is bigger than the biggest of stronghold (400x400), but we support up to 2048x2048

(1 edit) (+1)

This is what i've always dreamed of!

(+1)

Awesome project. Keep it up!

(+1)

Very cool project, please, keep it up!

(+1)

Looks very interesting, maybe all I ever dreamed of.

(+1)

Finally I can place wooden walkways for palisades without level editor hacks ^^

Interesting project. Keep it up!

(+1)

First of all, congratulations on the development! I'm a huge fan of the original game! I bought it. :D

But I would be very happy if there was a free version of it!
Especially if it will later include the possibility of local network play!

I'm waiting for the next version!

I hope you meant you bought the original game, because this one is free :D

Next version comes out at the end of Q2

(1 edit)

 Yes, I bought the original, sorry if I was misunderstood!  Go! Q2 is coming!