Blog of Josh "Renanse" Slack

Updates and commentary from the depths of a 3d Java code spinner's mind.

Wednesday, August 20, 2008

AGDC '08

Just a heads up. I'll be speaking at the Austin GDC this year in the Open Source Track, September 15th. The topic will be regarding the value and effectiveness of some of the major open source 3d engines out there (and of course I'm there to explain the virtues of that certain Java engine we all know and love.) If you are planning to attend the track, or Tuesday evening's party at the Alamo drafthouse, come find me and say hi. :)

Labels: ,

Saturday, August 16, 2008

Good luck guys

I'm sure many of you have seen the recent news about NCsoft's Austin layoffs. Unfortunately, that included many of the guys I used to work with as well as others that I had also come to admire and respect. With the even larger layoff from Midway's Austin studio, I'm guessing the current prospects of hunting for a job here in Austin in the game industry are not stellar. Fortunately these are very talented individuals, so I don't worry too much for them. All the best guys!

Labels: ,

More about Ardor Labs

Back in June when I left NCsoft, I started Ardor Labs, a company dedicated to building and supporting projects and companies using 3d Java technology. I've kept things simple and plan to keep it that way in the future, using extra talent as projects demand and so forth. So far, we've managed to contribute to some pretty big projects involving large oil companies, hardware giants and more. (And like I said in my previous post, we are working heavily with jME on those projects, so that should say how much I believe in its current utility!)

There are more projects and ideas in the works as well and we will have to grow our talent pool at some point to keep up. Candidates would be top notch Java developers with some contracting and 3d experience under their belts. Drop me a line if you fit the description and would like to be considered on future projects.

It is a scary thing to make the jump to business owner, but if you've been reading this blog from the early days, you'll know this is not my first company. I am confident you'll be hearing a lot more from Ardor Labs in the near future. :)

Labels: ,

Thursday, August 14, 2008

At the end of the tour...

... when the road disappears... - TMBG


As you probably know, I've been developing the open source 3d Java engine, jMonkeyEngine for many years now. It has been a very good experience in most regards, though lots of work (just have a look at the commit logs or my forum message history.) I've worked hard on it because I really have believed in the dream of jME. I've represented it at several conferences, advocated its use in the gaming community and pressed larger companies to use it and donate work back to it. I have toiled many late nights on its inner workings, ensuring that the jMonkeyEngine continues to debunk the myth that Java is too slow or not capable enough for 3d games and applications. Of course it's an open source project which means no monetary pay (1) but at the same time it has been nice to me providing a good name in exchange for my work.

So yes, I'm very proud of my work on jMonkeyEngine and how far the technology has come. I never dreamed when I first became involved back in 2004 that things would progress so far. Today, I honestly believe that Java could be the next big gaming language, we just need something akin to XNA, etc. to make that happen. Right now though, I do not believe that can happen, or at least I am too tired to keep pushing past the hurdles to make it happen on this project. jME is good, but I think there are still many areas, even fundamental ones, that need to change for it to be a serious contender in the general 3d engine space. Who knows, maybe later on this project, or some other, I can see that dream realized.

What I'm trying to say is that I have recently discovered I'm ready for a break. To be clear I don't mean to stop working WITH jME, particularly at Ardor Labs, just not ON jME day to day. I'm sure the other developers will be happy to help with your patches and such though so keep them coming on the forums and issues board. I'll still be around too, so as always, feel free to give me a shout. The jME community is among the best in the world, and I have loved (and will continue to) working with them in one fashion or another.

And now, for my break... :)

1. You might point out there are donation links and a jme store, but I have no idea where that money goes.

EDIT: Really poor choice of words. Sorry, Mark. My point is there is no money in open source, even for something successful like jME. Mark tells me the money that comes in has barely covered hosting costs for jME, so guys... get those donations flowing!!

Labels: ,

Saturday, July 26, 2008

SWT support and Mac pains

Recently I changed up the way jMonkeyEngine handles embedding in a Canvas. Where previously it was tied hard and fast to an AWT canvas, it is now generic, using registered constructors to allow building other types of canvases. This has been pretty great, allowing us to break up some package dependencies and open things up for new and interesting ways of using jME.

Along with that change, I checked in an implementation for jME in an SWT canvas. Here's where I need to apologize to developers on newer Macs. SWT does not work well in a mixed environment that uses cocoa and even having the swt lib jar from eclipse in your classpath causes errors like this: (even if you are not touching SWT AT ALL, which I find a bit heavy handed.)

