Space Nerds In Space

Re: Space Nerds In Space

Postby Vandar » 09 Apr 2015, 11:46

The "masters of Orion II" send greetings!
In soviet russia, code debugs you.
User avatar
Vandar
 
Posts: 322
Joined: 17 Mar 2014, 14:32

Re: Space Nerds In Space

Postby smcameron » 11 Apr 2015, 05:17

Refined the motion of the tentacles a bit... still not checked in. Everything is done server side right now and network traffic is 3 quaternions plus x,y,z for each joint of each tentacle -- 8 tentacles, 10 joints per tentacle... 4 floats per quaternion... means 15 floats per joint * 80 joints * 4 bytes per float == 4800 bytes per spacemonster per update. Need to push a bunch of this to the client side so it doesn't need to go over the network. So, still just in the proof of concept stage at this point.

https://www.youtube.com/watch?v=6Eb4gDTT2ys
Image
Last edited by smcameron on 12 Jul 2019, 16:00, edited 1 time in total.
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby Vandar » 11 Apr 2015, 21:39

Looks good. Having the animation data kept on client side and only transfer animation pattern id's from the server will cut down traffic a lot.
In soviet russia, code debugs you.
User avatar
Vandar
 
Posts: 322
Joined: 17 Mar 2014, 14:32

Re: Space Nerds In Space

Postby smcameron » 12 Apr 2015, 00:26

Vandar {l Wrote}:Looks good. Having the animation data kept on client side and only transfer animation pattern id's from the server will cut down traffic a lot.

It's not quite that easy. The "animation data" is procedurally generated on the fly. The trick is to get all the clients to generate exactly the same data at the same time, and allow for late joiners. It's not unsolvable, but not super easy either. For now, I sidestep the problem by generated on the server once and distributing to the clients -- I think I will continue to do it that way, but find a way to drastically shrink what's generated on the server (e.g. maybe I pass a new random seed around to all the clients to seed a per-creature random number generator so the clients can all generated the same data at the same time -- which is pretty much your same idea.)
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby Vandar » 12 Apr 2015, 21:04

I've been using seeded procedural content generation in a few projects of mine, and it works quite fine. So passing the seed and, if needed, additional parameters to the rng of all clients will produce exactly the same outcome on all clients - assuming that your messaging is monotone ordered, i.e. messages are interpreted in the same sequence on all clients (clients still can lag behind, important is only that the sequence is the same).

Good luck :)
In soviet russia, code debugs you.
User avatar
Vandar
 
Posts: 322
Joined: 17 Mar 2014, 14:32

Re: Space Nerds In Space

Postby Vandar » 14 Apr 2015, 15:35

Following this project made me want to add a 3D flight module to my own space exploration game variant. 5 hours learning OpenGL and looking at code examples, und uncounted thoughts of swear-words later, I finally have the basics together. Should be good enough to display something in between Elite and Frontier style worlds, but I'm not sure if I'll go into procedural planet generation like Frontier had it ... now I must couple the display module with the rest of the game.
In soviet russia, code debugs you.
User avatar
Vandar
 
Posts: 322
Joined: 17 Mar 2014, 14:32

Re: Space Nerds In Space

Postby smcameron » 15 Apr 2015, 02:54

Cool. Adding 3D to a 2D game isn't easy for a variety of reasons. Enemy AI, steering, shooting, etc. becomes harder. Making the gameplay fun becomes (to me) more difficult. It's such a fundamental change that you risk damaging the game, or adding so much complexity to it that you can't finish it. The one piece of advice I'd offer is make sure you use consistent coordinate systems everywhere -- that is, x, y, and z axes always point the same way and you always use a consistent handedness of the coord systems used in the game universe and in the rendering system -- Opengl is going to want to most naturally use a particular coordinate system, don't fight it, modify your game to use that coordinate system rather than converting between that coordinate system and a different one within your game. Failing to do that when I first began adding 3D to my game lead to untold hours of debugging insanity. My first attempt failed because of this, and a 2nd attempt involved going back and fixing the coordinate systems to be consistent, and I probably would have failed a 2nd time if not for the help of my friend Jeremy -- or at least it would have taken a lot longer than it did.
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby Vandar » 15 Apr 2015, 10:48

Well, the history of the project is long ... briefly said, it's been 3D data wise all the time, but there was only a map-like projection of space. No enemies, no fights. It's about exploration. Now I'm adding a new view for the data, showing space flight in 3D. Question is, if I want to use billboard sprites for planets, or make them 3D models, furthermore if I want to use procedural generation for the planets (which would be an interesting thing to do). And I'm afraid, once there are visible planets in space, players will want to land there.

