Pl4n3's world

Blog about Programming, Graphics, Games and Html5

25.04.2016

Wloom 17: Script-Generated Levels

Mission is to create game levels with scripts. First demo shows 3d architecture being constructed using simple commands (box,gate,corridor,..) and raytracing. Second has a simple landscape with transparent vegetation. For each demo there are 3 links, the level-script shown with the web folding editor, the level-script run in the web 3d editor and the resulting level playable in wloom game environment.

Demo 1: Architecture
Source · 3d-Editor · Play

Demo 2: Landscape with transparent vegetation
Source · 3d-Editor · Play

28.02.2016

Recent projects, Start 2016


History wikidata visualisation: ellipse > line. [Start]
Also first time tinkering with SVG.

New Threejs demo is online. Now with textures,
details, skybox aaand.. hamburger menu. [Start]

Web folding editor with syntax highlighting
for mobile and desktop. [Start]

26.10.2015

Recent Three.js demos

08.09.2015

Back to VR, now mobile.

About 2 years ago I got the Oculus VR device DK1. It was great pixelated fun. VR apps could be written in the browser with the help of plugins or socket-connection to an external vr application. Today browsers start to make it easier by implementing WebVR (and deprecate plugins, but thats another story).
     
Now that I needed a new mobile phone to replace the trusty samsung s3 mini, it was a quick decision to get a s6 together with a gear vr device (by samsung & oculus). Its great fun again, less pixelated. Oculus home app starts as soon as s6 and gear vr are connected and has great apps and vr media, my current favorites are 'Dreadhalls' and 'Anshar Wars'. When I wanted to examine WebVR, there was the problem, that Oculus home app always autostarted and no browser would be visible through the VR device. First solutions, the internet offered, were to somehow disrupt the usb connection between s6 and gear vr or stop gear vr service with a rooted android or to switch to oculus developer mode, which only works, if you have (fake-) deployed an oculus vr app, else you only get the message 'You are not a developer!'. Didnt liked them solutions and thought to ditch gear vr and get a google cardboard (or similar universal vr device) instead. Also thought, this would be the worst vendor lockin issue ever. Then I got pointed to the app Package Disabler Pro, which is able to suspend gear vr service on a not rooted system (for 1.70 €). Now WebVR was possible, did test it with the spindex app, found on this WebVR tumblr. The spindex app uses WebVR and falls back to PhoneVR, if the browser doesnt support WebVR. I adapted this approach for the Wloom game environment:

► Simple gfx
► Complex gfx


      Finally a general thought about phone VR. I always wanted to do computer work outside (park/garden), but stationary hardware and sunlight make that difficult. There are notebooks/laptops, but sunlight is still a issue and you might want a bigger display or multiple screens. Phone VR could be the solution to mobile workplaces, phones have all the tech within and the power of desktop (office) pc's. Phone is always there, for the workplace only vr-glasses and maybe bluetooth keyboard is additionally needed. With VR, screensize is no issue (can be 360°). What is needed is VR workplace software, like VR desktop, but maybe utilizing not only the bigger field of view, but also the additional dimension that comes with VR.

23.07.2015

Wikidata Historymaps

The project fetches history data from wikidata (with time/location) and displays them using google maps. Data fetching starts with a person (i.e. its wididata id) and recursivly loads a number of data of ancestor and descendants. Places of historic events are clickable markers, where a description window can be shown. There are lines drawn between places of a persons history and between places of ancestors to descendants.

► Niklot
► Henry the Lion


Some interesting aspects from a programming perspective: the wikidata barcode logo is 'wiki' in morse code (ref). Wikimedia commons image urls are of the form a/ab/(filename), where 'ab' are the first characters of the md5 hash of the filename.

05.05.2015

Gree - 3d graphs (of json or javascript)

Experimenting on a new project called 'Gree' (from GRaphs with thrEE.js) to display and edit 3d graphs of json data or sourcecode. Motive is, that complex interconnected networks are difficult to display in 2d, e.g. edges overlap. 3d should improve visibility. To best utilize this, stereoscopic view (e.g. via vr device) is needed, since else the graph stays 2d projection. Currently there are 2 applications. The first is a general 3d graph tool. Graph data is represented and editable in json format. The graph can be modified by dragging its nodes.
► Gree Json

Second application generates 3d graphs of javascript sourcecode and vice versa. Why make 3d graphs of sourcecode? Code (display/editing) can be in a way redundant, because everytime a function is called, its name must be written. So a function name can appear multiple times. Alternatively a function could be represented as graph node (its name only displayed once) and everytime it is called, an edge to that node is drawn. This project tries to go that direction. Here an edge between 2 function nodes is drawn if one function is called from the other. For complex code with lots functions this can give a quick overview of code semantics. 3d positions of nodes are stored as comments above related functions. If the graph is modified by dragging its nodes, javascript can be generated with updated position comments. Javascript is parsed with acorn.js and generated with escodegen.js.
► Gree Javascript