Scarab

A few days ago I started on my Scarab of Ra clone. I might change the setting later on, but for now it’s easier to just stick with the original design. The game is developed using LÖVR. I really like that LÖVR supports VR out of the box, but it’s also possible to create apps for desktop PCs. For now I target desktop PCs, but I do hope to play the game on a VR headset in the near future.

Read More

Lethal Pongbat Release Date

In the last couple of weeks I’ve been quite busy with my freelance job, but I did find the time to add a few more small improvements to Lethal Pongbat. I also did a bit of multiplayer testing. I plan to release the game on August 8. There’s a few more issues to be resolved, but I should be able to resolve all prior to the release. One of my main goals prior to releasing the app is to simplify and improve the networking code.

Read More

A Simple Lua Observer Implementation

For Pongbat I created a static class that handles all gamepad input. I wanted this class to be able to notify other classes in various situations, namely: On connect On disconnect On button press When looking on the internet, I could not find the right solution for my requirements. I didn’t want to add any dependencies to my game controller manager, since I might use this gamepad input controller in future projects.

Read More

Menu Navigation (Pongbat)

In this post I want to discuss how menu navigation is handled in Pongbat. For Pongbat I wanted the user to be able to navigate using either mouse, keyboard or gamepad. I make use of the suit library for drawing the user interface and suit itself doesn’t have any capability to handle navigation. One nice aspect of suit is that it draws layouts using a table-like system. As such, items in the menu are by default horizontally or vertically aligned, which can result in the following menu screens:

Read More

Networking II (Pongbat)

This post is a continuation of Networking I (Pongbat) In my previous post I explained the networking implementation in Pongbat. Last week I was testing this implementation and did encounter some issues at higher latencies. In order to test at high latencies I made use of Apple’s Network Link Conditioner tool. At around 150 ms the implementation became problematic. The client would run too much out of sync with the server resulting in jerky gameplay.

Read More

Networking I (Pongbat)

Last time I posted progress on Pongbat there were still quite a few issues with the core gameplay. In general some aspects of the game just were buggy or didn’t respond well. These problematic issues were especially noticable in multiplayer games. To resolve these issues I’ve worked on several improvements in the game that I want to discuss in this post. The following functionality was added to the game: Fixed Timestep Jitter Buffer Client-Side Prediction Instant Input Feedback Together these improvements now guarantee a smooth multiplayer experience, at least over wifi networks.

Read More

Lua Best Practices (Pongbat)

My second LÖVE project is close to being completed. This time I am working on a remake of Mortal Pongbat, but with one major new feature: multiplayer peer-to-peer networking. I am happy to say the code quality of Pongbat is quite improved over Paratrooper, in part due to more programming experience with LÖVE and Lua. In part due to the addition of several high quality LÖVE libraries. Development on Pongbat started on April 16 (~10 days ago).

Read More

Make LÖVE Not War (Paratrooper)

About 6 weeks ago I started the cs50 game development course on edX. While I haven’t finished the course yet, so far I think the course is highly recommended for anyone that wants to get into game dev. One of the tools used in the course is the LÖVE framework that is written in Lua. In the past I dabbled a bit with Lua in order to write simple World of Warcraft add-ons.

Read More