Finishing the project ... um, probably will never happen. I started in 1995 or so when I was fascinated by Elite II - Frontier, worked on it for a while, had to dump a lot of code due to technology changes, started over with a new code base, dumped the new codebase, resurrected parts of the old code, translated it from C++ to Java and gave it a new Swing-based UI. At the moment it's not about completing something but a "I want to see if this works", which means embedding OpenGL in a Swing UI driven game. As a side effect I'm learning more about OpenGL, but more or less unintended.

Space monster brings questions: How metabolism works? What's engergy source? How they move?
In soviet russia, code debugs you.
User avatar
Vandar
 
Posts: 322
Joined: 17 Mar 2014, 14:32

Re: Space Nerds In Space

Postby smcameron » 01 May 2015, 07:53

Been working on a (very crude) planetary atmosphere shader lately.

Image
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby charlie » 01 May 2015, 09:45

Eye candy! Nice, very nice.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2131
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Space Nerds In Space

Postby Vandar » 02 May 2015, 21:48

A gorgeous planet! Makes me want to improve my own earth type planet generator, but I doubt I can reach this level.

Do space monsters use bone shaped asteroids as chew toys? I'm wondering :p
In soviet russia, code debugs you.
User avatar
Vandar
 
Posts: 322
Joined: 17 Mar 2014, 14:32

Re: Space Nerds In Space

Postby smcameron » 03 May 2015, 02:47

About the space monsters... well I have not yet got the code in a state I am happy to commit, so some might say space monsters don't really exist. Perhaps some sort of scientific mission to study the "space monsters" should be undertaken.
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby Vandar » 03 May 2015, 22:32

smcameron {l Wrote}:some might say space monsters don't really exist.


But ... but ... I saw one! It was huge! Larger than the ship. And it had tentacles! Lots of! And it was pale like death :o

Your way to create planets is clearly superior to mine. Although I have clouds and atmosphere effects now, too, they don't look as good as yours. Oh well ... I should port more of the UI panels anyways, to get a playable game again. I'm curious to see where your project is heading to :)
In soviet russia, code debugs you.
User avatar
Vandar
 
Posts: 322
Joined: 17 Mar 2014, 14:32

Re: Space Nerds In Space

Postby smcameron » 04 May 2015, 05:13

I am guessing from looking at this image: download/file.php?id=9300&mode=view
that you are using some noise to generate the terrain. How are you picking your colors? To me it looks like your land is too "green" and your water is too light. I have experimented some and had good luck with picking colors by indexing into a color texture with one axis (in my case, vertical axis) being specified by altitude, and the other axis being specified by a 3D noise function.
For land, and water, respectively, these color picking textures worked pretty good:
Image Image
Producing planets like this (this one is without clouds, but with my atmosphere code):
Image
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby Vandar » 04 May 2015, 15:26

I'm using hand-coded color maps and simpex noise. I suspect that you have both, superior color maps (the textures that you showed), but also a superior noise function, or at least you make better use of your noise function, so that it creates swirly structures and details like the rivers. Better color maps will help my code, too, but adding more complexity to the noise function seems to be a problem, I doubt the player wants to wait more than minute to have the stellar system generated. Actually even 10 seconds of wait appear long ... but with some time there will come ideas :)

PS: I think the biggest difference is the fact that you have a 2-dimensional color picking system, while I have a 1-dimensional one that only uses height.
In soviet russia, code debugs you.
User avatar
Vandar
 
Posts: 322
Joined: 17 Mar 2014, 14:32

Re: Space Nerds In Space

Postby smcameron » 05 May 2015, 03:53

The rivers and things come about because in my heightfield generation code, I sample real earth elevation data from images that I got from here: http://visibleearth.nasa.gov/view.php?id=73934 and use it to modulate my generated terrain E.g. I add a big circular pimple onto my planet, but then essentially multiply the pimple heightfield by a sampled region of some real terrain data, and keep doing that over and over. if the edges of the pimple I am adding into the surface have height zero, then after muliplying, they're still zero. Consequently it all fades together nicely, and I can add in zillions of such wrinkly terrain-modulated pimples and it all blends together. That part probably is pretty tough to do on the GPU I expect. Improving your color picking is probably do-able though.
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby Vandar » 05 May 2015, 14:43

My planets are precalculted too, so I could do a lot more detailed calculations as well. At the moment creating the Werteizin system with its 24 bodies takes between 1 second and 20 seconds, depending on the texture size and triangle count. One second is fine, 20 seconds stress the players patience quite a bit. I'll try to improve my color maps, the last incarantions of some planet types already look better than the early ones. Some others are in real bad shape, though.

