This Blog has Migrated from Blogger to DBBD.SG!

Recently with the Wikicliki show opening, I took a long hard look at my various websites and decided to update my semi-dormant website, dbbd.sg. For a long time, I’ve tried not to meddle with the web design of my website (because its a rabbit hole of tinkering that I am apt to fall down into), but its been a few years since my dbbd.sg site was made and maybe, just maybe, I guess I should be applying my commercially useful UX/UI/web skillz (which I teach in my day job) to my own web presence!…

The funny thing about this blog migrating to wordpress is that, it being a very busy time, I actually contemplated hiring a Fiverr to save me the time and trouble of porting my blogger blog (openurbanism) to my own server. But bizarrely, when I looked into my own server, it appears that on 31 Dec 2020 (a good time for making and breaking new year resolutions), I discovered that I had already ported my own blog over to a wordpress installation on my server??? – and then promptly forgotten about having done it?!?!

I would like to congratulate the Debbie in the past for having the foresight to do all the hard work, thus saving Present Day Debbie all that work.

Well I guess it must have been too simple – to the point that I blanked out the entire memory of doing it. No wonder the rates on Fiverr for this task are so low. If I try to retrace my steps, it seems it was just a matter of downloading an XML containing all my 371 of my existing blog posts and then importing it in to a new wordpress installation, and then throwing in a few useful plugins to quickly download all my remotely hosted images to the wordpress media library. Finally, I just roughly smushed an old but classic WordPress template together to make it look like an acceptable blog (twentysixteen, nevermind that its now twentytwentyone, but i don’t like the newer wordpress defaults). The WordPress template isn’t the best yet because the amount of time I’ve spent on it is too limited, but let’s try to keep it about the documenting, and let’s not fall into the rabbithole of the obsessive editing of tiny css snippets again!

So here we are, my newly ported blog, and this is post #372!

What would happen to my Web Presence if I unexpectedly died?

It may sound ridiculous, but it has surprised me how some of my embarassingly old websites on services like livejournal and blogger have stood the test of time and survived without any intervention from myself, whereas the many paid domains I have bought and retired have disappeared from the internet (after I stopped renewing them). I worried that if something unexpectedly should happen to myself, then no one would know how to keep my websites alive. So for the longest time, I decided to relinquish a little design control in exchange for hosting it on a fuss-free long-lived platform like blogger – also in order to stop myself from compulsively tinkering on the web design (being the obsessive pixelpusher that I am).

But…. now that I have decided I will take back control and consolidate my web empire, what does it mean for the longevity of the site? What if Debbie unexpectedly stops paying her credit card bill for her web hosting and web domain name registration and everything? What would happen to the site? Would it vanish overnight, once my hosting bill is not paid?

Well, to look at things in perspective, all my writings would not be truly lost. I found that my dbbd.sg website has indeed been archived by the Internet Archive almost every year since 2012. I’ve also always kept the openurbanism blog on the lowdown, like a public blog which feels like a private blog or well-kept secret from me just being intentionally terrible at publicising or sharing when I have posted new stuff. To be honest, I document my process because it is a cult of being “done” to me. By posting about it online, it makes me feel like the work is “done” and that I can get closure and move on to a new task. I suppose it helps me get over the sometimes paralysing need to make things perfect.

Do say: The various iterations of your website have been successfully archived by internet archive!
Don’t say: The various iterations of all your embarassing livejournals since you were 17 have also been archived by the internet archive!... 😱😱😱😱😱

WordPress Taxonomies

The next problem is that my blogger categories had translated over into WordPress categories, but I know that WordPress has both categories and tags, and they were being used differently.

According the WordPress’s support page:

“Categories are best used for broad groupings of topics. For example, if you’re creating a site that reviews media, you might use categories such as Books or Film or TV.

Tags are much more specific topics that you want to use to associate related content. For example if you were creating a site that reviews media, you might want to use tags such as science fiction or horror or action adventure.”

Unfortunately, I had been writing my blogger categories as if they were tags, so it means I might have to manually go through all 371 posts and recategorise and tag them all. 😱

