camen design

What’s Missing on the Virtual Console?

I have a love-hate thing with the Nintendo Wii Virtual Console.
I love it on principle, but hate it in practice. It’s over-priced, unpolished and lacks the right games.

Super Mariokart
Why didn’t Nintendo release Super Mariokart on the V.C. alongside Mariokart Wii for a double-whammy of handling goodness? I saw a SNES+Mariokart bundle at a local game shop going for £45. The demand is immense.
Sonic The Hedgehog (Master System)

(Update: This is now on the U.K. Virtual Console)

Already released in America, but held up here in Europe. This is not the same as Sonic The Hedgehog on the Mega Drive. What the 8-Bit Master System couldn’t do with graphics, it made up with gameplay. The levels are creative and well designed, adding clever additions like the auto-scrolling Bridge level and my personal favourite the vertical waterfall level that (a bit like Super Mario Bros. on the NES) would not allow you to go back; which when climbing a waterfall meant that if you missed a jump, you died – there was no retracing your steps. The Game Gear version of the game however left this facet out as the screen was too small to do the tricky jumping sections.

The only letdown with the game is the lacklustre bosses. The 8-Bit system was just unable to fill the screen in the same way the 16-Bit Mega Drive could.

Screenshot of Sonic The Hedgehog - Sega Master System. Image via http://www.mobygames.com/game/sega-master-system/sonic-the-hedgehog/screenshots

The strength and longevity of the 8-Bit systems even meant that it remained commercially viable for some time to release new games on the older Master System as Sonic The Hedgehog was followed up by a number of Master System-specific games that did their own thing, rather than trying to imitate the Mega Drive releases; most notably Sonic 2 and Sonic Chaos. (Both of which of course should be on V.C.)

Pokémon

What are you afraid of Nintendo? That somehow V.C. sales will prevent people from purchasing DSes?

Love or hate Pokémon, the original games (Pokémon Blue / Red) stand alone as superb R.P.G.s in their own right, before all the Pokémon craze took off. If anything, the over hype / marketing / craze of Pokémon that followed soured the image of the games in some people’s minds.

Much like how Tomb Raider lost the plot when the marketing-men ran with the idea that everybody liked the game solely because of Lara Croft©, when the truth was that the first Tomb Raider was I.M.O. the nearest to perfect game ever created. Ignore what you don’t like about the Pokémon brand, and you will find an R.P.G. that will truly grip you.

That said, I am still of that crowd that swear by the original 151 and refuse to get with the times. Just keep remaking Pokémon Blue every five years, and I’ll be happy, thanks.

Metal Gear Solid Ghost Babel (Gameboy Advance)

Everything that made Metal Gear Solid great, in a Gameboy. Sheer 8-Bit brilliance.

Screenshot of Metal Gear Solid: Ghost Babel. Image via http://www.gamespite.net/toastywiki/index.php/Games/MetalGearGhostBabel
Ys (Master System)

(Update: The Turbo Grafx 16 version of Ys Book Ⅰ & Ⅱ is now on the U.K. Virtual Console, but it lacks the difficulty level of the Master System version, and what took me weeks, only takes a few days)

Just the most immensely big R.P.G. for the Master System. Huge. How it was crammed into a Master System cart I will not know. The combat would be considered very weak now, but it struck a balance between Zelda-esque exploration and stat-based battles without being turn-based. Yes, you just “bumped” into each other until HP≤0, but the immense maze-like world you had to explore and the equipment upgrades made it worth it.

Screenshot of Ys - Sega Master System. Image via http://www.mobygames.com/game/sega-master-system/ys/screenshots
Commodore 64 games that matter

There’s about 6’000 games for the Commodore 64. During late 80s the U.K. was the centre of the gaming world, with America having to wait to get games released in Europe first (imagine that!). During those years, you could quite literally code a game in your bedroom and it become a top-selling game overnight. Many of the companies in the industry now came from those days of idea-tolerance. Your game’s hero could be anybody or anything – even if it was ridiculous. You didn’t need millions in V.C., a strong “brand” and “attitude” just to make an entrance into the market.

Do you honestly think you could get away with “James Pond” now?

Here’s some “missing” C64 games in the V.C. from my stand-point: (In no order)


Any other suggestions of your own? Mail me on the signature link below.

“Minimalist” Is Not the Right Word

Sam Ruby is moving to clean HTML (no divs, no classes &c.).
He describes this as Minimalist Markup.

Unfortunately, I have to find fault with this term. Just because some code is not full of needless bloat, does it then make it minimalist? No, it is simply as is it should be.

Just because my website is not full of ads, side bars, widgets and crap, it is not therefore minimalist.
Exactly everything is here as it was designed to be.

The same goes with the source code. Just because there are no class attributes, it does not make the code minimal. It still renders exactly as it would render had I used CSS classes.

