Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411430 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 11:55:04 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperPlaytestingSnacky Snakes, SVG based accelerometer controlled snake game.
Pages: [1]
Print
Author Topic: Snacky Snakes, SVG based accelerometer controlled snake game.  (Read 1634 times)
Appnician
Level 0
*



View Profile
« on: July 15, 2014, 11:10:25 AM »

hi,

This game is called Snacky Snakes. It is my first Android game.

Snacky Snakes is a simple re-imagination of the traditional snake game. Instead of squares it uses scalable vector graphics (SVG) and the snake can move smoothly.

The accelerometer is used as input to steer the snake. Relatively simple math under the hood makes sure that the ride is smooth.





I've only tested the game on a couple of devices.

The issues I have had during development mainly involves drops in frame-rate for various GC related issues. I think I have cleaned up those.

I've just released the game on Google Play store: https://play.google.com/store/apps/details?id=com.appnician.snackysnakes


Here are some screenshots:






Feedback appreciated!

« Last Edit: July 18, 2014, 08:46:03 AM by Appnician » Logged
Appnician
Level 0
*



View Profile
« Reply #1 on: July 16, 2014, 06:55:00 AM »

I made huge mistake. I forgot to remove the READ_PHONE_STATE permission. It was a leftover from when testing admob. I'm guessing at least some people found that to be suspicious and probably didn't test the game because of that. It is now removed. Only network for admob and vibration is left.

Also, I made the snakes look less creepy, and changed the colors on level three to make it easier to see the snake and the eatable.


Logged
vegu
Level 0
**


View Profile
« Reply #2 on: July 16, 2014, 07:13:46 AM »

First off, congrats on completing and releasing your first game.

I liked the way the snakes look, in the context of the game. I also liked the background music, its there but not annoying and it fits the overall style of the game. I also think this would be a fun time killer if it wasn't for the lag.

When i was playing there were some major lag issues, no idea what would cause that, but my phone (HTC One) should be able to cut through this like butter. It feels like there was a severe fps drop every 2-3 seconds.

The other thing that i immediately thought could be improved was the menu. The buttons are not really clear on what they do.

Cheers!
Logged

Appnician
Level 0
*



View Profile
« Reply #3 on: July 16, 2014, 07:30:05 AM »

Thanks for the feedback.

The lag you talk about is worrisome. This is the kind of game that doesn't play well with lag. I've tried it on three phones. It is perfectly playable on the HTC Legend even though the screen is a little small. It cannot be installed on this device now because the admob requires a higher Android version. On the Motorola Defy+ it is also perfectly playable, but less smooth than the HTC Legend. On the Nexus 5 it runs completely butter smooth. As far as I understand the HTC One is on par with the Nexus 5 so it is a big surprise that you get lag on that. It would be interesting to see logs to see what could cause it.

About the menu, I know it is overly simplified. It is supposed to self explanatory. My explosion icon is weird, I grant you that. I want to avoid having a lot of text.
Logged
Appnician
Level 0
*



View Profile
« Reply #4 on: July 16, 2014, 08:48:35 AM »

According to the Internet there is an issue with some phones where the frame-rate i low or interrupted frequently until one touches the screen. I don't have the ability to test if this is the case with the lag mentioned since I can't reproduce it, but I do have the virtual joystick which does touch on that issue, pun intended. Therefore as of version 1.2.2 I am disabling the virtual joystick. I cannot say for certain that this is the cause of the problem or even related at all, but I can't really remove anything else.

I want to have the option of controlling the snake with a virtual joystick in addition to using the accelerometer. In the future I hope reproduce this problem and figure out how to deal with it properly, and then re-add the virtual joystick.
Logged
vegu
Level 0
**


View Profile
« Reply #5 on: July 16, 2014, 09:47:16 AM »

Interesting, touching the screen, if anything seems to make it worse for me.

If you want, let me know when you upload the new version and i can test if it helped.
Logged

Appnician
Level 0
*



View Profile
« Reply #6 on: July 16, 2014, 10:46:12 AM »

I have uploaded 1.2.2, where the whole virtual joystick think is removed. It is available in the store now.

Thanks for helping out!
Logged
vegu
Level 0
**


View Profile
« Reply #7 on: July 16, 2014, 11:43:38 AM »

Updated, same issue :/
Logged

Appnician
Level 0
*



View Profile
« Reply #8 on: July 16, 2014, 12:20:32 PM »

That is too bad. I can't fix it because I don't have an HTC One, so I can't reproduce the problem.

Sorry about that.
Logged
AlexRamallo
Level 1
*


:0


View Profile WWW
« Reply #9 on: July 16, 2014, 02:09:47 PM »

