22 Mar

Amazing 4KB Ray Tracer

2008-07-27T12:24:18+00:00: Updated with an even more impressive 4 KB raytracer from RGBA1


The above is the output of a 4KB intro by Rgba that uses purely generated data to render a nice creepy landscape scene. To give some perspective: the same image compressed into a JPEG of similar size would look crap. And it still needs code for displaying the compressed image. You can try and run the program yourself, it can be downloaded from the Rgba site (32-bit Windows binary)2. It takes about 10 seconds for the image to appear on my Athlon XP 3000+. Let’s hope they will make a screen saver of it, with random parameters for the scene.

Things like this make me think of how much things have gone forward since I first looked into ray tracing. It used to take many hours for a similar image to render in POV-Ray (not including the time used for modelling!). Nowadays, you can optimize for size (as opposed to optimizing for speed) and still have a reasonably fast ray tracer. It’s not too far fetched that the above landscape could be rendered real-time on a fast processor and probably with some speed optimizations.

21 Mar

A Tiny XML Parser

While looking for a convenient way for storing some level data for a game I’m working on (more of that later), I came across this small C++ XML parser. Originally, I wanted to stay away from XML or other formats as they are overkill for the simple game format. However, this parser is both small (the Xerces parser is over 50 megabytes!) and easy to use.

In case you can’t find a download link on the project page: you have to email the author to receive the library (the page promises a direct download link in a few weeks). I think that’s actually quite nice, considering people who write free software rarely get the praise and attention they deserve.

19 Mar

Ideas for Blogs

Here are some ideas for writing for a blog that I came up when brainstorming for ideas for my blog. It may or may not be helpful for a writer’s block.

A Numbers List

A numbers list, e.g. “10 Bestest Games Evar”, “20 Weirdest Science Facts of 2004”, is an easy and lazy way to write. It requires an paragraph of text per each thing, at best. A lot of these are basically link lists — something that wasn’t too useful even back in 1996.

Worst case scenario: You essentially need to come up with a generic title (be sure to include “best” and “you’ve never heard of” somewhere in the post title) and then a template in which you fill in the blanks for each bullet point in the post. It’s like doing Madlibs with yourself. Just put the game/movie/social networking site in the template, repeat 20 times and you’re go.

Best case scenario: You come up with an idea, which is original. Even if the actual idea wasn’t too original, you will balance that with quality reviews of each thing you include. Or, you could try to narrow your scope so you will provide at least a somewhat useful list for a certain topic. In practice, your goal is to create original content even if it merely described other content.

How to improve: If you are writing about best games you saw last year, you include images or even better a video on YouTube. I find it very convenient if I can instantly view footage of a game and changes are I’ll revisit the post just because all the videos are in the same place. Even if you are writing of a subject everyone has an opinion about, you could try to entertain with your opinion.

Blog Dialogue

Many blogs quote other blogs and then continue on the subject or critique the original quote. This is easy, as long as you keep in mind you need to have something to add and that you need to provide something more to read. Simply paraphrasing someone else’s text to give a heads-up to your readers about some other blog can be acceptable in some sense but it is rarely captivating enough in its own right. Obviously, the dark side of this is blatant stealing of content, links and ideas.

Worst case scenario: Your blog consists of a stream of links to other blogs. The readers will be bored of filtering through all the random stuff. Unless they are clones of you — in which case they will be very interested of everything.

Best case scenario: You disagree or agree with someone’s blog. You quote the parts of the original post and include your own thoughts (“Sucks!” and “Ditto!” is not acceptable). Generally, after reading your post the discussion has advanced. Or, in case you are just posting a heads-up to your readers about another blog, after reading your blog your readers don’t have to refer to the original blog to keep on track.

How to improve: Even if it’s only your opinion, you need to have a solid base of your argument (well, duh). Your content needs to be interesting and entertaining in its own right — otherwise your blog will be a a mishmash of random links to other blogs.

Write about a Hobby

You could try to educate the masses about something you already know about. Everyone has a hobby, which means everyone knows about something that is interesting enough to keep as a hobby. Obviously, not everyone has the skill of teaching. Nonetheless, most people can provide a bit of help to people who wish to know more about, say, programming or guitar playing.

