# I'm working on developing an Android game. Here's some art!



## Bobbyloujo (Nov 30, 2013)

Like the title says, I'm developing a game for Android. The game will be called Plane Popper and is loosely based off of my first DS homebrew game by the same name. Here's a mock-up of what the game will look like using the artwork that I've finished so far.







As far as programming the game goes, I've got a lot of the basics done. I figured out openGL, made my own system for drawing objects in the order I need them to be, and lots of other foundation-type stuff. I've still got a lot to do to make this into a full game, though. It might be a while, but I'm getting there!


----------



## Foxi4 (Nov 30, 2013)

That's looking good Bobbyloujo - very impressive. I'm actually researching the Android SDK and OpenGL ES myself as of late - not with a whole lot of success, mind you, but that's mostly due to time constraints.


----------



## Bobbyloujo (Nov 30, 2013)

Thanks. It does take some effort to learn. First I had to learn Java, which is one big mess of a language when you first look at it and I've never had any classes on it. Then I had to learn how to use the Android SDK. I actually started off with using Android's SurfaceView and Canvas system for the graphics but decided that openGL ES would be better. So then I had to learn openGL ES. The worst part is that many of the tutorials are just confusing. Many of the "Draw a square in openGL ES" tutorials also tried to through in things like shaders and other nonsense that isn't needed to draw a square. After you sift through all the crap and figure out what you need then it gets easier.


----------



## Foxi4 (Nov 30, 2013)

Bobbyloujo said:


> Thanks. It does take some effort to learn. First I had to learn Java, which is one big mess of a language when you first look at it and I've never had any classes on it. Then I had to learn how to use the Android SDK. I actually started off with using Android's SurfaceView and Canvas system for the graphics but decided that openGL ES would be better. So then I had to learn openGL ES. The worst part is that many of the tutorials are just confusing. Many of the "Draw a square in openGL ES" tutorials also tried to through in things like shaders and other nonsense that isn't needed to draw a square. After you sift through all the crap and figure out what you need then it gets easier.


 
If you're having issues with Java as I am, you might want to consider using NDK. In an OpenGL context, it should give you a performance increase anyways, but when you'll want to use Android-specific functionality, go back to your main Java activity and Dalvik. 

http://developer.android.com/tools/sdk/ndk/index.html

Seeing that you're already accustomed with and proficient in C/C++, this is likely going to be helpful.


----------



## Bobbyloujo (Nov 30, 2013)

I actually looked into that before, haha. I've developed a pretty good understanding of Java now though so I'm comfortable using it. Like that page says, mixing Java and C++ would increase of the complexity of the app anyway


----------



## Foxi4 (Nov 30, 2013)

Bobbyloujo said:


> I actually looked into that before, haha. I've developed a pretty good understanding of Java now though so I'm comfortable using it. Like that page says, mixing Java and C++ would increase of the complexity of the app anyway


 
Sure thing. That being said, remember that when you'll need the extra processing push, you can always use NDK to ask Dalvik to pass the calculations directly to the hardware using NDK.


----------



## DarkKnigh_t (Dec 2, 2013)

Great job it looks amazing make sure you let us know when its out!!!


----------



## Mthb54 (Dec 2, 2013)

Nice work , it looks awsome!
Can you tell me where you learned java?


----------



## Foxi4 (Dec 3, 2013)

Mthb54 said:


> Nice work , it looks awsome!
> Can you tell me where you learned java?


This is a good place to start. The first three chapters cover Java from a game development stand-point - they're very clear, straight-forward and full of code snippets. The fourth chapter is more of the same, but specifically in Android development. Mind you, it doesn't touch upon OpenGL ES, but you can find a mountain of resources about that online.


----------



## Flame (Dec 3, 2013)

Looks good man,


----------



## ilman (Dec 3, 2013)

Looks good. 
And good job on figuring out OpenGL. I've tried again and again to make sense of Lazy Foo's tutorial, but it looks way too complex in comparison to SDL and SFML, which I use instead.


----------



## Mthb54 (Dec 4, 2013)

Foxi4 said:


> This is a good place to start. The first three chapters cover Java from a game development stand-point - they're very clear, straight-forward and full of code snippets. The fourth chapter is more of the same, but specifically in an Android development. Mind you, it doesn't touch upon OpenGL ES, but you can find a mountain of resources about that online.


Thanks


----------



## Bobbyloujo (Dec 4, 2013)

Thanks everyone  I'll let you all know when I release it.

Foxi4
That's actually the tutorial I used! I tried learning Java before it and made a little progress but that tutorial was the most helpful and really helped me understand it.

As for openGL, this is the tutorial that I eventually made sense of: http://obviam.net/index.php/opengl-es-with-android-switching-from-canvas-to-opengl/
Granted, it took me many hours of many days to really get what was going on.


----------



## Foxi4 (Dec 4, 2013)

Fantastic, I was looking for a good GLES resource. I'm on the road to the first triangle myself - currently got the surface view to work properly and I'm seeing a lovely clear colour backdrop, but it's still more copy-paste than my own input. Anything beyond OpenGL 1.x is a mystery to me. 

*Edit:* Oh dear, that tutorial is using GLES10... You may want to adjust and use GLES20 instead - it will greatly incease performance and give you moreoptions AFAIK.


----------



## Bobbyloujo (Dec 4, 2013)

Yeahhh, one step at a time  It may also be a good idea to support both 1.0 and 2.0 so that the 0.1% doesn't get left out


----------



## Foxi4 (Dec 4, 2013)

Bobbyloujo said:


> Yeahhh, one step at a time  It may also be a good idea to support both 1.0 and 2.0 so that the 0.1% doesn't get left out


 
I'm going to quote a piece of code from one of the Android tutorials I've read myself on the subject:


> private boolean hasGLES20() {
> ActivityManager am = (ActivityManager)
> getSystemService(Context.ACTIVITY_SERVICE);
> ConfigurationInfo info = am.getDeviceConfigurationInfo();
> ...


...yyyyyep.


----------



## Delta517 (Dec 4, 2013)

Good job!  I'm also working on my first android game, using LibGdx, which is almost done. I learned java first from TheNewBoston tutorials on YouTube and then learned LibGdx from other various sources


----------



## pwsincd (Dec 5, 2013)

Is anyone aware of a good book for total beginners ...(my son is wanting to branch into java development , specifically to create minecraft plugins) i figured i would like him to begin properly from the start and not to just dive in copy and pasting snippets from the net without really knowing what they mean.

Also does anyone know anything about this : http://lwjgl.org/  apparently its whats used in minecraft ????


----------



## BORTZ (Jan 20, 2014)

looks a whole lot better than most of the stuff on the android market.


----------

