Profile cover photo
Profile photo
Pioneer Space Sim
814 followers -
A game of lonely space adventure
A game of lonely space adventure

814 followers
About
Pioneer Space Sim's interests
Pioneer Space Sim's posts

Post has shared content
Some experimental asteroid generation with triplanar texture & normal mapping in addition to Pioneers regular baked AO, Specular and Diffuse.
PhotoPhotoPhotoPhotoPhoto
2015-02-01
18 Photos - View album

Post has attachment

Post has shared content
I'm writing a new comms/alerts panel for +Pioneer Space Sim. I decided a couple of days ago that I wanted to have a nice blinking icon when new messages are available. The obvious response was to write an animation engine for the UI system.

Actually, its something I've been getting around to for a couple of years - the UI was always written with animations in mind. This was just a push to make it happen.

So here's a bit of a nothing video demoing the opacity target. This is two Background widgets, one inside the other, with an Image inside that. (Background widgets produce a nice background fill and border). There's a 10px margin between each element, so a tree of six widgets all up.

The bottommost background widget has a single animation on it: type=in/out, easing=sine, target=opacity, duration=4s, loop=true. So we can see that the opacity propagates correctly down the widget tree. Not shown is a further test where each widget has a different, non-synced opacity animation. They all get blended together properly.

It takes a single method call to add an animation:

c->GetAnimationController().Add(UI::Animation(w,
    UI::Animation::TYPE_IN_OUT,
    UI::Animation::EASING_SINE,
    UI::Animation::TARGET_OPACITY,
    4.0f, true));

c is the UI context and w is the widget. These are not strange concepts if you know how the UI API works, But via this, multiple animations can be added as you like, and they'll all just do the right thing.

So next up are positioning animations, which I think will mostly be offsets against the whole screen (technically the context) but might also have an option for draw offset animations within a widget's bounds, for slide-in or even auto-scroll effects. I think positioning will be easier than opacity because the layout engine is significantly more flexible than the draw stack (by necessity; layout is hard!).

I'm quite sure that positioning will cause problems with input and probably with layers as well, since it starts to bend the rule that a widget never appears outside the bounds of its parent. I think there's a couple of ways I could possible convince the system that this assumption holds even when it doesn't; we'll see.

Still to come are chained animations (when animation A finishes, run animation B) and completion signals (fire this event/call this method when an animation completes). They're both the same basic mechanism, and not particularly difficult to do.

Code is here:
https://github.com/robn/pioneer/compare/ui-animation

As you'll see, its not particularly complicated. Most of the work so far is making the UI draw code able to mix in an opacity value without the widgets' draw methods having to know about it.

I like where this going!

Post has shared content
Ok two more +Pioneer Space Sim and +Oculus VR integration experiments.
First is just the Intro Menu sequence with the soft-mouse by +Robert Norris : Pioneer Space Sim - Projected Closer Intro Screen

The second is of me nearly flying into a mountain because I'm not positioning the GUI/HUD quad correctly and it's offset... slightly, what really matters though is that the ingame UI is really being rendered onto that quad making it almost usable at last!
Pioneer Space Sim - Projected GUI/HUD

Post has attachment
OS X builds are down again. We really need someone to take time to produce a bulletproof guide that I can use to script the dev builds. If you can help, please visit the forum and let us know.

Post has attachment
Some of the new features we've added this month.
PhotoPhotoPhotoPhoto
January 2014
4 Photos - View album

Post has attachment
Do you speak a language other than English? If so, we need your help! Even if you could translate just one string to your language, you'd be doing a lot to get Pioneer out to the rest of the world.

http://pioneerwiki.com/wiki/Translations
https://www.transifex.com/projects/p/pioneer/
Photo

Post has shared content

Post has attachment
The modern and sophisticated Malabar transport is the most comfortable way to journey from the core worlds to the rim and back again. No expense has been spared to provide every modern convenience for your passengers.

The same advanced technology and design also produced the mighty Vatakara freighter, the most advanced cargo ship of its class. The innovative internal layout gives the largest possible space for cargo of all kinds while minimising docking and loading times.

Both ships are now available from your nearest Mandarava-Csepel shipyard.
Photo
Photo
2014-01-01
2 Photos - View album

Post has attachment
The long-awaited station screen upgrade has just landed. It'll be available for you to try shortly in build 20131229.
PhotoPhotoPhotoPhotoPhoto
2013-12-29
7 Photos - View album
Wait while more posts are being loaded