Archive for June, 2007

The web is a mess

… as written by Bruce Eckel in his essay and I agree.

Recently, I’ve been examining Apollo, Flash 8, Flex, XUL, Gecko, uBrowser, Java, Sliverlight, Google Gears, etc. and wow - I’ve been out of the web loop for too long. When did it get so fragmented and complicated? I remember hacking out HTML and my Java AWT tutorials (got me a book contract!) in NotePad and pico way back in 1995-96. Everything was brutally ugly back them, but there were only two web browsers Mosaic/IE and Netscape… and Lynx, but that was being phased out.

Back to Bruce. He, like me, has come up with the same answer to this web alphabet soup mess:

“In my own search, I’d really like such a system to solve not just some, but all of my UI problems. If I’m going to go to the trouble of learning it, I don’t want to run into a wall just when I start to develop some speed. That’s happened plenty of times already.

The only obvious solution is Flash. Flash has always been all about cross-platform multimedia experiences and user interfaces. People are very familiar and comfortable with Flash, and it is installed on almost all machines in the world. It’s trusted, stable and reliable.”

Me too! Flash is slow. ActionScript is horrible. It’s frame (not time) dependent… and animating it is retarded compared to high-end 2D systems but it is ubiquitous and installed everywhere. You write it once and it will appear the same on every web browser.

He goes to to describe the ever-changing GUI library problem that plagues applications:

“One of the difficulties of GUI programming is choosing a GUI library. Sometimes there’s a standard library, but that can change. In Java, we started with AWT, which turned out to be a mistake so we had to be patient as Swing was developed, until IBM and Eclipse came along and offered us the additional choice of SWT. In Python, there are many GUI libraries, including the built-in Tkinter (which reduces the installation problem), WxPython, Qt, and more. Windows-specific libraries have similar choices, but if you want to create cross-platform applications, those libraries aren’t available.

If you explore these GUI libraries, as I have, you run the risk of getting broad knowledge that is not particularly deep. Each library requires significant effort to learn, and each seems to have its own philosophy regarding the activities that should be easy, and those that should only be possible. Each one looks at the world of GUI programming in a different way.

I’d like to be able to learn one solution and use it for all my applications. That way I could stop learning about GUI solutions and start acquiring some depth. Ideally, this will be a real programming language with consistent results across all platforms.

I believe that to solve the user interface problem, we need the equivalent of a domain-specific language dedicated to the user experience. For me, Flash-based technologies like Flex are the best solution to this problem.”

And this is doubly and triply true in games. Games write and rewrite their GUI systems over and over again. What’s incredibly cool is that “new technologies” like Apollo are just gluing Java + Javascript + Flash + HTML + CSS together… rather than trying to create something completely new and foreign.

Anyhow, the plan is to distribute my games via the browser and to build a community around a slick new tech like Apollo or Flash 9 - similar in vein to mygamebuilder.com (but not with a game making focus).

1 comment June 3rd, 2007

Embedding a 3D engine into a browser

As crazy as it sounds, it’s been done multiple times and probably has a bright future ahead with the advent of faster + cheaper graphics cards combined with Vista’s large upgrade requirements and how OS X already uses OpenGL for all windowing.

Virtools

Pelican Crossing

It’s that difficult either - just write a ActiveX control or FireFox plugin. There is even an open source 3D engine for the web (based on OGRE) called Emma which I’m basing my (proposed) plugin on.

What’s interesting is to see all the games being web-launched that are non-Flash. Like ToonTown Online (Panda3D + Python), Puzzle Pirates / Bang Howdy (Java), Runescape (Java) and soon all games based on Adobe’s Apollo and maybe Microsoft’s Silverlight/.NET. This leads me to believe that players are willing to download plugins for their web browser in order to play games, but must be compelled to by an interesting game.

Add comment June 1st, 2007

Guitar Hero is a hardcore MIDI visualizer

Considering how graphically unimpressive GH is, I thought I could bang out a GH-like clone in a month or two. Well, it’s not that graphics that makes GH so spectacular, it is the “extended” MIDI format they use and how the developers correct for tempo changes in rock songs which makes the game infinitely more playable.

ScoreheroGuitar Hero MIDI file format

So fixing an inconsistent tempo is a time-consuming task for the song/level designer and also extra work for the engine designer because the audio is dynamically expanded and contracted to stay on a 4/4 time signature (I could be wrong on this). So creating a music rhythm game requires songs to be recorded at a consistent tempo or else there needs to be some nasty adjusting afterwards.

1 comment June 1st, 2007


Calendar

June 2007
S M T W T F S
« May   Jul »
 12
3456789
10111213141516
17181920212223
24252627282930

Posts by Month

Posts by Category