
Lesson Learned : Sometimes pretty code is slower code!


So, it may end up being called something else but I have now started writing a new (well kinda) game. The last couple of weeks I have been bug fixing and improving the LibGDX framework / demo app that I made a few years ago. Code can be found here: https://github.com/burf2000/BurfEngine
Yes, it has a terrible name! Anyway it was my attempt at a simple game like Minecraft where you can place and remove cubes. I added things like chunking, gravity, and culling. It also has a database and network layer, custom collision code and works on iOS, Android, and Desktop. It has been converted to Kotlin, which I am really liking 🙂
Now, after a few long nights of fixing, that code is being parked and anyone can use it! I now plan to rip it apart and use the best bits to form the engine for Hack24 (v2). Made aim is to make a 3D game that has the same look and feel as Hack24 that’s cross-platform and easy to develop further.
I will focus on a MVP first, which should not take too long, I will try and rewrite the server in NodeJS (Well KotlinJS).
So why am I doing this? A few reasons:
I really liked Hack24 but it had some performance issues and really needs rewriting to use OpenGL VBO / VAO. It also makes sense to make it cross-platform while I am at it. I don’t fancy doing it in Unity and really want to learn Kotlin for work (which I can for LibGDX). It would be nice if people enjoy playing it too, so I hope to make it bigger with more content 🙂
Watch this space!
I May of just solved a programming issue that’s been bugging me for many months. The only way I thought I could get round it was a complete rewrite of the 3D engine for Hack24. However it seems you can get around the massive performance with Hack24 by having multiple threads. Yes seems obvious however this is OpenGL world and that is completely different, the items have to created in the main context!
The fix worked, so a new version of Hack24 has been submitted (with other bug fixes!)
Just a small update, the following features, bugs have been fixed.
Please check out
I had to post about this amazing tool I found, now when I am writing my 3D games, I basically pray every time I play with a shader in case I brake it.
I know the basics but using either xCode or Android Studio (now has a tool), there is no syntax highlighting or easy way to see errors!
SHDR allows you to paste in your fragment and vertex shader and tells indicates any issues, and renders the results if it can!
So, tonight I decided just to punt out Virtual Worlds. Probably a silly move but nothing has been happening lately with it due to work stuff, a 3 week long cough, 2 birthdays, Christmas and home life!
I will soon know how bad it is!
I managed to do some useful bug fixes, tested it on a couple of controllers etc. More will come soon!
So, Virtual Worlds, hmm I had planned to release that by the end of the month however a few things have come up! Man Flu has not helped me code, the snot just goes everywhere!
I have also had a few other things on!
Wish me luck!
What? a? Virtual Worlds? What a sh*t name? Your probably right but its just better than Android 3D mmo thingy!
Progress so far? I would of liked to give it more time but some times I am not in the mood, sometimes I can’t get out of the mood which also leads to lack of sleep! Last night I had beer! (not a usual thing sadly)
What can you do so far?
Whats next
So to get it to the point where I can alpha test it I would like to do the follow
The aim is to have a demo zone thats setup for xmas when I release alpha:)
Off to bed!
I am currently working on an Android Virtual Reality framework, project, well not sure what it is. I have been trying to get different types of objects to render, use different types of devices for control / movement and I did manage to release one game that uses it (I made this in a 12 hour GameJam).
I have been looking at ways to improve performance, before any changes I could only render 1000 cubes at 1 FPS! Ar BALLS
I followed this post on StackOverFlow and that got me to about 5 FPS!
http://stackoverflow.com/questions/24825896/android-opengl-2-0-low-fps
I then read about using Vertex Buffer Objects (VBO’s) and followed this tutorial!
http://www.learnopengles.com/android-lesson-seven-an-introduction-to-vertex-buffer-objects-vbos/
People, this is the way to go, I did not use Stride but I still got 64,000 cubes at 30fps! Now that’s an improvement!
The sad thing is, this tutorial is from a book I own that I have still not read 🙁 Next missing, read the flipping book!
OpenGL ES 2 for Android: A Quick-Start Guide
We have submitted 1.01 to iTunes and hopefully it gets accepted. It is mainly a few important bug fixes.