So I Finally Took Time to Make a Game
pandoralive.info
pandoralive.info
Under normal circumstances the cloud layer (moving at a higher scrolling rate - parallax) is a good way to create a sense of motion, but it's really just making it look like the cloud layer is moving fast :) What you really want is to fix the way you're shadowing the objects.
Removing the shadows entirely would probably eliminate the false cue but then you lose a sense of the sprites floating over the terrain.
There's also a related problem in that the player and enemy sprites are effectively floating on their own layer that doesn't scroll. When the enemy sprites are flying along at their own pace this is easier to ignore, but when an enemy appears that isn't moving horizontally at all (or is aligned with a fixed point) it makes it more obvious that the depth and motion cues are wrong.
To be fair, these are all problems that you will see in other games of this type. It's worse when you're using a straight-on top-down perspective like the game in this post.
EDIT: Some relevant examples:
Raptor: Call of the Shadows is an old 2D shooter with a similar perspective (top down), though scrolling vertically. This game does shadowing relatively correctly, where the sprites cast shadows directly on the background layer at a position that scrolls with the layer - so as the sprite advances down the screen, the relative position of the shadow changes. This creates a sense of the sprites and the background scrolling at different speeds, so you feel some depth. (The shadows are nearly as large as the sprites, though, so it still doesn't feel like they're very far off the ground.)
https://www.youtube.com/watch?v=grXkzisSEM4#t=7m30s
Ikaruga takes an alternative route here: While the enemies are basically 2D objects on a flat plane, they don't cast shadows at all and the backgrounds are effectively just FMVs containing various motion. They use the background to convey a sense of camera motion without tying objects to them at all. This lets you avoid having to precisely align the sizes and positions of your entities with the background (though of course, they end up kind of disassociated)
I've made myself a couple of these games and they're fun to make, but it's not too rewarding (eg, I made this one in a month: http://www.usebox.net/jjm/flax/ -- and it's ~6 minutes to get to the end of the three stages).
BTW, I did a shmup for Android last year and decided to remove the spaceship altogether because I found it a little bit awkward to move it with a finger:
http://bigosaur.com/blog/23days
I did it in just 23 days by sticking to simple pixelated graphics for the aliens and only drawing UI and powerups. I also borrowed music with CreativeCommons license and only created the sfx myself. This gave me time to add various boss levels which is what makes the game interesting (and takes time as you wrote).
Also, powerups can be upgraded between games, so this got me a lot longer playing time than 6 minutes. You play to pass as many levels possible, but also to collect coins to upgrade your weapons which in turn enable you to pass more levels the next time and so on. There are 14 different bosses and you can hardly beat bosses 9+ without upgraded weapons.
There was a good ExtraCredits episode on YouTube explaining game loops (I can't find it now, but I recommend watching all EC episodes to any game developer). I didn't know about it at the time, but Drone Invaders fits great:
- smallest loop: kill enemies in a wave, reload guns
- bigger loop: every 10 waves there is a new boss level
- even bigger loop: when you die, upgrade your weapons and try to go even further
- biggest loop: reach the Fleet Admiral rank but hitting certain score, number of destroyed enemies, level reached and hiscore achieved over lifetime of playing.
I an monitoring the stats (the game sends anonymous usage info at the end of each play), and there are some players playing the game for over a month.
Why would anyone want to run an older Android version?
That's a 3 year old version already.
(That said, I don't think many of them would play this game.)
I use 2.3.3 as the lowest supported version, since most important features were introduced with 2.3.3. At least, I don't know any reason to require 4.0 to be minimum, so why lose 11% of your users. I was curious if OP used some important feature that would require 4.0.
People using old devices can still click ads.
I was willing to use a WebView with Cordova, but Kit Kat introduced a bug (not hw acceleration in canvas 2D!) and I was getting 2 FPS instead of the expected 30.
Crosswalk works pretty well, although has the inconvenient of being a native component.
Here is game play with different sets of aliens.
It took so long because we initially built it in ruby, but found it was too slow; then pascal but found out it wouldn't work so well on Android; then finally Java.
It's also not a shoot-em-up -- there's a fair amount of logic involved in the movement of the actors (some rudimentary AI) and way too many game rules. Maybe we should have started with a shoot-em-up...
We're going to release the engine some day (when we have time to clean it up) -- it uses XML files to configure all of the actors and the 'stage' so maybe it will be useful to teach basic parallelism to kids or something...
I did make use of the moving background to increase the sensation of speed when speed power up is taken( Eventhough i know the background should not be moving at all :P)
http://tensaix2j.github.io/tothemoon/
Anyway.. Just to share. Have fun.