Say What!? released on Oculus Share!

Today, after a few weekends of polish and bug squashing, we at ShellVR are proud to present our Global Game Jam 2015 game: Say What!?, now on Oculus Share. The team on Say What!? was Björn Fyrvall, Daniel Nyberg, and Daniel Kihlgren Kallander.

It is our first game together, and I hope that it will lead to many more fun VR projects in the future. Right now we have set out sights on Oculus’ VRJam 2015, with a few great ideas!


Mimic 3D reboot

After not having played around with Mimic for many months, and with GameCity coming up (now in the past), I started thinking about how to solve the overlap issue and how to move the project forward. I was suddenly struck with the idea that maybe changing the project from an isometric 2D game to an isometric 3D would solve it with some simple code redesign. I set to work, and after roughly two nights worth of coding and testing, I had a working 3D version of Mimic. It worked! The overlap issue was gone!

The first step was to step up the scene.

Setting up the scene

This involved some very simple 3D modeling and scaling apropriately.

Testing with multiple characters

Testing with the existing code, the characters float away, which won’t do. Some tweaking to the spawn code when in 3D mode fixed this.

The next step was to add shadows, which was suprisingly hard. The environment is 3D, as is everything except the characters, which are 2D sprites. After looking everywhere I got some advice on twitter from the tag #gamedev. Apparently, if you go into Debug mode in the Unity editor (top left next to the lock icon), you can then set a sprite to cast shadows and receive them.


Tweaking the strength of the sun, we get:

Nicer shadows

This is basically all the work I did before GameCity. More updates will be coming!

Winning the C Awards

The showroom

The C Awards were held at Visualiseringcenter C in Norrköping on Wednesday. I brought my desktop to the showroom event before the prize ceremony, as I wanted to rectify my previous frame rate problems at the Swedish Game Awards Conference, where I only used my laptop.

Set up on the showroom floor before guests arrive

Set up on the showroom floor before guests arrive

Suffice to say, it ran smoother than butter, and the comments were much the same. No negative comments to be had, and everyone seemed to enjoy Obscurus, even if they had tried other VR games previously, which is a testament to the game’s design. A lot of interesting questions about my design choices came up, and I also got the chance to see if my slight adjustments to the game paid off. It did. I also got to meet Fredrik Berling, a childhood hero of mine who was the host for the show Hjärnkontoret, and now acted as compere for the prize ceremony.

The prize ceremony

The prize ceremony started a few hours after the showroom, and I was incredibly nervous. I was nominated in two categories: Next Audience Magnet, and Technical Excellence. From what I’d seen of the other nominees on the show floor, I was sure that I had a shot at both, but Technical Excellence being my stronger entry, as one group didn’t even show up to the showroom floor.

Next Audience Award nominees

Next Audience Award nominees

The award for Next Audience Magnet comes up, I’m nervous, but I’m also thinking “It’s fine, this isn’t my strongest category”; so you can imagine my surprise when my name pops up before the jury has even given their motivation!

Getting my award for Next Audience Magnet

Getting my award for Next Audience Magnet

I was ecstatic! I was overjoyed! I was a bit nervous being on stage with a microphone shoved in my face, but I think I fared alright.

The jury’s motivation was as follows:

“In this entry we see the first steps on a journey towards a whole new type of public storytelling. Through experimenting with virtual spatiality and design, the entry shows the potential of technology whose possibilities we can only yet dream about.”

Happy award winner back on the showroom floor

Happy award winner back on the showroom floor

Where next?

Obscurus has now gotten its first award, and hopefully many more are to come. The next big milestone for me is to finish up the vertical slice of the game for the Swedish Game Awards. The prize money I got here will help pay my rent and continue development on Obscurus and other projects, like Mimic, which is starting to gain steam. Hopefully I can keep you updated on it’s development as well as my latest game, a 2D card game.

As always, I’m continuing my pursuit of master thesis work in the video game field.

CAwards entry & Obscurus development slowing down

CAwards entry

Work on Obscurus has gone slowly this past week and half, as I decided to take part in the CAwards. CAwards is a competition held by Visualiseringscenter C in Norrköping, where ambitious student projects in visualization and human computer interaction can compete in 5 categories for 10,000 sek. To compete, you need to create a video of your project, and enclose a description with the application. Therefore, I needed to create a video that showed what Obscurus was all about. This included finding a way to show Virtual Reality for people who’ve never experienced it. I ended up recording myself playing the game and simultaneously recording the screen so I get a side by side in the final video. I like the effect.

