Monday, April 25, 2016

Wednesday, March 09, 2016

Loading a texture from a file in JMonkeyEngine

It's taken me over an hour to work out how to load a simple .png file and use it as a texture on a box.  To help prevent anyone else who might be having the same problem from tearing all their hair out, you need to ensure two things:-

* Your files must be in a directory off your main directory called "assets/Textures/[png file]".  You must conform!

* Add the line "assetManager.registerLocator("assets/", FileLocator.class);".  Despite what the documentation says, this isn't added internally by default!

Also, when adding the texture to the material, the String parameter isn't your own name as you might first assume, but must be the text "ColorMap".

Saturday, January 16, 2016

Java Voxel Engines with Source

I recently carried out a trawl of the internet to find all the open-source Java Voxel Engines I could.  My intention is to use one of them as a foundation to write my own voxel-based game (which is still a long way off).  I didn't spend too long on each one; I simply checked that they worked and that they included all relevant code.  Here are my results which others may find useful.

Firstly, the best ones I found.  (As an aside, one of my general requirement is that an open-source project should work, once all dependencies have been resolved, and these should be resolvable easily.  What's the point of releasing source code that doesn't work?)  These all worked:-

* - You could say this was the best of the lot.  It worked first time and looks amazing.  The only drawback is its complexity; there's loads of code and loads of dependencies and libraries.

* - This is a great simple engine.  It's only about 8 classes big but provides a nice simple voxel engine in Java.

* (BlockWorld) - This one seemed to fit my requirements best.  It's got lots of features including .obj model loading, and worked first time.  The only drawback is that the source is a bit messy (formatting, unused vars etc..)

* - This worked well, and since it uses LibGDX could work on mobile devices as well as PCs.

Other Mentions:-

* - This worked, although it didn't have any textures.

* - This uses raycasting.  Seemed very slow and simple, and although it worked, it was very bare-bones.

I couldn't get these to work:-

* - Seems very worthy, but I couldn't get it to work as the Maven build fails.

* - Couldn't get this to work due to missing source.

The following are JMonkeyEngine "add-ons" which I haven't tried:-


And I also found these two projects which are not voxels, but rather "traditional" 3D but still worked very well:-

That's pretty much all I could find. I hope you find it useful.  I'd be interested to know if anyone has found any more, and which one's they found the best?

Thursday, January 14, 2016

Team Tactics

Team Tactics is a new realtime action multiplayer tactical strategy game that I'm currently developing.  You could probably label it as a MOBA or an ARTS.  Whatever the label, the game works like this: each player controls a single unit, which is on one of two sides (although in the future I might expand this to 3 or 4).  Depending on the mission (or "game mode"), each side has an objective, and the winner is the first to complete this is the winner.


Technically yes, but you could probably say something similar about any game since the 1980's.  This is how games progress; almost all games are very similar to what came out before.  But hey, let's not argue about that here - I'm developing this game for several reasons:-

* I like multiplayer games more than single player games.  It's far more fun to play against someone else where you can see their reaction and gain pleasure from their pain (and vice versa of course).

* I like to add new features to games, and this game will have features that no other MOBA has.  Whenever I'm playing a game I always wish I could tweak this or that.  If I have my own MOBA, I can do that.  In addition, if any players request a feature, it's always a pleasure to be able to do that.

* I think true "tactical" MOBA's are a bit thin.  I'm not a gamer, but I can't actually think of another multiplayer tactical game where working as a team is paramount.

* I like developing games, and the best way for me to maintain interest in whatever game I'm currently developing is to have something to aim for, i.e. similar game(s) that I want to reproduce and hopefully improve upon.


This is just a brief summary of the main features.  I'll blog about new ideas as I have them:-

* Multiple unit types - this is a no-brainer of course.  They will be different in that some move faster than others or shoot more accurately, but some will have specific skills required for missions.

* Multiple missions - There are currently two missions, The Assassins and Moonbase Assault, more about which I'll do another post.  I might also transpose some of the more interesting missions from Stellar Forces.

* Map editor and easy customisation - I want people to be able to easily customize this game (in so far without affecting balance), e.g. adding their own graphics and sounds, maps etc...

* Different weapons and equipment as well as the usual guns - smoke grenades, nerve gas, ammo packs, gas masks, incendiary grenades.  Grenades mean destructable maps!

* All the usual features like fog of war, line of sight, unit stats, chat, voting etc...


I'm really excited about this, and really looking forward to playing it.  I enjoy a game of TF2 as much as the next person, but sometimes it lacks enough depth for me.  This should address that, and also be fun to write.  I've never written a realtime multiplayer game before (more than 2 players, anyway), so looking into all the technical aspects will be very interesting.



Saturday, November 14, 2015

Outpost Omega

I've used the same graphics engine I used for Stellar Forces and Assault Squad to make another new Android game: Outpost Omega.  In this realtime strategy game you must defend and maintain a moonbase for as long as possible against a range of problems, including meteors and invading armies.

You start with 6 armed units and some medibays.  These used power, and over time resources are dropped that must be collected to maintain the power levels.  There are also other factors that make life harder: meteors will randomly crash into the moon starting fires which must be extinguished.  In addition, enemy invaders will attack your base and must be repelled.

The layout of the moonbase is randomly generated each time to give each game variety, and there's loads of tension as you send out a unit to collect resources outside where they are exposed to attack.  It's a great game if you've got a spare 5 minutes, and completely free!

Friday, November 06, 2015

Free Websites for Android Developer!

I'm all about saving time, and here's a great tip for any Android developers who need their own website to promote their games, but haven't got the time to create one: let someone else do it for free.

Let me break it down into easy steps:-

1) Google your "company name" and follow the links.  By "company name", I mean whatever name you gave Google when you set up your developer account.  If you follow the links, it shouldn't be long before you get to one of those app aggregator sites, with all your apps nicely listed on one page.

Here's a few I found when I googled my own "Penultimate Apps" name:

Frankly, they've done a much better job than I could.

Wednesday, July 29, 2015

My Most Popular Android Game

The world is a strange place.  Out of all my free Android games, my Kids Horror Adventure, a no-graphics text adventure, has now had over 29,000 downloads, which is about twice as many as my next most popular free game (Stellar Forces).  Who would have thought in this day and age that a simple text adventure would be so popular?  I might create another one.  They are the ideal game for me: no graphics!