Showing posts with label design. Show all posts
Showing posts with label design. Show all posts

Monday, August 19, 2013

Rhythm Game - HSC Project

This project started of as a major work for my HSC software course. The only requirement was that it be an application developed in the Python language. I started on a rhythm game using the Pygame library, probably the most commonly used 2D game engine for python. The game consists of a main menu with many buttons leading to nowhere, a song selection screen and the rhythm game itself. There is one very short song to play exquisitely composed by a friend of mine.


Working on this project has further reinforced for me how important the idea of the Proof of Concept is. I had planned to implement battle mechanics to this game in some way and ended up discovering that hybridization of a pure rhythm game with other genres is actually quite difficult (although Sequence seems to do it quite well). The issues largely come about from pacing and control. It's difficult to design a rhythm game in which the player is able to focus and control both the rhythm game and battle mechanics simultaneously.

Interestingly, something else that can detract from being able to focus properly in a rhythm game is how the notes are visualized. It seems that players tend to be able to score better with less frustration and more focus when they distinguish notes by colour rather than shape.

The player receives an accuracy score which is reduced by scoring 'bad notes', a mechanic designed to prevent players continuously smashing the score keys. A 'bad note' is scored when the player hits a score key when no note should be scored at that time.

The source is still here on GitHub and a video here on Youtube if you'd like to take a look. Feel free to fork this project or ask me how I did anything.

Saturday, July 6, 2013

Code and Why It's Awesome.

Before I do anything let me explain what drives me to code.

For me, I find the ability to picture an abstract concept, form it into a design and implement it is an amazing thing. Creativity is a distinguishing feature between people and everything else. I have an urge to create things, it just makes me feel good. The artform I've chosen to be my main output of creativeness just happens to be software development.

Programming lets people show off their inventiveness, logical problem solving and design skills all at once. I sometimes think of it as being the closest thing to real life wizardry. A perfect combination of technology and design. Being a programmer changes the way you think about the world. You become the kind of person who can see the beautiful nature of maths and numbers. You look for new solutions to problems and find problems nobody even knew existed to solve.

Some of the other perks of the software developer is that your projects generally don't weigh much, don't get you dirty, and you can work on it anywhere or anytime as long as you have the hardware.

Software development, to those that have interest, should never become dry, since programming reaches across all other fields. Everything you can possibly think of, computers could theoretically help with. It's even central to new cultural mediums.

Staying true to a discipline and creating awesome stuff makes people and the world they live in a better place. I'm open to people contacting me personally for help on their own projects or questions about mine. I suggest to everybody, get involved in a creative project because it does a lot for the human spirit.

I'll end with a quote that epitomizes one of the many reasons I code:

"Any sufficiently advanced technology is indistinguishable from magic." - Arthur C. Clarke.