Well lets get this out the way first: I've become a bit of a busy dood lately. First semester of college will be over in a week (wasn't that rough, fairly pleasant overall but the last few weeks haven't left me with much free time). I'm working two jobs now. Neither is particularly well paying but I have to do what I have to do. I've noticed my uni has a lot of empty unused classrooms so I'm trying to convince them to let me use one as a "Hackerspace" ( http://hackerspaces.org ). So far they seem pretty on board with the idea but it's taking up a lot of my time trying to get it underway. Suffice to say: I have not had much time to work on my Wii projects which we all love.
But I'm also not content with leaving everyone in the dark on my projects (whats open source for after all?) so I'll run through some quick updates for each after the break.
Showing posts with label ALLEGRO. Show all posts
Showing posts with label ALLEGRO. Show all posts
Monday, December 13, 2010
Sunday, June 28, 2009
My ALLEGRO Sprite Class
One of the most unique things about developing with the ALLEGRO library is it's lack of a proper Sprite class. Instead, the library forces you to write your own. This can be very taxing task.
Over the course of the last three days, I've developed an extremely powerful, fleshed out Sprite class for use by people who develop with ALLEGRO like I do. I'm now offering it up for download by other ALLEGRO developers. All in all, this should probably knock about 6 - 10 hours off of your programming duties.
My Sprite Class has the following features:
To use the Sprite Class, simply place it's four source files (linkedlist.h, linkedlist.cpp, sprite.h, sprite.cpp) into where ever the rest of your source files for whatever you're working on go. You may wish to change the first line of actual code in linkedlist.h You will also need to add code in your projects' source files (#include "sprite.h") to properly link in my sprite class wherever necessary.
It should be noted that my Sprite class was developed and tested with ALLEGRO 4.2, but I believe it will work fine with older and newer versions of ALLEGRO, since only a small handful of the code actually uses stuff in ALLEGRO. To that end, I also believe it will work fine with the ALLEGRO port used by GBA Homebrew developers.
My Sprite Class is available for download by clicking here.
Legal information regarding the Sprite Class is below and included in the .rar I would appreciate if people would include the legal information regarding my Sprite Class in all distributions of programs which use it unless permission is given by me to do otherwise.

Arikado's ALLEGRO Sprite Class by Arikado is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
Based on a work at arikadosblog.blogspot.com.
Permissions beyond the scope of this license may be available at http://arikadosblog.blogspot.com.
Over the course of the last three days, I've developed an extremely powerful, fleshed out Sprite class for use by people who develop with ALLEGRO like I do. I'm now offering it up for download by other ALLEGRO developers. All in all, this should probably knock about 6 - 10 hours off of your programming duties.
My Sprite Class has the following features:
- Stores a single framed BITMAP to render
- Stores a multi-framed BITMAP with each frame stored as a node in a linked list. Any node can then be rendered whenever the programmer desires
- Render single or multi-framed BITMAPS with transformations
- A Sprite can detect collision between itself and another Sprite
- A Sprite can detect collision between itself and another object with an X, Y, Width, and Height value
- Easily change a Sprite's Cartesian coordinates
- Precise Frame tracking
To use the Sprite Class, simply place it's four source files (linkedlist.h, linkedlist.cpp, sprite.h, sprite.cpp) into where ever the rest of your source files for whatever you're working on go. You may wish to change the first line of actual code in linkedlist.h You will also need to add code in your projects' source files (#include "sprite.h") to properly link in my sprite class wherever necessary.
It should be noted that my Sprite class was developed and tested with ALLEGRO 4.2, but I believe it will work fine with older and newer versions of ALLEGRO, since only a small handful of the code actually uses stuff in ALLEGRO. To that end, I also believe it will work fine with the ALLEGRO port used by GBA Homebrew developers.
My Sprite Class is available for download by clicking here.
Legal information regarding the Sprite Class is below and included in the .rar I would appreciate if people would include the legal information regarding my Sprite Class in all distributions of programs which use it unless permission is given by me to do otherwise.
Arikado's ALLEGRO Sprite Class by Arikado is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
Based on a work at arikadosblog.blogspot.com.
Permissions beyond the scope of this license may be available at http://arikadosblog.blogspot.com.
Saturday, June 27, 2009
I'm developing with ALLEGRO: A cross platform game programming library
Yesterday, I talked about how Windows was the best target platform to develop for. Today, I'm pleased to announce that I don't have to choose, because I'm developing my upcoming computer games with a cross platform library: ALLEGRO.
ALLEGRO (an acronym for Atari Low Level Game Routines) is a very powerful game programming library with code that is entirely portable and compatible with with any computer platform. In other words, this means that I can compile my code without any errors on Windows, Mac, or Linux computers, and it will run on those platforms. Thus, what I develop over the summer with ALLEGRO should be playable by literally anyone as long as there is a compilation available for your computer platform. Don't forget that I'm an open source developer, so it should be easy for anyone to do.
There are more reasons than just cross platform compatibility that lead me to choose to develop with ALLEGRO. Like it's name suggests, all of the functions in ALLEGRO are very small and simple. This saves an unbelievable amount of RAM and hard drive space with my programs. For example, all of the artwork used by my game is hand drawn pixel-by-pixel 24 bit color bitmaps. You can start to imagine how much space that saves when you compare them to the PNGs I'm forced to use when I develop for Wii.
For those of you who don't know, I'm a big OOP programmer. ALLEGRO isn't really all that object oriented at all. In fact, it doesn't even have a Sprite struct or class. While this may be annoying for some people, I actually really enjoy it. This challenges me as an OOP programmer to write powerful classes to wrap together all of the functions relating to an object that aren't bound to classes with original variables not bound to structs. Either way, doing some extra work on my part is a far better alternative to having to potentially rewrite parts of ALLEGRO (making a custom version of it) just so I can write a class that inherits from an existing class.
I could probably write an entire post about this, but as a last note, you should know that I'm developing not with the latest version of ALLEGRO (4.9.11) but instead with ALLEGRO 4.2 This is because 4.2 was the last stable release of ALLEGRO that contained (or so they claim) no bugs at all. Shortly after the release of 4.2, a new team of developers took over ALLEGRO and they haven't been able to push out a completely stable release yet (though they claim 5.0 will be a stable release). In short: Just be aware that I'm using version 4.2 of ALLEGRO instead of the latest release.
Well, that about wraps it up. Thanks to the cross platform compatibility of ALLEGRO, everyone should be able to enjoy my upcoming games. I hope everyone is looking forward to this as much as I am.
ALLEGRO (an acronym for Atari Low Level Game Routines) is a very powerful game programming library with code that is entirely portable and compatible with with any computer platform. In other words, this means that I can compile my code without any errors on Windows, Mac, or Linux computers, and it will run on those platforms. Thus, what I develop over the summer with ALLEGRO should be playable by literally anyone as long as there is a compilation available for your computer platform. Don't forget that I'm an open source developer, so it should be easy for anyone to do.
There are more reasons than just cross platform compatibility that lead me to choose to develop with ALLEGRO. Like it's name suggests, all of the functions in ALLEGRO are very small and simple. This saves an unbelievable amount of RAM and hard drive space with my programs. For example, all of the artwork used by my game is hand drawn pixel-by-pixel 24 bit color bitmaps. You can start to imagine how much space that saves when you compare them to the PNGs I'm forced to use when I develop for Wii.
For those of you who don't know, I'm a big OOP programmer. ALLEGRO isn't really all that object oriented at all. In fact, it doesn't even have a Sprite struct or class. While this may be annoying for some people, I actually really enjoy it. This challenges me as an OOP programmer to write powerful classes to wrap together all of the functions relating to an object that aren't bound to classes with original variables not bound to structs. Either way, doing some extra work on my part is a far better alternative to having to potentially rewrite parts of ALLEGRO (making a custom version of it) just so I can write a class that inherits from an existing class.
I could probably write an entire post about this, but as a last note, you should know that I'm developing not with the latest version of ALLEGRO (4.9.11) but instead with ALLEGRO 4.2 This is because 4.2 was the last stable release of ALLEGRO that contained (or so they claim) no bugs at all. Shortly after the release of 4.2, a new team of developers took over ALLEGRO and they haven't been able to push out a completely stable release yet (though they claim 5.0 will be a stable release). In short: Just be aware that I'm using version 4.2 of ALLEGRO instead of the latest release.
Well, that about wraps it up. Thanks to the cross platform compatibility of ALLEGRO, everyone should be able to enjoy my upcoming games. I hope everyone is looking forward to this as much as I am.
Thursday, June 25, 2009
Coding Section
This post is an archive documenting all posts related to coding or computer programming.
General Programming Tutorials
C++ Tutorials
- What are C and C++?
- Setting up for C++
- Analysis of the Hello World program
- Comments with C++
- Variables with C++
- C++ Keyword: typedef
- The least you need to know about scopes with C++
- C++ Keyword: using and a little on Namespaces
- if ... then statements with C/C++
- Writing a sequential bruteforce attack in C/C++
- Writing a randomized bruteforce attack in C/C++
Wii Homebrew Development
- How to play external MP3 files with libogc's MP3Player
- How to output text from fonts with libwiisprite
- How to program with the balance board
My developments tools
Insight
Labels:
ALLEGRO,
archive,
bruteforcer,
C,
C++,
DeSmuME,
wii homebrew development
Subscribe to:
Posts (Atom)