Archive for the ‘Programming/Software Development’ Category

Multi-processor Blocks

November 18, 2010 Leave a comment

This is an article I wrote for SBGames 2010 and that was chosen as one of the three best short papers of the Computing Track. This paper is an introduction to one of my researches about a new programming paradigm I have developed aimed at programming for systems with multiple processing units, such as PCs with multicore processors or more than one processor. It could also be adjusted for larger systems, such as mainframes or server clusters. You can find it on the event’s proceedings:

Proceedings page:

Best Papers Page (under Best Short Papers – Trilha de Computação):

Direct link to the paper:

Dastardly’s Dream (Python)

February 3, 2010 Leave a comment

Dastardly’s Dream is a simple game (a 2D shooter)  made in Python (with Pygame) based on Hanna-Barbera’s cartoons (in his dreams, Dick Dastardly finally killed that stupid pigeon). I think this sample speaks well of my learning speed and adaptation capability. This is my first real Python software (“Hello World” doesn’t count) and it took me less than a month to learn the language, the framework, make the art and code everything.

If you are interested only on executables, you can download bellow. You won’t need python or pygame to run it, it is stand-alone and there is an exectuable. Source codes and documentation are also available, though to run the game from then it will be necessary to have Python 3.1 and PyGame 1.9 (or compatible newer versions) installed. For convenience, I separated the source code and documentation for the only class meant to be reused (since I was also learning Python I allowed myself to experiment with the rest).

The class in question is called GameLoopManager, and as the name suggests it controls the main game loop/flow (updates the logic and draws periodically, essentially) and its own file includes documentation and a template for classes using it as a base class (the class itself shouldn’t be directly instantiated). The core game code has no documentation file, but was well commented.

Download links:

Dastardly’s Dream (Executable)
Dastardly’s Dream (Source)
GameLoopManager (Source and documentation)
Instructions (also included on the Executable version)

It was programmed using Pythong 3.1 and Pygame 1.9,

AS3: LMCustomUtilities

January 2, 2010 Leave a comment

This is a simple library with some utility classes that I have developed as a mean to increase my knowledge on ActionScript 3.0. I personally believe that creating libraries is the best way to get used to a new language and learn more of its features. They are meant to be largely and easily reused, and guaranteeing those objectives requires more finesse than ‘stuff that work, but only for this architecture, new project new code’. That and I also greatly enjoy to build things that other people will use to build other things.

More than a coding sample, it is a documentation sample. It is essential to write a good and clean code for any programmer, it is the minimum required. Documentation of the finished code, on the other hand, is very useful in large teams, but seldom mastered. I believe that being able to do both is one of my best strengths as a programmer.

You can find both the .as files and the documentation (open the index.html files to see it) for them in the links bellow. The documentation was done using javadoc formatted comments in the source code and the .html pages automatically generated with Ortelius.

Download links
Source (.as files)

Sliding Puzzle

January 2, 2010 Leave a comment

This is a simple example of a game, or a toy in this case, that I developed with Flash cs4/ActionScript 3. It is a simple, clean and functional sample to show coding skills, so there was no need to get too fancy.

Here you can download both the swf and the source code (.fla and .as files).  On the same file you will find a ‘Reuse_Sample.fla” and .swf. That is a sample using the same SGPiece and SGGameField class files, only altering the .fla content, and its main class definition. You will also find documentation for the reusable classes.

Original: Mouse does everything.
Re-using classes sample:
— S – Solve puzzle
— R – Randomizes pieces.

Download documentation