Stellar Legacy

From Stars!wiki
Jump to navigationJump to search

The main goal of the Stellar Legacy Project is the creation of a free version of the famous and beloved strategy game "Stars!" (tm). "Free" means that the source code is freely available to everyone and that everyone is free to modify and change the game in a way he likes. While we started with the intention of creating a stars! clone our current goals are a bit different since we found during the development process that stars! has certain limitations we would like to overcome.

Announcement of v0.2

Announcement - Stellar Legacy 0.2 (aka "To infinity, and beyond!")


We are happy and proud to release the first public version of "Stellar Legacy". Stellar Legacy (SL) is an open source project aiming to create a new Stars!-like game that's enjoyable to play and easy to expand.

The main goal of the Stellar Legacy Project is the creation of a free version of the famous and beloved strategy game "Stars!" (tm). "Free" means that the source code is freely available to everyone and that everyone is free to modify and change the game in a way he likes. While we started with the intention of creating a stars! clone our current goals are a bit different since we found during the development process that stars! has certain limitations we would like to overcome.

Features

A short and incomplete list of features SL has (aka "whetting your appetite")

  • All files are human readable
(of course the player order files will be encrypted in the future)
  • free as beer
it comes at no cost
  • free as speech
everyone can contribute to the project and modify the code
  • multiplatform
standard c++ compiler and perl interpreter are sufficient (we know that the current version runs under various versions of Linux and also have some indications that it works on Windows)
  • no limits for number of systems, planets, players, fleets, etc.
(there even can be more than one galaxy in the universe)
  • Support for 2D and 3D galaxies
(the current code uses 2D galaxies)
  • different implementations of the very same rule are possible
(this means that the current code base allows you to implement different versions of the rule that calculates the fuel consumption, for example. In this sense stars! will be a subset of Stellar Legacy)

Of course we do not want to withhold the bad side of life ;-)

SL in this form is not ready for the usual strategy gamer. The primary audience for version 0.2 are developers who are interested in joining a nice team of Stars! addicts who are going to write the best turn-based strategy game ever (hey, we need a goal!)

So you stars! junkies out there, help us building the coolest turn based strategy game. You might want to join our mailing list

http://lists.sourceforge.net/lists/listinfo/stellarlegacy-developer

(has all the necessary details) and/or want to have a look at the current API documentation to get an overview of the current (>0.2) state:

http://www.itp.uni-hannover.de/~krohn/sl/api/html/annotated.html

Also you might be interested that the SL user interface (SLUI) made some progress. This client SLUI is in the CVS and will probably be part of the 0.3 version. First screenshots are here: http://www.itp.uni-hannover.de/~krohn/sl/image-gallery/images.html

Instructions for downloading and running SL can be found in the appendix.Hope to see some of you guys on our mailing list soon, otherwise you will hear from us when 0.3 is ready :-)

Best regards,

Your friendly Stellar Legacy team


APPENDIX

Some specials for the adventurer and discoverers amongst you:

  • What language SL is written in?
With the exception of some smaller parts (see below) all the code is written in pure C++.
  • How much code have you guys written?
sloccount (http://www.dwheeler.com/sloccount/) gives the following answer
(numbers are physical source lines of code):
SLOC Directory SLOC-by-Language (Sorted)
21075 stellarlegacy cpp=20671,lex=168,yacc=164,sh=72
1565 act_to_cpp perl=1565
Totals grouped by language (dominant language first):
cpp: 20671 (91.30%)
perl: 1565 (6.91%)
lex: 168 (0.74%)
yacc: 164 (0.72%)
sh: 72 (0.32%)
  • Where can I download SL 0.2. from?
http://stellarlegacy.sourceforge.net/download.php
  • How to compile?
Yeah, right compile (did we mention this is a developer release? :-).
Please see stellarlegacy-0.2/code/stellarlegacy/README
  • Can you give some more details what 0.2 can already do?
Sure :-)
Note:
the directory stellarlegacy/stellarlegacy/testgame contains all the game data we are referring to in the following
  • game setup:
it is possible to change the number of players, races, the size of the galaxy, the number of systems. All this can be changed directly in the universe-definition.sl file.
  • design notes:
    • SL differs between players and races (the latter are controlled by the former) and it is/will be possible that one player controls more than one race.
    • all coordinates are 3d, 2d coordinates are achieved by setting z=0
    • actually it is possible to exchange the rules given in the rulesystem section (and probably this will work). Unfortunately there is not another set of rules yet available at the moment.
  • game creation:
starting the game ./stellarlegacy -l (<- small "L") creates the player and the server files. At the moment these files are identical (all players know everything).
  • design notes:
    • SL shares a lot of code between objects controlled by the races (such as fleets) and objects controlled by the "server". The server creates a special race "Iluvatar" which is the owner of all systems etc. This makes it easily possible to move systems around (non-static galaxies).
    • fleets etc. have a link to the owner and the creator which can be different. This will (among other things) allow races to control planets with population of a different race on it.
    • the galaxy can be wrapped, meaning that it is possible eliminate borders & corners (this feature is currently not available in the game setup, but is implemented in the source).
  • actions / client:
by choosing "play turn" you can give orders to your own fleets. Adding a waypoint and saving it results in a new file, e.g. "PlayerName-order.sl". This file contains the orders the player wishes to execute.
  • server / generate turn:
"(l)oad server master file and generate turn" will start the server, read the servermaster file and right after that the server will read all player-order files. It then creates an extra backup-directory for the old game files and starts executing the actions. SL 0.2 will move the fleets and the wanted direction (taking into account the speed) and will even find and resolve conflicts (e.g. fleet orders for A: go to B, fleet orders for B: go to A ).
  • design notes:
    • actions are the only kind of information a player can send to the server
    • SL is able to detect and resolve action conflict (the current testgame contains a demo)
  • What kind of help do you need?
Since we are still working on the guts we are most interested in getting reinforcement of c++ hackers. You don't have to be an expert--an important part of being part of an open source project is to improve your skills. There are two areas we are currently working on: the core library and the user interface (Work on the user interface is even more immature than the core library).
In short/medium-term we need support of game designers. The current very flexible framework allows very different rules and we have not yet decided how the SL rule set will look like. Related to this we need people writing down what was agreed upon, to conserve the results for the future (basic html knowledge for that would be an advantage)
In the long-term (after 0.3) we need graphic designers and artists to make SL not only cool but also beautiful. Anyway if you think SL might be fun, just subscribe yourself to the mailing list and see what's going on :-)


  • Hey, that's cool I want to contribute to the project!
Join our mailing list
http://lists.sourceforge.net/lists/listinfo/stellarlegacy-developer
or get in contact with one of our core developers
Alberto: ishark@free.fr
Marco: marco.krohn@gmx.de
Ralf: prolator@gmx.net


--
Stellar Legacy Project
http://stellarlegacy.sourceforge.net