Skip to content

fguillen/SpaceSuckersChronicles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

 
 
 

Contributors