Home World Forum
Stars! AutoHost web forums

Jump to Stars! AutoHost


 
 
Home » Stars! 2.6/7 » The Bar » Stars 3
Re: Stars 3 Sat, 31 May 2014 20:04 Go to previous messageGo to previous message
mrvan is currently offline mrvan

 
Officer Cadet 1st Year

Messages: 220
Registered: May 2014
OK I spent more time on this than I should have Smile (programming is almost as addictive as playing stars! Wink)

There is an update on github. I connected it to a mongo database and split the server file into logical units (views, models, stars). Since there is no client, you need to interact with the server directly, e.g. using curl or postman.

I've put up a curl demonstration session, where I create a game (which for now has two planets and a scout, and there are no different players yet), inspect the 'universe', and order the scout to move from Sol to Alpha, which he manages in two turns.

The most interesting file is probably stars.py, which contains the actual game logic of stars, as yet limited to fleets moving around and all planet population always growing by 10% Smile. The intention would be to recreate the whole "order of events" there. The module uses the object representations defined in models.py, which has simplistic models for planets, fleets, orders etc.

The main thing that needs to be done is that all game logic needs to be reimplemented in this file. Maybe it would be good to start with planetary production (as that is relatively easy), but hopefully different people can work on different parts simultaneously. Obviously, adding things there will require updating the object model as well, so we can for example have multiple players with different races etc, and record minerals and factories on planets. I think it is best to add stuff incrementally as we run into them. Using a mongo database means that objects are saved between sessions, which is nice, and that you can just add/remove attributes as desired on all objects: mongo is a very flexible "document database" that doesn't use a predefined schema. This is ideal for developing/prototyping, and we can always move to a regular database if needed (but mongo is used in some very serious production settings as well). But what I mean is that we can just add/rename/remove attributes from the object models without needing to reconfigure any database etc.

We should also create test cases to check whether the outcome of the game logic corresponds to what we know stars should do.

(obviously, it would also be nice to make a simple javascript client so that some of this becomes a little less abstract to those whose passion is not using the command line to send json documents to API's Smile)

My next steps:
- Add player support
- Add some unit tests to show how these work
- Maybe get started on a simple javascript client

For anyone that is interested to contribute, please:
- Try to install and run the server and see if you can do something like the curl session posted above (see the readme on the github page)
- Think of what a nice and small contribution is to get started with
- Tell me what I need to do/explain/change to make it possible for you to make that small contribution

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Stars! on a tablet ??
Next Topic: Replacement needed.
Goto Forum:
  


Current Time: Thu Jun 06 14:16:18 EDT 2024