I’m sorry if people are so used to terrible website design that they consider a website that doesn’t have this bloat as minimalist. That’s faulty perspective.


Whilst it’s obviously fantastic that he is moving toward sane HTML, I don’t see it as anything particularly special. This is how all websites should have been from the beginning. It’s only because of the terrible habits bred into us developers by IE4 and Netscape that it’s taken so long to get back into shape with standards again.

The class attribute is not evil, nor wrong. It doesn’t need to be avoided, it just needs to be used only when it is appropriate, and not as a catch-all for the failings of some browsers. The class attribute is simply a way to say that an element will have changed semantics from how it has been seen before. For example, a blockquote with and without a class attribute are semantically different; the latter blockquote is of a different class.

In my own website, it’d be perfectly correct (even more correct than it is now), to use a class on my <article> elements, since the semantics of each article are different due to different internal content (blog | tweet | photo &c.)

I decided to go totally without classes to show that it could be done and that there is a light at the end of the tunnel, and that this would fit within my three guiding principles of design.


Sam, I’m in your debt. If there’s anything I can help with this new design of yours, I’m at your disposal.


Kind Regards,

Sentinel Returns: A Guide

Sentinel Returns is often described as genre-busting.
The concept is so off-the-wall, yet creative and well designed that it’s a game of elegance, but also of fear.

Sentinel Returns is scary in the way modern horror movies are not: calmness.
There is more fear in something malicious taking its time, than something that is too quick to ever see.

When I played this game back in 1998, I would restart the level if one particular music track was playing, I found it way too disconcerting. The game, whilst simple, is very atmospheric, dark and brooding.

Cover of Sentinel Returns

The Sentinel itself is Lord Fear over the landscape. It slowly rotates at the highest point, observing the landscape around it, looking out for you. If it spots you, it will try to absorb your energy.

Screenshot of Sentinel Returns, courtesy of http://members.chello.at/theodor.lauppert/games/sentret.htm

Blind panic usually ensues.


I recently started playing the game again, and decided that since the game can be difficult to understand for newcomers (and that more people really should play this game), I’d contribute a strategy guide of sorts to gamefaqs (writing in pure ASCII-code is quite fun). It’s going through their review process at the moment It’s now on their website, but a copy is enclosed in this blog entry (at the bottom of this entry, and as an RSS enclosure in your reader).

I hope you enjoy it, and that it enlightens you about how this odd game functions. I also hope it proves to be useful to those playing the game too!

If you’re into puzzles, particularly abstract ones, then this is a good game. It’s available on Playstation, or PC from any second-hand place you can find it. eBay, Amazon, Local Swap-Shops &c.

“These Things I Believe”

These things I believe is a beautiful mantra of software philosophy.
I agree with everything there.

Here are some choice quotes:

Are users dumb?

When software is hard to use, don’t make excuses for it. Improve it.

When a user makes a mistake, don’t blame the user. Ask how the software misled them. Then fix it.

The user’s time is more valuable than ours. Respect it.

Good U.I. design is humble.

A good software developer defends his work by actions - fixing it, improving it.
A bad software developer places the blame anywhere but on their own head.

What is the task of the U.I. designer?

Users do not know what interface they want. Users do not know what features they want.

Users know the tasks they want to do, and the problems they have.

We learn more by watching the user work than by asking the user.

The job of the U.I. designer is to provide what the users need, not what the users say they need.

It is to make tasks easier, not to provide features.

And my personal thoughts:

If you believe users to be idiots, then you will write idiot-software

I would go as far as saying that:

With intelligence, you can write good code.
But without philosophy, you cannot create art.

It takes love to write beautiful code (and a beautiful functionally interface), and there's not much of that in this technology-world of pent-up, angry, aggressive and indignant geeks.

0.2 Thoughts

Edit: Added URLs item to the list.

This website is designed to never be finished; instead constantly improving over time (my CSS is tweaked almost daily). Therefore I call this website “0.1” instead of a “1.0” or Beta (Beta would imply that there was a final product somewhere nearby, which there isn’t).

As much as this site does new, and as much as I’ve truly pushed myself to the limit with the code in this site, there are many flaws and I’ve been thinking about what I’d like to achieve with 0.2.

After being inspired by this design, here’s a run-down of some of the heavy flaws that need tackling:

Less Scope

At the moment most of the complexity in the CSS isn’t from using no classes, it’s from trying to restrict CSS being applied in certain places where there are multiple levels of scope.

One good example of this is the hyperlink scheme. This was only recently designed and much of the complications in my implementation (vs. the sample code) is preventing the link scheme applying to all the links outside of the content entries (the header, tag-list &c.). It’s a minefield of do, and do:nots

