Tuesday, February 26, 2013

NOWHERE - Alpha 46 - Liminal

NOWHERE Alpha 46 is now available for players who are preordering / alphafunding the game. As usual, you'll find the new download on your account page.

Windows, Mac OS X and Linux builds are available.

This release features our new in-game IDE Liminal, which is being designed with strong support for stereoscopic visualization, rapid prototyping/live coding and a low latency edit & continue working cycle. See this and this blog post for more details. The editor is young and relatively limited, but can be toyed with a little already. Here are the most important hotkeys:
- F12: Exit immediately
- Ctrl+Tab: Release mouse control
- Ctrl+^: Switch between world / workspace controls
- (In world) WSAD Q/E R/F: navigate
- (In workspace) Shift+Slide: pan across UI
- (In workspace) Ctrl+Mousewheel: zoom UI in/out


- First release of Liminal, our new live-coding game IDE (Windows/Linux only for now, see Known Problems below).
- Game: The menu has been re-skinned. Nothing else has changed. The game is in process of being ported to the editor, which allows us to get a better grip on the scale the project is about to reach.

Under The Hood:

- Wrote Python bindings for Awesomium, a commercial library that allows to embed Webkit-based browsers in 3D applications and games. The library has been tremendously helpful with integrating complex and responsive UI code in the editor. Liminal exposes a web server internally that the UI connects to. The bindings are MIT licensed and available at our bitbucket site.
- Wrote a new cross-platform build script that is guaranteed to perform clean from-scratch builds of NOWHERE and the Liminal game editor. The script has configurations for five of our machines (of which three are virtual), and builds a combination of our source repositories and packed archives of pre-built dependencies on a shared network location. The result is archived and put back on the fileserver for publishing.

Known Problems:

- OSX: The game is currently not deployed within an .app folder yet. You'll need to launch the run-nowhere script from the root folder of the unpacked archive instead. Double-clicking works.
- OSX: No Liminal editor yet, due to a fairly messy situation where PyPy stock builds are 64-bit, but Awesomium which Liminal depends on is 32-bit, thus rendering both components incompatible to each other. I'm looking into resolving this issue ASAP.
- Linux: On dual monitor setups, the engine may not recognize the screen resolution correctly. The launcher script explicitly starts the game in a 1280x720 window for now. (a problem caused by SDL missing a X11 feature on the older 32-bit Debian machine I have to use for building; I'm dodging the task of having to rebuild X11 just to get this).
- Linux: Last minute discovery: Double-clicking the run-script in Nautilus didn't work for me. I had to launch the script from the terminal (./run-nowhere, ./run-liminal).
- Linux: The build is for 32-bit systems. Some 64-bit platforms do not provide 32-bit support libraries out of the box. 64-bit Ubuntu e.g. requires the ia32-libs package to be installed, which is part of the official repository.
- Post processing FX have been disabled because the underlying blender game engine inspired technique performs rather badly, because it uses glCopyTexImage2D. They will be replaced with better, render-to-texture based implementations.
- Missing Feature: 3D sound. We use OpenAL but sounds are currently not attached to a location and will appear to emanate from the center of the screen.

Up ahead:

- Continous development on both editor and game as we move forward.
- Drive the backstory forward and rearrange the gameplay around our new terrain techniques, starting with populating our space with the sentient swarm AI. The sentients are not hostile, but they inhabit the world, and interaction with them is a key element of the gameplay.