Jump to content
  • entries
    945
  • comments
    5,899
  • views
    930,073

Multiplatform Madness


Josh

6,340 views

 Share

So after a lot of learning and mistakes, I finally have Leadwerks Engine 3 running on OSX Snow Leapord, Lion, and iOS. Rather than write out a detailed blog, I'll just throw a lot of random thoughts your way:

 

-OpenGLES2 is a nice blend of OpenGL 2 and OpenGL 3.3. I'm really surprised my OpenGL 3 shaders translate easily into OpenGLES2 shader code, with only a few changes. In fact, the iOS renderer looks exactly like the deferred OpenGL 3 renderer, except for shadows and some post-effects. The games I have seen running on the iPhone are severely underpowered compared to what they could look like. This little device has quite a lot of power, and you can be sure I will find the way to max out the visuals.

 

blogentry-1-0-43150900-1309310617_thumb.png

 

-iOS uses it's own texture compression format. :) This sucks, because it means either you are using uncompressed textures for cross-platform compatibility, or you have to have separate textures for your iOS build. The OpenGL spec really should have a defined compressed format, but I guess there was some patent issue with DXTC compression, or something like that.

 

-Lua and my other cross-platform libraries seem to work just fine with iOS, which is fantastic. :o I really had no idea when I started this project whether it would really work like I hoped or not, but everything looks good.

 

-The iOS port was probably the hardest one, due to the use of Objective-C. Android should be pretty easy after this. The PS3 is another platform I am really interested in, and my guess is LE3 could be ported to PS3 in a few days or less.

 

-OSX Lion has some very appealing characteristics related to Leadwerks Engine 3. I'm under NDA and can't say exactly what they are, but it's very good for Mac and graphics. BTW, the gestures they are adding to OSX Lion are really fantastic, and reason enough to get the upgrade.

 

blogentry-1-0-36860000-1309311417_thumb.jpg

 

There's still a ton of work to do before I have an actual product ready to release, but the plan is working and we're on track for a fantastic 3D development system for a wide variety of platforms.

 Share

17 Comments


Recommended Comments

Looking good Josh. I'm excited to get my hands on this.

 

"The games I have seen running on the iPhone are severely underpowered compared to what they could look like. This little device has quite a lot of power, and you can be sure I will find the way to max out the visuals."

 

Are you sure this isn't because games are much more than visuals? If visuals use up all of your computing power you won't have any gameplay interactions.

Link to comment

No, it's largely because most of the people developing iOS games are one man "teams". They are mostly programmer art. A good example of what the device is capable of would be the Infinity Blade demo made by Epic Games. That runs amazingly well on the hardware with great visuals, shaders and a high polycount. It's running via the UDK which is significantly more bloated than LE3 will be. I'm expecting good things here. :blink:

Link to comment

Your progress is really impressive Josh! Glad to see things are working out so well. The multi-platform nature of LE3 is going to make the engine so much more attractive to potential buyers.

Link to comment

We'll find a way to drain that suckers battery in minutes, just you wait :blink:

 

Unity iPhone has a lot of dead weight attached too, it will be nice to work on some of the the parked mobile projects we had.

 

I don't see having an extra texture conversion step for iOS as a problem at all. DDS is an n stage process so running a different tool for iOS seems like 6 of 1 and half a dozen of the other.

Link to comment

Which would be great for the ipad ... 200 sidescroller a la "manhattanProject" in the first year :blink: -

i wonder which gametypes we might develop on the iThing next xear. :blink:

 

Anyways - dont want to rain on your parade but there is an still an issue, in the tracker, i need to know more about ...

Link to comment

Looks great, shame there is no way of getting the Leadwerks love on WP7, im currently writing games for that platform.

It all depends on whether they allow C++ code on Windows Phone 7. Requiring C# only is suicide for their platform. Both Apple and Google realized already programmers don't want an "easy" programming language if it means they have to rewrite their whole program for one platform.

Link to comment
Guest Red Ocktober

Posted

great progress report... thanks... looking forward to 3...

 

--Mike

Link to comment

Requiring C# only is suicide for their platform. Both Apple and Google realized already programmers don't want an "easy" programming language if it means they have to rewrite their whole program for one platform.

 

I don't think you give MS enough credit. By providing .NET and XNA as open source frameworks people make ports so that we can write code once and have it work on many different platforms. MS was brilliant in this respect because .NET will rule the world some day and we'll all bow down to it I'm sure :blink:

 

https://github.com/mono/MonoGame

 

Now imagine the person who bases their game engine around this. Basically everything put playstation, which I'd be shocked if they haven't or don't get that going soon.

Link to comment

I think rather that Fortran will rule the world, because it's faster than .NET, and works on all platforms, while .NET works only on Windows and Linux, but not on AIX, zOS, PS3, Android, BlackBerry, MacIntosh, Amiga, iOS, BSD, etc....

Link to comment

It will be nice to have easy access to a variety of scene stats for rendering and memory usage, profiling on these devices can be important.

Link to comment

will the graphics be rendering in the background to the memory when you take a call. I know that iOS now multi tasks which means the game is still running in the background in a sorta hibernated state. Also, the engine is requiring Objective-C for the iOS, will our apps require to learn Objective-C, or can we still use C++ and the engine sorta converts it for us.

Link to comment

I don't think iOS even allows you to render in an inactive app and eat up the battery.

 

On OSX and iOS, I'm using an Objective C entry point that calls the C++ main() function. So you can just write your program in plain C++ and not worry about Objective C, except for the default setup code just to make it work. There will be a "Project Wizard"-like dialog in the editor that will create the starting project for you, so you never have to touch any Objective-C yourself. Of course, a pure Lua app bypasses all of that altogether.

Link to comment
It will be nice to have easy access to a variety of scene stats for rendering and memory usage, profiling on these devices can be important.

 

It isn't just 'nice' to have these features. It is an absolute must these days.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...