What I’d like to achieve in 0.2 is to have the hyperlink scheme apply to all links on the site and then exclude individual areas as required, rather than the current practice of applying to only one area (below body level) and trying messily to exclude everywhere outside.

I’m not very good with graphic design and the look of this site has never been up to scratch. I didn’t want the blue background but couldn’t find anything to go with the orange. Secondly, the whole design lends itself to small text on the background areas and so it’s become unavoidable having tiny tag links which render too small on an iPhone.

In 0.2 I’d like something that doesn’t sink into tiny text sizes, but at the same time I really hate web design fads. This website will never have diagonal stripes in it, and it will not be brown.

Ems

I did try to create an em-based layout for the site, but there were too many flaws from trying to tack it onto an existing design rather than designing with ems in mind from the beginning.

With 0.2 I’ll try to do everything in ems from the beginning and that should hopefully make the whole thing less twitchy.

Pingbacks

The Reddit invasion did prove one thing though: the web is as mashable as ever. Whilst I don’t care what Reddit has to say, the most interesting thing has been seeing people blog about the site. Some quotes have been picked up, and some people have said some truly nice things.

In order to publicly respond better, 0.2 could do with pingback support. The major code/design issue with this is dealing with potential abuse. I won’t be listing pingbacks on the site at all; if someone has something worth talking about I’ll blog about it. Listing pingbacks just adds to the link-incest.

Administration

As I’ve started using this site to regularly post content, it has become apparent how flawed and thoughtless I’ve been to the administration side of things. I wanted an interface that was quick to post with, to encourage me to write often, which I’ve mostly done.

Screenshot of my admin interface

However, when it comes to writing large articles, a simple text field is never going to replicate the editing power I have with TextMate. I’ve got no search and replace, no syntax highlighting, no keyboard shortcuts. Trying to add these things is just re-implementing the wheel, and thus breaks my very own design principle №3, Let Everybody Else Do Their Job

TextMate is already the best HTML editor I could have, and my O.S. is already better at managing files then any interface I could implement. I end up too often copying my writing into TextMate and pasting it back into the website to preview.

The solution is to get rid of the database and admin interface, and manage the website as a folder of text files on my computer. The PHP will then simply process and then cache these text files. All I have to do is sync the FTP and clear the cache to publish the information. My source files won’t be in a binary blob, and I can easily work on drafts without fear of the browser crashing (TextMate does not crash).

Credit for this idea goes to Steven Frank of Panic fame and his elegant blogging solution Laguna 2. When I saw this, before I had released my site, it knocked me back a peg or two. I thought I had an elegant and minimalist bit of code, and this just blew it out of the water. I knew this is where I had to go too, but wouldn’t have time to rewrite my site before the release in June.

Laguna 2, in all its glory

So with 0.2, I want to throw away a lot of code. Throw away the online admin form (or keep it just for posting from public computers), throw away the database and make this code only do exactly what is needed and no more.

URLs

My URLs are the best I can do with query-string minimalism, and having as few ancillary pages as possible. I decided from the beginning to not have a calendar on the site because it doesn’t tell you anything about what kind of content you will get. It’s just mystery meat navigation dressed up as something useful. How I have it at the moment is that you read one page, and if you’re still interested, you read the next, and so on.

However there’s no direct and easy way to find a particular entry. The permalinks don’t tell you anything useful, other than how recent the entry is. This isn’t good for people posting links to here on the web, it’s too ambiguous. The permalinks should be either be a unique filename, or a flattened version of the title.

The real hard decision is whether to go with static HTML files, or stick with the PHP. I think this site would be painfully dull without the PHP sitting just underneath the HTML5 and ideally I’d always want it exposed and accessible somewhere. Going with static HTML files would really simplify the site, but also remove a bit of the heart and soul. I want a nice trade-off, where there’s a thin PHP layer there, fetching your pages for you, but never a full blown framework. I think this is the one issue I will fight with the most - elegance is extremely hard to tame.

What Won’t Be “Fixed”

IE Support
My website will work in IE when the IE team code IE to work with it. I’m not changingbreaking my code to work with a browser that can’t handle what I’m doing anyway. Even if IE8 passes Acid 2, it still won’t handle HTML5 and ‘application/xhtml+xml’, which isn’t my problem.
Firefox 2 Support
Firefox 2 doesn’t pass Acid 2, it lacks display: inline-block;, it renders rounded corners all jagged and the background image outside of said corners. In order to support Firefox 2, I’d have to back-hack a lot of stuff and I see zero reason for people to stick with Firefox 2 when FF3 is so much faster, better with memory, renders CSS better and has the awesome-bar.
Comments

My e-mail client is already the perfect administration interface for answering comments. Use it.
Click link – type message – click “Send”.

How is that harder than online comments? There’s not even a CAPTCHA.


With that said, if there’s anything you think I should do with this site, please let me know.
(The signature below is an e-mail link)