I gotta admit, I was skeptical at first about the accelerometer controls because I've never enjoyed a game that's used it (even my own game had it as an option, disabled by default because I didn't like it). But playing this game it felt very easy to control, and actually pretty fun.

Now the bad:

 - As already mentioned, lagg. I'm on an unrooted LG G2 (D801) with Android 4.4.2. I didn't notice the lagg hurting my chances of dying, but it was annoying. It isn't a good idea to only test your game on one Android device. The lagg appears to slow down the simulation, so I'm guessing you aren't using a timestep for your movement. Using a timestep may make the lagg be less noticable.

- The menu icons are confusing. I know the green one is for sound, and the gray is for vibrations, but I'm not sure what the red one is for. Also, I don't think you need to add a quit button for your game. That's what the home button is for.

- Accelerometer-only controls really limit the accessibility of your game, playing a game with motion controls isn't always comfortable, especially if you're lying down on a bed or are just someone who like them at all. Just add a simple touch controller. Tap the left half of the screen to turn left, tap the right half to turn right.


Other than that, great game. I really like the graphics. Are you actually rendering the SVGs in realtime or are you prerendering them? Using a library for the SVGs or rolled your own? Tongue
Logged

Appnician
Level 0
*



View Profile
« Reply #10 on: July 17, 2014, 07:43:05 AM »

Oh, more lag. It is discouraging. During the development of the game it ran fairly consistently on my three devices. This is definitely something I'll look into when I have the opportunity.

If timestep is what I call interpolation, then no I don't use it. I have tried it, but come to the conclusion that it is better for the snake to slow down a little then thrust forward.

Added some videoes. They are screen recording from my Nexus 5 at low bitrate 720x360. They were not perfect in the first place but they became very laggy after I uploaded them to youtube.

You can see from how the snake skips forward on framedrops that the jagged motion is a movie compression artifact, since I don't use interpolation in the game.

If anyone has any advice on how to improve screen recording from device to youtube that would be greatly appreciated.

I still think they are usable, so I've linked the first one to the game at https://play.google.com/store/apps/details?id=com.appnician.snackysnakes.







http://www.youtube.com/watch?v=Ww4e6CVgo7w

Logged
AlexRamallo
Level 1
*


:0


View Profile WWW
« Reply #11 on: July 18, 2014, 06:36:18 AM »

Well the best way to record the screen would be to use the built-in recording features of Android 4.4. If that laggs then it may be due to a slow phone.


And "timestep" is what I call it when you use the elapsed time since the last frame was rendered to speed up the simulation so that it doesn't appear to slow down. Even if you may think it's better for gameplay for the snake to slow down, adding a jump will result in more stable gameplay. Only rarely will the lagg be so bad that the snake jumps so bad that it affects gameplay (but you could always just cap it if that worries you).


Btw, make sure you're checking your logs. I don't know what your experience with Android or Java is, but generally the number one source of unpredictable lag in games is the garbage collector. If your logs say something like "GC CONCURRENT", that's the GC and you need to be sure that you don't have a resource/memory leak somewhere.
Logged

Appnician
Level 0
*



View Profile
« Reply #12 on: July 19, 2014, 09:57:07 AM »

I have double checked my logs. There are no gc when playing. I reuse all the objects I allocate. As a side-note on that, I do use explicit gc at some points, but as far as I understand that cannot have negative effects when done in the animation loop.

Could you try to disable music and sound effects? I read somewhere that that could be related.

I also read somewhere that it is nearly impossible to get perfectly consistent 62fps because the game isn't the only thing that is running. Since that is something I'm relying on, I may have to rethink some stuff.

When I have time I will implement the timestep and see how it runs with that. I will also consider variations on the gameloop.

This is my absolute first Android Java project, so, yeah, I am a noob Smiley
Logged
Appnician
Level 0
*



View Profile
« Reply #13 on: July 26, 2014, 05:17:55 AM »

Finally added interpolation/timestep. Hope it is an improvement!

I see that it is not updated yet on GP. The new version is 1.3.0.
« Last Edit: July 26, 2014, 05:43:08 AM by Appnician » Logged
JayCrafton
Level 0
**


View Profile
« Reply #14 on: July 26, 2014, 03:43:42 PM »

I'm really liking your game! The gameplay is really fluid and the graphics really add a unique style to the game. I did notice that the game had no sound effects or music. If you're looking for a composer, I'd really be interested in making music and sound effects for your game! You can hear my portfolio of songs at www.soundcloud.com/JayCrafton.
Please send me an email if you're interested Smiley
Logged

My Music Portfolio: www.soundcloud.com/jaycrafton
PeteDevlin
Level 0
***


View Profile
« Reply #15 on: July 27, 2014, 01:02:50 PM »

Hi - Moto G 16gb device, no issues at all, great little spin on the classic snake game!
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic