"No Sky of Ours" | Big-World Space Exploration[2nd Demo Now!]

I’ve written a small Soundwrapper script, based on/inspired by sebcologne’s Textwrapper.

This bypasses the use of Sound actuator logic bricks, and goes straight through blender’s audio module.
So far it only works for the simple Beeps and Boops. I’m currently running it through my game to get the clicks and beeps of mousing over/clicking targets.

Soundwrapper.py


import os, sys
import aud



device = aud.device()    #define our audio device

class Sound:
    def __init__(self,sound,buffered=False):
    
        dir = os.path.abspath(sys.path[0])+'/sfx/'    #path to our sound fx folder
        
        self.sound_path = os.path.join(dir,sound)
        self.factory = aud.Factory(self.sound_path)
        if buffered:
            self.factory = aud.Factory.buffer(self.factory)
        
    def play(self):
        device.play(self.factory)
    
    
    
        
sfx = {
        'tick':            Sound('1_cellekt.wav',buffered=True),
        'select':        Sound('3_cellekt.wav',buffered=True),
        'target':        Sound('2_cellekt.wav',buffered=True)
      }

Place this either in an internal text block, or a .py file in the same directory as your blend file.
The script looks for sound files in a folder called ‘sfx’, which should be placed in the same directory as your blend file (hopefully this works across all OSes).
The dictionary at the end of the script stores the sound effects you want to use. Of course you want to replace the strings there with the names of your sound files.

To play back a sound, import the wrapper into the script you’re calling it from:


import Soundwrapper as sound

…and trigger it like so:


sound.sfx['tick'].play()

Once this becomes a little more feature-rich, I could post it up on the Resource forum for those who might want to use such a thing.

nice gravitational lens!

Cool black hole, but I don’t think the light is being bent correctly? It should bend in the area around the black hole (which should appear opaque), right? I don’t really know personally, though; just stuff I’ve heard over the years and from watching Interstellar, haha.

Nice sound wrapper. I may have a go at adapting that for my own use.

Have you thought of having a kind of galactic conspiracy, all the best space operas have some kind of cthonic plot, some great alien intelligence with dark designs… as the story progresses ypu start to understand more and more of the hidden threat.

@SolarLune: In reality (I think) a black whole would look mostly like a black…hole, with maybe a debris ring swirling around it. What I made is purely for looking cool, and being visible (a solid black dot against a solid black background can be hard to spot!)

My original inspiration was the black holes from The Space Engine. They do it much nicer than I did.

@smoking_mirror: I have not put much thought into story. I want to try to make a sort of emergent experience for the player, where they will sort of be able to tell their own story, within the randomly-generated content thrown into the galaxy. I don’t have plans for any solid, game-driving plot.
Build, grow, meet interesting people, and kill them. That’s the story :wink:
If anything, the story may be something similar to how Battlestar Galactica opens up: Evil alien robots or whatever blow up your homeworld and wipe out a majority of your population. The few survivors pack up in colony ships and jump away, only to end up out in the middle of nowhere, with said evil alien robots not far behind.
I don’t know. Story is not my strong point.
“Dwarf Fortress in space” is the tag-line that keeps popping up in my head. Of course, nothing close to the complexity of Dwarf Fortress, but that same sort of attitude toward gameplay (ie it’s fun to lose).

Just stumbled across this while zipping around in a galaxy.
There’s a ghost in my shell!


There is a really cool article about how they had to build a “non-linear” renderer for the movie interstellar so that they could model/render the black hole from the actual relativistic field equations! There is also a post somewhere here on BA where someone mimicked the effect and it looks really really good (it is black in the center,with a massive amount of warping along the event horizon at the edges, and across the middle).

Also…and this is just my own personal aesthetic taste, specifically because I referenced Geometry Wars and Relativity Wars…those games actually have a “grid” as a background. I’m just curious about the mechanics of it…would it be feasible to have a faint “3d” grid running throughout space? first, to give a sense of orientation through space and between objects, second, it would make black holes and areas of dense matter MUCH more visible and meaningful, and third, because manipulating the stretching or squashing of the grid in different areas would be a really cool way to indicate the presence or amount of matter or something in a particular area, or the cost/expense of travel through an area of space, or the effectiveness of communication or some technology in some area of space?

Also…I suppose you’re building this for some particular reason? What I mean to say is…what are the chances that you would at some point pack up some files and let us peek at how it works?

Awesome work!

Cool! If you can find a link to that article I would very much like to see it!

Now that would be something.
Actually, all the stars in the galaxy are all placed in the center of 1x1x1 blender unit cubic grid.
I could probably draw a 3D grid overlay, but I fear it would be far too messy to be useful as a measuring tool.
What could be viable, is to have a large 2D grid ‘mat’ laying horizontally on the current star, with lines projecting up/down from stars within the grid space to indicate height difference. Just how in-editor Blender has the Floor Grid, and it has the faint grey lines noodling lamps to the floor.