Thanks for your tips, it's interesting to learn how you creature such fine planets :)
In soviet russia, code debugs you.
User avatar
Vandar
 
Posts: 322
Joined: 17 Mar 2014, 14:32

Re: Space Nerds In Space

Postby smcameron » 28 May 2015, 04:27

A short video of some folks trying out Space Nerds In Space at MisCon, Montana's premier science fiction/fantasy convention, in Missoula, Montana this past weekend:

https://www.youtube.com/watch?v=Lkug5JMiFzE
Image
Last edited by smcameron on 12 Jul 2019, 16:01, edited 1 time in total.
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby smcameron » 31 May 2015, 19:19

Jeremy and I were interviewed by Paul Brown of Open Content and Software Magazine recently via IRC. Here is the result of that: Space Nerds In Space -- The Interview
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby smcameron » 07 Jul 2015, 06:11

Previously, I seem to recall someone suggesting that I should work on the color scheme of the UI of Space Nerds In Space, as what's there now is a somewhat haphazard mishmash of nominal primary and secondary named colors. Well, I have not really revamped the colors, in fact they are currently the same as they've always been. But, I have made it possible to modify the colors of nearly every UI element independently via a simple config file. Well, it's not as easy as it probably could be, and the names for all the ui elements are probably slightly opaque, but it is tweakable by mere mortals. For example, In a few minutes, I tweaked the colors of the Navigation screen to get this:

Image
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby smcameron » 13 Jul 2015, 07:55

I cooked up a new system for docking with starbases. Now the NAV screen has a button to engage or disengage docking magnets, and starbases can have docking ports. When you approach a docking port with the magnets engaged, then you dock. To undock, turn of the docking magnets. This still isn't complete -- but the concept works at least.

https://www.youtube.com/watch?v=EvWKz1wbFLo
Image
Last edited by smcameron on 12 Jul 2019, 16:01, edited 1 time in total.
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby charlie » 13 Jul 2015, 12:58

Cool to see you still adding features. :)

Just a word of warning - the sound is way out of sync (lagging maybe 30s+ behind) on the video.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2131
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Space Nerds In Space

Postby smcameron » 24 Jul 2015, 05:17

Another docking demo video. In the previous video, you could "dock" with a docking port, but it didn't actually do anything -- to have the systems on your ship repaired and replenished, you still had to dock the old way, which was just to get on comms and request to dock while floating vaguely next to a starbase. Now, requesting permission to dock via comms gets you only that -- permission to dock for a period of 3 minutes. During that three minutes, you can dock with a docking port, and get your ships systems repaired and replenished. If you don't dock within 3 minutes, the permission expires, and you'll have to ask again. Attempting to dock without first asking permission via comms won't work. Pressing F1 while on the navigation screen gives a summary of the process.

https://www.youtube.com/watch?v=uM9bylVnKmM
Image

Again, the video outruns the audio.
Last edited by smcameron on 12 Jul 2019, 16:01, edited 1 time in total.
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby smcameron » 02 Aug 2015, 04:46

Have added a mining system to Space Nerds In Space. Here's a little demo. (I reverted to my old system of pointing a camera at the screen to evade the audio sync problem).

https://www.youtube.com/watch?v=5wAKVxg9TCs
Image
Last edited by smcameron on 12 Jul 2019, 16:02, edited 1 time in total.
smcameron
 
Posts: 377
Joined: 29 Oct 2010, 23:44

Re: Space Nerds In Space

Postby btaggart » 14 Aug 2015, 21:48

I just found this project and am very interested in trying it out. I'm running into some build problems, I'm hoping someone can help me with. Linux is not my primary OS, so I apologize if the answers seem obvious to others.

I'm running Ubuntu 15.04 inside VirtualBox on Mac OS X Yosemite. I installed all the dependencies. When I run 'make', it starts with this warning twice:

"Package sdl was not found in the pkg-config search path. Perhaps you should add the directory containing 'sdl.pc' to the PKG_CONFIG_PATH environment variable. No package 'sdl' found"

Then it builds for a while and ends up failing, not able to find 'SDL/SDL.h'.

I've previously tried both Raspbian and Ubuntu Mate on my Raspberry Pi 2, but could not find SDL2 in the former and OpenSCAD in the latter case, though I have not tried building them locally yet. If anyone has overcome these issues, I would love to know.

Also, does anyone have build instructions for Mac OS X?

In general, I think this project would benefit from some build instructions, as it is not as simple as 'git clone, then make'.

Thanks in advance for any help.

Ben.
btaggart
 
Posts: 3
Joined: 14 Aug 2015, 21:39

Who is online

Users browsing this forum: No registered users and 1 guest