I contemplated editing it in mysql but have messed up databases before, and there were several free plugins out there which were very limited in function, but I eventually found a plugin ($) which would convert categories into tags in bulk so that I wouldn’t have to spend hours trawling through all 371 posts and copy the categories over to tags (not a very meaningful task). But now that I have replaced all categories as post_tags, I have to append each of the 371 post with unique categories again…

This blog will be a work-in-progress!

Design choices: To avoid the occupational hazard of spending too long tinkering with the wordpress template and web design (instead of doing the actual DEBBIEWORK I want to do!!!) I simply took the default WordPress template from a few years back and adapted it briefly for my needs. I looked at all the default wordpress templates over the years and decided that I liked the simplicity of twentysixteen, the year before I moved back to Singapore. I like this shade of #0000ff blue (attempted to print my MA thesis in this colour) and I needed a strong contrast colour so the blog is basic internet blue and red now. I didn’t make the font black because it looked boring and these are not finalised or “resolved” documentations of my works. Its a process blog!

Unity + Oculus Integration on Mac

 

How long does it take to create a test project for the Oculus Quest on Mac with Unity3D? Well fortunately it does not take very much time at all, although it will take a whole lot more time to make something decent and of interest. But if one just wanted to connect up all the equipment, it is pretty fast!

According to Rescuetime I spent 33 minutes in total in Unity in order to complete these steps on my 15″ Macbook Pro 2019, including all the downloading and importing. The writing of this documentation is probably taking far longer.

The Chinese New Year Weekend is too short! I want to spend maximum fun time with the Bean, and get some catching-up-with-sleep-time, but I also want to learn how to make something for Oculus using my Mac alone?? I found several posts online claiming to be able to teach you to set up your Oculus device in 10 minutes. HA I suppose they definitely didn’t use a Mac for these speed runs (my Mac has now decided that its new calling is to mimic the hideous sound of an airplane taking off). Still, I persist in valuing the retina display+portablity over practicality and doing everything on my Mac. Will I be forced to retreat back to using a PC again after much frustration? Let’s find out!

The Oculus is a type of Android device so have to check for Android Build Support in the version of Unity I’m using. Just created a 3D project in Unity in the version of Unity I happen to be using.

Unity Asset Store has this default “Oculus Integration”. Whilst waiting for that to download, I saw there were so many different integration packages out there for VR and more. Actually got lost browsing all the rather interesting sounding “Tools/Integrations” category on Asset Store. Which ones do the most interesting things? NO CLUE. I guess I will just try Oculus Integration first before actually trying the others.

There are several updates and Unity will need to restart, after which there will be some new Menu items for Oculus like this:

Under Edit > Project Settings > Player > XR Settings > Virtual Reality should be supported.

Another step I would add in is to preemptively remove Vulkan Graphics API, because if you don’t, it will throw up an error about XR being incompatible with Vulkan. (Alternatively, I suppose one could go into the OVR scripts which is stopping the build and find the lines where it checks for Vulkan and comment out the checks?)

So I also went to read up on Vulkan Graphics API and what it does – the internet says: “Until now, the mobile graphical interface has been using the OpenGL platform. While the platform was suitable for intense mobile applications like gaming and photography five years ago, the old platform isn’t enough to handle today’s AR/VR intensive applications. It is also not possible to pack in massive hardware in a restrained form factor for running intensive mobile applications. The Vulkan API was developed by Khronos to ensure improved graphical performance with lesser resource usage. The new API has been built from scratch for rendering console quality graphics on existing mobile hardware. What that means is you will be able to enjoy the PC-like graphics on your high-end smartphone”.

ALRIGHT BUT WE WON”T USE IT.

OH WAIT AS OF 1 FEB 2021 the internets say that Unity now supports Vulkan for Oculus Quest? ¯_(ツ)_/¯

Ok whatevers. At this point I just removed Vulkan for the time being so I can continue.

Next is to create a developer account and app ID. Now I definitely have mixed feelings about the Facebook integration, which means I have to take several precautions regarding privacy. If I was buying a VR headset only as a casual user, then the issues with forcing users to login with a Facebook account would make me reconsider getting this device. However, the reason I’ve gotten a Quest 2 is for portability in VR development. Consider all the factors on your own before getting a VR headset device!

Go to http://dashboard.oculus.com/ in a different browser and set up the Developer account.

