
Show HN: Freeciv, HTML5 open source version - roschdal
http://play.freeciv.org//
======
phaer
Thank you! The Freeciv web client is one of my favorite projects. As a civ
fanatic I thought often about contributing, but never started to do it.

Maybe someone from the team could say a few words about the projects
organisation, plans and communications.

I know there's a github repo [1], but you seem to use a TODO file [2] instead
of the issue tracker and/or wiki. Is that a conscious decision? Because any
issue tracker would make it easier to discuss the details of the task at hand.
Or is there a mailing list/irc channel which gets used for coordination?

I would be especially interested in the client-side code which is readable
but, on first sight, a bit overwhelming[3] for something one would do after a
regular day job. API docs and/or (more?) unit tests would be awesome because I
think one of the benefits of freeciv-web is be that some of it is/could be
easy to customize for advanced players.

[1]: [https://github.com/freeciv/freeciv-
web](https://github.com/freeciv/freeciv-web)

[2]: [https://github.com/freeciv/freeciv-
web/blob/master/TODO](https://github.com/freeciv/freeciv-web/blob/master/TODO)

[3]: [https://github.com/freeciv/freeciv-
web/tree/master/freeciv-w...](https://github.com/freeciv/freeciv-
web/tree/master/freeciv-web/src/main/webapp/javascript)

~~~
roschdal
Thanks for the kind feedback, phaer!

> Maybe someone from the team could say a few words about the projects
> organisation, plans and communications.

The Freeciv web client started as a fork of the Freeciv project in about 2007,
at the time called Freeciv.net. Today the Freeciv web client is a part of the
Freeciv project. However, the code-bases are still separate, so the Freeciv
web client is maintained in Github, and has code in Javascript, Java, Python
and C, while the Freeciv project is mainly implemented in C and is still
hosted in SVN on gna.org. As for future plans, I hope to continue improving
the game and making it work on more mobile devices. There are also plans for a
WebGL version, but that would take much more work.

> Because any issue tracker would make it easier to discuss the details of the
> task at hand. Or is there a mailing list/irc channel which gets used for
> coordination?

There is a TODO-file, but the main issue tracker is on gna.org here:
[https://gna.org/bugs/?group=freeciv](https://gna.org/bugs/?group=freeciv)

> I would be especially interested in the client-side code which is readable
> but, on first sight, a bit overwhelming[3] for something one would do after
> a regular day job.

I would be happy to help anyone setup a development environment. It is quite
quick to setup a Vagrant image if you follow the description found on the
Github page.

The Freeciv web client is a volunteer non-profit effort. However, all our
services run on a single server, so we absolutely appreciate donation to keep
the server running:
[http://freeciv.wikia.com/wiki/Donations](http://freeciv.wikia.com/wiki/Donations)

------
streptomycin
Since today is the day of Show HNs, here's a Show HN within a Show HN:

For some ridiculous reason, I recently cloned a semi-decent chunk of Civ4 in
TypeScript and made a minigame out of it:
[http://dumbmatter.com/barbconq/](http://dumbmatter.com/barbconq/)

It's open source if anyone else is interested:
[http://github.com/dumbmatter/barbconq/](http://github.com/dumbmatter/barbconq/)

Of course it pales in comparison to Freeciv, which is why this is only a Show
HN within a Show HN rather than a Show HN on its own :)

~~~
roschdal
Nice project you've got going there, perhaps a "Find and capture the barbarian
capital" mod for Freeciv (or Freeciv-web) could be something to think about.

~~~
streptomycin
Thanks!

The only reason I made it that way is because it let me produce something
playable without yet implementing techs, the economy, real AI, etc :)

~~~
PavlovsCat
Personally, I would find even a very simple AI, as long as it plays under the
exact same rules as the player, potentially more interesting than the
admittedly cool stuff civ4 has. I just felt a bit cheated once I got better at
the game and read up on it, e.g. there is not a single difficulty level where
players and AI are simply equal, and people reported the AI having fishy
knowledge of things going on at the other end of the map.

To me, even an AI that plays along very simple patterns can be fun while I am
still figuring out those patterns; but if it's having cheaty knowledge, then
even the fun I had becomes a bit unfun in hindsight once I saw through that.

Just my 2 cents and all that, of course, not trying to tell you how to make
your game ^^ Just encouraging you that even super simple AI might be fun. Of
course multiplayer is the best, but even then, having derpy AI in the middle
to use against other humans = always fun, as long as the AI is consistent and
doesn't cheat, IMHO.

------
schodge
No!! No!! Civ needs to be big and bloated and slow and requiring installation
(i.e., Civ V) - the only defense against the "just-one-more-turn"
addictiveness is to limit availability, and you're making it available
everywhere. At least my phone battery will die eventually...

------
argc
Pretty cool, but unplayable unless I was doing something wrong. I couldn't
move the minimap unless I was careful where to click (dragging doesn't work)
and everytime I tried to select a unit everything disappeared. Looking forward
to playing when it works a little better!

~~~
roschdal
Which browser and device are you using to play the game? The controls in the
game take some time to get used to, hopefully you should get it to work with
some practice. Please let me know how it goes!

------
colomon
Played a lot of Freeciv back in the day, this is my first time ever trying it
in the browser. Everything looks beautiful, but the UI with the units seems
very awkward. Is there a way I'm not seeing to rapidly cycle through all the
available units and give them orders?

~~~
roschdal
The best way to control units is to learn the keyboard shortcuts for unit
commands, and use the keyboard commands in combination with the mouse, just
like in the desktop version of Freeciv. So for example, first use the mouse to
select a unit, then use the keyboard shortcut for goto (G), and then click on
the tile you want the unit to move to.

~~~
colomon
Actually figured out an answer on my own -- the handy thing I was looking for
was W (wait, I think) to skip to the next available unit.

~~~
colomon
Okay, actually the reason I was confused is the web interface seems to be very
buggy. W, for instance, seems to shuffle you back and forth between two units
as often as it cycles through all of them. And lots of activities, like R or
I, just leave you sitting on the unit you assigned it to, rather than sending
you to the next unit waiting for orders.

~~~
roschdal
Yes, there is some room for improvements in the unit controls. If you could
please list all the bugs you find in unit controls, then I would be happy to
fix it in the next version.

------
fsiefken
That's very nice to see! I have not tried it yet but now I could conceivably
play freeciv on the ipad in safari, opera or chrome. How difficult would it be
to package the html/js and server into a native iOS app? Is there a way to set
the tiling to flat 2D instead of isometric as in the native client? I always
prefer to play that way. For those wanting to play the granddaddy of Civ, try
Empire or Empire Deluxe on iPad.
[http://killerbeesoftware.com/kbsgames/ednew/](http://killerbeesoftware.com/kbsgames/ednew/)
[http://www.classicempire.com/](http://www.classicempire.com/)
[http://en.wikipedia.org/wiki/Empire_Deluxe#Empire_Deluxe/](http://en.wikipedia.org/wiki/Empire_Deluxe#Empire_Deluxe/)

Or better yet, try the board game variants and derivatives (Eclipse, Empire
4). [http://empire-game.org/empire/history/detailed/](http://empire-
game.org/empire/history/detailed/)

------
wtracy
Glad to see this is still making progress!

I've actually toyed with the idea of building an indie game by starting with
the HTML5 FreeCiv UI and commissioning some professional graphics.

------
roschdal
Thanks for the upvotes to "Show HN", much appreciated. It seems that the
Hacker News community really likes this game. I always appreciate the feedback
I get here.

~~~
dang
In principle, this isn't a good fit for Show HN since the project has been
discussed before, including recently:

[https://news.ycombinator.com/item?id=7848768](https://news.ycombinator.com/item?id=7848768)

[https://news.ycombinator.com/item?id=5716859](https://news.ycombinator.com/item?id=5716859)

[https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

But since today is turning into a Show HN carnival, have at it.

~~~
haptiK
That's nice. I'm sure you had fun wasting your time posting this. Personally
I'm glad it has been added to Show HN. I possibly would not have heard of it
otherwise.

~~~
Zikes
You're criticizing one of the HN mods for clarifying the criteria for what
qualifies as Show HN.

------
cmdrfred
A fantastic and inspirational work. This makes me believe I can too can make
high quality games someday.

------
aaronsnoswell
This page has been down for me for the past 8 hours - is it working for
anyone?

~~~
roschdal
It's just you:
[http://www.downforeveryoneorjustme.com/Play.freeciv.org](http://www.downforeveryoneorjustme.com/Play.freeciv.org)

