Now, we have to be careful about how much we share with you in these blogs, as we don’t want the heavy forehand swing of Nintendo spanking us across our backside, but we will be doing our best to let you in on as much of the development as we can. Starting with our first experiments…the Joycons. 

Joycons, Gyros and Accelerometers…
The obvious main feature of the game, is the use of the Joycons as your paddle, utilising motions control in the form of Gyros + Accelerometers in order to replicate as close as possible, the real life action of swinging a table tennis paddle around. 

So our first stop along this development journey was to Joycon town, where we took a look at getting an on screen Joycon, to move in the same way you move it in your hand in real life.

Jamie was taking a stab at this to start with, exposing the data we get from the internals of the controller and starting to implement solutions for using that data to transform the position and rotations of the on screen controller.

That looked a little bit like this to start with…

(apologies for poor video quality, recording from the dev kit isnt always smooth)

For our first go at this, we were quite excited to see this all working, albeit with some hitches and improvements to make. Eventually, we go on to get rotation on all axis’ working nicely and although there are some inherent bugs that we have to deal with like the values flipping to their opposites at certain points in rotation, we managed to get this transferred onto a paddle quite nicely! 

As we soon came to learn though, it is actually VERY tough to get this iterated into a position where you can actually swing your Joy-Con around and replicate that exactly in game space. There are all sorts of complexities with quaternions, controller states (there is 9 of them!) and a bunch of other niche technicals that go right over my head, but not the head of our head programmer Ashley.

We also started looking at how we can determine when a user has swung so we can hit the ball across the table. The initial obvious solution was to have a threshold, which when the accelerometer reads a value above, the user has swung and the ball is hit.

This worked well for an initial experiment of firing balls around a debug level.

Obviously this isn’t quite up to scratch for even a prototype of a game, so over a few iterations, we managed to get a nice simple prototype working where two users could bat a ball at each other.

Even though quite rudimentary, just being able to play a little prototype of our little table tennis game, built out onto the dev kits, using motion controls to hit the ball. It was all very cool indeed. After such a rocky start getting the project set up, it was nice to get a first proto together so quickly.

Interacting with Dev Kits
I don’t intend to share too many details around this, but it’s worth a small section to talk about what our first experience was like working with the tech.

The Dev kits are great, and it’s been quite cool seeing our work get built out and played on the console. The set up with them is quite simple so unlike our project set up, this was much easier to get going.

We have been dealing with an issue where the Joycons won’t connect to Unreal, so we can’t actually test with Joycons in the engine editor play windows. We’ve had to build out the dev kit each time we wanted to test. So that has slowed us down a bit, but generally we’ve had a good first experience working with the Nintendo Switch dev kits. 

The level of debug information available is also amazing, we’ve been able to easily see where our game sits in a performance capacity as well as getting logs for all the nasty bugs and crashes.

That’s all you funky folks get today, we have more on the first playable for you next time round!

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top