Posts about Tools & Technology


Computer Generated Game Resources


All games need good audio/visual resources. Read: images and music. Also, we are though from start to respect copyright, especially on internet where everything is at disposal. One way of getting starry background for our asteroid game is to find copyright free (public, copyleft, ...) images of stars filled backgrounds. Or, maybe even cooler way is to let computer generate it!

Thanks to my work colleague John E. I have been pointed in right direction.

Here is, for instance, link to create nebula images in procedural way - all online: http://wwwtyro.github.io/procedural.js/space/. For those who want to learn more - how it is done - code is in github - here.

After adding starry background, our game needs music, too. Ripping the latest currently popular song is illegal. And inappropriate - who saw/hear game with the latest hits as a background music. On the other hand, eighties 8-bit music might be exactly what you're looking for. So here is the link for python script that can compose your own songs:

https://github.com/wibblymat/ld24/blob/master/autotracker.py

If you don't like the first song - try it again, and again. Aside of proper, background 8-bit alike sound, that script produces creative song titles, too. For instance, did you hear the latest song called "A fish and puppies"? Or "An orange retort"?

Songs created by autotracker.py script are int 'it' format (Impulse Tracker) and to convert them to mp3 you'll need an utility like Total Audio MP3 converter.

Aside of music and background, you can even create your own sound effects online: http://jfxr.frozenfractal.com/. You can create sounds from zapping laser to picking coin.

So, grab a music you like, create background and add sound effects to your game and see you on the next session! Happy coding!

Want To Brush Up Your Skills Between GCC Meetings?


We’ve had to miss our session this week, but if you have access to a computer at home then follow this link to the Codecademy python basic skills course. This will take you through the basics we have covered so far – including printing text to the screen, creating, assigning and using variables.

If you are ready to get ahead of next week’s session, you could also complete this course, which demonstrates how you can control the flow of your program using tests called ‘conditionals’. Give it a go!

CodeBlocks - C++ Development Environment


Before we can run our C++ source code we must first compile it into code that our computer can understand. Typically, as we develop our project, we will break it down into smaller manageable sets of useful functions and tools that we compile separated. In addition, we will frequently want to use the compiled code that other people have written in our own projects. In both these cases we need an additional step after compiling to ‘link’ all these bits together. Compiling and Linking are the two main components in a tool chain that we need to manage when we build a C++ application. To make our lives simpler we can use an Integrated Development Environment (IDE) that combines the text editor we need to actually write our source code, with a nice interface to manage all the files we want to compile and link to form our final application.

CodeBlocks is a free IDE that is cross-platform (available on Windows, Mac, Linux – including my beloved Raspberry Pi) and focused on C++ development (unlike Eclipse). Some aspects are little raw compared to Microsoft’s Visual Studio, for example, but we are meant to be learning about the process to some extent any way. Winking smile

Downloads

You can download the main program for each of the main platforms here.

Paint.net


Paint.net is free image editor that runs on Windows PC’s. I’ve chosen it for us to use for creating our 2D art assets because, while being relatively easily learn, it has many of the features and concepts that you may come across in professional, industry-standard, graphics packages later in your careers. Currently the big one is Adobe’s Photoshop and Paint.net is very similar to it in many respects, but without costing about £350 a go! In particular it allows us to use image layers, combine modes and alpha blended transparency.

If you have access to a Windows PC or laptop at home you can download your own copy of Paint,net from here.

Although it is free, if you really like it (as I do) then please consider donating a tenner to my fellow software developers for their sterling efforts here. Smile

Python & Pygame


homepage

We base our programming around python & pygame at the club. Python is good language for learning general and transferrable programming principles, as well as a useful skill in itself. Many commercial and professional products use python, often as a scripting interface to the main application (see our minecraft meeting write-up for an example). Pygame is set of extensions to the core python language, specifically for creating graphics and games.

image

A key benefit of using these technologies is that they are both available, free of charge, on Windows, Mac and Linux (including the Rasperry Pi) so everyone can try out what they’ve learned on a variety of other computers in between the club meetings. There is even a version being developed that will run on Android phones and tablets.

Downloads

Python: http://www.python.org/download/releases/2.7.3/

(Note: We use python 2.7.3, because python 3+ is still not fully supported by pygame)

Pygame: http://www.pygame.org/download.shtml