We have Music, Sound, UI but no Dependency Injection

So another night coding Hack24 fueled by sugar and Redbull (well cheapo versions). I wanted to try and get Dagger2 working on my project so I could do Dependency Injection which is something I am interested in learning.   I timed boxed it to 1 hour and failed 🙁 This was due mainly to not understanding how it works with Kotlin. This project has a lot of moving parts to make my life more difficult, if it was a straight forward Android project, life would be fairly simple, however, it uses the LibGDX game engine which is cross-platform and normally in Java, and I am writing it in Kotlin. There seems to be not a single example anywhere of doing these 2 things together. My issue at the moment is with Gradle and the mass of gradle.build files that LibGDX has.

On the positive side, I did add a sound manager that does sound effects and music (quick win), I skinned the buttons, added the Hack24 logo and started building the factory methods to build the buildings in the game!

My focus is to build a minimal viable product of Hack24 before Christmas and release it on a single platform (Probably Android) as a soft launch.

Main areas I need to look at still:

  • Networking and the server side
  • UI for hacking a building
  • The player logon model, e.g Apple Game Center, Google Play etc

Hack24 update

So progress on Hack24 hit a few walls as shown below but it is moving forward 🙂 Don’t worry about the nasty textures, they will be going.

Below is it running on OSX, we have spawning of buildings, and collision.

Lesson Learned : Sometimes pretty code is slower code!

Interesting lesson learned: I had written my own 3D engine for Hack24, however came across this book https://www.packtpub.com/game-development/building-3d-game-libgdx, the code was extremely well structured and I was about to bin my own framework and use this one as it was a bit further along.

I thought I would run a few performance tests, just to be on the safe side. Glad I did:
Theirs: 400 objects rendered: 22FPS
Mine: 4608 objects rendered: 15FPS

Hack24 V2 started :)

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!

 

 

Hack24 new version coming

So, seems people liked it so I am going to start making a new version of Hack24 in Unity

Building it in Unity will allow me to get past a lot of my performance issues.

If you enjoyed the game, please let me know what you liked and what you want in the next version!

 

 

New version of Hack24 submitted!

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!)

Hack24 2.0 out now!

So, finally I got some time to update Hack24, my first ever MMO for iOS.  2.0 is not as big upgraded as I hoped but added some more fun to the game.

  • You can now customise the colour and building type
  • You can now message online players
  • NPC have been introduced to add more fun
  • Bug fixes
  • Game balancing
  • iOS8 fixes

Next, I plan to improve performance, the game keeps getting new users, and so development will continue

You can get it free from iTunes

Hack24 : Whats coming next?

So Hack24 has seen some downloads, and some regular players. 1.01 was a fast update to fix a few issues however 1.02 (which may become 1.1) will hopefully see quite a few improvements.

New stuff coming (hopefully) soon

  • Steal player buildings (done)
  • Rob player item (master key for players basically) (done)
  • Claim all money for buildings (would save a lot of time)
  • Scan renamed to probe. (done)
  • New scan item to list online players
  • Some in game help to guide you on your way (done in a basic way)
  • Avatar colour changes based on level / rank?
  • APN’s (may not make 1.02)
  • Some server securities (done)
  • More game levels (may not make 1.02)
  • Joystick improvements (done)

Near Future:

  • In game messaging
  • Customise buildings
  • Heads up display of near users  (may not make 1.02)

Don’t do server updates in your lunch break!

I decided to have a rest today as I have been training for a marathon and a few other things.  I thought this lunch break I would do some important fixes to Hack24 server.

DON’T do this, lunch breaks and servers do not mix.  

I assumed my fix would sort out the issues, it did, but it brought on a whole load of more because I cleared out some corrupted records and forgot the client side would have a cache that now does not match the server side.  Oh boy what a mess.

Backup, nope because I was rushing as it was my lunch break!

Luckily, one of my friends managed to do some database magic.  He will receive a burger on me .

So again, don’t do server upgrades at lunch time, it ruins your day when it goes wrong!