Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411196 Posts in 69314 Topics- by 58380 Members - Latest Member: feakk

March 19, 2024, 12:16:35 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsThe Little Spaceship - explore the solar system together
Pages: [1]
Print
Author Topic: The Little Spaceship - explore the solar system together  (Read 1807 times)
Tumetsu
Level 10
*****



View Profile WWW
« on: June 06, 2014, 02:07:58 PM »

The Little Spaceship
Working title
How long would it take from to you push a rocket across the solar system? How about from a big crowd?

Mockups



What is it?
A weird experimentwhich blends social/games/visualizations to one collaborative "game". Basically it is an online app which is constantly running. The rocket launches from Earth and traverses through solar-system. The gimmick is that the distances are realistic time-wise. However, people can give a "push" to the rocket to increase its velocity collaboratively.

As you might infer from pics I intend to include some educational value (though how exactly is still open, I don't like the wordiness in the second image), real-time encounters with celestial bodies, spacecrafts etc.

Why?
I want to learn Django, Haxe, Flambe, REST frameworks, social-media and other related technologies. Also space and cute things are awesome. I also want to see how long it'll take to reach the Voyagers (or does it prove impossible).

Links
Micro devlog
Temporary page which has the newest version of the the client (doesn't do anything atm)
My Twitter
« Last Edit: June 06, 2014, 02:21:38 PM by Tumetsu » Logged

Tumetsu
Level 10
*****



View Profile WWW
« Reply #1 on: June 07, 2014, 12:55:26 PM »

Today I made some progress on both client and server programming.

Client
Added the UI-elements which were missing to the main view. Built a basic system to emit and handle signals which will be generated based on the server requests.

Server
Set up Django and Rest framework and added a simple database model for the rocket to hold its state. Went through Celery tutorials and created a simple periodic script inside Django which updates the rocket's state (moving it forward).

Next
Next I'll add the basic API-requests to the client to get the status of the spaceship. Much bigger hurdle is to figure out API-authentication. Basically I want that anonymous people can participate but to get into ranking lists, the users have to authenticate somehow before relevant API-requests. The little I looked, Django's sessions might work as long as my html5/Flash client is considered to be sitting in the same session context as the web-browser. No idea if that's possible. And https is expensive Sad

Oh well, I have to figure out something.
Logged

gmx0
Level 0
***

The Messenger


View Profile WWW
« Reply #2 on: June 07, 2014, 05:09:08 PM »

So... if time is realistic and the app is constantly running, what is the rate of the spaceship travel? At sub-light speeds or less? How would you prevent the player in becoming bored from waiting?
Logged

Tumetsu
Level 10
*****



View Profile WWW
« Reply #3 on: June 08, 2014, 12:52:00 AM »

The speed starts at 11km/s (escape velocity). Each push gives an increment to the speed globally. So the speed increases by every push every player ever does. The goal is not to make it a single-player one time play but rather a "social experiment". So if enough players push the ship enough many of times, it will eventually reach light-speed (or has already reached the edge of the solar system). So yes, the game might take several months to finish (or might not finish at all) depending on the player activity.

That being the main feedback-loop I intend to add smaller loops like upgrades to player's pushing force, rankings of "top contributors", achievements etc. Possibly even minigames related to the encountered celestial objects. I'm also considering a Twitter live-feed of the journey which will notify followers from upcoming objects and other possible important info on the status of the journey.
Logged

Tumetsu
Level 10
*****



View Profile WWW
« Reply #4 on: June 08, 2014, 11:57:11 AM »

Spent most of the day figuring out how to make Http-requests from flash and html5 clients. Not that fun  Lips Sealed

At least it works now for the development. I fear all the stuff I have to do when moving to production :/
Logged

Tumetsu
Level 10
*****



View Profile WWW
« Reply #5 on: June 09, 2014, 01:21:04 PM »

Today I made the server to recognize the button pushes in the client and increase the ship's velocity accordingly.

It's still rather crude and needs authentication management later when I get around to figure out how to handle user-authentications and sessions in Django. Also a simple cheat-detection system to check against cheat-pushes would be nice.

Next
Next I'm gonna create db-entries for planets and their distances so that I can calculate ETA for the current speed. After that I'll add a particle effects for rocket-engine. After that I might try to put the thing on my VPS server to test and to show it to friends etc.

Bigger problem is trying to figure out how to hide ~2 second http-request lag. I have restricted the push post-requests and get updating request to 1 second so after a push, there is at maximum a 2 second lag. I'm thinking of making an instant addition to the velocity in client and update it later to the server-value.

Another thing is to make it look like players speed up the rocket constantly. The client gets velocity updates in each second, but I should interpolate the acceleration so that it *looks like* everything happens in real time.
Logged

Greipur
Level 6
*



View Profile WWW
« Reply #6 on: June 10, 2014, 10:08:46 AM »

I think slow space travel is a fascinating concept to explore, since we're pretty far off getting close to the speed of light (or travelling faster with wormholes). I think it would be interesting to play more "realistic" sci-fi games which represents this problem with interstellar travel (and in your case, inside of our system). In classics such as Star Control 2 you can zip through the solar system in seconds, and the whole "known" universe in 5-10 minutes. That things take time is a fascinating concept games should explore more. With a delicate hand I think one can achieve interesting experiences and avoid making it tedious.
« Last Edit: June 10, 2014, 10:40:51 AM by Greipur » Logged

Tumetsu
Level 10
*****



View Profile WWW
« Reply #7 on: June 14, 2014, 06:23:10 AM »

Yes, I agree. I find the whole concept of light-speed as a ultimate speed-limit and slow space travel really fascinating.

Here my plan is to keep this going relatively long. If it takes year or two to reach the edge of solar system, that's fine to me. That's why this is more like an experiment to me and chance to learn several things.

Last days have been mostly about debugging my server configuration. It kept crashing because of some kind of memory leak. That's hopefully fixed now. Today I spent couple of hours doing calculations and estimations of the distances and velocities. I had to find a good pass by distance regarding the planets so that they are big enough in the screen but at the same time the pass by is long enough with higher speeds.

At the moment I think that the FoV of the camera is 10 degrees, and the distance to the planet rocket passes by would be 2057409km. In this case Mars would be 12px and Jupiter 254px wide in 640px game window. The pass by (planet moves from screen edge to opposite edge) at 200km/s would take 30 minutes. I probably have to add settings to my server implementation to modify and calibrate these values during the mission though.
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic