IllustratorsLeak
VUEngine
VUEngine

patreon


2018 - A Year in Review

A little more than a year ago, we started this campaign with the hope to get the support from the Virtual Boy community to being able to dedicate more than just some of our free time to develop the tools, the demos and the games that we’ve been passionately making for our preferred video game system since around fifteen years ago.


Campaign and Formula V announcement (Oct
- Dec 2017) 

The first weeks of the campaign were very exciting and frightening at the same time. We were glued to the refresh buttons of our browsers, anxiously checking any news, patron, comment... anything. We celebrated each new pledge, and continue to do so until today, whatever tier, as an achievement. We still cannot believe the amount of support that we have received from all of you, for so long of a time by now, even when we have not been able (yet) to fulfill all our promises. And we are deeply affected when one of you leave us, but we are sensitive to the fact that we have overpromised on some of them because of our initial enthusiasm.

But rest assured that we have been committed all this time to the goals that we have set, and have been working very hard, as much as is feasible for each of us before real life hits us in the rear of course, to not betray your trust, something that we are sure you can appreciate by the amount of features that we have been able to implement during this year thanks to your support. All of which, although still not having materialized into a full blown game, are the required building blocks for that, and soon enough, will start to show up in small demos, prototypes, and hopefully a game, that will let you see what they are all about.

We can not get around mentioning Formula V, arguably the biggest one of our missed goals. Although there is a working prototype, it is not yet in a presentable state. But we want you to know that the main reason for its delay was our stance to not concede our desire to make it a multiplayer game. As such, before continuing developing the game’s mechanics and features, we decided that, in order to not compromise the multiplayer support, the performance, the graphics or whatnot in the later stages of development, we had first to figure out how to properly implement communication between two Virtual Boys and then how to sync two instances of our engine running on them. As things turned out, supporting VB communication has been a major struggle for our team.

Roughly speaking, we had to face three phases to complete the implementation of multiplayer support: 

1) getting the required equipment
2) reliably sending streams of bytes between both systems
3) implementing engine / or game logic synchronization

Against our hopes, the first phase took an incredibly long time to be over. Some of you may know that Jorge is located in South America, and it is not uncommon in the countries over there that services are not as swift and effective as they are in more developed countries. For you to have an idea of the delays that we had to endure, the second Virtual Boy, obtained with the help of Kevin Mellott's contribution, took a trip from the US to Brazil, then back to the US and, finally, to our team member’s home country. But the poor thing’s odyssey didn’t end there. Since the postal service in his country is beyond terrible, it took almost two months to get it out of the customs. And the nightmare was not over yet, the second FlashBoy, which traveled from Germany, spent three months at the customs because the postal service changed the procedure for notifications and payments, and was almost sent back to Europe. So, long story short, it was only in April 2018 that we got the whole setup for multiplayer development complete; sadly, almost half a year after we announced Formula V.


Physics, Collisions and Capitan Sevilla 3D (Jan - Feb 2018)

You may remember that during all that time we were busy doing lots of things to improve VUEngine. We reimplemented the whole physical simulations, changed the underlaying math point type and reworked the collisions to support rotated cuboids and spheres. We made some major improvements to the performance too, by changing the way the dynamic memory allocation works in our engine. Alongside these, work started on Capitan Sevilla 3D and on a little multiplayer game called Spong, intended as a proof of concept for the engine’s communication library.


VUE-MASTER (Feb 2018)

Back in 2017, when Chris was working with Marten Reiß (aka Stereo Boy) on a Virtual Boy port of "DaumenKinosaurier", another result of that cooperation was a simple stereo image viewer that allowed Marten to convert stereo images into VB Roms using VBDE, without the need for any programming knowledge. In February 2018, that viewer was publically released in form of the VUE-MASTER demo reel, containing 7 stereo images. Marten also produced amazing in-depth tutorials showing how to prepare 3D images for the Virtual Boy and how to create a VUE-MASTER ROM from these. He would also release a bunch of additional reels throughout the year, featuring converted stereo screenshots of Mario Kart 7 and Metroid: Samus Returns.


Multiplayer support phase 2 delayed, VUEngine Preprocessor and Plugin Library (Apr - May 2018)

Phase 2 of multiplayer support started in April using Kevin Mellott’s link cable. Initial testing went just fine. Without going into much technical mumbo-jumbo, the first thing to do was to decide which system will act as a master and which as a slave. Basically, the master system is the one that provides the clock signal for the communication. This was solved relatively quickly, but then we found a serious flaw in the implementation of the object oriented dialect that could lead to extremely difficult to track bugs.

At that point, we had a handful of games, demos and little programs that used our engine, so we could not afford the risk of the software base to continue growing while leaving such a flaw lurking below. Because of that, we decided that it was time to start the implementation of what would eventually become the VUEngine Preprocessor. At the same time, we saw the opportunity to develop another major feature that we have been considering for a long time by then: modular plugins. So, a couple of months were dedicated to implement the preprocessor, the modular architecture and to port all the games, demos and programs that we had created up to that point, to the new architecture and syntax. Not a small task if you quantify the amount of line of codes that we have amassed by then.


HiColor experiments (Jul 2018)