Really, the only important information to the player should be: Which stars/bodies are within reach, how far away are they, and what do they contain.

But back to warping space like said. Sounds awesome, but I would not know how to do that. It would be a neat tech demo to tackle some day though, just to see if it could be done.

100% I just want to integrate World generation, and polish up the settings for galaxy generation to prevent players from trying to make broken galaxies (which result in endless while-loops while you stare at a grey screen), and put in a start menu where you can change all the galaxy generator settings, type in a seed, save/load galaxies, etc.

This should start resembling a game at some point :wink: exactly what sort of game, I’m still wrestling with.

But expect a playable demo here, very soon.


Well, we now have Worlds around the Stars (most of them, at least).
Thanks to BPR for helping with the drawing of the circles.

It’s hard to tell from the screenshot, but those worlds are orbiting around the star. Each is parented to an empty which is at the star’s location, and has a motion actuator set to rotate. It’s simple but should serve its purpose.

No Sky of Ours v15_5_1_Antsy Android.zip (522 KB)
(we will see if the title sticks. I’m not 100% on it yet…)

Here is the first public playable demo!
Borrowing Ubuntu’s (and others’) alphabetical version naming convention, I dub this one the Antsy Android.

A Readme file can be found in the game folder. It contains information on controls, and how to play around with the galaxy generator settings.

Please try it out (you certainly can’t grumble about the file size, kekekeke). As always, feedback is always appreciated.

This looks nice. :slight_smile:

Is it possible to do anything other than looking at stars and green rectangles (ships?) yet?

The camera unpleasantly jumps whenever I start right click while the cursor is not centered.

No, not yet. Ships, colonies, monsters, and all that stuff is coming eventually, so don’t worry :wink:
The next goal is to replace those ugly green place-holder worlds with something better.

That would be the Mouse Actuator. One of those little things I meant to replace at some time or another, and never got around to it. I will put this on my to-do list for the next release.

I will also start incorporating some “anomalies” into the Stars/Worlds/etc. These will be modifiers that alter some stars in some way in order to make everything less cookie-cutter. An Anomaly might shift a Star’s Spectral Class, make things like Blue Dwarves/Red Giants, add/subtract Matter (and subsequent World formations) from a Star, or alter it’s Apparent Luminosity – you might have a Dwarf star which is visible from 100ly away which should only be visible from 20-30ly away according to its Luminosity.
Worlds could have Anomalies like Tidal Locking (like our Moon), extreme Axial tilts (like either Neptune/Uranus, I can never remember which). One might find an Asteroid Belt thriving with lifeforms, or a boiling-hot World in the first orbit around its Star covered in patches of ice water.
Ideally, the generator lays out the generic galaxy (this is what you see now in the demo). Anomalies will shake things up and make the universe a little more crazy.
Moons and such may be considered “anomalies”, or some other property of the World – initially I wanted to make Moons small Worlds in their own right, but that feels more and more like it’s getting too deep into Micro-Management Land on the players’ part, which is not where I want to go.

So I’m hoping that this temporary title may set a tone for the style of game play.
It is inspired maybe a little by the setting of Firefly (cue theme song). So maybe the game could take this sort of direction?
(Not taking place in the Firefly universe of course, but one inspired by)

Maybe, instead of the player in the role of the ever-expanding galactic overlord, that ever-expanding galactic overlord is the antagonist.
You play as a small (at first) group of ‘independent’ colonists who wish to make their own in space. You begin on the edge of an already-established but small (at first) inter-stellar Empire. Your goal is to ship out, find a good home that’s far enough away from the Big Bad, and do your best to avoid their ever-expanding boundaries. Not to mention all the other Hazards that are out there.

The player may try to establish their own little empire in a far-off corner of the galaxy, they may have opportunities to trade and do diplomacy with the Empire, or attempt to raid and sabotage the Empire in order to slow their advance support your own cause, or probably some combination of the three.
The Empire should greatly over-power the player’s forces, so wiping out the Empire should lay somewhere between Impossible and Nearly Impossible.
The goal of the game isn’t to conquer the galaxy, or over-throw the Empire; it’s merely to consistently adapt to your situation and Last As Long As You Can. In reality, the goal of the game should be the experience one has with the game in the time before they are eventually ground into the dirt by it.

It is a drastic change in direction from the initial MOO-clone, but some stone needs to be carved upon here, or I am not going to get much farther into development of real game play. It’s about time for me to stop being an Awful Waffle and start making some decisions.

The more I work on this, the less I want to make a MOO-clone. The more I want to do something like the above.

Thoughts?

Been working some on the art direction.

Here is a mock-up sort of Colony menu made in Gimp:



Really just working with colors, layout, and a general style. The content of the menu is not supposed to mean anything – I just threw some data together that sounded plausible.
Interface and menu design is something that’s rather new to me, so this is quickly becoming a slow, tedious, learning process.

And here are some random ship designs I’ve thrown together today. Trying to establish some good silhouettes and interesting designs while still trying to retain a sense of function.