Connect the Quest to the Mac with the usb cable. Under Build Settings > Android > the Quest should now be available as a device.

Build & Run > and when its done, you can put on the headset and it will start to load your scene. Probably could have used the prefabs to make a scene but there are some demo scenes that came with so I just loaded that first.

Wahooey a demo scene!


NEXT STEPS?

Tiltbrush? Building Tiltbrush which has gone opensource?

How does I workflow???: Workflows: The process flows you should follow

How to screenshot on Oculus Quest 2? Press the Oculus Button + any trigger button. The app needs to have permission to save to storage beforehand.

Where do the screenshots on Oculus Quest 2 go to? Turns out that the Quest is a kind of Android device so on a Mac you have to download Android File Transfer and find screenshots under Oculus > Screenshots.

VOID: Documentation and Process

VOID started with a bunch of 3D scans. This was the first scan I made whilst waiting at the corner of the void deck for a taxi. The funny thing about this scan was that you got quite a good view of whatever I was looking at, but there’s a empty void behind my two legs, where the scanner couldn’t reach, which makes it look like sootmark traces in the aftermath of an explosion. There are numerous 3D scanning apps available for iPad Pro and it is easy to export the data as an textured OBJ or glTF/glb and the file can be quickly imported into Unity.

Gameplay images from VOID

These days I spend quite a lot of time waiting for taxis to take me and Beano between places. The timing is such that I frequently end up commuting at daybreak or at night, catching glimpses of dimly lit buildings and sleepy carparks through the darkness. The two destinations I frequent (my house and my parents’) are incidentally both what you might consider somewhat complicated places to get to, so there are many opportunities for a grab or taxi driver to become lost or give up the will to find me in the midst of all the one way road systems. So… there is a lot of waiting, during which I’ve ended up scanning void decks, mining it for material…

Void deck waiting area

When Shih Yun first invited me to show something at OTHERWORLDS, I had several other experiments and drafts that I thought of showing, which I realised over time to be unnecessarily complicated. A good game is not a collage. A game does not necesssarily get better from having more elements in it. I realised that I liked my growing collection of Void Deck scans… and I wanted to make something out of all of them.

HDB Scans from Veerasamy Road

The only weird thing about doing this is that after staring at it in a dream-like state within my game for so long, it is kinda weird to still walk through the same corridors on an everyday basis.

An obvious reference for the work is “In the Night Garden”, a show that Beano has been watching a lot of. Some years ago I remember once attending a lecture in the basement of RCA. The details of this lecture eludes me except that the visiting speaker was a new sleep deprived father who had watched a whole lot of “In the Night Garden” recently with their toddler. He apparently had some near-religious epiphany with regards to the philosophical meaning behind “In the Night Garden” and I only have the merest impression that he had meticulously tied it up with an elaborate history of design or critical design or radical italian design pedagogy from the 1970s or whatever it is that RCA design students get lectured to about (and that I was impressed with the mental leaps of the lecture). It thus seems typical that now in my own sleep deprivation of caring for the Bean, I do not recall that useful gem that this forgotten speaker had wished to impress upon us, that rare and useful tidbit that he had gleaned from the watching of “In the Night Garden”.

A Screenshot from “In the Night Garden”

Now as I am watching and rewatching pixelated copies of In the Night Garden via youtube on an old and heavily bumpered ipad, I am only left with questions. WHY IS IGGLE PIGGLE ALONE IN A BOAT AT NIGHT? WHERE IS HE SAILING TO? IS THE NIGHT GARDEN THE FEVER DREAM OF AN IGGLE PIGGLE LOST AT SEA? IS IGGLE PIGGLE ALRIGHT? WHERE EXACTLY IS THE NIGHT GARDEN?