In July, we found some time and motivation to take another look at getting more than 4 colors at once out of the Virtual Boy; something that had been on the TODO list for a long time, after a first attempt with disenchanting results about ten years ago. This time we were much more successful. Using a simple trick that had earlier been implemented in the engine to produce semi-transparent sprites, it was found that up to 10 simulateneous colors can be achieved, and a simple Multi Color Demo was released.

In cooperation with Marten Reiß, we were able to further improve the technique in the following months and coined the term "HiColor (Mode)" to refer to it from then on. We created a few more demos (some not yet released) as well as helper tools for creating HiColor images. 7 colors eventually turned out to be the sweet spot when working with those.


VUEngine 6.0 and VBDE 1.3.0 (Jun - Sep 2018)

Development of the communication library continued more or less at the same time as the porting of all our software to the new architecture was slowly being completed, but the rough patches along the road where not done yet. Jorge relocated to a small town close to his mother city around July. As you know, relocating can be one very stressful experience as life habits and expectations have to change and settle. So, while work couldn’t and didn't stop, we were not at the top of our game during that time. Still, in September we were able to release VBDE 1.3.0 and VUEngine 6.0, which officially incorporated all the big changes on which we have worked on during the past ten months or so.


Multiplayer support delayed again (Aug - Sep 2018)

Then, Jorge's multiplayer development setup got unusable after the oldest FlashBoy’s USB connector got loose (and finally broke thanks to yours truly's inability to handle any kind of solder equipment while trying to fix it). Luckily, Kevin’s programmer was already on its way but, once again, getting things in South America from abroad is never short of and adventure in itself, and it was not almost until October that it arrived. In the meantime, though, work on Capitan Sevilla 3D’s port was reaching the final stages.


Capitan Sevilla 3D demo and Multiplayer support phase 2 completed (Oct - Nov 2018)

When we got the programmer, working on multiplayer support could finally resume, but not without its caveats. The following is, by no means, a complaint about Kevin’s exceptional programmer and carts, but the process of flashing them requires quite a bit more steps than it does for the FlashBoy. Because of that and specially because of the scarce and awful official documentation, getting to the point where we finally had a performant, 100% accurate, synchronous and asynchronous communication algorithm in the engine took almost two months of painstakingly trial and error. But, at last, we have finally concluded phase 2!

But were not done yet... and phase 3 could just begin. The good news is that we had already started to develop Spong back in April. It was meant to serve two purposes. First, to allow us to learn how to face the task of syncing two game instances, while at the same time we hoped to give a little love letter to you, our backers, and specially to the lucky ones between you to give some use to the link cable.


Spong demo (Nov 2018)

At the moment of writing down the first draft of this post, we were just finishing the implementation of reliable transmission of data between two Virtual Boy systems, but had no idea of when we would be able to release a first playable multiplayer game demo. Given all the difficulties that we endured to reach phase 3, we were sceptic about our chances of making it before the end of the year. But contrary to our wildest expectations, we were able to have the game synchronization done in less than a week and a half! So, mission accomplished, a demo of Spong was finally revealed and released.


The poll and resulting roadmap (Dec 2018 - Jan 2019)

After the last one of the major new engine features of 2018 had finally been done and demos of both our side projects had been released, we took a step back to consider our options to move forward. To get a better idea of what people are most interested in, we started a public poll to ask you guys what you would like us to focus on in the new new year.

Fast forward to New Year's Eve 2019, here are the top three spots:

1) Formula V demo (11 votes)
2) VUEngine tutorial series (10 votes)
3) Rework VUEngine Sound support (7 votes)

While it's not unexpected to see Formula V getting the most votes, we're pleasantly surprised to learn how many people are interested in learning how to create something with our engine and tools themselves!

Following the poll results, our main goal for 2019 will be to deliver a playable demo of Formula V, including much improved audio. We also want to create a few tutorials to show you how to work with VBDE and VUEngine to create your own Virtual Boy game.

In parallel, we will continue to work on Capitan Sevilla as well as VBDE 2.0, which is in an experimental stage as a Visual Studio Code plugin right now.


Final words

Although we were not able to fulfill your (and our) dream of having a full new Virtual Boy game before 2019, a lot of progress was done in the engine to improve its performance, usability and feature set. The problem is that developing games and generic tools to share with other developers requires a lot of invisible-to-the-user work, but you can gauge some of it through the code repositories' commit histories. Below is a (partial) list of them:

We haven’t posted about this before because we are sensible to the fact that it may come out as rude, and that hasn’t been nor is now our intention. But, on the other hand, it is absolutely fair that you have a way to be sure that the people you are supporting doesn’t just run away with the money. We are VB passionate developers that put a lot of effort into this, more so now that we have a bigger team counting in all the backers and cooperators, and we want that all the team members are happy with their role in it.

Luckily, engine features were not the sole thing that we were able to work on the past year. In collaboration with other community members, like Marten Reiß, some cool programs that show other use cases of the engine, beside games, were created. We ported one of the most visually appealing Virtual Boy homebrew games, by Rubén Garcerá, to our engine and are working on extending its life with new content in the future. And, finally, we were able, baring all the difficulties along the road, to develop our first playable game demo with multiplayer support. Most, if not all of that, was achieved because we are deeply committed to make it worth to you the awesome support that we have received.

That is all, for now. We hope that you enjoyed this little peek at our year as your official Virtual Boy development team. 

See you soon!


More Creators