Previous Entry Share Next Entry
SDLRoads -- project pimpage
photogeek
crschmidt
Those of you who obsessively check your RSS readers and watch my del.icio.us feed may have noticed the link I recently made to SDLRoads. This project is something that my roomate (Pete) my friend (Paul) and I have been working on.

What started out as a relatively simple graphics project for CS318 has warped into a full scale SourceForge timesuck for the three of us. Whether it be newly created tracks, better collision detection, the ability to play music or some other nifty feature, the three of us have been consistently hacking on the project for a week and a half.

So what is SDLRoads? For those of you too lazy to click the previously mentioned links, "SDLRoads is an SDL and OpenGL implementation of an old DOS game, Skyroads." For those of you who this doesn't mean anything to, Skyroads was an old game where you had to pilot a ship across a series of different level planes, including pits and tunnels, in order to navigate to the end of a level. It's also reminiscent of a more advanced version of "Plane Jump" for those of you who may have played such a game on the calculator back during your school days. Basically, you're a ship, and you've got to get to the end of the level, come hell or high water. Oh, and don't run into things too fast - you'll blow up. The game is really pretty nifty in general, and we're working on making it more so as time goes on. This is one of my first real projects in a compiled language - the last time I coded in a language that required compiling was in high school, when we were working with Borland Turbo C++ compiled in a DOS environment. Clearly, this is a quite different project ;)

SDL is a windowing system that is cross platform. This means that (once we get help from someone on Windows or who can run Visual C and install the SDL libraries) this game should be able to compile and work in the same way on Windows as it does on Linux. This is really cool, as more open source applications running on Windows is one of the things that can help to show Windows users the good that is behind the free software movement. Granted, Linux tends to be the main development platform for most open source projects, but I still think that the more things that you can move between the platforms, the better.

This game has been really fun to work on for a lot of reasons. First of all, it's my first glimpse at learning the current way of doing things graphically in a compiled language. Granted, we're not exactly working with GTK here, but working with OpenGL and SDL has been quite interesting and instructive in the way that modern code works. Second, it's a really addictive game. I wrote all the levels that we currently have (except for one, which was designed to provide beginners a place to start) and I love writing them. It's so fun to play through a level, find the easy parts, and make them more difficult. One other reason, although obviously not the only other reason, is that I've learned about SourceForge and all the features it offers - quite a lot! For any open source project, you can get a full website, project management tools, release storage, database access... You name it, and Sourceforge can do it. Their support staff is helpful and friendly, and took care of an issue of broken code in less than 24 hours, which is better response time from a free support staff anywhere else. LiveJournal support volunteers are enthusiastic, but in the end, problems like this one typically site for weeks, if not months, before they're resolved. Sourceforge is really great, and if I ever do a project of my own, I'll probably use it when the project is small, because it seems really useful and nice.

I've also learned some other things from this project, less directly. I've learned a little bit about the automake and autoconf systems - how they work, and how to work with them. I've also learned about generating SSH keys for servers - so the work in encrypting and decrypting keys can be done locally, which is one less time your password needs to be transmitted over the web. Even encrypted passwords are more passwords than I want flying back and forth, especially since the developer CVS for SF uses SSH to communicate. That's a lot of times I'm going to be typing my password.

Working on SDLRoads has been really fun, and I've learned a lot of nifty stuff about it. If you have a Linux box with a relatively recent video card, you may want to give it a shot. Simply download the development snapshot, ./autogen.sh , ./configure (if needed) and make.

For those of you who may be interested in developing the project, feel free to join the SF mailing list. Links are available both from the project homepage and from the Sourceforge project page. If you do try it out, and have feedback, feel free to let me know. We're always looking for more people to be hooked on the game ;)

  • 1
*cough* macs rule! *cough*

anyway, i keep trying to say hi to you online, but u never respond.... so assuming i'm not secretly blocked or something, say hi back sometime! i'm mathwhiz78 there, too.

~mike~

Works fine on Macs too, if you have X11 installed and are using OSX. Recent Macs are really just bastardized Unix, same as Linux is. However, I don't think we've had anyone actually be able to run it yet. It would require the X11 server installed and the SDL libs, both of which are requirements that most Mac users simply don't have available.

If you can run glxgears, you can likely run this program. If you can't, well then, that does tend to be your problem ;)

I don't remember seeing a message from you on AIM anytime recently. Honestly, I don't pay all that much attention to AIM anymore, and I use a kind of "under development client" that crashes anytime the AIM servers disconnect me, so I have a tendancy to lose some messages.

I typically am on IRC, since that's where most of my friends hang out. AIM is typically an afterthought, used only because people think of it as a de facto standard.

funny how irc was much bigger, i think, when i was in college (BS '00) before AIM and all the other services came into their own.

ok, what's your irc info and where can i download a decent mac client? i mean, why not have FOUR fucking messenger programs all open at once?? =)

~mike~

I'm on Freenode in a variety of channels for different projects as crschmidt. You can typically find me there. Freenode is irc.freenode.net.

As for a Mac client, you're on your own. I run Gentoo. When I want an IRC client, all I need to do is type "emerge -s irc" and pick one ;)

forget it, too confusing.... msn, yahoo, or working aim: choose one! =)

Tonight, I choose bed. Perhaps another day. ;)

added you to my yahoo and msn lists; good choice on the bed for tonight.

too bad you're straight and taken (in no particular order) or i'd invite you to my bed! ;)

~mike~

Which is all very well and good but... what's skyroads? I've never heard of it.

Added to the entry: For those of you who this doesn't mean anything to, Skyroads was an old game where you had to pilot a ship across a series of different level planes, including pits and tunnels, in order to navigate to the end of a level. It's also reminiscent of a more advanced version of "Plane Jump" for those of you who may have played such a game on the calculator back during your school days. Basically, you're a ship, and you've got to get to the end of the level, come hell or high water. Oh, and don't run into things too fast - you'll blow up.

I wanna play! but it doesn't work in Windows? Actually, I have Linux installed to dual-boot now, but it has a few issues like constant feedback through the speakers, and my optical mouse goes crazy while my other ones don't. So I don't know how well it would work...

  • 1
?

Log in

No account? Create an account