3

AniMa - a sinister and stylish puzzle adventure in which you possess and sacrifice innocent beings in order to earn back your life.

The striking black and white pixel art visuals and creepy screechy audio help build a real sense of dread as you attempt to escape death.

You may have no body, but you can possess others with different useful abilities, using them to operate switches and walking them to their doom, sacrificing them for your own benefit.  

Throughout AniMa‘s deliciously disturbing 15 minute playtime, you’ll sacrifice many innocent souls in your quest to regain your life.  As you progress you get a distinct feeling that you may save your life, but you’ll of paid for it with your blackened soul.

Play the Full Game, Free (Win, Mac & Linux)

time.com
Stagefright: SMS Text Message Can Hack Android Phones

I don’t know if this is making rounds on here yet or not, so I’m sharing it best I can
Basically, there’s a vulnerability in android’s source code that allows your phone to be remotely accessed without your knowledge via a simple video message.
“Oh, hey. Well I just with open the message, or watch the video.” Nice idea, but… You don’t need to. All it needs is to be sent to your phone. The sender can even delete the message before you even see that it was there, and they will still have access to all media devices on your phone.
Pretty terrifying, right?

Google is pushing companies to fix this, but many companies still haven’t sent out update patches, but are working on them. Spread this around, let people know, because it could be your phone, your sibling’s phone, your parent’s or grandparent’s, or your best friend’s phone that gets affected.
3

No Pineapple Left Behind is an impressive school management sim in which an evil wizard has cast a spell that turns children into pineapples.   You can teach them well and turn them back into students or decide to just stick with pineapples - pineapples are never going to be straight ‘A’ students, but children are expensive!

Poking fun at America’s 2002 No Child Left Behind Act, in which school funding is directly tied to test scores, in No Pineapple Left Behind you must decide whether to de-humanise children or humanise pineapples.  Pineapples are simple beings, they go to school, study, take tests and get grades - they’ll never be straight 'A’ students, but they are cheap and low maintenance.  Children on the other hand are a lot more complex and expensive to teach as they have real emotions and social interactions, but they can get better grades than pineapples given the proper tutoring - and better grades means more money for the school.

Money is a big factor in No Pineapple Left Behind, you are given an aim of generating a certain income and can go about it as you see fit - prioritising pineapples or people.  Among other things you hire teachers, manage what spells they use on the students and unlock new spells for them as they gain XP.   You can even keep an eye on the students personal and social traits help them complete 'quests’.

No Pineapple Left Behind is still early in development, but it’s a shaping up nicely, a fun management sim and a light-hearted dig at the American education system.  Nobody wants a classroom full of pineapples, but if you can’t afford to treat students like people then what are you going to do?

Play the Alpha, Free (Win, Mac & Linux)

Linux? Yeah, it runs Quake.

Originally developed by Id’s resident “spackle coder” Dave D. Taylor (who left shortly after Qtest’s release), official and unsupported Linux and SPARC binaries were released shortly after the DOS release of the game. To quote an interview Taylor gave in 2012…

It wasn’t really my job, but I just did it because Unix workstations were way more powerful than PCs back then, and I couldn’t stand DOS. I was always a Unix guy. Part of why I loved working there was that we were using NextStep as a dev platform, and I felt comfy in that. The Unix ports weren’t as fun as the sound engine code, but the Linux one in particular felt great to do. Linux was still pretty young back then and hadn’t had any big games ported to it yet. Got some extensions to the kernel made to get direct access to the DMA buffer for the sound card, and got some extensions made to XFree86 to allow direct access to the framebuffer. That felt awesome.

Image Credit Since I Couldn’t Find Any Good Screenshots Of Quake Running On A Linux Desktop And Couldn’t Be Arsed To Fire Up A VM:  ttyquake

3

Untitled is a dark, surreal and creepy fist person horror/exploration game that packs a real punch with its divisive subject matter.

The subject matter is deliberately left ambiguous until the end, but it’s a game that focuses on the anguish and fears of those that have had to make a very hard choice.  You explore rooms and strange spaces, littered with imagery, writing and audio that encapsulate life and death.  There’s a distinctly sinister atmosphere throughout it’s 10 minute playtime and even a couple scares courtesy of a creepy death-like figure.

It’s a well crafted fifteen minute dread-filled adventure that doesn’t pull any punches with it’s subject matter.  Dark and powerful stuff.

Play the Full Game, Free (Windows, Mac & Linux)

3

Pulse is a short, beautiful, and tranquil game created for Global Game Jam, in which you explore and make friends in a primordial soup.

The dev wants players to discover how to play Pulse by themselves as that’s part of the fun as you explore and experiment with the game.  It’s played entirely using a mouse (or trackpad) and is a wonderfully zen-like experience as you swim around befriending other organisms.  A beautiful and relaxing swim through the primordial soup.

Play Pulse, Free (Win, Mac & Linux)

Porting the Unity Editor to Linux: Stuff I Wish We’d Done Then

At Unite Europe this year, we at Unity released our public roadmap.  And while it’s super cool to be able to share all of the amazing stuff we’re doing at Unity, one thing that is close to my heart is the Linux Editor.

The story behind Linux port of the Unity Editor is a lot like the story behind Linux runtime support, which was released in Unity 4.0.  It’s basically a “Labor of Love”; some of us at Unity have been working off and on to port (and maintain the port) of the Unity Editor to Linux for quite some time (it’s pretty much the poster child of Unity’s internal developer hackweeks), and I must say, it’s coming along quite nicely.  Our plan is to ship an experimental build Soon ™ to let you try it out.