Obscurus development slowing down

Obscurus development has been slow as of late. I fear I’ve hit the Indie shame spiral. My early enthusiasm for Obscurus has started to dwindle, and I’m looking to new projects, like Mimic, to keep going. I will continue small development on Obscurus though, as I want it to be as polished as possible for the Swedish Game Awards. I will restricting it to a single level for the time being however. SGA is more of a vertical slice competition anyhow.

To conclude this post, here’s a collection of images I’ve saved from development over the past two weeks.

Obscurus playtesting + Swedish Game Awards Conference reflections

The SGA Conference

This weekend, I attended the Swedish Game Awards Conference. Traditionally, the student game competition was held at my school, KTH (Royal Institute of Technology in Stockholm), but this year it was held by Södertörns University. While it was refreshing to move to a new venue, I feel that the organizers had a bit of trouble during the weekend. The schedule of talks was constantly getting changed, being pushed back or cancelled. The lectures themselves were really great, and I was pleasantly surprised by the amount of female game developers that were holding talks, especially as it was International Women’s Day on Saturday.

Student showcase

This year was the first to include a student showcase, where students get the chance to show off their projects. I chose to showcase Obscurus, and overall it went pretty well. The demo poltergeist struck, halving my framerate for no reason from when I tried the game at home. This meant that instead of a framerate of around 45, it was closer to 20. Despite this, a lot of people were interested in trying out the game, and I got a lot of valuable feedback, both verbally from the players but also from observation.

Obscurus first venture into the wild

Obscurus first venture into the wild

One interesting fact was that the labyrinth was too hard to navigate for a majority of players. Only 6 out of 27 players were able to make it to end. Every person commented on the low framerate, and most commented on the high mouse sensitivity. Luckily, I got some help from a friend at the event, and I have since fixed the sensitivity issue, and he’ll be helping me in the future for a smoother camera as well.

In other news, I’ve decided that I am giving Obscurus 2-3 more weeks before SGA, so that I can focus on other projects and contrinue to try to get thesis work.


Obscurus | Preparing for the Swedish Game Awards Conference

So over the past week I’ve been hard at work, getting Obscurus to run as smoothly as possible, as well as adding new assets for Level 2. This has mostly been because of the Swedish Game Awards Conference which is hosted by Södertörn on the 8th and 9th of March. This blog post will document what I’ve been doing and what is left to do before Saturday. I’m taking part of the the Student Showcase, where I get to show off Obscurus for the companies there as well as the other students who are attending. This is a great opportunity for me to show how far I’ve come with Obscurus.

Level 1 Rebooted

As has been said previously, I’m working on a rebooted version of the first level. This has mainly consisted of creating larger asset building blocks and building the level. This work completed this week, and I have started the arduous task of transferring all the doors, sound effects, speakers, etc. Luckily, the way I set up my initial Level Flow in Bitsquid, all I actually need to do is move these assets to their corresponding places. The flow looks like the image below. A trigger with a delay plays the animation on the door, that triggers an unspawning of a collider once the animation of opening the door is completed. At the same time, the trigger also triggers the door’s sound effect at the door’s location. Thus, I only need to move the trigger and door to the correct position and my initial Flow still works.


Level 2 – The Hotel

The second level is where I’ve been focusing most of my efforts lately, as it provides a nice break from adjusting assets or perusing Lua code. This level has a 50’s / 60’s hotel theme, reminiscent of The Shining or The God Complex episode of Doctor Who. This level will feature a very different narration (more on that in a future post), and will have a different feel, for a very specific reason that hopefully will become clear by the end of the game.

When designing the wallpapers, I looked at 50’s wallpaper designs, brought them into Photoshop, where I then drew over them to try and get a more cartoony feel. This, however, led to some not so seamless textures, something that still needs to be fixed soon. Overall it was a lot of fun to do though, a nice change of pace.

I’ve also got some ideas for the menu, but I’m leaving that for another post, other than this image.


Obscurus | Adding new assets

I’ve been hard at work for the past two days creating new assets for Obscurus. I’m trying to evoke a 70’s hotel that you’d see in movies like The Shining or that one episode of Doctor Who. I’ll let the images speak for themselves.

