first

The Plannoning

Posted on

Bad “The Reckoning” reference there, but whatever. With any project, we need to define the goal for what we’ll be working on and what we’re trying to accomplish. We’ll start with the big picture, then work our way down to the nitty-gritty details.

The big picture

To create a helicopter game. You know, the one you’d play for the entire duration of any grade-school class held in a PC lab: http://www.addictinggames.com/action-games/helicoptergame.jsp

It’s going to be called “Pterrible Pterodactyl”, because that’s how I roll. We’re going to start with a full web site, then work our way smaller to a mobile site, followed by perhaps an Android application (since I lack the tools for iOS development). Pterrible Pterodactyl will have user accounts and a leader board so we can have justifiable bragging rights.

The functionality

What’s the criteria for each piece of the Pterrible Pterodactyl puzzle?

The database

  • needs to hold user info – user name, password, first name
  • needs to hold scoring info – score, time, datetime of when score was recorded… all tied to a particular user*

User creation/login

  • user can create a username (can already exist)
  • user can create alphanumeric password that’s greater than 5 characters
  • existing user can login with username and password
  • user can play as guest, but their score won’t be recorded

The site

  • user can login
  • user can create user
  • user can access their user page
  • user can play game

The game

  • user can start game
  • user can view how to play
  • user can view credits
  • user can hold the spacebar to go higher
  • user can release spacebar to go lower
  • game’s over when user hits obstacle (wall, block, moving block)
  • pterodactyl speed increases over time
  • score saves if user is logged in upon game over

The tools

We’re going to need stuff to make this work. Lots of stuff. Let’s make a list and take it one step at a time.

  1. A database – we have to store the user and score information somewhere. NoSQL will certainly be preference, because THE FUTURE.
  2. A fancy DOM manipulation/data handling framework – this site ain’t gonna change itself. We’ll need to research what’ll be best for what we are trying to accomplish. I’m a sucker for JQuery, however AngularJS may be the viable option with its data-mining capabilities and growing popularity.
  3. A text editor – because duh.
  4. Graphic design tools – our site needs a UI and the game will certainly need sweet graphics. Adobe Illustrator and Photoshop will probably be our best friends during the design phase.
  5. A code repository – let’s contribute to the cause. GitHub will be the obvious choice.
  6. A host – the site will eventually have to live out there somewhere. This will also give a huge lesson in packaging up and deploying all the pieces that’ll make our site out to a server.

I’m sure more will come up as the project progresses, but it’s a start. Next step – let’s get a database! We know what information we’ll want to store from the beginning, and it’ll be the groundwork for our application. Our homework is to do a bit of research to find an awesome, free, database that will suit our needs. Also the less (or no) SQL, the better.