Monday, September 30, 2013

Pygame Water and Sand Simulation

Originally meant to be just a water sim. They seem to be all the rage in simulation videos. Turns out I accidentally made something that acted like sand so I left it in there.



The code can be found here,
Video can be found here.

Wednesday, September 11, 2013

Pygame Side Scroller

Some little dude wants that star for his collection or something like that. An experiment written in Python using Pygame in a typical side scrolling, platforming style. I added in switches to make the game feel more dynamic but past that I pretty much free-styled this with no real purpose(I guess this could be compared to an artist's doodling). Although there's nothing unique here it still stands to demonstrate uses of Pygame.

The map is generated using a text file that gives a two-digit code for each 16x16 space. Each unique code identifies a different type of block.

There is code here at Github and video here at Youtube.

Tuesday, August 27, 2013

Pygame Box Bounce Animation

So I've written this little animation/simulation thing with Pygame for Python with a bouncing ball and breaking boxes. The ball follows the law of reflection when it hits surfaces, meaning that the angle at which it hits a surface will be the same as the angle at which it bounces away. When the ball bounces off a box the box disappears.


I put the code here on GitHub and a video here on Youtube.

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.