Worst case scenario: You write about a trivial subject everyone with half a brain knows. Or, you write about something you don’t quite get. And the writing is sloppy, your goal is just to bash the keyboard until you have created any content at all for your blog. In addition, you just copy other people’s content.

Best case scenario: You write about something cool you came up with, tell how you did it and are ready to answer questions. Your goal is to share your knowledge or at least the end product.

How to improve: Again, more content is better. Provide images or videos. A lot of tutorials and instructions on the ‘Net are good enough for their writing alone, but it is quite rare to see good illustration for a geometry problem or a good video of some handicraft technique. One thing I have noticed are videos of someone doing something trivial on the computer — for a computer-illiterate this can be very helpful. It requires a bit of effort to produce good visual aids but for the reader it’s worth its weight in anything he or she considers valuable.

Write about Your Day

This is the archetype of all blogs, writing about what you did today. It is acceptable to the readers only if you are very good at writing — or are ready to expose interesting details of your life. Don’t be alerted, exposing those interesting details can be as easy as reviewing a movie you saw last night.

Worst case scenario: Twitter. Livejournal.

Best case scenario: Your writing is extremely good, humorous or you simply pour your heart into your writing. Or, you provide a honest opinion on a movie, a warning on a brand of bad hardware you bought or give useful information about living with a rare disease.

More Ideas and Examples

18 Mar

More generated game content

Shmup Pixel Craft Generator

Shmup Pixel Craft Generator is another random sprite generator that is quite similar to Richard’s Evolving Sprite Tool from the last installment. SPCG too gives a sheet of sprites that you can pick from. The sprites make me think of Xevious, they have the feel of ancient space ships.

The author mentions Dave Bollinger’s Pixel Space Ships as his inspiration. Bollinger’s Pixel Robots was featured in the last installment as well.

Explosion generators

There are very many products for generating various effects by using a particle system. However, many of those products are very expensive as they are aimed at film and game industry instead of a hobbyist. Here are some alternatives.

ExGen is a commercial product but with a much nicer price (less than your average game). It is very feature rich, has a nice GUI and even exports as AVI.

The Explosion Graphics Generator or EGG is a very customizable particle system that uses a scripting language. It is free.

Explogen is similar to ExGen only that it is not as feature rich. It’s still worth checking out as it is free.

Positech Games has a free, unnamed generator as well. The page includes sheets of sprites so you don’t even have to download the software.

This blog writes about lhfire, a tool for generating particle effects for a Quake mod. I haven’t tested this myself but it should be good and also free.

13 Mar

SEO Is Bullshit

Sorry for the characteristic blog post with the quote and the link but I thought this article was a good read:

Two weeks ago I said that SEO is bullshit and the SEO community promptly got their knickers in a twist. The post was labelled everything from “sensationalist crap” to “linkbait”, but I was still left searching for a solid counter-argument. Even Richard Hearne, one of Ireland’s better known SEOs, decided not to engage in the discussion because my post was “so wide of the mark”. But then why the hype? Why the anger? Don’t tell me there might be some truth to my argument? SEO is bullshit and the SEOs know it too.

I get a lot of SEO pages on StumbleUpon which really riles me up for two reasons: I’m literally drowning in SEO stumbles and, most importantly, because I agree wholeheartedly with this article. I hope the right people will read it.

Sometimes, after reading one of those stumble out of boredom, I can’t but think the line between actual SEO advice and the content (crap) SE spammers spew out is blurred. I guess anything connected to SEO is so little about actual valuable content and advice (outside of best practices), it taints the little good there possibly could be. It very much reminds me of all those self-help gurus with their painfully obvious advice (and painfully inflated prices). Sometimes, it feels like the whole SEO inner circle is something Louis Theroux should investigate.

I am quite sure the only people who benefit of the whole SEO phenomenon are those who sell snake oil consult other spammers optimizers.

“SEO, for lack of a better word, is bullshit” — though, I guess it sadly “captures the essence of the evolutionary spirit”.