wxMax > MaxGUI

The title of this article says it all. I’m currently working on the next ‘iteration’ of Gunstyle with a fellow developer and over the past weekend we were in need of a GUI library to help develop our map editor. In the past maxGUI ‘worked’ more or _less…._emphasis on the _less_. The design of maxGUI left me with a bad taste in my mouth. It’s a procedural library that is cobbled together with some weak OO on top that didn’t provide much flexibility (not to mention it wasn’t exactly ‘native’ UI on different platforms)....

July 14, 2009 · Alex

Yummy Digests

I’ve been working on a few projects that require blitzmax and a web-server (php/mysql) to communicate. Along came the need to hash files. This code archive entry was very useful :). I decided to wrap it into an object and add a new method to it. Even though it’s a series of functions I still tend to make types with functions in them to help me organize them (it’s like a cheap way of namespacing). I needed the ability to hash a file using Sha-1 hashing. Seeing that php has a function called sha1_file($pathToFile) I figured I’d implement the equivalent on blitzmax. With this THasher type, I’ve added a SHA1_File(path) function also. Why hash files? There are many reasons to use hashes, but recently I used it to check for file changes. If you’ve ever wanted to find out if some arbitrary file has ‘changed’ since the last time you’ve opened it this can prove to be useful. If you save the hash beforehand then recompute the hash now and if they are different, then something’s changed! Some applications of this are: Write a file-updater to quickly find out which new files need to be downloaded. Just comparing hashes would be sufficient in most cases, instead of having to go individually byte-by-byte or traversing the file structure to find a difference. help stop cheating. If you don’t want users changing texture files to gain an advantage or don’t want them ‘mucking’ with any other data file. If you check the current hash against a previously approved one and it doesn’t check out then the file has more than likely been tampered with. How Do I Use THasher? If you want to hash a string using SHA-1 then: Local hashedFoo:String = THasher.sha1("Foo") Want to hash a whole file? Then: Local filehash:String = THasher.SHA1*File("someFile.txt") Keep in mind you can hash _any* file, not just text files like in the above example. Anyway, read on for the whole file. With the exception of SHA1_File() I did not write these hashing functions for Blitzmax. They were simply taken from Yan’s very helpful code archives post :). ...

July 19, 2008 · Alex

How to create concave polygons

Yes, yes I know the documentation is lacking at the moment for Farseer.BMX. I’m still working on it on a few fronts. First, I’m trying to do api documentation (bbdoc mostly). Secondly, I’m trying to write tutorials/guides that help show how to use some of farseer’s features. I had hoped that releasing the demo application source code would’ve covered this aspect as the demos cover pretty much each feature, but I guess since the demo source is a bit more complex in design (handling a lot of graphics related mumbo jumbo), the actual ‘needed content’ wasn’t particularly easy to find....

June 29, 2008 · Alex

Continuous 2D Trails in XNA

Hey again! Two updates in less than a month! Wonder if I can keep this up :). Anyway, just finished another article for Ziggy’s site. This one shows you how to do those cool, seamless ribbon trails you sometimes see trailing behind melee weapons (swords, sticks, etc) and other objects. I’ve also included a sample with full source code that works on both the PC and Xbox 360. So go check it out!...

October 4, 2007 · Alex

Distortion Shader Example

Wow it has been a while! School is back into full swing so I’m spending time at school and in labs longer than should be legally allowed :|. I managed to scrounge up some spare time to write up this distortion shader article and some explanation of how things work for Ziggyware.com. Go check it out! Feedback is welcome as I’m still somewhat new to the world of shaders. Below is an example picture of the post-process shader in action....

September 25, 2007 · Alex

Ideas On Networked Games in XNA

I’ve written networked games in the past, but never in XNA. So after writing the networking logic for Gunstyle I figured I could write a blurb about general networking in games for XNA, which in reality isn’t that much different from any other API. I do not claim to be some expert in networking and I only present to you what I know based off prior experience from a few multiplayer networked games. Oh, and yes I am aware the diagrams are not completely correct UML diagrams, I am simply trying to illustrate a point. This isn’t a How-To guide to networking either, just food-for-thought for those just starting out with networked games. ...

August 7, 2007 · Alex

Go Back To Sleep…

For some reason I’ve been listening to APC a lot lately (can you tell?). Maybe it’s been the numerous all-nighters I’ve pulled recently and this music soothes me late at night. It’s been too busy the past few weeks for me to sit down and gather some thoughts for a post. Been hard at work with the new game for Dream Build Play, along with life’s other issues. Don’t have much to show at the moment as everything is a bit too early in development, but I figured I’d at least post one of the concepts by Adam (below)....

April 3, 2007 · Alex

Double Take

What?! Two posts in one day? Yea well, this one actually has some content to go along with it. I’ll make it short and sweet. You can find more info at my dev blog. I’ve got some cool stuff to share for this weekend’s update so stay tuned! My 5th Dev Blog Entry I put up my first tutorial! Hurrah! Go check it out in the tutorials section. I’ve also posted my game’s project plan for anyone to follow it as the game progresses....

October 20, 2006 · Alex