Another reference for this work is a scene from another children’s show – Steven Universe. Years back I used to catch bits of it and I remember thinking that it was way too childish for me (I probably even said something like “I dont know what people see in it!!!”. But when I was on maternity leave I somehow ended up binge watching seasons of it all at one go in the middle of the night. It was when I watched this episode that I was suddenly SOLD on the show, because seeing a nightmare version of the city made me realise that they had done such a good job of painting Beach City to me in the previous episodes. They needed audiences to have built up a good mental map of Beach City before hitting us with a nightmare version of it – otherwise the episode would not have any impact. It is funny that I almost feel kinda nostalgic rewatching old episodes of Steven Universe, because the show now gives me a feeling of Beano being really tiny. I suppose this is the video version of “song that happens to be playing in the background during a defining period of your life”. I really love the thoughtful, gentle way in which the show handles topics such as mental health, parenting, and relationships – and I guess I envisioned it being a beautiful cartoon for Beano to enjoy watching with me, one day in the future…

“Rose’s Room” (Season 1 Episode 19)

In this episode, Steven discovers that his mother’s magical room can fulfill any wish he asks for. After asking it for a bunch of silly things, he is hungry and decides to go get a donut from the shop in Beach City, and he thinks he has stepped out of the room to get a donut, but actually Rose’s room has generated a parallel Beach City. Everyone is speaking funny and he runs to the water’s edge where he finds the waves are not working properly. Finally after a terrifying time in the city, he realises it is a dream when he tries to eat his donut and it poofs.

Enough of the back story, here is the work!


VOID IN THE CAVE

Shao from DUDE.SG combined all our works into the CAVE setup for the exhibition at Gillman Barracks – a 3 screen kinect based interactive virtual environment! The boat was self-propelling, but it would turn according to the direction of the user’s body.

Due to safe distancing measures, the gallery could only accomodate a fixed number of people at one time, so queues outside built up to insane levels. Whilst the show was incredibly short, I heard that there were about 600-700 people who came through each day, so at least we know that many people got to try it!


PRODUCTION NOTES

A few notes here on issues I encountered along the way:

Water in the Boat – Convex Hull

So I wanted to get a boat floating on a sea. I didn’t reinvent the sea, no, if you must ask. I did this version with Crest, an existing ocean renderer system for Unity 2019.4.8 and later. A real boat actually displaces the water, so at first when my boat was in the water the ocean rendered into my boat. The fix is to add a convex hull (take the shape of your box and create a shape which is the smallest solid closed convex shape of itself) and then use a script to disable the rendering of the water where the convex hull is located inside the boat. No more water inside boat.

Resolution

One thing I’ve blithely not comprehended before was that on a MacBook with Retina display, the pixel density is twice that of the norm, therefore instead of 72dpi it is actually 144 dpi, meaning for every 1px there is actually now 4px (2px x 2px), hence when I take screenshots/screencaptures that do not account for the embedded dpi setting of 144dpi, they will come out twice as big. A crucial issue when trying to screencapture my game as a gameplay video…

Colour / Dropped Frames / Understanding Unity Profiler

Monosnap is the trusty screenshot app I’ve used for several years now. Using it meant that I never had to really think about how I really wanted to compress things, because I just trusted it to quickly crop and compress things for me (whether image or video). However, most of what I’ve been screenshotting with it so far have been things like annotations of images and lectures, for which colour is not much of a big deal. Well, my lazy days are ending. Using it to capture a gameplay video this time around showed me that maybe I need a better long-term solution for gameplay screencapture (possibly even an internal game recorder?) because (1) there is something going on with the colour (probably to do with conversion from 10 bit colour to 8 bit colour, which flatten my subtle purples to black), and (2) there is also something going on with dropped frames, which I am guessing is possibly my macbook pro’s gpu being not up to the task of, so it all points to (3) that I probably need to watch more tutorials on how to properly use the Unity profiler to improve the performance of my game… ¯_(ツ)_/¯


COMING SOON: VOID IN VR?

Singapore Art Week 2021: Where to see Debbie’s Works

For those in Singapore at the moment, I have a couple shows ongoing/upcoming during and beyond Singapore Art Week. I’m showing them as digital works and video works, so technically your location won’t matter once I have properly uploaded all the works later in the year…!


1. VOID

Void is a small game that’s available for download on itch.io (Mac currently / Win coming soon) and you could say it is a translation of my current reality into game form. Since I work full-time but also have a toddler who doesn’t quite go to daycare, I spend my days shuttling between void decks, waiting for taxis to take me between my own house, my parents’ house, and the office. There’s usually anywhere between 5 to 12 minutes of waiting where I don’t know what to do and for the fun of it I began scanning the various spaces in a very ad-hoc fashion. I rather liked the bad scans more than the good scans, and I ended up using this material to make an interactive experience in which you’re a little boat drifting between ruins, with the pillars looking a bit like the pali da casada (the poles that stick out of the water in front of buildings) in Venice.

If you’re in Singapore, its also in an awesome CAVE for just 4 days only at Gillman Barracks (9 Lock Road, #03-21, in the former unit of Arndnt), made by the amazing team from DUDE.SG. What this means is that you can navigate through the otherworlds inside it by raising a hand, squatting, flapping your hands wildly in front of you, and swiping. The entire show is a labour of love by INSTINC and altermodernists and all the artists involved, and the CAVE experience is truly seamless. Go and see it!

Otherworlds: non/digital realities

Organised by Instinc @instinc_space

Co-organised by @altermodernist

Curated by @hilda_hiukwan

Opening Hours: 28 Jan 2021 – 7 to 10pm 29, 30 Jan 2021 – 12nn to 10pm 31 Jan 2021 – 12nn to 7pm

Venue Gillman Barracks Block 9 Lock Road, #03-21

FREE ADMISSION

8 artists 2 cities

Digital and physical works

Facebook Event Link: https://www.facebook.com/events/302803607957276

Debbie’s “Void” on Itch: https://dbbd.itch.io/void


2. THE LEGEND OF DEBBIE

My vision for this work was to mine myself for material and create a gallery in which all my artworks were magical wormholes into alternate realities where I would tell you ridiculous stories that were both believeable and unbelievable and you would see various crazy visual representations and reinterpretations of my old work. We always talk about digitisation lately especially during covid – but are we really and truly exploring all the possibilities in a new interactive format like a 3d video game? I had some pretty tight time constraints (only working on this on weekends when I’m off work – I mean I do have a full-time job too), and being a one-woman developer team reined in my wild ambitions for this work (initially wanted to make a crazy ragdoll puppet of myself, which I scrapped due to having difficulties with ragdoll physics and rigging and lipsyncing, none of which is my speciality). I definitely feel this work is not even close to its final form and I imagine slowly improving it over time…

State of Motion: https://stateofmotion.sg/

Curated by Syaheedah Iskandar & Thong Kay Wee

Marina One

20 Jan – 21 Feb 2021

Exhibition open 12pm — 8pm daily (Except Public Holidays)

7 Straits View, Singapore 018936


3. MOTHER

In the basement of the National Gallery Singapore, I have a project called MOTHER. Try to visit it on Thurs-Sunday when there are helpful little elves to guide you through using the kinect-based interaction. Visually speaking this work is indeed a departure from what I usually make – i guess because of the involvement of form axioms’ dev team and my own limitations in Unreal (specifically: having tried to make my part of it on my own without any experience with Blueprints or having watched a proper tutorial or course on it – woops! Yes as it turns out one cannot transfer skills of one game engine to another haha). The background environment for MOTHER was also contributed by the development team; I described it and they translated it in their own way into what you see there. I suppose I imagined in my head something more brutalist and weird and oddball – but what came out was a bit more scifi alien in the end, a bit like walking into a basement lan cafe and you’re deafened by the ambient sound of nonstop clicking and shooting. So… yeah, not entirely what I expected, in case anyone is confused how this strange thing is a “Debbie Ding” work. Nevertheless I do feel like I learnt a lot from the progress of making it, especially experimenting with vocaloids.


4. RULES FOR THE EXPRESSION OF ARCHITECTURAL DESIRES

I guess this was my first video work, which I shot in Berlin over a summer, and made foley sound for in the dark scary basement of the ZKU building. The writing that accompanies the work was written about an anonymous city but there are glimmers of other very real cities in it. I’m just showing the video work for this exhibition at SEED space and it opens this weekend Saturday – and I am humbled to be showing alongside the amazing video work by Martha Atienza, Charles Lim, Lim Sokchanlina, Perception 3, Christina Quisumbing Ramilo, and Tromarama.

Images above from when I showed the work in Maison Salvan in Toulouse. Will update the pic of the show in SEED space when I can get a better picture!


Documentation for the works coming soon!