Hacker News new | past | comments | ask | show | jobs | submit login
Flappy Space Program (corpsmoderne.itch.io)
495 points by ski on Feb 14, 2014 | hide | past | favorite | 112 comments



I'm incapable of playing something like this without laying out some strategic principles:

When launching, hover the bird at the edge of the atmosphere for a few clicks, to give it time to tilt into horizontal orientation, so your thrust can affect the orbital parameters. If you don't do this, you'll just thrust vertically into the outer barrier.

Circular orbits are best. Two objects in circular orbits at different altitudes can never collide.

High-altitude orbits are best, where there's more room for more objects.

So circular high-altitude is best, but it's not easy to get there. Standard orbital astromechanics apply: to circularize, thrust at apogee to raise your perigee. Problem is, it's not easy to tell when the bird is at apogee, and it may not even occur before you lose control of the bird and the next appears. Also, the thrusting resolution is rather coarse: if the apogee is any higher than about halfway to the edge, two clicks will send the bird into the barrier, so you only get one attempt. These details and coarse controls make the game a lot harder than it looks, just like the original Flappy.

Finally, if you just need that one more point to break your high score, launch the next bird into the lowest fastest orbit possible. That altitude should be clear if you launched all the other birds higher, and it will register quickly before any more collide. I managed 8 thanks to this.


Perfect! Thats almost all the points covered, and it took me an hour to get to this. Although, I should say, it was more like a physics practical tutorial, I learnt to apply thrust at apogee, say, just by intuition. So since this game is based on physics, there has to be strategy.


I read through the source and was surprised at its simplicity and readability.

http://storage.googleapis.com/itchio/tmp/main.js

No funky frameworks , just plain old jQuery and some JS.

I've just begun learning JS and the source was very informative.


Meh, don't use best practices for assigning functions to variables, but other than that looks pretty readable.


What are the best practices for assigning functions to variables?


Once you figure out the space bar cadence, that Flappy Kessler Syndrome[1] is gonna hit you hard any time above 3 bird's.

[1] http://en.wikipedia.org/wiki/Kessler_syndrome


You get the gold medal with 16 flying birds. By the time I reached it I had prevented 12k collisions. Spanning at random position would help to create different orbits.


I've had some success with doing sub-orbital hops before taking off finally for orbit, to move myself to a new launch position. Doesn't really work well if you have birds in orbits with very low peris though.


This is unnecessary - it's functionally equivalent to just waiting a moment before launching for the orbiting birds to progress. There's nothing absolute about the positioning of the launching bird, it's all only relative to the orbiting birds.


Changing the initial launch position makes it easier to choose what area of the planet the periapsis will be over. When I launch the birds, unless I take great care to do otherwise, my periapsis tends to slightly after my launch position.

With periapsis's in different positions, you can get birds into rarely colliding 'resonances' of sorts. Making sure that the periapsis of birds is not over the default starting location is also good to ensure that you do not lose orbiting birds to a pre-launch bird.


Too true. The first two times I reached six, I was shortly thereafter knocked down to one or two by collisions.


Suggestions. Decrease the number of clicks slightly when using a mouse. The fingers hurt trying to go that fast. Alternatively, add spacebar support.

Absolutely unplayable on a phone. Bind to touchdown events on mobile. Click events have a 300ms delay. Make the game full screen for mobile.


Implementing Fastclick.js would make it work on the phone: https://github.com/ftlabs/fastclick

"FastClick is a simple, easy-to-use library for eliminating the 300ms delay between a physical tap and the firing of a click event on mobile browsers. The aim is to make your application feel less laggy and more responsive while avoiding any interference with your current logic."


spacebar, how appropriate..


To the moon.


Ducks! Yes, ducks in outer space...


Friends don't let friends launch drunk.


Spacebar works for me...


For me, it works only after the page is scrolled all the way down to the bottom (so I can only see half the canvas)


use enter


It was really not fun for me until I realized that once the window has focus any key press gives a little boost. Its much more comfortable to stroke each key on the home row in rapid succession than to pound on one key :)


Are you supposed to get it to go through the space between the "stars"? Is it even possible?

Edit: Got my first point (50 - 100 tries?). You need to make it go a full orbit without touching the outer circle. This seems obvious in retrospect.

Edit 2: And they knock each other out of orbit. This is fun.


It might be more clear how the game works on first playthrough if it starts with a bird in orbit and a score of 1.


No, just have as many "satellites" in orbit as possible simultaneously. The game is continuous. I got up to 5 and gave up ;)


I got 4 and was very, very proud of myself. That said, if it were controllable through spacebar, I'd play a lot longer.


I've been playing using the spacebar... Debian/Chromium


Try the up arrow.


For a real treat, try Desert Bus[1]. The scoring works like soccer: 1 point and you've basically won.

