Toy Story Meets The Far Side
First a little housekeeping, and then on to todays topic. I have been off the blog for a while, but now I am back. It mostly has to do with a change of roles for me here at Sun. As I have outlined here before, much of my background over 17 years here at Sun is in the media and entertainment industry. I have just moved into a role as senior solution architect for the media and entertainment industry. That means I get to help drive Sun's strategy for this industry and help our media and entertainment customers solve their problems with our incredible collection of Sun products and services. As time goes on, I will comment on the M&E industry and how we fit in. This is going to be a lot of fun, and I look forward to sharing it.
So, let's talk about the first one. At GDC 2005, I got a lead on a really interesting animation project being done by an amazingly creative and funny guy - Steve Oedekerk. Steve has workd on a number of films (Ace Ventura, The Nutty Professor, Bruce Almighty) and animations (Jimmy Neutron). At the time, Steve was looking for a renderfarm to render his new movie. We went down to meet Steve and his studio to discuss the project. Well, 15 months later, we are now seeing the final result - The Barnyard. Take a look at the trailer. The best I can describe it is Toy Story meets The Far Side. And it was done on Sun. Kudos to the whole Sun team on the project and of course the whole team at Nickelodeon Movies for a great product.
Sun actually has a long history in the renderfarm business. Pixar used Sun to render the first few full length animation films they produced - Toy Story, Toy Story 2, ... The problem is that rendering a single frame of animation is a task that will max out your single threaded performance. So, while we were focused on bigger SMP throughput applications, x86 products were coming onto the market that made more sense for the renderfarm market. So, we started losing the market. Studios have always loved the reliability of Solaris, but the performance now lagged. Enter, our new x64 products.
When we started producing x64 products, we had our performance back. However, the renderfarm market needed to be convinced - and most had moved to linux. Well, we started talking to a few studios, but it is all about timing. And with The Barnyard, we made it to the right studio at the right time with the right ISV's, so they took the chance. We stepped up and proved that we could do the job. What used to take 4 weeks to render, we got down to 1 week. This gave them the production capacity to finish the film on time.
So, what is next. Well, we are talking with a bunch of studios about new projects and they all look positive. We are still working towards making it possible to do rendering on the Sun Grid, but that means getting some of these ISV's onto Solaris. It's a catch-22. ISV's don't see the demand for Solaris, and Studios can't use Solaris unless the ISV's are there. I really want to get to having Solaris back in there because of its stability and other great features, so I will continue to drive it. And allowing anyone to submit rendering jobs to the Sun Grid without building a renderfarm is a completely natural fit.
We are also seeing studios thinking about moving to 64 bit, but it is an all or nothing proposition. The whole production pipeline has to move or none of it. Otherwise you get image artifacts. It will happen soon though because of the limitations of memory in a 32 bit environment. The amount of complexity and data needed to render a single frame of these films is staggering. Maybe that will become a topic for another blog - programmable shading in the animation production pipeline. On the whole, the renderfarm business is getting nothing but more interesting.
In a future blog I will discuss the high level architecture of renderfarms and why the exploding density of compute units and storage are creating new architectural challenges. Until then, remember, "What happens In The Barn, stays in The Barn."
Posted at 08:52PM Apr 26, 2006 by dtwilleager in General |
New gadgets and what I really want
I picked up two new gadgets this summer – a Treo 650 and a Sony PSP. I love certain aspects of both as well as have some real irritations about them.
First is the Treo 650. I got this one for a number of reasons. I wanted a combination phone/PDA, and I am hooked on the Palm organizational tools. I needed a global phone. And, I liked the idea of being able to read e-mail on the phone. The Treo can also play songs and surf the web, but I wasn't all that interested in those features. As it tuns out, my usage pattern for the device isn't quite what I expected. I do use it for appointments, which I can sync with all of my various desktops. I haven't configured it for e-mail yet. I use it a lot to surf the web. This surprised me, but their web browser does a really good job of formatting large pages for the small screen. I haven't installed any truly addictive games on it yet – except solitaire – but that will eventually happen. I also haven't used it for a music playing device yet. With the exception of the weekly system crash, I am really happy with this one.
I just recently picked up the Sony PSP. I got this one for two reasons. First, the screen is absolutely stunning. The other reason was simple – I got sucked into the marketing. There aren't any truly compelling games that appeal to me for this device yet, but the pipeline does look good. I love the idea of being able to watch movies on this device, even though I have yet to purchase a movie for it. When the right movie comes along, I will no doubt start the collection. The real value of this device is the potential that it represents. My main complaint of this device is the inability to access mass persistent storage. It can be in the form of a hard drive or a method to write UMD disks. I don't really care, but give me one of them. Buying a bunch of 1 gig memory sticks is not my idea of a solution. And, I don't want to use the memory stick as a cache to be refreshed from another mass storage device. Just give me access to a persistent mass storage device so I can burn/copy my content.
I will be taking long flights (Japan, London, ...) in my new role, so now it looks like I will have a very full gadget bag – Laptop, Portable DVD, PSP, Treo, RIO, Gameboy. This asks the obvious question – when will the all in one portable device finally show up. There are form factor reasons why I believe it will never be just the phone (iPhone or not), but can we at least get it down to 2. If the PSP had a more complete movie library and a hard drive, it would be close. I could consolidate the DVD/RIO/PSP/Gameboy to just the PSP. Well, it probably won't happen in this generation, but here is to hoping for the next.
Posted at 08:29PM Sep 13, 2005 by dtwilleager in General | Comments[2]
Disneyland's 50th Birthday Adventure
Here's a fun one. This is proof positive that I am a Disneyland
geek. If you have been anywhere near a media outlet lately, you know
that Disneyland is celebrating it's 50th anniversary this
year (and next). Disneyland's birthday is actually July 17th
1955. So, the actual birthday is now past. Well, the family was
driving somewhere on July 16th and I was explaining that
the next day was DL's birthday and that I definitely wanted to be
there for the 100th. My oldest asked why I wasn't going
to the 50th, and my wife also asked why not. “What?”
I said. Don't tease me, I have my Treo 650 here and I could book the trip right
now. She said go ahead and so I did.
Now being the true Disney geek that I am, I knew that there was
rumors flying around about the potential crowds at the park the next
day. It was such a big deal that they were going to use California
Adventure as a holding pen for all the guests the night before. So,
the plan was set.
I flew down that evening and checked into my hotel. Then I went
to the resort. I got in line around 1:00 am, and there were already
approximately 3000 people ahead of me. Around 2:00 am, they started
moving folks into California Adventure. I made it into CA around
3:30 am and made my way to the end of the line. By 5:00 am I was
looking for breakfast and coffee. We started to move right after
7:00 am. They had scanned our tickets going into CA, so getting into
DL was a snap. They had set up a corridor for us to walk straight
from one park into the other.
There was a few events happening that day to commemorate the day,
so it was obvious this was not a normal day. The first special thing
was how they had Main Street set up. There was a red carpet all the
way down the street and all of the cast members were lining the
walkway, high fiving guests, and shouting “Welcome Home”.
It was a really nice touch.
The official ceremony was pretty boring, except for short talks by
Art Linkletter – who hosted the original opening, and Diane
Disney Miller – Walt's daughter. I spent most of the day
riding some of my favorites and checking out all of the people safe
in the knowledge that I was not nearly as geeky as them (hmmmm).
The highlight of the day was at 4:45 pm when they broadcasted the
actual opening day dedication done by Walt – apparently at that
exact time. I got to see some legendary Imagineers (Tony Baxter,
Bruce Gordon) waiting for the broadcast. Now, I don't know if I
believe in spirits or not, and it may have been the lack of sleep,
but if Walt were ever in in the park, it was during that broadcast.
It truly was a completely different spirit than I have ever
experienced at Disneyland.
I ended up sticking around the park until just after 8:00 pm
before I went back to the hotel and crashed. I have my gold
commemorative mickey ears and my limited edition “I was there”
pin, but it was the experience that I will remember.
Posted at 10:56AM Sep 02, 2005 by dtwilleager in General | Comments[1]
New Blog, New Job, Same Perspective
I'm back. :^) That sure was a long vacation. Some of it was a vacation (2 actually) along with some other adventures – all of which I will blog about eventually.
I will finally start to customize my blog page, some of which I have started.
Next is the job change. I have changed roles here at Sun. I previously managed some advanced development technologies like Java 3D, JAI, Looking Glass, JOGL, as well as the game technologies group. I decided it was time for a change to pursue something I am extremely passionate about. I truly believe we are on the verge of a mobile revolution where mobile devices become the center of the consumer electronic universe – yes even more so that now. To that end, I am starting a new role at Sun where I can focus on ensuring that we do as much as we can to create a Java platform on mobile devices that meet all of the needs of state of the art multimedia applications. Another way to look at it is that I will spread games and media pixie dust over everything that is mobile computing related. That includes Sun products as well as in many of our customer engagements. I want to help ensure that the mobile Java platform becomes the best media platform on the planet.
I will still keep tabs on all of my favorite game and desktop media projects, but my main focus will be mobile. So, expect to see me explore many of the interesting JSR's (209, 226, 239, .....) over time. I also plan to keep talking about all of my geek adventures – I have a whopper coming up.
Posted at 05:24PM Aug 31, 2005 by dtwilleager in General | Comments[2]
From one vacation into another...
I just finished a 10 day, 9 night whirlwind tour of Walt Disney World. I have three daughters - ages 8, 4, and almost 2. That means the vacation was more work than ... well work. :^) As I have mentioned before, I am a huge fan of Disney theme parks - and theme parks in general. We haven't done a family vacation to WDW for 5 years, so we only had one to coral last time. Three is much harder.
Highlights of the trip include Mickey's PhilharMagic, Spectromagic, Wishes, and The Carousel of Progress (I'm sentimental) at the Magic Kingdom; All of EPCOT (for me); Lucky The Dinosaur, Festival of The Lion King, and TriceraTop Spin at Animal Kingdom; Rock 'n' Roller Coaster, Lights/Motors/Action, The Great Movie Ride, and One Man's Dream at Disney-MGM Studios; All of the water parks and a souvenir mug with unlimited coffee refills.
I can do without the weather. Orlando had the third wettest June ever. That meant lots of thunder storms - which is actually somewhat better that the usual 90 degrees with 80% humidity.
I am slowly recovering from this. When I got back, other work obligtions kept me from JavaOne this year - the first one I ever missed. :^( Although all of my projects (Java 3D, JAI, Looking Glass, Buz, JOGL, JSR-231, JSR-239, and game technologies) were very well represented and well received. Kudos to the team.
Now we have our week off. I am glad to be hanging out around the house. I can start to work on a bunch of hobby projects. The list includes: Re-skinning my blog, catching up on a bunch of technical documents, starting on a Java runtime for Doom 3 files, and cleaning up some work and home computers. If I get to just a couple I will be happy.
Then it is on to the new year for Sun. We have a great year coming up, and the opportunity for innovation is mind boggling - moving forward with the Sun Game Server, Blu-Ray possibilities, new Looking Glass innovations, new major features in Java 3D, Java bindings for OpenGL ES, new innovative uses of JAI, and helping partners and customers better serve their customers. It will be a great year indeed.
Posted at 04:31PM Jul 01, 2005 by dtwilleager in General | Comments[3]
E3 Console Wars
This year's E3 was dominated by the media madness surrounding the initial launch of the three next generation consoles from Microsoft, Sony, and Nintendo. The thirst of the games industry, and an extremely competitive mindshare game being played means that there is just as much non-information as there is information. Microsoft will be the first one out of the gate launching the Xbox 360 this holiday season. They had demo content running on the show floor – even though it was really running on the initial development kits. As usual, the leap in content was extremely underwhelming – making most folks call the Xbox 360 the Xbox 1 ½.
This caused Sony to accelerate the announcement of the PS3 – although they won't admit it. Sony had my favorite kind of next generation content at their press event – the famous pre-rendered demos that showcase “what the device will be capable of”. This is the kiss of death. If you look back at what these demos looked like for the first Xbox launch, you will note that the device never delivers on these promises. To be fair, the devices are probably capable of rendering such content, but the effort required to create such content makes it pretty much impossible from a cost perspective. In fact many game developers have commented that they have no idea how they could create such content for the PS3.
Finally, we have the next generation Nintendo console – the Revolution. This one had the least amount of information. We do know that it will be the lease powered of the three. And, we know that it will run the entire backlog of Nintendo console content – which means that it will be the first one I buy. It is also the one that is least likely to try to be your centralized media device (which Xbox 360 and PS3 are setting up to be) – which means it will have great game content.
Nintendo also showcased the GameBoy mini – which basically looks like a cell phone form factor that playes GameBoy games. Interesting, but I will pass.
Networking is definitely on the forefront of all the new game consoles. Each has announced some form of networking support. One of my other predictions appears to be playing out as well. Premier hosted networking services for online games. The Xbox 360 and Nintendo Revolution will have them, so it is likely that Sony will follow suit. Yahoo Games is talking about beefing up their service. And, a number of new companies are popping up to support such environments.
There is still lots of information we don't know about the new consoles – price points, actual launch dates, games available at launch, full backward compatibility stories, hard drive or none, ..... No doubt, all that info will follow over the next year.
That's it for now. Next up will be a look at interesting E3 booths.
Posted at 04:08PM Jun 02, 2005 by dtwilleager in General | Comments[0]
It's been a while
It has been a long time. Lot's of fun stuff happening. So, let's get back to blogging. Some quick tidbits and observations.
Star Wars Revenge of The Sith: I have opinions about the specifics of the film, but it is safe to say that it was a Star Wars fans delight. I am now going back and watching all the films and it is a blast seeing them all coming together. My one comment is that the Emperor is by far the most evil character in film. :^)
E3: I should probably do a more complete blog on this one, and I will, but here are some quick observations. First, games are getting real pretty. Just looking at the tech demos for next generation consoles is enough to make your jaw drop. There are various places to check out the videos from E3 – e3insider and gamespot are pretty good places. Next, if you don't like the current games being made, then you are unlikely to like what is coming out. The games industry is continually proving that it is very conservative. Nintendo appears to be the only big player that is continually taking risks on creating new types of games. I was most excited by the stuff they were showing in their booth. Finally, mobile games are here to stay. Instead of them being a sideshow, they are now center stage. Every major player now has a mobile section in their booth. More details on E3 later.
Disney: I am a theme park junkie, especially Disney theme parks. They have just launched the 50th aniversary celebration for disneyland, and it looks really good. I will step out of character soon and do a blog just on this topic.
Work: Finally for today, I am expanding my responsibilities at Sun, and will elaborate on that in the near future as well.
Phew – it's good to be back blogging.
PS - I got a speeding ticket today - That Sucks.
Posted at 03:48PM Jun 01, 2005 by dtwilleager in General | Comments[0]
A couple good game interviews
Here is a pretty good short interview with MMORPG icon Jessica Mulligan. We have had the opportunity lately to speak with Jessica. She even attened one of Jonathan's recent executive advisory councils. She has been making MMORPG's before that's what they were called, and she has a great perspective on the industry. You will have to register (free) with the site to view. However, it is a great site for game development information, so it is worth it.
If you want to get a feel for where the business powers live in the games industry today check out this interview. A successful game developer is shutting down his game studios and taking his art to Hollywood. It is pretty scary to think that retailers and publishers are deciding what games we get to play. I said it before, digital distribution of games will be huge – mainly because of these dynamics.
Finally, just to get one more Star Wars reference in this week, here is a preview of all the Star Wars mobile games that THQ Wireless has on tap. Maybe I need a new phone.
Posted at 03:44PM Apr 22, 2005 by dtwilleager in General | Comments[0]
Real Game Gear
Okay, so I am completely geeking out over Star Wars right now. I have my Star Wars ringtone and wallpaper for my cell phone. I just picked up one of these, which is awesome. I have read the novel and "making of" book for episode III. I may not be the biggest Star Wars geek around, but it is certainly enough for my wife.
And then today, I found this. Just the pictures are here. I have to have one. Or, better yet, how about both - one for home and one for work. Maybe I can convince Fowler to skin some w2100z's like this.
Posted at 12:54PM Apr 21, 2005 by dtwilleager in General | Comments[0]
Mobile Multiplayer Games and 3G
Yesterday a customer asked me “What advantage does the bandwidth of new 3G networks bring to mobile games?” My answer: None. Huh?
It's not quite true. The extra bandwidth does provide for larger games. Consumers are willing to wait for only so long before their game arrives, and the extra bandwidth will allow for larger downloads in the same amount of time. The new 3G phones also have larger memory capabilities for the games.
The reality is that multiplayer games is all about latency, not bandwidth. Games are optimized to send the minimal amount of information to communicate game state. For real time multiplayer games, the key is in how many messages per second can be processed by the game. Even with broadband connections, the variability of how a packet travels through the internet ether means that consistent latency is always a problem. And, the latency on a 3G network still has a long ways to go.
We will still see mobile multiplayer games using lots of clever networking tricks. Community based games will be the thing that drives the mass market explosion that is waiting to happen. Here is an example of someone that gets it.
Posted at 09:01PM Apr 20, 2005 by dtwilleager in General | Comments[0]
Digital Content Creation on SunGrid
When I was in college, I knew I wanted to work for Industrial Light and Magic (ILM). They were doing amazing things with computer graphics. They had just done the famous stained glass knight in Young Sherlock Holmes. All of us CG geeks would ooh and aah at the wonder. I did my ray tracer and knew I was going to work in film effects. Well, I actually came to work for Sun. But I never lost my passion for the film industry.
So, why do I write about this? There are a couple of reasons. Obviously the hype machine for Star Wars Episode III has got me. I have read the novel and just finished the “making of” book. Episode III has about 85 minutes of completely computer generated images. And last week I was down in southern California visiting an animation studio looking for rendering services. Jonathan has repeatedly used movie rendering as an obvious candidate for SunGrid. There are many studios that could the SunGrid for this purpose, but that is just the tip of the iceberg. While there will always be big name movies and movie studios using render farms, the real value of SunGrid for these types of applications are all of the other users.
There are many other people creating digital content which require batch processing. There are many independent film makers (check out iFilm). There are people creating batch rendered scientific visualizations. There are all the hobbyists. All of these folks don't have the resources to create a state of the art render farm – but that doesn't mean they don't need access to one. Hello SunGrid.
To bring this back to the games world, there are many many examples of batch processing where SunGrid can help today. There is batch rendering of cut scenes. Normal map generation for high quality bump mapping. Radiosity calculations for diffuse inter reflections. And even pre-calculated visibility calculations for use in real time rendering. All of these uses could use a world class compute farm, and SunGrid can do it.
The rise of independent digital content started when the tools to create the content became affordable and available to the mass market. Look at the explosion of personal video editing tools that are now available. There are many good 3D content creation tools that are now close to if not completely free. The thing that is missing is the ability to create sophisticated content – which requires large compute farms. For the mast 20 years, there has been one constant in 3D batch rendering. A single frame in a scene on average takes an hour to render, with the most complicated being 24 hours. The time is the same, but the frame complexity has exploded. Check out the opening sequence of Episode III.
SunGrid brings a world class render farm to the masses, for between $1 and $24 a frame, depending upon the complexity of the frame. Maybe it's time to start Renderman hacking again.
Posted at 09:26PM Apr 19, 2005 by dtwilleager in General | Comments[0]
Doom on Cell Phones
So, today we find out that John Carmack has entered the world of cell phone games. I have a great amount of respect for Mr Carmack. Doom was one of the first games I ever played, and I have even ported Quake to Java. Most of what he has done has been the inspiration for me being so involved in the games industry. I also understand many of the things that he discovered in his exploration of the world of cell phone development. I would like to take a moment and offer some background and even some things on the horizon that will address some of his concerns.
The thing that I admire most about John is his pure technology view of the world. He doesn't take a political angle on any evaluation of a technology. This is good because it will give a fair evaluation of any given technology. It can also pose problems because sometimes a historical perspective is needed to understand why a technology is where it is at in its current lifecycle. And, this is certainly true of Java on cell phones. Let's look at some of his findings.
The first big one is performance. On most cell phones Java is still interpreted. There are just-in-time (JIT) compilers on the near horizon which will help this out quite a bit. On the desktop side, JIT compilers are now getting the same performance as natively compiled applications. This is finally making its way to cell phones. On the rendering side, most 2D and 3D renderers on cell phones today are all written in highly optimized software - and specifically, native software. This gets past the array bounds check that standard Java code must process. The array bounds check problem is another issue helped by the forthcoming compilers because they can remove the array bounds check in many cases. Also, on the rendering front, 2D and 3D rendering hardware will be mainstream in the next year. This puts all the heavy lifting in the hardware. This will however, force the need for JIT compilers even more because of the more complex game code that will then be possible.
Next up is write once, run everywhere. This is the most common complaint among game developers. I completely understand the frustration, and it is very difficult to get this one on track. The biggest issue is that the cell phone industry is moving at an incredible speed. There are new handsets entering the market every 3 months, and each new introduction brings a whole new set of device capabilities. Combine that with the reality that every device has unique input controls, unique screen sizes, and a Java implementation that has varying degrees of quality and performance, and you get the testing problems that we see today. The new platform specifications going through the Java community process and the evolving Java Device Test Suite will help to get a more common platform on all of these devices.
John makes a great observation that handset makers have not done nearly enough to optimize the Java platform natively on their device. We are still in a world where a native OS exists, and then the Java platform is put on top of that. There are a few Java processors out there, but not nearly enough. I would love to see a native Java implementation on these devices.
John Carmack over the years has often raised his voice to get the industry to acknowledge and work though its issues. Since John often works at the bleeding edge of technology, this is needed to move the technology forward. This does not stop the technology from being useful. There will be many many great Java games on cell phones. If we can execute on some of the technologies that will help with the development of high end games, we will all be the better for it.
Posted at 08:21PM Mar 28, 2005 by dtwilleager in General | Comments[1]
Java Game Development Myths
I have been meaning to write this one for a while. And now, just over a week before the Game Developer Conference (GDC), it seems like just the right time. This entry will continue trying to answer the question "Why aren't there more commercial games written in Java". There are exceptions. Puzzle Pirates is an award winning massive multiplayer game all written in Java - client and server. This game came up from the independent circuits and just got picked up to be distributed by Ubisoft. Before Puzzle Pirates there was Law and Order and Roboforge, but for the most part Java games at retail were nowhere to be found. Why is this?
The first problem is pure reputation. If you ask 90% of game developers out there what they think of Java and they will give you one of two responses. Either they think it is a mobile only platform, or they think it is only good for "web games". Java is great on mobile devices, and it continues to be the dominant development platform. For the web games reputation, Java was actually a victim of its success. The emergence of Java created the web games market. With Java available in every web browser, game developers were quick to build games with this new platform. Unfortunately, the Java platform developed for was the Microsoft Java platform. When the trouble started with that situation, the Java platform for web development stalled. The developers had to program to the lowest common denominator, which was the Microsoft JVM. This was very early in the life of Java, so only simple games were possible. Why don't they just bundle the latest JRE? (You might ask) Well, it's not very practical to bundle a multimegabyte runtime environment with a game which is only a few hundred K in size. Therefore, Java became known for what it could do in the web games space, which was truly primitive.
So, let's pretend that we get past the web games reputation. The next myth is that Java is slow. Obviously, since it is an interpreted platform, it can't be anywhere as fast as native code. For some reason, these folks have never heard of Just In Time (JIT) compilers. I can understand that. This is an industry that prides itself on instruction counting, so relying on a JIT compiler may seem like voodoo. The fact is that JIT compilers now produce code that is just as fast as native compilers. And, in some cases the code is faster. JIT compilers can analyze runtime patterns and adjust compilations. Native compilers can't do that. We can also thank the introduction of C# to help educate game developers. They still don't seem to trust JIT's, but at least they now accept their existance.
Now that our code is as fast as native code, there is no way that the Java platform has all the game development features - graphics, audio, input drivers, .... Two years ago, I might have conceded this one, but not now. With the technologies that we put out on java.net in the games community, you can now build state of the art games on the Java platform. We have Java bindings to OpenGL. But wait, isn't OpenGL slower than DirectX? After all, aren't most games written in DirectX. Yes they are, but there are some OpenGL games out there that disprove that myth - say like Doom 3. We have Java bindings to OpenAL. OpenAL is the most used cross platform audio api for games, and it is maintained by a small hardware audio company - Creative Labs. Finally we have an input device discovery and polling api - JInput. But what good is an input api without drivers? That is correct, but the implementation of JInput on Windows uses DirectInput. That means that any device you go out and buy at Fry's or Best Buy will plug right into your desktop and be available in Java.
Next up is Java on consoles. I concede this one. Java is not on the consoles. But, we are still working on that one, so don't give up hope yet.
Finally, there is the tools issue. Many tools do not support Java out of the box. In most cases you will need to write a loader for your favorite tool to get the content into Java. Although in some cases, I don't buy this argument. How many people do you hear asking if a tool exports to C. I know the argument is weak, and I somewhat concede this one as well. There is, however, a very interesting project that is getting good adoption. Collada provides a single file format for all content creation tools. Write a Collada loader for Java, and you have all your tool problems solved.
All of this is purely debate. A picture is worth a thousand words. Show me the money. Show don't tell (yes, I am a Rush fan). There are quite a few independent game developers creating some amazing games with the Java platform. Check out MegaCorps Online or Tribal Trouble or Wurm Online or jME or the stuff our friends at Immediate Mode Interactive create. Or, if you are in San Francisco in another week, come to GDC and check out the Sun booth. Say Hi, and I will show you what Java can do.
Posted at 08:18PM Feb 25, 2005 by dtwilleager in General | Comments[8]
Java For CMT Clients
Last week, at the end of my entry in CMT for games, I made the assertion that Java would be the perfect platform for the upcoming explosion of CMT enabled client devices - next generation game consoles being the most obvious. In this entry I will expand upon that statement and explain why I believe this to be true.
The games industry is deeply entrenched in using native environments, C and C++, to build their client technologies today. One principle that I truly believe in is inertia. For someone to change what they are doing, there needs to be sufficient inertia - or value - in the change. So, for game developers to change from native environments to Java, we need to show the value.
The benefits of Java to the game development community is not necessarily the same than that of traditional developers. Let's take, for example, the most talked about value of Java - cross platform. This is a great value in markets where the number of devices to support is great - like the cell phone market. The traditional game development market has now consolidated down to four basic platforms - Playstation 2, XBox, GameCube, and PC. Most game developers have figured out how to do cross platform development using native environments on these platforms. This makes cross platform on current devices not a huge benefit. In some cases, however, things diverge dramatically on these devices - like threading models and co-processors. Since Java is a multithreaded platform from the ground up, it naturally maps to all kinds of threaded devices, and therefore could provide a new level of cross platform consistency to these new devices. So, even though cross platform is a minor feature today, in next generation consoles, this will be a big win.
In current consoles, the support for operating systems is quite limited. Much of this is due to the limited memory available to the devices. When CMT enters the picture, a robust but compact operating environment will be required to manage all of the resources. Java has proven that it can manage massively threaded environments. There will need to be specialized thread schedulers tuned for each platform, but that should be done by the platform provider when putting Java on the device - not left as an exercise to the game developer.
I believe that not nearly enough attention is given to the ability of Java and its dynamic compilers to adapt to the workloads being presented. This is a great asset of the system and could be exploited to maximum benefit on CMT client machines. For example, some information about the cell processor for the Playstation 3 indicates that different cores will be better suited for different tasks. The combination of an optimized just in time compiler and thread scheduler could ensure that every task in the game workload could be optimally compiled and scheduled based upon the characteristics of the device.
Another area that Java could benefit these platforms in is what I call "managing complexity". Time and time again I here developers telling me that there is no way that they could have implemented their complicated simulations without using Java. Next generation games will be far more complex than the ones we have today. Input systems, physics systems, collision systems, behavior systems, effects systems, animation systems, and rendering systems all cleanly interacting with each other at 30-60 frames per second. The Java platform has proven that it can be used to build large systems that interact with each other in complex ways - like big enterprise apps. Next generation game developers will need platforms like these to get these systems done.
Another touchy-feely attribute of the Java platform that can greatly advantage game developers is gains in productivity. There have been studies that have shown that programmer productivity is much higher with the Java platform compared to native platforms. There are a few reasons for this, some of which include strong typing, automatic garbage collection, and thanks to the business enterprise world, a extremely large selection of tools for Java development.
Hopefully this starts to give you an idea of all the benefits that the Java platform can bring to these new devices and game development. There are still a few topics that I have not covered yet, and I will do that next week when I continue this thread. Those will fall under the topic of many myths about developing games with the Java platform.
Posted at 05:32PM Feb 17, 2005 by dtwilleager in General | Comments[0]
JAI Has Launched Into Community Development
I have been getting a some requests to expand upon why Java is a great platform for programming CMT machines - as I alluded to in my last entry. I promise I will get to that next week. Today I want to talk about JAI.
Today we launched the JAI and imageio community development sites. This follows exactly what we did last year with Java 3D. If you look here, you will see some of th egreat work that is being done with JAI. The API is extremely solid, but we want to do a lot more with it.
The question that is always asked when we community develop something is whether or not we will still support it. Of course we will. The purpose of community developing a project is to increase focus on the project, not decrease focus. This allows developers using the API to become more productive and have more influence over the future direction of the API. We will still lead the project and build products from the community source base. We just won't be the only ones developing the code.
There is another great artifact of launching a community like this. With API's like JAI, the power of the API is directly related to the plug-ins that are available. Our hope is that the JAI community site will become the place where developers can deposit and share all of their wonderful JAI plug-ins. When you get to the core of why communities work, it is about sharing knowledge and technology. I truly hope this grows in the JAI community.
So, I strongly encourage you to check out JAI and all the things it has been used for - you might be surprised. Hopefully, it will inspire you to join the community and work with us to make it a better API.
Posted at 08:15AM Feb 11, 2005 by dtwilleager in General | Comments[0]