This branch contains the core functionality of the game. Here you can program the game and change it.
See the master branch if you like to know more, contribute and see who created the game.
Flappy Bird in SVG. Play it at http://fossasia.github.io/flappy-svg/
License: Other
This branch contains the core functionality of the game. Here you can program the game and change it.
See the master branch if you like to know more, contribute and see who created the game.
The tasks are in English and German.
Feel free to provide a translation as pull-request.
You can not get Google Code-In credit for this.
When the bird hits an obstacle, it should collide with it and something should happen. But what? It should be enough for this of there is a method in the bird which is called like
flappy.collidedWith(obstacle)
This can be something like an alert
.
Really good would be:
This implementation should run in O(1) and not O(n) where n is the number of obstacles. Do not check every obstacle every move. Only check the closest.
Create a game over screen. It have to be a layer in the svg file and contains a button to restart the game with functionality.
Instead of placing a static score label, tentatively the score can be calculated based on the number of obstacles being crossed . The complexity of the score can be increased based on various parameters like speed, distance etc.
This is a continuation from my previous issue #96 to why we could switch to Webgl.
Three.js has a property to create a Spotlight with a particular intensity, angle and location and we can then enable shadow property on required objects.
Since we have a sun in the game and a shift from day to night , the shadow casting and lighting effects can be easily manipulated with three.js.
Errors occur and must be caught. Some of them must be shown to the user.
What are your ideas, @antoniomdk ?
Currently, we have a collision detection that checks the rectangle of the obstacle. This leads to a lot of hits even if there are no. See #4 for suggestions.
The new collision detection reduces the number of wrong hits. Comment if you would like to do this.
Comment if you would like to work in this issue. We can do several pull-requests for this one.
Looking at
Problem When you zoom in, the black background gets bigger and fills the screen so one must zoom out again.
Wish when zooming, the writing should still stay where it is but become bigger.
Possible Solution one could set the background color to black and remove the div elements that are black.
The Flappy Game should be playable without internet connection.
A possible implementation could look like:
I expect it to be about 20-40 lines of code.
Comment if you would like to solve this issue.
The Android app uses the online version of the game for download.
The downloaded version should be used to play the game in order to reduce bandwidth usage and response time.
Short:
When I open Flappy SVG on an Android tablet in the browser, I get a 300ms delay from click to flap. This delay should be removed.
This is a research question so it is hard to estimate the time to invest to solve it. Could be, that it cannot be solved. It is important to share the knowledge about this here.
Comment if you want to solve this issue.
We have code in place that opens a alert window when a Flappy hits an obstacle #4.
The alert should be replaced with something useful.
Comment if you would like to work on this issue.
Improve the Background, Images & Icons used
They can be changing the shapes of sun and moon and camel . They can be made some what better. Improvements can also be made to Buildings that are shown in Gotham background etc.
Work on Home/Welcome Screen
Welcome screen can be enhanced by improving the images that appear and the header JoJo Let's Goo can be adjusted neatly and appropriate images can be changed to make it look good
Enhance the GUI on a whole
You should comment if you like to solve the issue.
There are really cool SVG's for github that appear in the corner of the document. Add one of these to redirect to this repository.
Context
The circles in links.html behave as if they should be clickable. When I go over them with the mouse or click them, they change color.
Problem
Currently, only the text inside the circles has a behavior although it is suggested that the circles have the same.
Solution
Make the circles clickable and do the same that the text inside does now.
While playing with background Gotham, there is no obstacle come in path, it is just going and going.
@niccokunzmann
Using links instead of onclick= should be able to achieve the same except that now we can choose where to open the link (new tab, same page) and copy it.
Discussion is open!
At the front page of http://fossasia.github.io/flappy-svg/ there was a blue image that linked to the links.html. It disappeared. It should be there again so we can reach the links.html.
Maybe, it was moved into the images folder and the reference was not updated in flappy.svg.
The front page only shows the camel and the desert.
One can randomize it and show randomly
Comment if you would like to do solve this issue.
We could use Webgl libraries like Cannon.js , Ammo.js or Three.js to make this Game. This will obviously require us to rewrite the existing gameplay code but this will make the game smoother and efficient.
We can create basic geometries and wrap them up with svgs. Cannon.js will handle the collisions.
(http://schteppe.github.io/cannon.js/) , (http://threejs.org/)
Dat.Gui can also be implemented to dynamically modify(user side) or display variables.
@PohSayKeong, we will discuss everything here instead of in the task.
Currently we have developed the main menu .
We need to add the controls for the game , the scoring schema etc
Design the howtoplay.html file in a user friendly way.
Context
When Google-Codein is over, we still want to go on writing the game and get new developers into open source. They may even never have programmed before.
Objective
Make it as easy for them as it is for Google Code-In students to start.
Ideas
Please share your thoughts!
Flappy and Background have hide and show methods. These should be used preferably before setting the layer's style
The links.html file four links in the middle.
If you look how it is implemented, these two if constructs do the switch between the different views the page can be in, in lines 3 and 21:
if(document.getElementById('x3').innerHTML.indexOf('i')!=1)
if(document.getElementById('x4').innerHTML.indexOf('i')!=1)
Better, if we use a variable for the if. We have two views of the page:
To solve this issue:
android()
and contributors()
functions - they could be renamed to "leftImageClick" or something like this.Comment if you would like to solve this issue.
There from the links page one should be able to view the contributors of the project.
The are located in the master branch in the Contributors.md file. They should be shipped along with the code.
What should be added:
threading.js uses several timers. This can be reduced to one timer per interval. The problem with many timers is that they tend to schedule differently when you use them for a long time. This can be seen as the obstacles move where they should not.
There is a continuous integration server travis.ci we can use to ensure some facts about the game.
This issue has to be done step-wise. Comment if you would like to work on it.
Problem
Currently, the Main Menu has some fixed positions for elements. The buttons are not visible if the width of the page is thin.
Solution
Move the buttons with the size of the page so that they stay visible. e.g. center them.
Hints
In #104 you see who created the menu and you can ask for help here.
Comment if you would like to work on this issue.
Create a distance counter. It needs a label in the top of screen and update continuosly the score.
Can we have a website from there a user can download this game and play it offline instead of downloading from github.And we can add little information about the flappy-svg.
Create a 128x128 icon and place in the icons directory, make sure it's in .svg format.
At the start screen add the fossasia logo and when one clicks it, one should be redirected to the fossasia site.
At gci15.fossasia.org there is a section for student games.
We can add the Flappy SVG game to it.
TODO:
The start page is really crowded. Create a layer/page named "about".
This layer/page includes:
Also, remove these links from the start page and add a link to the about page/layer.
Comment if you would like to do this issue.
Context:
There is almost no obstacle at the bottom in the Gotham backgound. This means that the player does not need to do anything to play this background.
Solution
Add more obstacles at the bottom of Gothams obstacles.
There are a lot of images now.
All, except the flappy.svg image should be put into one folder, like it is with javascript and style.
Comment if you would like to work on this issue.
Problem
Currently, all layers are in flappy.svg.
This causes the following problems:
Solution
Split the flappy.svg file into several files. SVGs can be embedded in SVGs, so no problem there.
Comment if you want to do this and please outline a plan on what your solution looks like. Change is hard once coding began, so the plan should be good first.
In the context menu of the App-game, there can be a button to restart the game.
This will reload the site.
Comment if you would like to solve this issue.
Animate something: the Camel, the Bat, the sun, the moon. They can have glowing eyes, flap, walk, jump, look at the mouse, ... - as you please
You should use SVG animations for this. You can find one in the top right corner for example. But there are great tutorials in the internet.
You should comment if you like to solve the issue.
Each level has
In a level.js file:
Add methods:
Add functions:
The idea is to create good code. This is the draft and it may need to change once started.
Comment if you would like to work on this.
Once we have a score, we can create a leader board.
We need
Please discuss how to do this and post your ideas here so we can make a better specification.
Context
Currently, everyone is able to check the working of the game as a website. There is no way to test a pull-request whether it works on the app.
Solution
Add the ability to change to where to download the game from.
Hints
Comment if you would like to work on this issue.
in the contributing.md:
In general:
When there are links clicked in the web viewer, they should be opened in the browser.
Assigning middle difficulty because I do not know how to do that.
Comment if you would like to solve this issue.
When I open the page http://fossasia.github.io/flappy-svg/
Then I get the error
Load denied by X-Frame-Options: http://fossasia.github.io/flappy-svg/flappy.svg does not permit framing.
This should not be! The game should be playable.
Hints to solve this:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.