habtic-screenshot

Habtic

Habtic is Dephion’s Flag-ship product. It’s an app, a holistic program, focused on improving mental, physical and emotional wellbeing. The target audience are corporations of all sizes trying to improve the wellbeing of their employees.

Habtic’s content is all evidence based meaning that content scientists take the cutting-edge research and translate it into fun and engaging content for the app. It covers a wide range of topics such as nutrition, mindfulness, meditation, exercise, communication, emotional wellbeing and brain training. It’s a true multi-facet approach to forming healthy habits for individuals.

My contributions in Habtic were mainly refactoring the existing software architecture to play nicely with Unity3D. This ranges from structural to performance improvements and of course, implementing new features. At the same time the existing features also needed maintenance or be upgraded to their next iteration to better fit the vision of Habtic. A number of features were implemented as MVP’s and required additional work to make them production ready.

As Habtic is the center where all disciplines of Dephion converge, our team had many stakeholders to please. From Audio to Video, Front-End to Back-End, Data Science , Content, Art and Talos. Each team had a part to play to make Habtic into the awesome product it is.

 

See Habtic.com for a detailed description of the project.

ContentBuilder

What makes Habtic great is its content, and thus an important aspect of Habtic is the internal tooling which we called The ContentBuilder. This is a wire-framing/diagramming tool including support to evaluate expressions custom made in Unity3D. Imagine Draw.IO with Scratch (the visual programming language) having a baby.

I got tasked with building the next-gen ContentBuilder from scratch. The old tool did functionally what it was supposed to do but it lacked in usability and user friendliness. A simple example; content-writers were not able to search for nodes in the graph, or were unable to copy-paste structures or undo/redo leading to lots of rework. We also wanted to keep the UI as recognizable as possible for Windows users, hence the classic windows UI feel. 

So I designed and implemented a new ContentBuilder in tight collaboration with the content team to build something for them that suited their needs. This was a very fun project to work on since I was able to use my skills writing a business application within a game engine. Why make this tool in Unity3D anyway? Well the ContentBuilder supports previewing of the running app directly in a preview window. This made into a really nice, rapid iteration workflow for the content writers.

Another reason why I liked this project so much is because I felt like I really made a difference in their daily work tasks. Writing content is their thing and when the tool better fits their needs, they have much more fun on the job.

By the end of this project I have great respect for developers and designers working on diagramming/wire-framing tools since: I too, now know the pain, of writing the logic to properly align edges and nodes in graphs.

ContentBuilder

TALOS

Talos is the team that’s responsible for creating the digital humans at Dephion. Their process entails scanning actors in our own 3D-scanner, optimizing the models for rendering on mobile, rigging and animating with motion capture technology etc. and making them ready to be used inside Unity3D. Talos plays a crucial role into the personality that made Habtic.

I joined the TALOS team after Habtic was on a steady line of improvement plus the ContentBuilder was deployed and used in production.

TALOS logo

Shaman

Next-up; I strengthened the TALOS team working on some very cool technology to fuel the context-based-animation (CBA). This CBA system is a custom made system to animate our full-body virtual humans. It does audio analysis to generate the most realistic looking animations for a coach. Including gestures, lipsync and general locomotion. All of this was pre-existing in the TALOS team before I joined.

Talos needed someone with full-stack experience to take this system to the next-level. The project entailed a new content creation platform for a chat-bot like product. The TALOS Shaman includes the full-body CBA system in the front-end with a new back-end written in .Net and Azure. Content writers could use this system to produce narratives users could have with a digital human. Based on a fuzzy search algorithm, users will never get the same narrative as long as there is enough variations to consume. We also implemented some Azure cognitive services for transcribing text the users would input, including a speech to text service to speak with the avatars.

This was a very fun project for me to work on since it combined my Unity3D front-end skills and back-end skills I didn’t utilize for a while. The back-end architecture uses a Clean/Hexagonal architecture which made for a very nice, modular and maintainable system. I personally think the simplicity at the core of such architectures is what makes them so good and testable.

 

See: talos.coach & a demo.

BJ-Game
BJ-Stand

BlackJack

In the beginning of summer 2022 we got asked to make some cool demo’s for GamesCon. We choose to implement two different demo’s RockPaperScissors and Blackjack. Both of these demo’s showcased the CBA and Shaman products in production ready applications.

My contributions were mainly on the implementation of Shaman in both products, yet I spend most of my time working on the BlackJack demo.

For the BlackJack demo we wanted to have a large 4K display showing just the dealer. We would then connect N number of tablets as players to actually play the blackjack game. For this demo I wrote a custom TCP server (the dealer) and clients (the players). These communicated over USB-C using the TCP protocol. We did not want to have dependence on (wireless) networks so we hosted our own private one. This also included hosting a local version of the Shaman back-end in a docker container.

This was a cool project to work on since it really showed how well-oiled the TALOS team operates. We made both products quickly without much re-iteration over existing assets. It was fun to produce  products for the convention, which also ended up in our game room at the company. Additionally, I have some greater understanding of BlackJack which will probably come in handy sometime.

The video below gives an impression of the demo. Everything you see is done in real-time; the animations, lipsync and the reactions by the dealer. There’s also a smaller view included of the player connected on an Android tablet (up to 5 players for this demo).

Yallsz

So Yallsz is the next big thing for Dephion. Where Habtic is oriented towards companies giving their employees extra tooling to improve their wellbeing. Yallsz is totally oriented towards the consumer marked. Meaning Yallsz would be in the Apple App store and Google PlayStore for everyone to download and use.

Unfortunately I cannot go into much detail about the Yallsz app itself but what I can say is that Yallsz is the next generation of the technology produced and used for Habtic. We took all the lessons learned from Habtic and improved them even further to start Yallsz in the best possible way.

We started the Yallsz app from scratch taking as less technical debt as we could. My tasks were oriented to create a robust and simplistic architecture for the application. During the development of the core of Yallsz we also got the brightest idea to use Lua as a run-time extension model for both UI and application code. This proved to be a very good choice as Lua is really great for such things.

I’ve really enjoyed implementing and designing a Lua integration based on MoonSharp. The options of extensibility are endless making for a really ambitious product. A spin-off from the idea’s of this can be found in a C# & Lua interop library called Howl.