Fork me on GitHub

Produced by


Github


Visit our Github-Page!

Sourceforge


Visit our Sourceforge-Page!

Facebook


Facebook-Picture

Twitter


Menu


Button to servers-section Button to curses-section Button to python-section Button to ai-section Button to testenv-section Button to sdl-section Button to appA-section Button to appB-section Button to install-section Button to license-section Button to authors-section Button to download-section

Downloads




toph-design


fkmlandunter

Screenshot of Fkmlandunter

Fkmlandunter is the implementation of a German card game called ``land unter'' as a computer game. As of now this whole thing is still under heavy development, but we (the Fkmsoft Team) have already produced some things that actually compile and can be run.

last updated: 06.10.2010


0. What is working at the moment:back to top

What we still hope to produce is a quality gui client, that might look similar to what you can already see in SDL-Randall, and a master server to keep track of different game servers running all over the net.

To Check progress visit: Our Github-Page


1. The Servers:back to top

Screenshot of Fkmlandunter(Server)

The servers can be found in server/old/ and server/new/ respectively. As the name indicates, one of them is the original one, while the other is a rather cleaner and (hopefully) more understandable reimplementation. Both should be functionally equivalent though, and possibly share some bugs, too (they did in the past).

To run any of them just execute the file called ``server'' after make'ing the whole thing (either everything in one run from the top directory, or partially from a subdirectory). The -h switch should tell you about most options, although it is always a good idea to read the code (assuming you know some C) just to see whether anything changed since the usage message string was last updated.

In general, the servers will run port 1337 or anything else you care to #define as PORT bound to any address.


2. The Curses Client:back to top

Screenshot of Fkmlandunter(Ncurses)

The curses client resides in the clients/curses/ subdirectory and requires the curses development headers and (obviously) libcurses to be compiled and run. After make'ing the thing, you can run the ``client'' executable from its directory, it will connect to localhost port 1337 by default, but you can specify another IP and port on the command line.

The curses client supports the complete fkmlandunter protocol, although the implementation of the chat has not been thoroughly debugged as of now.


3. The Python Client:back to top

Screenshot of Fkmlandunter(Pyqt)

The python client to be found in clients/pyqt does not require compiling, but you will of course need python to run it, plus the pyqt4 library. It supports the complete protocol and might be nicer to use than the curses client if you prefer working with guis, but other than that it provides the same basic functionality.


4. The AI:back to top

The only AI we have yet does nothing in any way intelligent, it rather plays any cards it gets in the order they are initially in. It can be compiled and run from clients/ai/random named ``random'' and connects to 127.0.0.1:1337 by default, like all the other clients.


5. The Test Environment:back to top

Screenshot of Fkmlandunter(testenv)

The test environment in testenv/ was made for stress-testing and checking the servers & AI clients (so only Randall, so far) for deadlocks and other bugs. Just run ``testenv'' with the -h to learn more.


6. The SDL Stuff:back to top

Screenshot of Fkmlandunter(SDL)

As of now you can find a general gui demo in clients/sdl/ called `gui_test' and an SDL implementation of Randall called `randall'. Be sure to invoke them from the clients/sdl directory, or else fix the #defines in gui_util.h so they can find their graphics. See data/fkmlu/ for supported resolutions. To actually start randall in gui mode, use the -g switch, and to have him play his cards on key-press, so you can see more of the game, use the -i (interactive) switch.

We have also produced a real SDL client, that is already playable, although it has no support for any advanced features like menus yet, and the chat implementation is still rather buggy. It can also be found in clients/sdl/, just run `client -H' for help.


Appendix A - the fkmlandunter protocol:back to top


Appendix B - Brief Game Description (German)back to top


Installback to top

Just run `make install' from the directory where you unzipped the archive. But remember, this software is still far from stable, and it can be run from the build directories without installing, so this may not be what you want.


Licenseback to top

GPL


Authorsback to top

This whole stuff was produced by three students of Karlruhe Institute of Technology as a leisure-time activity, so don't be surprised when development comes to a halt at times, as we sometimes have exams and other things on our mind - we are doing this far from full time. Our names would be:


Downloadback to top

You can download this project in either zip or tar formats.

You can also clone the project with Git by running:

$ git clone git://github.com/fkmsoft/fkmlandunter