The idea behind making Hexwave.

About three weeks ago, I started my second semester (in second year) in university. This semester involves a module called "Industry Portfolio Development". The assignment for this module is to put together a Portfolio and make a new piece of work for it (along with showing 2 previous pieces of work). Now, as the totally sane programmer I am, I decided to make an Interactive Film engine in C++.


Now, you may be asking the question: "Archie, what is an Interactive Film Engine?" and that would be an absolutely great question! An Interactive Film Engine is something pretty new (I'm not even sure there's an actual engine to only make these), but it's an engine that allows you to make Interactive Films like "Markiplier: In Space", "Black Mirror: Bandersnatch", or like the project I worked on called "Volition". However, if you've looked at my portfolio, you may have noticed a project called Stornaway. If you haven't seen my portfolio, you may be asking "What is Stornaway"? Stornaway is a company that provides a website for you to make interactive films/videos, like those videos I listed. I worked on a Unity port for this with INFINITY27, allowing users to create runnable games with Stornaway. So now you may be asking, "Well Archie, why didn't you just remake Stornaway or something in Unreal!", and you'd have a good point, except, I've already tried remaking Stornaway in Unity and doing it in Unreal would end up with a bloated executable. To Explain more on this, we need to go back to the making of Volition.

Some time last year, a friend of mine, called Simon Reeve, rang me to ask if I was available to work on an Interactive Film project for his friend's University Project (this friend was called Felix Piasecki). I was super interested and, working on Stornaway, I knew how we could do it. After some calls back and forth with Simon and Felix, I found out they wanted a feature that Stornaway didn't have, so I had to remake Stornaway, but extremely simplified.


Whilst doing that, I found a good few issues with Unity.

  1. Unity lacks some MAJOR support for Linux, MP4 don't play on Linux (this includes streamed videos), which just completely disables Linux support.
  2. Unity doesn't use FFMPEG, so H.265 videos don't play if that machine doesn't have the HVEC codec and Windows doesn't always come with this, forcing the user to spend £0.79 for the codec.
  3. Unity has some god awful Audio issues with videos, constant desyncing (which was extremely random and sometimes hard to reproduce, other times extremely easy) and no fix was working (apart from jumping to the latest Unity version, which we eventually did).
  4. Unity is also semi-bloated. It's not as bad as Unreal Engine by any means as the download for Volition is only 24MB! However, it's still semi-bloated and I don't want such a big engine for this type of project.
 

So, what do I do from here? Well, the answer is why this blog post is made! Make my own engine for Interactive Films! I want an engine (without the issues above) and provide everyone with an engine that works across all platforms and works beautifully! That's where we're at now. I'm still working the basics of the engine (at the moment of writing, I only have: project saving and loading, adding and removing videos, adding and removing options from videos) but it's coming along well! Here's a preview of the engine so far.


I also named it Hexwave so, that's cool I guess? It's worth noting that, whilst you could consider this to be a direct competitor with Stornaway, I'm not looking to compete with them at all. If the project ends up in a state of "competing" then so be it, but I do not wish to implement things just to be "better" or whatnot. I simply want to make an Interactive Film Engine that works for Linux and doesn't have the issues that arise from Unity.

Anyways, stay tuned for more updates and insights into how certain things were made!

Comments

Popular posts from this blog

Saving & Loading for Hexwave.

Making Hexwave work on Steam Deck!