Skip to content

fguillen/SpaceSuckersChronicles

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
gem
 
 
 
 
 
 
 
 
 
 
 
 

S2C

Space Suckers Chronicles logo

"Oh yes. It runs on the world’s most powerful graphics chip, imagination" – Dc. Sheldon Cooper

I have improve this exercise adding a server layer and starting what is could be a console client layer.

Next Iteration

  • clean up and stabilize the client layer.

I also would like to work on:

  • Persistence layer
  • Multiuser
  • Attack

But I'm afraid I am going out of time so I prefer to focus in finish the client layer and clean up everything

Layers

I have defined the most basic 3 layers needed for the game.

Each one of them is intentioned to be release as independent gem but for a more agile development I think is better to have them all together.

I have separate each one of them in a subfolder of the project:

  • /gem
  • /server
  • /client

The gem

In the gem folder we have all the elements that implements the business logic of the game.

  • The models
  • The surrounding Universe
  • The infinite loop

The server

The server initialize an Universe, starts it and exposes it to network request through a REST API.

How to initialize it

cd server
ruby bin/s2c_server.rb

Commands

  • show universe: get "/universe"
  • show planets: get "/universe/planets"
  • show ships: get "/universe/ships"
  • show planet: get "/universe/planet/:name"
  • create planet: post "/universe/planet?name=<planet_name>"
  • build mine: post "/universe/planets/:name/mines"
  • build ship: post "/universe/planets/:name/ships"
  • travel: post "/universe/ships/:identity/travel?planet_name=<planet_name>"

The client

Please don't make a review of this part of the code since I just have write on the air and just to have something to use to interact with the server layer.

How to initialize it

First you have to initialize the server.

Then:

cd client
ruby bin/s2c_console.rb

Commands

You can check this command session, it is for the stand alone version but it should work just the same.

About

Experiment / In process: text-based massively multiplayer online role-playing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published