Porting the editor to Linux is a lot of work – much more work than porting our runtime.  This is because the editor is where the majority of our actual tech lies (including most of our complex 3rd-party integrations) and because of the asset database, it’s the place where case sensitivity problems really show up.  Our editor consists of:

  • A lot of C++ code, much, but certainly not all, of which is shared by the runtime; this is of course compiled natively.
  • A lot of C# code, which runs on top of Mono.
  • Various 3rd-party libraries and middleware, all of which must be compiled for Linux.

Now that we are this far along, let’s look back on a few big things Na’Tosha “wishes we’d done then”…

1. Cared About Case Sensitivity

Unity does not properly run on a case-sensitive file system (which is something that Unity users have discovered if they’ve tried to install and run Unity on a case-sensitive HFS+ file system).  This is primarily due to Unity’s asset database, and how it stores paths to map them to GUID values.  Of course we tried to be smart in the early days, but if you don’t set up a way to actually verify that what you’re doing works on a case-sensitive file system, then it will never fail that some well-intentioned programmer throws a toLower() in somewhere and ruins the party.

This is definitely something I wish we’d cared about in the past because fixing it after-the-fact is difficult and tedious.

2. Didn’t #if WINDOWS #else OSX

A non-trivial amount of our early work porting the Editor to Linux involved dealing with stuff like:

#ifdef WIN32
        return _isnan(val) != 0;
#elif __APPLE_CC__
        return std::isnan(val) != 0;
#endif

Or alternatively:


#if UNITY_WIN
       // Some Windows-specific codepath
#else
       // Some Mac-specific codepath
#endif

le sigh.

Conclusion: If you want to write portable code, always do something sane (read: future-proof) in the #else case.

3. Just Didn’t Assume

The above-two points are the big ones.  A few other, smaller, things include:

  • Assumptions about compilers.  An example is our bug reporter in Unity 5, which is in many ways separate from the main editor and is written using some C++11 features.  The C++11 standard is, ahem, vague in some places and different compilers choose to interpret the standard, well, differently.  This makes porting something using C++11 to a 3rd compiler a pain.  Lots of compilation errors that involve this-c++-template-thingy-with-lots-of-angle-brackets does not match that-c++-template-thingy-with-lots-of-angle-brackets-that-has-a-const-somewhere-in-the-middle.
  • Assumptions about native applications.  This includes what sort of stuff goes in the application menus automatically (on Windows, for example, you get some stuff added to the application menu for free (Copy/Paste/etc)).  We had to go through and add this stuff in for Linux, because GTK applications don’t get these for free.  To be fair, most of this stuff doesn’t come ‘for free’ on OS X, either, but the way it was implemented falls into the #if WINDOWS #else OSX trap I wrote about above.
  • Assumptions about how file dialogs work.  Other platforms have callback systems, for example, so the parent application can tell the dialog if something should or should not be select-able.  The default GTK widgets don’t work this way.
  • Assumptions in general.  Conclusion:  assumptions really are the root of all evil. :-)

All that being said, the project has definitely been a lot of fun, hindsight is always 20/20, and these are actually the kind of problems I’d expect anywhere when porting a codebase the size and complexity of Unity to a new platform.

Just for fun, I’ll also mention that throughout the porting process, we’ve gone back to the drawing board on a couple of things:

  1. The first pass used raw X11 for windowing/event handling because we were trying to avoid a dependency on either GTK or QT.
  2. Because of (1) the early menu system was actually a menu system written in Unity GUI.  I still think this would be pretty cool if we did it someday.
  3. In Unity 5.1, CEF was embedded as the embedded browser system, and this had a dependency on GTK, so we switched to GTK for window/event handling and for the menu system.

But other than this, we haven’t really had to do any re-work.

So what how is the Editor going to work?  Here’s what we know:

  • Only 64-bit Linux will be supported
  • Same policy as with our runtime; in order to keep our own sanity, we will officially support Ubuntu Linux.  Other distributions are on their own, but it will probably work other places.
  • We’ll most likely support back to Ubuntu version 12.04 (it’s what we’re building on in our build farm currently)
  • Features reliant on 3rd party stuff (e.g, Global Illumination) should work
  • Installer will (most likely – it’s one of the things we didn’t do yet) just be a .deb package.
  • Some of the model importers that rely on external applications (i.e, 3ds Max and SketchUp) won’t work.  The workaround is to export to FBX instead.

Anyway, that’s it for now.

Here’s a teaser:

Our Networking demo 2d Shooter being exported to Linux from inside the Linux Editor.

Unity Labs running in the Linux editor.  It’s running here on a Retina MacBook Pro, which is why the fonts are small.

Are you excited about the Unity Editor on Linux?  What are you going to use it for?  What platforms do you want to export to from Linux?  Tweet me at @natosha_bard and tell me what you’ll do with it!

2

Hello Alice, a unique game made for the Alice Jam 150, has you choosing your own adventure like never before.

This choose your own adventure story has you falling down a dark rabbit hole. As you are falling, words fly past from the story Alice’s Adventures in Wonderland by Lewis Carroll. You are able to crash into those words to make the story appear in front of you. From far away, it is hard to see what the words are. So you must wait until you are close to them to decide whether to fall into them or not.

Collecting different words will change aspects of the story and give you different lines at different times. If you do not collect any words, the same last line will repeat across the screen. As you fall, beautiful music plays in the background, completing this relaxing game.  Create your own Alice in Wonderland story in this unique and calming adventure in Wonderland.

Play Hello Alice, Free (Win, Mac & Linux)

16. July 2015//10:30pm today was quite productive :) so far I am really satisfied with my notes for the Linux course. Full of sticky notes, the way I love it the most :D time to sleep, tomorrow is another day that needs to be conquered. Good night and sleep tight my dear studyblurs :)