Some more updates:

-Mouse look actuator has been replaced with a script-based mouse-look system, which works more like a ‘grab-and-drag’ rotation. No more tying the mouse to center screen, and no more ‘jumping’ when you right-click to rotate. It also moves buttery smooth and feels real nice. It needs some work still, but is already worlds better than the previous setup.
-Worlds are now target-able. Targeting a World faces the camera to that world, while keeping the anchor (which is what the camera is orbiting around when it rotates) on the star. This produces some nice angles while getting in close to Worlds.
-Inititial scripts for Colonies and Ships are written, but need to be implemented/debugged.

In the next release, you should expect at least these additions:

-Controllable ships (probably just generic “Ships”)
-Colonizable Worlds, with functioning population
-Apparent Luminosity values based on Colonies/Ships (rather than your current Star)
-Use Ships to settle Colonies. Use Colonies to build more Ships.
-Rename Ships, Worlds & Stars that have been colonized
-More interactive UI elements (buttons and such) to control the new features

If all goes well, this should all be running by this time next week.
(of course…we all know it never is ‘all goes well’, but still we hope…)


Does not look like much here, but we now have ships to explore the galaxy with.
Ships will travel across space in real time. For now, they are set to a ‘top speed’, which is not as realistic as I’d like to be with it.

Eventually, a ship’s max speed should be based on its ‘delta V?’ (how much it can accelerate per unit of fuel burned) and the distance to the target, and whether or not the ship is able to re-fuel at the target (that is, if the target is a friendly Colony).
If no re-fuel is possible at the target, the ship reserves 50% of its fuel for the return trip. Otherwise, it will use its full tank (minus a small emergency reserve maybe).
The ship then accelerates toward its target until it has gone through half the fuel it’s partitioned for the trip. It will then cut thrust and drift at that speed until it reaches the appropriate distance for counter-thrust and entry into the destination system (where it uses the other half of the fuel it’s partitioned for the trip).

The maths for this though, is not something I could figure out easily. I set it up simple for now, and will figure out the rest later.

Now, I need to set up some buttons on the GUI, to separate commands between moving the camera and moving ships. Targeting a Star/World with the camera, or targeting (and tracking?) Ships. Give Ship the Command to Colonize. More icons and markers to show locations of ships and colonies.
This is about the time where it all starts coming together. Stay tuned.

Random Idea Offload:

Drag & Drop Orders: In most (strategy) games, you give move orders to units by first activating the unit (clicking it, drawing a box, whatever), then clicking on the location you want them to go. Usually, the result of the click on the destination sets that units behaviour as well (click on an enemy, and that unit will attack, click on a friendly and that unit will heal/guard, click on a resource and that unit will harvest, etc etc).

Say you want to send a Fleet to another star that’s on the screen. Currently the plan would be: Click Ship | Click Star | Click ‘Send Fleet to Star’
Instead (or even on top of those controls) you could give the same order by clicking and dragging the Fleet pip (which will put a ghost Fleet under your mouse) to its destination Star.
If you drag a Fleet into another Fleet, it will merge the Fleets into one. If you drag a Cargo Ship from one World to another, it will establish a Trade Route between the two Worlds. If you drag a Shipyard to another World, it will establish a Rally point to that World. So on and so forth.

Anyways, it’s time for me to dive into some Colony establishment code and some Ship stress-testing. If I’m productive enough today, a new game play vid should be up by the end of it.

Good hunting.

A quick sneak peek at things to come.



Lots of new things to spot here. See if you can find them all! :wink:

Planets and Dwarf Planets are now establishing Spheres (Geosphere, Hydrosphere, Atmosphere and Biosphere) in a semi-decent way. Currently, about 0.04% of the Worlds generated have at least some level of all four Spheres. More stingy than I would like it to be, I think, but it’s getting there.
Asteroid Belt and Gas/Ice Giant Sphere generation should be much more straight-forward, and should come together much quicker.

Some more screen shots as things start slowly looking nicer.
The galaxy is now generating much more interesting worlds too, as far as the diversity of their Spheres.
This is now reflected in the World Info panel at the bottom of the screen.



A very hot dwarf planet orbiting a white giant star with its gas giant cousin. I should probably make that world panel more opaque, so that it is more read-able in these kinds of views.


A planet with extreme geological activity and a thick atmosphere. Not the best UV unwrapping job I’ve ever done in my life…


Some monster gas giants and a dwarf planet passing by the sun. Minnaert shading set to a low Darkness (between 0.05 and 0.5) give the crisp terminator lines and bright edges around the worlds.

Just a few more things to tighten up here and I will be ready to release the next playable demo for everyone to try out. Colonization will probably be pushed back to another release, but there are still some new things to explore and play with, and much-improved controls to do that with.

Thank you all for your patience as I inch my way through all this boring ditch-digging work. Hopefully, it will begin paying off here at some point :slight_smile:

Keep @ it :smiley:

          • for effort.