What is this?
A link? Click, dear reader! The blogging excitement moves again!
moving forward. in theory.
What is this?
A link? Click, dear reader! The blogging excitement moves again!
Dual screen support is made of fail on Linux. In this post, you will learn why. I reference Ubuntu 9.04, but it applies to other distributions also. It is my hope that by documenting some of the problems, I will add intangible weight to the issue and make whoever fixes it feel good about their work.
Let’s walk through setup, shall we? First, you are required to log out after initially adding a second monitor to the system. I understand why this is, but it’s lame. I hoped that Ubuntu 9.04 would have had some magic way of fixing this. Apparently not.
Now, suppose the user is actually using the secondary monitor which has a smaller vertical resolution . One very nice feature of many window managers is edge resistance — when a window is close to the edge of the screen, it will sort of cling to the edge a little. This is usually what the user wants. As it currently stands, this is broken. The screen is treated as a big rectangle with smaller rectangular views overlayed on top of it — the monitors. The edges windows resist are on the big rectangle, not the smaller ones. This means that an edge on the smaller secondary monitor will not have resistance. This is inconsistent with the larger monitor, which is bad.
Finally, let us think about laptops. A large number of dual screen users are also laptop users, because laptops don’t usually have very big screens, and because pretty much all laptops (even low end ones) support dual screens. Laptops, being as portable as they are, have a tendency to be used in multiple locations. Some of these locations might have dual screens; some might not. When you leave a location which has dual screens, your first inclination is to unplug the second screen. Unfortunately, any windows which were visible on the second screen are now not visible at all. They now exist in a magic imaginary space off to the side of your primary screen. If you put the laptop into a power-saving mode like sleep or hibernate before pulling the second monitor out, you will have the same problem. The only solution is to end your session by shutting down the computer or restarting X11.
Advanced users will overcome this quirk by either moving all their windows off the secondary screen before unplugging it, or holding down a meta key and making blind grabs into the void in hopes of fishing out a desired window. Meanwhile, Microsoft Windows handles this issue easily. It simply moves all the windows that were on the secondary screen onto the primary screen. Why can’t X, xrandr, or the window manager do that?
I’ve had a few ideas recently about improving the usability of AbiWord on netbooks. Abi is already fast and small (always a good thing on a low power machine), but my general impression of netbooks is that they usually have fairly small, low resolution screens and small, somewhat imprecise input devices.
To this end, I’ve started making mockups of various interface concepts and ideas. Here are two of them.
(I’ve used the Windows XP taskbar because it’s easier to work with than the transparent Windows 7 one. Please excuse typos. Paint.net does not allow editing previously entered text. ;-) )
On the one hand, I’m somewhat hesitant to break a lot of platform specific human interface guidelines. On the other hand, they probably weren’t written with netbooks in mind. The gray interface seems like it would provide better contrast between the interface and the text in a brightly lit environment than the default grayish color.
Note also that my tabs are clearly better than the ones in Microsoft Office 2007 because they can be accessed from the side of the screen (even if the mockup does a really poor job of showing the idea). I may be treading close to the MS patent here though; I’ll need to check out the exact details of what that covers.
I do not yet know if I’ll be applying for a summer job realizing a few of my concepts in Summer of Code 2009, but I thought they were interesting enough to toss up here.
Speaking of which, does anyone know of a crossplatform way to break HIG standards on all platforms? ;-) Most of the cross platform libraries I’ve seen seem to empahsize uniformity with the host operating system.
Gamers can be classified into several categories. I happen to fall into the “Exploration gamer” stereotype, meaning that although I enjoy a challenge, I’d rather face an easy, interesting boss and stroll through lots of interesting locations than have to analyse the strategy of a ridiculously hard (yet dull) boss to proceed. There’s not necessarily anything wrong with this preference either; I just happen to really enjoy games like Seiklus and Knytt Stories more than others might. Even in World of WarCraft or the Elder Scrolls games, my default gameplay activity is to actively avoid combat and just wander around to see everything. (Why yes, I do enjoy playing as a rogue. Thank you for asking.)
The gaming habits of others may differ. (Yes, this post is in response to that one. Go read it.)
The problem with being an exploration gamer is that I’m quite likely to give up way too soon on a challenge and play something else or use cheat codes if I just can’t get past a certain point in the game. This tendency is exacerbated by my sudden decrease in time upon arriving at college. It doesn’t make me any less of a gamer, it just means I want something different out of a game than you do; “the scenery, the story, the poetry of movement”, if you will. I watch intro movies, for goodness sake. ;-)
This being said, while the Nintendo patent for scene based gaming mentions the “experience”, I don’t really think it’s aimed at exploration gamers. No, the patent seems to be aimed at casual gamers who would be unable to complete the game otherwise. At certain points, Zelda really is just a lot of fun to watch. The puzzles can be/are frustrating for the casual market they’re trying to cater to, though. This video walkthrough system sounds very similar to what was implanted in the puzzle game Professor Fizzwizzle, which was loved by both casual gamers and hardcore puzzle solvers. Hopefully this is a sign that Nintendo is going ahead with what aging Zelda fans have wanted for a while: much harder puzzles.
Think about it. Miyamoto has said the franchise “does need some big new unique ideas.” With new ideas will hopefully come an increase in difficulty; an important factor which seems to have been declining in recent releases. Whether the reduced difficulty is perceived or actual is up for discussion (repeated use of common metaphors and concepts may make new titles seem easier to players who have been through several installments in the series already), but people who like a series are likely to play multiple installments of it.
But I digress. If scene based gaming means that Nintendo can make games significantly new, different, and harder without loosing the casual audiance they currently cater to or the old school gamers they attracted in the first place, so much the better.
So what if casual gamers want to watch Zelda like an overpriced DVD? As long as the core gameplay is intact for everyone else, I don’t really see the fuss about scene-based gaming as anything more as elitism.
Every year, Retro Remakes runs a video game remake competition. There are typically about fifty completed entries or so, all in a handy list with download links. It’s like Christmas in July! I mean, December.
New this year there were two new categories which allowed for mashups of existing classics and “remakes” of games which didn’t actually exist. In my humble opinion, some of the best entries this year fell into those categories. Allow me to present three of my favorites.
Very little to say about this one; it’s exactly what it looks like. It’s Gauntlet mixed with Bomber Man, complete with LAN play. Tell me that’s not an amazing concept. It’s Java and runs in a web browser, so it should be fairly cross platform.
Download: Page 4
Metroid meets Tetris. The heart of the game is classic Metroid, but all the powerups are now tetris pieces. You have to fit them into block segments which seal off new areas in order to advance. It’s rather clever; I especially like how some sections require the player to shoot the right piece into the wall to serve as a platform. The music is also brilliant.
Download: Page 4
This is an extremely interesting entry. It’s very simple; just a run and jump platformer with one enemy type and simple graphics. The genius is that each individual enemy unit is more powerful than the player, and it has an AI system. If the player opens fire, the enemy will either retreat and take cover, or jump and counter attack. If the player starts running away, enemies will emerge from cover on lower platforms and pursue their target like carnivorous rabbits. Yet, the AI is just unpredictable enough to keep things interesting. I love all the applications of game theory here.
Retroman is relatively difficult. An individual enemy, while comparatively easy to outwit, takes several hits to destroy and can kill the player in a single shot. I spent twenty minutes or so attempting to pass the first level; I’ve got no idea if there are any others.
Download: Page 5
Of course, your tastes will certainly differ from mine, and I haven’t had the time or inclination to play all of the entries. If you find something exceptional, feel free to call it out in the comments. :-)
So, I’ve signed on as the third developer of Project Daydream.
Project Daydream will be an open source, cross-platform, networked physics simulation sandbox. We’ll be implementing the base layer and online support. Users will be able to script and extend the sim with LUA. The (extremely) longterm goal is to make it an MMO.
Since we’re all busy students, this obviously isn’t going to be complete anytime soon. But we’ll hopefully have something interesting to demonstrate sometime in the next few months.
Attention internet! If you have an ATi Xpress 200, Xpress 200m, Xpress 1100, or Xpress 1100m graphics card affected by the OpenGL firmware bug, this is for you. I stumbled across it randomly; it’s called GLDirect. It converts system calls to OpenGL into DirectX calls. So, if you can run DirectX games fine but you’ve been having trouble with horrible (read: completely unplayable) performance in Star Wars: Knights of the Old Republic, Neverwinter Nights, Savage, or another OpenGL game, give it a whirl.
I’d love to test it, but I no longer have the time or the affected hardware in question. If you try it, let me know how it works for you in the comments. Thanks!