ReptiliansWars - 3D Android videogame

I thought for sure people would be commenting about your efforts by now but it seems not to be the case.

I think it looks professional. The concept looks original to me. I don’t play games anymore since finding jme so I could be wrong on the concept part.

If it plays as good as it looks I think it will be a hit.

Good luck.

Samsung Galaxy S8

-0- thats awful. Do it happen always?, do you know how to reproduce it?

Same for me as above. All the geometries are messed up from the start of the game. Menus are fine. Samsung S6 nougat.

Android version?

7.0 nougat

It may be because of that, I’ve tried it on 6.0 and below. @javasabr, are you using Android 7 too?.

I’ll try to test it in an emulator (the google apis are a bit painful with them), and try to find out if it is an engine issue or I messed it up with viewports.

it kind of stinks like a driver issue if I were to shoot in the dark. I think you’re right.

I’m running it on Android 8.0 (Nexus 5X) and it’s fine.

I installed it immediately after work yesterday, but wanted to play it a bit before giving feedback. I like the concept - never seen other games like that, so it feels original. Great job on the artwork. Gameplay is challenging, but not too hard. The only thing I don’t like is the ads - I know that’s your revenue stream from the game so you can’t cut them entirely, but it would be nice if they were only in the menus and not visible during the levels. That said, they are unintrusive and not all up-in-your-face like some mobile ads, so kudos for that.

That’s weird. Theoretically they are only in the menus, no when inside a match :S.

I suppose that if it is just with Android 7 I don’t have much to do (7 is an unstable version isn’t it?).

Well… we got bored when it was time to “tune up” this game aspects. Sorry about that :wink:

You’re right. I was noticing them just at the beginning of the match - as soon as it starts they go away.

Difficulty seems about right - I get frustrated and bored when games make you play 500000x repeat battles to get enough gold/points/whatever to upgrade units enough to pass the level you’re stuck on. I got stuck a few times so far, but not so badly as to be too frustrating (10 or fewer tries usually enough to progress).

Good to know.

About the issue with Android 7, I’ve tried to run the app in an emulator but the game doesn’t even start (however, it does on Android 8).
Anyway, whenever I try to enter a match, the app crashes in the emulator with this already filled bug so I can’t really fix it by now :S.

Just tried it.
It’s pretty nice. Graphics sound and music works really well.
The game is fun, though I had a hard time figuring out what to do. I ended up tapping around to finally find something I could interact with.
Once you get how it works it’s simple, but I guess the tutorial should be more explicit.`
In the UIs I also got lost a bit.
In the inter fight UI, where you can buy stuff, I went into all the options and leveled up some units, then I couldn’t figure out how to go back to the battle.
I finally figure out you have to click on the map and choose the destinations.
I think the confusion comes from this big “FIGHT” panel on the left side that I couldn’t click on… :stuck_out_tongue:
Not sure why it’s there.

Anyway…I’ll continue playing a bit it’s quite fun, I’ll give you more feedback.

Well, thanks to everybody for the feedback. I’m not changing this game anymore but it will be useful for future ones.

@nehon, I don’t know if you are trying to track the problem with Android 7 or how is the progress abut this, but I got a crash report from a SM-T550 (7.1.1 - Nougat) containing the trace:

java.lang.IndexOutOfBoundsException: index=2304 out of bounds (limit=1653)
	at java.nio.Buffer.checkIndex(
	at java.nio.ByteBufferAsFloatBuffer.get(
	at com.jme3.collision.bih.BIHTree.initTriList(
	at com.jme3.collision.bih.BIHTree.<init>(
	at com.jme3.collision.bih.BIHTree.<init>(
	at com.jme3.scene.Mesh.createCollisionData(
	at com.jme3.scene.Mesh.collideWith(
	at com.jme3.scene.Geometry.collideWith(
	at com.jme3.scene.Node.collideWith(
	at com.jme3.scene.Node.collideWith(
	at com.jme3.scene.Node.collideWith(
	at com.simsilica.lemur.event.PickEventSession.cursorMoved(
	at com.simsilica.lemur.event.PickEventSession.cursorMoved(
	at com.simsilica.lemur.event.PickEventSession.buttonEvent(
	at com.simsilica.lemur.event.TouchAppState.dispatchButton(
	at com.simsilica.lemur.event.TouchAppState$TouchObserver.onTouchEvent(
	at com.jme3.input.InputManager.processQueue(
	at com.jme3.input.InputManager.update(
	at android.opengl.GLSurfaceView$GLThread.guardedRun(
	at android.opengl.GLSurfaceView$

If I try it on an emulator, I get an endless:

01-27 16:39:47.027 3532-3584/? E/emuglGLESv2_enc: a vertex attribute index out of boundary is detected. Skipping corresponding vertex attribute. buf=0x77b91d290db0
01-27 16:39:47.027 3532-3584/? E/emuglGLESv2_enc: Out of bounds vertex attribute info: clientArray? 0 attribute 1 vbo 113 allocedBufferSize 1380 bufferDataSpecified? 1 wantedStart 0 wantedEnd 261124
01-27 16:39:47.027 3532-3584/? E/emuglGLESv2_enc: a vertex attribute index out of boundary is detected. Skipping corresponding vertex attribute. buf=0x77b91d290e50
01-27 16:39:47.027 3532-3584/? E/emuglGLESv2_enc: Out of bounds vertex attribute info: clientArray? 0 attribute 2 vbo 115 allocedBufferSize 4140 bufferDataSpecified? 1 wantedStart 0 wantedEnd 783372

(Not sure if any of it is of any help)

any progress on this problem?

I think that posting here the bug wasn’t the better idea. For future references, please comment android 7 bugs related in this other post (seems fitter to the subject)

[JME3.1 - Rendering failure specifically for android 7 (Nougat) - #7 by rickard]

Error looks similar to the one that @javasabr posted. It’s most likely an Android 7 specific thing (see link above).

Android version → percent devices (3 weeks ago):
8.0 → 0.7%
7.x → 26.3%
6.0 → 28.6%
5.x → 25.1%
4.x → 18.9%
2.x → 0.4%

regarding the Android 7.0 bug. This line solved the problem for me:

final Spatial model = assetManager.loadModel(resource.path);
return -1;

    SkeletonControl skeletonCtrl = model.getControl(SkeletonControl.class);
    if(skeletonCtrl!=null) {
        skeletonCtrl.setHardwareSkinningPreferred(false);// for Android 7 bug