2008-07-19 18:14:48.689 java[7031:10b] [Java CocoaComponent compatibility mode]: Enabled
2008-07-19 18:14:48.690 java[7031:10b] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
2008-07-19 18:14:49.633 java[7031:12503] *** -[NSConditionLock unlock]: lock ( '(null)') unlocked when not locked
2008-07-19 18:14:49.633 java[7031:12503] *** Break on _NSLockError() to debug.
(etc...)


If you are not using the properties dialog, jME will launch in the background but be unresponsive to input.

Obviously, this sucks when you are developing because your only other choice is to remove the jar and try to ignore over 100 compile errors. Ugh. So again, sorry.

The ideal situation would be to get a fixed swt jar, but it looks like that will have to wait for the cocoa implementation of swt (possibly part of the eclipse 3.5 release.) I tried to build my own from cvs, but the build script gave me errors about some of the eclipse custom ant tags (even though I have the pde build ant in my ant classpath) and jarring up the bin directory gave me a 2MB jar that still produced the above quoted error and symptoms.

So, in the end, I decided to just write an empty version of the classes and interfaces from swt that jME touches and check that in as a temporary lib for macs with a broken java carbon bridge (or if you are running 64bit only java 6.) At least that way you can compile and run jME (although obviously not the swt part) without errors. Hope that work makes up somewhat for your pain, Mac devs. Find the jar in the /lib/swt/macosx-cocoa/ direction.

You can download the source code for this empty implementation here if you really care to. It's all empty stuff except the SWT class which is copied partially from the real thing.

Labels:

Tuesday, July 22, 2008

The latest

It's been pretty slow on my blog lately, and mostly that's because life has been very busy here. I've started a new corporation called Ardor Labs (site not up yet), which will be mainly focusing on 3d Java technology. I've already got a good amount of work coming in and have started learning new areas of technology in the process; namely, the Eclipse Rich Client Platform and for another project, Project Darkstar. The later has come a long way since I last saw it two years ago and I'm happy to report it can be very performant. I say "can be" mostly because you have to get your mind focused on doing things in such a way as to properly use the technology and that took a little bit of doing for a client side guy like me. :) More on that another time.

I'm also excited that jME development is moving forward again. Recently added to jME 2.0 was JOGL support (by a very dedicated guy named Steve Vaughan who has also been helping with build and source cleanup.) Also recently added was SWT canvas support and support for Fog coordinates (fog being initiated by Kevin Glass.) The fog coordinate support will be interesting for lots of things, one example being fog of war.

A number of others have been very busy in the community and I will try to comment more on that. It's a good time to be a code monkey. :)

Labels: , ,

Saturday, July 05, 2008

Like a Rock Star!



Evidently enough attendees thought we did a good job at our JavaOne '08 tech session to push Rikard and I to Rock Star status.

Don't worry, we won't let it go to our heads... Now where did I put my cape?

Labels: ,

Sunday, June 22, 2008

Changes and reflections

Recently our small group at NCsoft went through a few changes, spreading us all out to other projects and teams. I think, knowing as much of the back story as I do, that this is a really good thing for the company and even the technology we are working on as well. I believe this will help pollinate many new and interesting game concepts and possibilities, especially in a company so well known for taking risks and trying new things.

That said, it was also a good time for me to step back and evaluate my own personal goals and life and see what I would really like to do next. There were great opportunities to be had at NCsoft to be sure, especially given my intuition about the future of the company as mentioned above. But finally I chose instead to take a break and perhaps get back to contracting for a while. It was a hard decision to leave full time employment, especially with this company. In the end though I really felt that stress and health and various other factors had built up far too high in my life. Things had progressed to the point where my creativity and energy were not at the levels I needed them at if I was going to progress towards those life goals.

What does this mean? Time will tell of course, but I plan to remain active in jME, perhaps even more so now (I may end up having tons of free time... yikes!) But also it hopefully means a nice one or two week vacation sometime soon.

Thank you NCsoft for believing in Java technology and for 2+ great years! It has been an amazing place and I will miss especially the very talented people I was fortunate enough to work with.

Labels: , ,

Monday, June 09, 2008

Life limps along... again

I find it depressing how cyclical life can be. You're up trying your best, enjoying the view... Then you do something stupid and crash back to the earth. It takes time to pick yourself up again, but I suppose eventually you do and you get to face hope again (only to know that the wheel will turn and you'll be back down again later.) Is it fate that turns the wheel? Human nature? Karma?

Back to the grind.

Labels:

Tuesday, May 20, 2008

Article in Massively

Saw this post about our tech session on massively.com this morning. I certainly don't recall hinting about anything NCsoft was doing aside from saying I wish I could tell more about what the team I was on was doing, (but then joked that I couldn't for fear of the lawyers.) Ah well!

Labels: , ,