Progress with Building My Own Mobile Game
It’s week 2 of the FutureLearn “Begin Programming: Build Your First Mobile Game” Course.
Week 1 was all about setting up the IDE (Integrated Developer Environment). I already had Android Studio installed on my computer, but I set it up in March and had forgotten what I did and I am not sure I had everything loaded. Going through the steps in the course was useful. I had to do lots of updates. I also had a project already started so needed to figure out how to open the unzipped project files supplied as part of the course. In getting to grips with this, I came across a video series that is very clear and useful from https://www.thenewboston.com/ (playlist on youtube)
By the end of the week 1 lessons I had got to grips with the IDE and had a virtual emulator set up and installed my K013 Asus tablet hard-wired as a debugging test environment. The game that the whole course will be spent modifying has started out as a green background with a white ball that moves by tilting a physical device and when you touch the screen the ball moves towards the point you have touched with a speed proportional to the distance from the ball that you touched.
Lesson 2.15 is a discussion “What features would you like to see in the game”. That has me thinking about how many possibilities can I think of. There’s a test of creativity that asks people to list all the things they can think of doing with a paper clip and this feels like a similar exercise to me. It also seems to me to be something that shouldn’t be seen as a blank page, since there are already many games that have a ball or balls and so “building on the shoulders of giants” one should be aware of what has already gone before and what could be improved upon.
It has also made me think about the idea that you should be a gamer if you are going to design games, and you should design the game that you want to play (like you should write the book you’d like to read – from Steal Like An Artist). The issue for me is that I’m not really a game player. The apps that I like tend to be puzzles or quizzes or productivity. That made me look at what categories does the Google playstore split apps into?
The highest level categories are:
Apps, Movies and TV, Music, Books, Newsstand and Devices.
Then within Apps the categories within games are:
Action, Adventure, Arcade, Board, Card, Casino, Educational, Music, Puzzle, Racing, Role Playing, Simulation, Sports, Strategy, Trivia, Word.
I started a list of all of the kinds of games you can have with a ball or balls and tried to split them into my own categories (and started to realise there are a lot of things for inspiration):
- With a court/pitch and a racket/bat: Tennis, Squash, Racket ball, Volley/Hand Ball (hand as racket), table tennis, (Badminton), Lacross, Shinty, Hockey, Cricket
- With a linear goal: Football, Rugby (also with a pitch), air hockey
- With a circular goal: Basketball, Netball (really same as a target area?)
- With a target area: Marbles, Curling, (shooting/archery/darts)
- Get nearest to a jack: Crown bowling, boules, Pétanque
- Hit/knock down things: alley bowling (lots of versions of pins/skittles and rules), Pin Ball, (Angry Birds), Northamptonshire Table Skittles
- Get things into holes: Snooker, Pool, Golf, (Pin Ball)
- Motion maze: Get around avoiding holes or try to get multiple balls in multiple holes at same time
- Catch: eg 100 balls
- Juggling: Not sure how you could do this in an app game
- Dodge ball: avoiding being hit by oncoming balls while throwing/shooting own balls at other ‘players’ – really this is a shoot’em up/space invaders concept
- Generic terms to consider: Throwing sports https://en.wikipedia.org/wiki/Throwing_sports – getting rings on to pegs, discs into pots
Trying out new games
I installed a game called 100 balls. It’s not great. Full of adverts (why it’s free). 3 levels, but unclear what the instructions are, although I got the hang of two levels that involved a shoot with balls in that you can release a trap door and drop the balls into cups that go past. To make such a game more sophisticated you could add controls to variables such as the speed that the cups go past. There was annoying music, but the option to turn it off. Music and noise seems to be a feature of games like this. Needs to be an element of competition, beating your own previous score.
Useful Resources for Learning about Android Development
- The series of videos from https://www.thenewboston.com/ in a playlist https://www.youtube.com/watch?v=QAbQgLGKd3Y&list=PL6gx4Cwl9DGBsvRxJJOzG4r4k_zLKrnxl
- Java variable naming conventions http://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html#naming
- Android activity life cycle http://www.codelearn.org/android-tutorial/android-activity (very clear diagram)