[1] http://www.newyorker.com/online/blogs/elements/2013/07/the-w...


I hope I'm not at all stepping on the developer's toes by pointing out you can fullscreen it by going to the iframe's source, where you can also have some fun trying to script it.

I'm in the early stages of designing a junior high programming curriculum and think this may be a great example of an engaging, practical experiment.

  boost = function(duration, interval){
      setTimeout(function(){
          clearInterval(window.kp)
      }, duration)
      window.kp = setInterval(function(){
          $(document).keydown()
      }, interval)
  }


I know I enjoyed playing with that snippet! Thanks for sharing.


Speaking of orbiting... http://www.kanyezone.com/


That game is even worse


"The developer has not uploaded a game yet..." are we overloading the server?


Developer here. I've tried to fix some bugs, but the update system on itch.io seems broken and wont let me update the game. I've setup a mirror here : http://corpsmoderne.net/fsp/


yay spacebar


It's fixed! The itch.io team has be great on this issue


still getting that error


Sorry, the page was cached for 10 minutes and it wasn't cleared after deploying fix.


I was for awhile after he said it was fixed but it works for me. Try opening it in an incognito tab in case of a caching issue. Otherwise, just use the mirror.


It's an infinite game -- you don't die and score can go both up and down. This is a new kind of game for me.


Never tried to play Kerbal Space Program, or Minecraft, or... well... pretty much every sandbox game out there? ;).


Neither of those have hard point metrics, psychologically it's a different to see a number that represents your progress in the game drop to zero in a spectacular three bird crash.


The graphics are kind of blurry and fuzzed-out by scaling. It seems to be a by-product of re-rendering the the sprite images within a <canvas> object.

http://commondatastorage.googleapis.com/itchio/html/4923/spr...

http://commondatastorage.googleapis.com/itchio/html/4923/bg....

This would be top notch if the images were resized to provide crisp, well-pixelated edges. The spritesheets look great, in and of themselves, but the browsers scale them poorly.


Canvas actually has a context attribute to disable filtering in modern builds of Firefox and Chrome. mozImageSmoothingEnabled/webkitImageSmoothingEnabled, iirc.


I think that's an homage to the original.


Sure, but compare the relative size to the flapmmo.com sprite sheet:

http://flapmmo.com/atlas.png


Anyone else getting "The developer has not uploaded a game yet..."?


yep


So bad, why don't they support the space key and instead use click? Trackpads/touchpads are not good for that at all.


You are right on that. I can't send any bird to space. my bad luck.


Flappy Bird meets KSP.

This is possibly the best Flappy Bird -type game I've seen.


I wish there was a way to control when a new one spawned, I had loads in really good setups to make nice circular orbits and then a new one spawns.


I set up some really crazy orbits :-D

http://imgur.com/3HA4ubl

One of those birds is in a circular orbit one bird-height above the ground!

Another is in a very eccentric orbit that skims the ground when it comes to the bottom-right of the screen, then almost grazes the asteroids in the top-left.


