Search Unity

Spaceships (Android)

Discussion in 'Works In Progress - Archive' started by JimboFBX, Aug 18, 2014.

  1. JimboFBX

    JimboFBX

    Joined:
    Dec 17, 2013
    Posts:
    17
    I just released a game I started working on about a year ago. After doing some job changes, I procrastinated getting it into a releasable state until now.

    Spaceships is a unique turn based pass and play game based on a paper and pencil game my older brother first showed me about 20 years ago. The game consists of two space stations separated by a field of asteroids. The objective is to navigate across the field and destroy the opposing team's power generators. The original game mechanics involved balancing a mechanical pencil on end, then sliding it forward and using the mark it left to determine where a ship moved or fired. This recreation of the game mimics this behavior by providing a challenging means of moving ships and attacking and consequently creating a high skill ceiling. Rules have been adjusted from the original to take advantage of the fact it's now on a computer.

    To my knowledge, there isn't another game that plays like this. I have plans to add a challenge mode, which provides puzzles/tasks for you to solve. Right now though, it's just essentially the core game that my brother had played with me nearly two decades ago. This is the biggest downside, as that there isn't a very engaging single player element at this time beyond trying out the control mechanics and practicing trick shots in the practice mode.

    Anyways, I would appreciate any feedback you may have. Do I have a sentence in the play store that puts you off from downloading it? Let me know. Does it seem to run incorrectly, or are the directions not clear? Let me know about that to. Also, some of the code scales values based on screen size and it's possible that I may have some bugs somewhere that I missed. Positive feedback is also appreciated, even if everything runs perfectly, as it's motivation to take this to the next level :)

    And in case you're wondering - I used triangles and ovals for ships because that's what the original pencil and paper game used.

    https://play.google.com/store/apps/details?id=com.JamesHutchison.Spaceships

    Thanks!

    James

    instructions.png Screenshot_2014-08-16-01-30-47.png
     
  2. JimboFBX

    JimboFBX

    Joined:
    Dec 17, 2013
    Posts:
    17
    Is this more appropriate for the completed section, since the primary game is fully functional?
     
  3. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    38,697
    Hey, I know this game exactly... I used to play it myself. Last time I had a good game with someone else was oh... sixth grade, but yet I still remember it.

    In fact, I've tinkered with both a PyGame version of it and an attempt made on homebrew Nintendo DS (touchscreen stylus). I've not tried a modern touchscreen idea, but I have some ideas.

    I played your game on the store, and I have a few comments:

    - First up, I think it is awesome that you're making this game!
    - I'm using it on an Android Nexus4 phone. It works fine.
    - I love the practice mode: drop an enemy, drop your ship, TEST! Very nice
    - I saw my ship move a little bit (recoil?) one time at the end of a "shoot..." not sure why.
    - I want to zoom out more, even if it is just temporary while I "hold" the finger-pinch
    - The front page font (with the stencil cracks between portions of a letter) is VERY hard for me to read.
    - Tutorial page could do with a clear "back" button, esp if you port to non-Android systems

    I am interested in your input scheme, as it is different than my ideas. I'm trying to suss out exactly how yours works... shoot me an email if you'd care to discuss. I'm happy to tell you all of my thoughts on it, as I think there is plenty of room for more than one version of this game. Just use my first and last name at gmail.

    Kurt
     
  4. JimboFBX

    JimboFBX

    Joined:
    Dec 17, 2013
    Posts:
    17
    Woah, I didn't know this game existed beyond my older brother. I thought he learned it from someone else, but he drew everything so well and naturally that it seemed like his. Oddly, he doesn't remember playing this game nearly two decades ago... What did you call it?

    Thanks!

    This is an anti-camp mechanism. You'll see an (!) after a ship shoots two times without moving, then (!!), then (!!!) finally for which your ship will explode. It's to prevent a player with only a couple ships left from prolonging the game when they have ships in places that are hard to get in and out of. It's explained in the tutorial, but I don't fault you for missing it :)

    Interesting, maybe it's how its displaying on your device? I went ahead and changed it and uploaded a new version.
     
  5. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    38,697
    We called ours "Battleships," if we called it anything at all. The rules were slightly different than for your version.

    For one, once your ship moved, we used an X to mark our spot. You had to shoot the enemy ship "right through the middle" of the X to qualify as a hit, otherwise it was a miss. So there was a lot of missing and slashing back and forth over each other trying to hit the center of the other guy's X.

    The other problem with our rules was we weren't clever enough to have Move and Shoot. We just had "Go." If you shot your ship through the other guy's ship, you destroyed him and prevailed. In either case, your new X was always at the end of your streak.

    If you rammed into an island or the boundary, sometimes we played that you sank, other times we played that your move just stopped right there. Sometimes we had mines that you had to avoid ramming, or you would sink.

    I like your anti-camp idea. Simple and effective.

    We sometimes had shore batteries (guns) on some of the islands that you could use. Sometimes those shore batteries were single-use, other times either team could fire it as many times as they wanted.

    When you started out, you had a safe area for all of your ships, perhaps four ovals enclosed in a box in your corner of the map. The other team(s) could not hit you in that box, but once you left, you could not go back inside.

    Some other modes of play I have subsequently thought about would be a racetrack. Never done that but I think it could work. Might even be fun with "Combat racing" where you can shoot the other guy to make him lose a turn? Or that might be too destabilizing.

    I've tinkered with a few modes of input. On the Nintendo DS touchscreen I used a "fast pen stroke" input. The screen would center on your ship when you started your move, and you would stroke the stylus directly through your ship. The stylus sample closest to your ship would become the pivot, and the sample BEFORE and AFTER would be used to determine your slope and movement for that frame.

    On PyGame I've tinkered with analog joystick input mostly: pull to one side, wait for the light to go green, then let go so the joystick snaps back to center. Take the resulting vector as move.

    I've had a few other ideas for iOS/Android touchscreen but haven't tried them out yet. I think something that trades off distance with accuracy would play well, but I kind of like your "push through" technique because it feels quite natural.

    Finally, the testing I have done has focused on getting the "pencil streaks on graph paper" look going. See attached screenshot for an example. My current Pygame implementation just keeps accumulating streaks, but the obvious thing to do is to cause the previous game streaks to slowly fade, perhaps over 10 moves, so that the screen does not become too cluttered with previous moves, as it always did in real life.



    I'll go chase down your new build a bit later this afternoon! As far as the fonts, if I zoom it up in a screenshot, it isn't displaying with any obvious errors, but at the small device scale, the stencil "gaps" make the font look noisy and hard to discern individual glyphs. At least for my eyes!

    Kurt
     
  6. JimboFBX

    JimboFBX

    Joined:
    Dec 17, 2013
    Posts:
    17
    interesting, so similar concept but way different game. I think when I originally tried making this game on Klik and Play over a decade ago I tried a pivot scheme like you did but unfortunately it didn't work very well with a mouse. I liken Spaceships' control scheme to pushing a shuffleboard puck.

    How do the new fonts look?
     
  7. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    38,697
    I had a few more thoughts on your Spaceships game after playing it a bit more.

    I really like your pull-back-and-shove mechanism. It feels more and more natural to me the more I use it. I didn't care for it at first, but I really like it now.

    However, I would like to suggest a different strategy for the distance calculated when you move.

    In the "real world" pencil game, the actual length of your pen stroke varied no more than about 100%. In other words, the longest stroke was never more than about twice the shortest stroke. No matter how gently you tipped the pen over, or how viciously you shoved it forward, there was a definite span of perhaps 1.5 inches to 3.0 inches maximum.

    In your game, it seems too difficult to nail the right amount of distance, simply because you allow moves as gentle as a teeny-tiny shove, all the way up to careening across the galaxy.

    Somewhere in between the "real life" feel and your move might work better. I find myself struggling to get an accurate travel distance, and it feels more annoying than anything that I might one day conquer, although perhaps I just need to learn2play! :)

    My intuition is that perhaps movement should be limited to distance from about 1/2 of the screen (no less than that) to just over one screen width (or length? or the average of width and length?).

    Another idea might be to introduce a ship characteristic: small ships are light and go further distance? Big ships don't travel as far but deal more damage? Something along those lines... then you could have small, medium and large ships.

    Finally yes, the new font is fine. That previous one with the slits in the lettering just was too noisy for my tastes, but I'm sure others prefer it. :)

    Kurt
     
  8. mathias234

    mathias234

    Joined:
    Sep 9, 2012
    Posts:
    239
    My Xperia z1 is not comptable
     
  9. JimboFBX

    JimboFBX

    Joined:
    Dec 17, 2013
    Posts:
    17
    I'll look into it. I might be building the apk incorrectly.

    In regards to the controls: restricting max distance is challenging because the controls aren't that clear cut. Also, it isn't clear to me what the value add is off making that change. That said, I feel like the beginner controls aren't lenient enough, and I'm finding that everyone struggles with 0.5 second pullback requirement, so I'm likely going to change that.
     
  10. JimboFBX

    JimboFBX

    Joined:
    Dec 17, 2013
    Posts:
    17
    Alright, so I updated the game with the following improvements:

    1. Selection for ships is larger. I noticed that some people use the fat part of their thumbs instead of narrow part of their pointer to select ships, as a result, they often missed the ships and would have to re-tap over and over. The radius for a selecting a ship is twice as large now.
    2. Beginner controls are easier. Pretty much ships more or less move in the direction you point with some slight warping, instead of being almost as sensitive as the normal difficulty. The beginner controls are now much less sensitive to error and it requires a larger line to move them as far.
    3. I changed the 0.5 second passage of time for detecting the initial direction vector to 0.25 seconds.
    4. I changed the rolling average length from 3 to 2 for input so that the controls are more responsive.

    As far as the Xperia Z1 not being compatible... I don't know why it wouldn't be. It's definitely listed on google play as being compatible with my APK file. Are you able to play other Unity based games?
     
  11. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    38,697
    Jimbo,

    When you make your APK, check the build log for warnings about shaders.

    Building a space game for android, I was getting warning about using some shader that contained an alpha test instruction (my background starfield) that was said to potentially cause problems on a Qualcomm chipset.

    I addressed the problem by making actual cutout geometry so I could avoid using an alpha channel shader, even though I never actually saw a device fail on it.

    No idea if this is the problem, but it might be something to look at.

    Kurt
     
  12. JimboFBX

    JimboFBX

    Joined:
    Dec 17, 2013
    Posts:
    17
    I updated with version 0.4 which refactors the normal and expert controls. The ship shouldn't travel so far without drawing a longer line, but at the same time it's a little more difficult to get a straight path. Let me know if you like that more.

    Also if anyone else wants to do me a favor, please try downloading the game and see if you also get compatibility issues. Where is the build log located?