Libgdx Progress 2

Made more stuff for this game, the Ogre XML loader wouldn’t work on android so I used the .g3dt exporter for Libgdx. Used blender 2.59, and had to make a small change to the export script since it didn’t work immediately for me. I forgot exactly, but someone had the same problem, in a way. There was something wrong with some values that looked something like ‘faces’ and ‘tessfaces’ and another set that dealt with UVs. He replaced faces with tessfaces, but my script had tessfaces already and blender was having problems recognizing tessfaces so I just put in ‘faces’ instead, and it happened to work.

So now I’ve put in most of the place holders.  The logo for the splash screen:


Models for the player, enemies, player-fired shots, and enemy-fired bullets


And I’m currently working on the backdrop:


Scene with the sky, ground, and tree


I don’t have a screenshot now and I’m too lazy to get one since I’m about to go to sleep but the ground can be imported into the game just fine.  I’m not going to spend much more time on the backdrop, or at least I’m not planning to as of right now.  I want to focus on getting everything looking coherent, and replacing the really obvious placeholder graphics.  I still don’t have a title either.  I’ll work on that, I’ll probably make it very similar to my last project’s title.  That last project’s title screen looked so much cooler though.  The swaying bamboo and the moon beams, I’m not sure if I’m up to putting that much effort into this one too.  Probably just show falling snow particles and that’s it, and maybe a moon through clouds while scattering light for a similar effect.

Still haven’t made the actual game any more complex.  It’s just endless spawns that shoot you in the same manner the entire time.  I’m not too worried about making at least a little improvement on game play though.  It plays out easily in my head.  Oh, two things I haven’t figured out: I haven’t sorted out fading the screen in and out, and I haven’t got transparent textures.  Those things sound somewhat related, at least in terms of results.  Or maybe not.  It’s at least vaguely similar when taking into account… nevermind.  Fading the screen, I’ve found, is a colossal pain.  For me, at least.  I think I’ve seen a couple times that people make a function that will execute after a certain delay.  So, the screen will fade out, and when the fade is done, the screens switch, or whatever happens when the screen is supposed to be faded.  I think I’ve had a go at it a couple times and it’s always no fun.  I should look into how people do it in more depth.

It runs surprisingly smooth on my phone.  I guess I underestimated modern smartphone’s power.  Or maybe I’m underestimating the load the game will put on it when I’m all finished.

I always feel like I’ve forgotten to mention something when I’m about to end a post.  I’m … oh, right.  There was this song that really caught my ear.  I looped it for quite a few times, partly because I liked it, partly because I was too lazy to find something else.

Libgdx Progress

Merry Christmas!

After bumbling about trying to get my old project done and ultimately doing nothing I started a new small project using Libgdx, since I want to make at least one game for Android.  It’s a simple Geometry Wars – Asteriods like clone thing.  But Touhou themed; I guess there’s not much of a reason to do that anymore, but I dunno.  I have the assets lying around anyway.Image

I spent the last few hours trying to figure out how to import models into the program.  Libgdx seems lower level and covered by fewer tutorials than JMonkeyEngine, so it’s taking me longer to get used to.


I have a wireframe mockup made right now.  That brown rectangular in the back is supposed to be the half-bloomed tree, and the reddish rectangle along the bottom is the ground.  After clicking to start, the camera turns to point downward to the playing field.



Enemies spawn and shoot bullets, the player moves around and shoots.  The two circles are touch areas; left one controls movement, right one controls shot direction.  Right now, all that changes when time and score increase are the rate of the enemy spawn and the limit on the number of enemies that can be present in the playing field at any given moment.  Some ideas right now that I have floating around are making a single large, more powerful enemy spawn at certain thresholds of score, time, or level; making different spawns that follow different patterns, or shoot in different patterns, and take more than one shot to destroy.  There could also be enemies that travel in clusters, and are controlled by taking each other’s position into account.  That’s all for later though.  I just want to get all of the placeholder models in to replace the wireframes.

What else… was I going to say.  I hope the presence of all these models won’t destroy performance on my phone, but I have a strong feeling that I won’t be able to run it as I plan to.  I’ll probably have to make changes in order to lessen the processing load.  If there was more to say I forgot what it was.

December Nothingness

Decided doing a sequence of still frames wasn’t a good idea. Or at least, not how it was being done. It took way too much memory. I probably needed to reduce the quality of the frames further. But I decided it would cause a significant decrease in the overall visual quality of the background. It’s back to just a ground model for now.

The mouse controls for both the game and menus are all relative movement, instead of using the mouse’s absolute coordinates like before. Whenever a menu mode is started, the cursor’s position is reset to the center. The position of the game cursor will stop changing when the pause menu is brought up.

One thing that’s been really bothering me is the way the fade out transitions aren’t smooth. I’m pretty sure I can fix that by modifying JME3’s FadeFilter class, changing the step of the fade from a value depending on the time per frame to a flat 1/60 or 1/30. That way the filter will be forced to go through each of the darkness values of the fade effect, instead of skipping through if the time per frame jumps up.