The one thing I don't like is that this game's physics don't seem to behave properly. In real life (and in Kerbal Space Program) you burn at apogee to increase the height of your perigee, or burn at perigee to increase the height of your apogee. But that rule doesn't seem to apply to Flappy Space Program, making this game anti-educational. :-(


Hi, dev here. I certify you that the physics are OKish. You should burn at apoapsis to circularize, etc. What prevent you to realize this is that it's hard to know when you're at apo/periapsis, so you're burning with some vertical velocity and that changes how your orbit change. Anyway, this game was really a joke, if you want an educational game, I've also made this: http://deltav.corpsmoderne.net/


+1 for the delta-v game!

Here's a reddit thread about the game with a "high score list": http://www.reddit.com/r/gravity_games/comments/1fks9v/oc_del...

If anyone wants to test out their orbital mechanics skillz, you can try to beat my unofficial world record, a grand tour of the Jovian moons:

http://deltav.corpsmoderne.net/game.html?s=Jupiter&prg=QlVST...


I took on your challenge, determined to do it from scratch with no copying, and I have this:

http://deltav.corpsmoderne.net/game.html?s=Jupiter&prg=QlVST...

More points, due to orbits of and impact with Jupiter, but slightly less efficient and elegant overall I dare say - some burns not really at peri-/apo-apsis, and my orbits are generally higher and less circular. Kudos also for motivating me.


This game is super fun even though it's a joke. Might I suggest that once your bird has left the cloud layer, all subsequent burns are purely prograde? (To deal with the edge case where the bird reenters the atmosphere, the rule could be that all burns are purely prograde if the bird has ever left the atmosphere). I think a lot of people will play this game and the Hohmann Transfer concept would be a cool thing for them to be able to take away.


You might want to switch from Eulerian integration to Verlet for more stable orbits. http://gamedev.stackexchange.com/questions/15708/how-can-i-i...


> I certify you that the physics are OKish

A++++ would physics again


it is damn hard to for me to escape the close orbit bird. I have managed that feat a few times but I like getting four out there and seeing how long before they intersect.

I get a serious "solar system" vibe instead of satellite vibe when playing this game, as in how would comets move through a system and such but on a simplified scale


I am very much enjoying the new flappy meme. It's pretty cool that a game came and went and became a legend in such a short time. And now the "flappy" adjective is a byword for simple, nearly impossible games.


There, I finally got a bird to stay in orbit and a new one appeared on the ground. Score: one. I triumph!

(Now I'd better leave it alone or the next hour or two will disappear.)


Neat idea. Probably would improve if you go with click-hold rather than tap-tap-tap-tap-tap, or at least enable the ability. Also, needs more Mario pipes :)



Would you mind sharing how you've made the game?



When I double click on the canvas it selects it.

You can fix it by adding:

    user-select: none;
    user-drag: none;
With appropriate vendor prefixes.


Doesn't work on my ipad (ios7). The screen just tries to constantly resize to fit all the content, and my taps are thrown away before they ever get to the game.

The recent "Flappy Bert" http://www.sesamestreet.org/cms-static/flappy_bert/ doesn't have this problem.


Get yourself a proper computer.


Is it too much to ask that a web-based clone of a single-input game originally designed for phones and tablets also work on a phone or tablet? Apparently for you, it is. Either that or this was some kind of platform flame. I can never tell any more.


Platform flame, FYI.


An, I suspected as much. Let me respond in kind, then. Ahem.

Kindly insert the antiquated, unfriendly device that you dignify with the name "proper computer" into your excretory orifice of your choice.

Hmm, not very good. I'm really not very good at platform flames any more. Especially when it's such an unspecific one as "tablet" vs "not tablet". I dunno, I'll take a shot in the dark and urge you to go back to fellating Bill Gates and his heirs, or Linus? Or pick up on the British English and suggest that you go back to your precious Speccy. I mean, really, give me something to work with, man.


I was going on pretty well, really enjoying the game and taking advantage of the fact that I have two mouse buttons (external + laptop's) to avoid breaking a single mouse (or my finger) with so many furious clicks. At some point the X server crashed - I wonder if due to so many clicks, or due to clicking on both mice. Did anyone experience the same issue?


Looks cool, but I'm traveling and on mobile. Maybe add touch events so us mobile users can enjoy too?


This version should work on mobile: http://corpsmoderne.net/fsp/


It appears that any mouse or keyboard button works, additively. Tapping any two keys at once will put the bird just above the clouds in one hop. Three rockets it straight into oblivion. Holding down several keys produces impressive fireworks.


I'm surprised no one has made "Flappy [Lunar] Lander" yet.


The game also serves as political commentary on http://en.wikipedia.org/wiki/Space_debris


Out of all the Flappy variants, I played this one the longest (20 sec) and had the most fun with it! Kudos! I could really see a lot of people buying this as an iPhone program.


Well there goes my spacebar from ferociously whacking it.



Flappy Bird will be the biggest merchandise for free in 2014. There will be more Flappy Bird teddies than Angry Birds and nobody needs to be paid.


[deleted]


This is the whole point, albeit unexplained: you need to launch as much birds as possible in continuous orbit.


Oh, seems more fun if it would not possible to goto continuous orbit and just count the complete loops you can make.


So this is the ornithological version of Gravity


Excellent game - congrats!

Just wondering what the revenue is for your donation button vs having adverts.

Also, have you considered creating ios/android apps?


>Just wondering what the revenue is for your donation button vs having adverts.

I doubt he'd make much money with either option. People rarely donate to software projects and you need lots of traffic to make money off of advertising.


From my own sites, I'm averaging $1.50 per 1000 pageviews with adsense adverts.


I couldn't get past 5 without them colliding, at least with the minimal effort I put into this game. Really cool though.


It is so addictive I just lost 20 minutes of my life for no reason.. and got only 4 birds in orbit!


Fun fact: this game is much easier on my gaming mouse than using mere Dell mouse at work.


Makes me feel like Elon Musk.


5.

Really cool though.


7.


HOLY COW THAT IS SO FUN.


if you zoom out on the page the icon and points board do not scale well.

Nice game


Great! Now add the green tubes for extra difficulty :p


This.. Is the best flappy game ever!


Not working.


Hey. Dude. This game is awesome.


Good God is that game addicting!


Way more fun than the original!


This is a fun game. Good job.


It's just awesome ;D


We have a winner, folks.


Ha. Nice game :)


all 3 of mine are in polar orbits!!! :0


These flappy clone brigade is just dumb.


that partially the point I think.


wtf hard


alper slym




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: