Bird Feeder Game

From Richmond MakerLabs
Jump to: navigation, search

The Idea

To make an online browser game that tries to teach kids about not feeding bread to ducks/birds, but rather bird seed.

Details to remember/work out

Art Style : To be cartoony, maybe disney-alike, Start with stick figures or circles and elipses.

Where will it be hosted : It could be hosted in or ideally it will be simple enough to fit inside an frame. Code can be shared here or here

Will we save player data/progress : Start simple! get the game up and running: saving makes things more complicated and insecure for the user as they have to accept cookies and the sort.

What it will be made in : HTML5 with Javascript seems like the norm. Really simple HTML5 with SVG animations could be possible.

How it will work : As in design wise, it would be preferable to not make a super-massive script which handles everything - is a Component structure workable in JS? Do not know, but I recall javascript being object oriented.

Current Design

To make a Candybox / Cookie Clicker -esque game, the basic idea being to start off small, and over time add more and more fascinating and most likely illogical steps up to a full browser-based game, here's what is partially set in stone:

Start with a button to make bread or bird seed or something, which spawns a little image of it/increases a textbox number by 1;

Have a cute wittle duck sitting to/moving around the side of the production half, where you can drag the image onto it to feed the duck, or press a button to feed it.

After that we introduce more mechanics, current interesting/dumb/cool ideas as follows:

  • Be able to produce different kinds of things to feed the duck
  • Duck spawns more ducks/more ducks appear as they hear there be food in these here hills
  • Ducks 'morph' into different types as you feed them different types of produce (Eg feed a duck 10 times with bread, it becomes a Breadduck)
  • Duck types are used in a simple war-game (Risk?), in a war against the Swans/Geese/Pigeons
  • Or for a non-violent option, a city-building game, as you raise a duck town using the types for different jobs?

Having a read, they seem all cool.

Current Code Architecture

In bullet points:

 * The game works by running from a hub script, and updating a player data script/instance, which holds the various variables the player has, as well as their progression.
 * The central hub script handles activating the different mechanics when the if condition is met
 * These mechanics each run separately, and should only work from the player data and hub instance, not affecting another script
 * This then allows us to build up more easily, and test more easily, but requires a lot more thought beforehand.

Candybox 2 Design

Talking to the maker of Candybox 2, his design is as follows:

 * A Game Class, which handles gameplay-related stuff (it has the locations, the candy/lollipops/etc resources, it contains the quest data when a quest is launched).
 * During a quest for example, the Game class will call the update methods of all quest-related entities 10 times a second.
 * A Screen class, called by Game to render a location on the screen - it contains methods to add links and colors and special stuff and render it as ascii art.
 * Most entities usually have a reference to the Game class in case they need to reach other entities, but they won't directly access the Screen (so that all the drawing is centralized, it is way easier that way).

Tools used