top | item 16609134

KotCity – an open-source city simulation game written in Kotlin

130 points| kotcity | 8 years ago |github.com

51 comments

order

guelo|8 years ago

> if this project gets to a place where it's really awesome but just needs extra speed we can reach for that C++ or Rust book.

The JVM is fast enough for Minecraft, it should be plenty fast for this. But if you ever do want to compile to native then Kotlin/Native would make a lot more sense than a rewrite in a completely different language.

realusername|8 years ago

> The JVM is fast enough for Minecraft,

That's debatable, the requirements for running a Minecraft server are quite big for what it does and it's very easy to make it lag.

kotcity|8 years ago

So far the JVM + Kotlin have been very handy! The coroutines are really cool for doing async stuff and really easy to use.

ckdarby|8 years ago

Not sure if you're aware of http://cityboundsim.com/ ?

They're much further along and it is probably worth combining development resources towards that project instead.

kotcity|8 years ago

I am aware of it... we have somewhat divergent goals. I seek more of a re-creation of "SC4-style" city simulator, without agents for all traffic and so on. I think the big difference between this game and Citybound is that I'm trying for more of a statistical / stochastic approach vs. an agent based approach. I think the agent-based approach was one of the factors that led to SimCity 2013 not being that fun.

Citybound is aiming more for the Cities: Skylines approach to traffic and simulation.

I'm a big city-builder fan and have tried almost every one I can get my hands on. Among myself and some others, there is the feeling that the SimCity series peaked at SimCity 4 and I'm hoping to recapture that feel. It seems that Citybound is going in a totally different direction, which is fine, but that's not the aim of this project.

I hope to play Citybound when it is released but I do not think this project is redundant.

edem|8 years ago

Shameless plug: I'm working on a [Text GUI library](https://github.com/Hexworks/zircon) which has the option for isometric projection [like this](https://cdn.discordapp.com/attachments/205245036084985857/41...). It is completely decoupled from the backend (the simulation engine in your case) so if you are interested we can work together. I also work in Kotlin and I'm eager to put in some work to create a fun game. It also supports tilesets so you are not stuck with ASCII.

ajnin|8 years ago

Just nitpicking, but this is not isometric, this is top-down oblique projection. Isometric is when all 3 axis are of equal length and separated by 120 degrees.

kotcity|8 years ago

Very cool! If you could play this in terminal it would be awesome. We could be a good testbed for your ideas -- we have kept the simulator separate from the UI / display.

Ethcad|8 years ago

Seems like bad news that the programming language it’s written in is one of the main selling points...

SmooL|8 years ago

Maybe, but it seems this post is to spread awarness to try and get other people involved in the project, not to actually play it. In that case, the language choice would be a big selling point

muzani|8 years ago

People don't really need another city sim. But a lot of people want something in Kotlin to mess around with.

aluhut|8 years ago

FYI: Kot in German = excrements

mixmastamyk|8 years ago

Ha, reminds me of a juice booth/startup the other day at the tech fair named "Suja," which means dirty or obscene in Portuguese!

seba_dos1|8 years ago

FYI: in Polish, "kot" means "cat". Also, Kotlin is a popular ketchup brand here (unrelated to cats though) :P

kotcity|8 years ago

Take it up with the Kotlin guys :)

muzani|8 years ago

This looks like a lot of fun to hack around with. I wonder if it can be ported easily to Android.

kotcity|8 years ago

We've taken pains to keep the sim code separate from the view / presentation layer. If you want to jump in and help us make it dual platform we'd be glad to have you.

We are using JavaFX which has some kind of Android support via (http://gluonhq.com/products/mobile/javafxports/) or you could simply just ignore our UI and add a native Android one on top of our simulator.

avar|8 years ago

From the README: "Happiness (available in separate branch)".

singularity2001|8 years ago

nice Kotlin demo! but calling a very basic 80s style simcity clone 'city simulation' is a bit out of time. change title?

taneq|8 years ago

It may be no Cities: Skylines but it's still a simulation of a city. Seems a fair title to me.