Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of https://github.com/mansoor-s/Galactic-Supremacy
- Loading branch information
Showing
26 changed files
with
2,876 additions
and
2,551 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,3 +1,3 @@ | |||
[submodule "models"] | [submodule "models"] | ||
path = models | path = models | ||
url = git@github.com:mansoor-s/Galactic-Supremacy-Models.git | url = git@github.com:mansoor-s/Galactic-Supremacy-Models.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,40 +1,40 @@ | |||
# Galactic Supremacy | # Galactic Supremacy | ||
|
|
||
Galactic Supremacy is a an open source (MMORTS/Empire) Massive Multiplayer Online - Real Time Stratagy and Empire management game built for the web. | Galactic Supremacy is a an open source (MMORTS/Empire) Massive Multiplayer Online - Real Time Stratagy and Empire management game built for the web. | ||
|
|
||
|
|
||
|
|
||
##Technology## | ##Technology## | ||
|
|
||
The game is being written entirely with javascript and and makes use the latest web technologies. | The game is being written entirely with javascript and and makes use the latest web technologies. | ||
|
|
||
For the front end, **WebGL**(using **Three.js**) is used to deliver 3d hardware accelerated graphics in the browser. | For the front end, **WebGL**(using **Three.js**) is used to deliver 3d hardware accelerated graphics in the browser. | ||
|
|
||
The server side is being written on the **Node.js** platform and is backed by MongoDB and Redis. | The server side is being written on the **Node.js** platform and is backed by MongoDB and Redis. | ||
|
|
||
Communication between server and client is done via WebSockets for reduced overhead and latency. | Communication between server and client is done via WebSockets for reduced overhead and latency. | ||
|
|
||
|
|
||
|
|
||
##Gameplay## | ##Gameplay## | ||
|
|
||
Players start out on a single planet, from which they must build infrastructure and a sustainable economy. After which, they must research space technology and start colonizing other planet, moons, astroids and eventually other star systems. This is where millitary conflict comes in. | Players start out on a single planet, from which they must build infrastructure and a sustainable economy. After which, they must research space technology and start colonizing other planet, moons, astroids and eventually other star systems. This is where millitary conflict comes in. | ||
|
|
||
Space battles take place in a fully 3D environment, where ships can be moved in X, Y, and Z axes (think Homeworld). This introduces many new factors to take into acount when planning a move. | Space battles take place in a fully 3D environment, where ships can be moved in X, Y, and Z axes (think Homeworld). This introduces many new factors to take into acount when planning a move. | ||
|
|
||
|
|
||
##Demo | ##Demo | ||
Some very early work in progress demos: | Some very early work in progress demos: | ||
Galaxy view | Galaxy view | ||
http://mansoorsayed.com/gs2/ | http://mansoorsayed.com/gs2/ | ||
Starsystem view | Starsystem view | ||
http://mansoorsayed.com/gs/ | http://mansoorsayed.com/gs/ | ||
|
|
||
|
|
||
##TODO: | ##TODO: | ||
More documentation | More documentation | ||
|
|
||
|
|
||
|
|
||
##Licence## | ##Licence## | ||
This project is released under the terms and conditions of the GPL v3 licence. | This project is released under the terms and conditions of the (AGPL) GNU AFFERO GENERAL PUBLIC LICENSE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,2 +1,2 @@ | |||
[19:09] <chandlerp> IvanKuzev: not in a normal way, however I just thought of a way to use multiple textures, and you could use that to set it to a fully transparent texture | [19:09] <chandlerp> IvanKuzev: not in a normal way, however I just thought of a way to use multiple textures, and you could use that to set it to a fully transparent texture | ||
[19:10] <chandlerp> if you create a texture sprite, say 4 textures 2x2 you can update each particle's UV to match whichever texture you want | [19:10] <chandlerp> if you create a texture sprite, say 4 textures 2x2 you can update each particle's UV to match whichever texture you want |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,19 +1,19 @@ | |||
/* | /* | ||
<chandlerp> http://jsfiddle.net/AzqkW/ | <chandlerp> http://jsfiddle.net/AzqkW/ | ||
[17:28] <chandlerp> there you go | [17:28] <chandlerp> there you go | ||
[17:29] <chandlerp> where origin is camera.position, vector comes from the call to projector.unproject() | [17:29] <chandlerp> where origin is camera.position, vector comes from the call to projector.unproject() | ||
[17:29] <chandlerp> and z_plane_point is where you want to intersect the Z plane at | [17:29] <chandlerp> and z_plane_point is where you want to intersect the Z plane at | ||
[17:33] <IvanKuzev> thank you | [17:33] <IvanKuzev> thank you | ||
*/ | */ | ||
|
|
||
function getWorldXYZ(camera,xyPosition,z){ | function getWorldXYZ(camera,xyPosition,z){ | ||
var origin = camera.position; | var origin = camera.position; | ||
var vector = projector.unprojectVector(new THREE.Vector3(xyPosition.x,xyPosition.y,1), camera); | var vector = projector.unprojectVector(new THREE.Vector3(xyPosition.x,xyPosition.y,1), camera); | ||
var z_plane_point = z; | var z_plane_point = z; | ||
|
|
||
var scalar =(z_plane_point - origin.z) / vector.z | var scalar =(z_plane_point - origin.z) / vector.z | ||
var intersection = origin.clone().addSelf( vector.multiplyScalar(scalar) ); | var intersection = origin.clone().addSelf( vector.multiplyScalar(scalar) ); | ||
|
|
||
debugger; | debugger; | ||
return intersection; | return intersection; | ||
} | } |
Oops, something went wrong.