I’m still in the process of cleaning up the textures to make them seamless, as well as creating doors, lamps, and an intercom system. Once they are all done I hope to share it with you. Also, you can follow me on Twitter @BinaryLegend to get more timely updates.

So my first update video for Obscurus is done and posted over on my Youtube channel. It features the original alpha design that can be seen in the banner. I was happy with this design at first, but after user testing, and realizing that most people who’ve played it want to play again, I decided to redesign the level with occluders in mind.
I was also, foolishly, limited by the stationary that I used to design the first level by hand. I used a small A5 notepad with squares, instead of an A4. This meant that I was rather limited by the page dimensions, and couldn’t make the experience as intertwined as I wanted. An inspiration for Obscurus has always been the fantastic indiegame Antichamber by Alexander Bruce, and as such I wanted the player to be able to come back to the same room again, or miss a whole bunch of rooms if they weren’t watchful enough.
The video also shows my first experimenting with the Oculus Rift version. As you can see, I’m still having trouble with the shadows, so I had to turn off all lights except for the sun to make it at least bearable. I hope to keep contact with Bitsquid to try and sort out this inconvenience.

Bitsquid | The Bitsquid tool center and asset pipeline

Over the past two days I’ve been working on a video for some master thesis proposals. One of these included adding lots of new assets to show how the Bitsquid pipeline worked. I figured that I could go through the same steps here, to show those who haven’t worked in Bitsquid how it works.

To start out, this is what the Bitsquid toolcenter looks like:

It’s very Windows 8 inspired, and while I first disliked it, with each tool being separated, I soon learned that this is actually a positive when it comes to games engines. In other engines, like Unity which I have the most experience with, everything is available from the main editor tool, and code is handled in a separate part. This means that all your tools are in the same place, and it’s easy to get lost, be flustered by all the possibilities, or accidentally do something you didn’t mean to.

In Bitsquid, this is not the case. Every tool is separated out, so you only ever need to work in one tool at a time, and it’s also easier to spread out your tools on multiple monitors, as most game developers tend to have. The beauty in this is also, that thanks to the data driven design of Bitsquid, by editing an asset or code in one window, it updates it in the level editor or running game, depending on how sensitive the given asset or code is. You can even change the shader code midway through playing a level, which is very cool.

Asset pipeline

So back to the matter at hand, I needed to integrate art assets from other sources to show how easy it could be. I got some free 3D models of weapons from TurboSquid. I then proceeded to import them into Maya, as that is my preferred 3D modelling tool, and Bitsquid provides exporter tools for most Maya and Max versions. This is necessary, as Bitsquid uses an internal file format for assets called Bitsquid Intermediate, or .bsi for short. This file format is what allows the speed and data driven approach to work. Importing and exporting the models is fairly simple. Once you’ve placed the appropriate exporter tool in the plug-ins folder of your modelling tool, you can export your models.

Once this is done, and you’ve placed your model in your project folder, you need to start up the Unit Editor tool. No select “New Unit From Mesh”. A window will appear will all .bsi files in your project that haven’t been assigned units. Selecting one, you will now be able to create physics actors, occluders, shadow meshes, LOD steps, and so on. Once you’re done with that, save and exit the tool.

Next we need to import your textures. Bitsquid takes the dds format. As I use Photoshop, I found Nvidias texture tools plugin very useful, which can be found here. When saving your textures, make sure they are in a multiple of 4, as Bitsquid only takes this size. Also make sure to use the ARGB unsigned format.

You can generate the mipmaps directly, or let Bitsquid do it for you later. Now that you have your textures ready, start the Texture Manager tool. Much like the Unit Editor, if you select “New Texture from DDS”, you’ll get a list of all the dds files that aren’t assigned as a texture yet. Once you’re done, save and exit the tool.

Next we need to assign all those fancy textures you just created. This is done in the Material Editor tool. Now this is where Bitsquids design comes to the forefront. If you have a window with your asset visible, like the Unit Editor or Level Editor, you can now see the changes your material make to the asset, live! In this way, you can tweak the specularity so it shines perfectly, see that the transparency works as you intended, and so on. In effect, you get something like the image below.

And now you’re done. You’re asset is in the game! I hope this short tutorial helped you!