Posts Tagged ‘GAMEDEV’
It appears Torque3D is going to compete with Unity3D in a browser based 3d plugin front with a Torque3D toolset and pipeline that target the web.
They announced this on gamasutra recently on how instantaction and torque3d technology is similar yet different. InstantAction is an engine wrapper where the web plugin for Torque3D is more tighly coupled with the Torque3D engine. Instantaction.com technology allows you to wrap an existing game engine for the web which is a competitor with the gaimtheory engine that is used on quakelive.com.
I have been a garage games torque developer and member since 2003 and worked/bought with each engine they have put out from the old school Torque Engine, to Torque Engine Advanced for various game development projects and now they are throwing in on what appears to be based on their instantaction.com technology but using the Torque3D engine. This is very interesting, they might even have a channel/appstore to release games on instantaction.com?
Unity3D has recently taken my time in the full immersion 3d for the web space, the mono engine that runs the scripting is a huge feature. Coding in C#, Boo and javascript is great, and the pipeline for Unity3D is unmatched.
A bit of history, I have been interested in this since Director introduced 3d in director 8.5 in 2001 (how was that not a major revision I don’t know) and the killer Havok 3d physics engine within it. Way ahead of its time. But Director 3d was extremely limited with w3d (not even a decent blender exporter) and it literally has not advanced since that time in terms of ability to develop better for it and the IDE. It was trapped in this little IDE and quirky Lingo language. They tried to save it with javascript, a valiant effort but it still withered due to lack of openness of development for the player (a mistake they aren’t making with Flash now at Adobe). So making full immersion 3d games was not really ready for the web, Director was notorious at crashing browsers and took way too many broken plugins to get a basic engine.
So I went to mods in HL (quake 2 engine), Unreal and when I realized there was no way me or my friends could foot the license fees of either engine we went to Torque in 2003. It was great, large terrains and highly compact engine because it had to run Tribes with 64 players years before anyone else approached 64 players and arguably still played better than 64 player fps now. It was affordable. I have been interested in the movements to make torque an active x control in 2005/6 and Think Tanks did just that. It was very nice, I thought soon after it would be everywhere. But it has taken until now and a new engine called Torque3D before this has been realized years later. This is hard stuff to get right creating a plugin that works cross browser and performs well (browsers had to catch up as well). The culmination of that technology progression has happened and 3d on the web for game development appears to be bigtime in 2009.
Unity3D meanwhile since 2005-6 has gotten it nearly all right so far for a few years now, especially the pipeline and the webplayer. Torque has always had an poor pipeline, not as bad as writing your own engine from scratch and all the tools but in the early days pretty close. Proprietary formats like dts for models made finding the right exporter tasking. There were just so many walls in what was supposed to be a pipeline, largely due to support for formats that were small enough for slower networks and machines of the past. Unity3D gets all this right from the start, pipeline is not an issue. Torque3D seems to address this with their new tools, support for Collada, but unfortunately still scripted with TorqueScript. If Torque3D could wire in Mono and the capability to code in Javascript, C#, Boo or other Mono languages this would have been cool, or at least a semi-standard scripting language like Javascript, Python etc that would be great. TorqueScript was a big feature and UnrealScript is very similar in how it interacts with the engine, but these days we want standard languages that have engine features built in. Maybe this will happen down the road, but the format support is very nice.
For 3d, prior to Unity3D, the web was still owned by Director but that has changed in the last few years. It won me over for immersive 3d games that are web capable and able to port to other platforms and markets. Casual is still done with Flash and mobile space is targeting iphone. Unity3D can run on web, iPhone, Wii, desktop. Torque3D can run on web and also has paths to desktop, iPhone, Wii, XBOX360. You see what is happening here? It is very cool indeed. No doubt the competition in this area is getting to a point where some good innovation and happenings are taking place, what are you going to do with it?
The unity3d platform is about to realize about 900% or 9x more possible market for selling their wares and I believe will blow up with unity 2.5. Unity3d 2.5 will bring a windows IDE and development environment to unity3d developers. Many game companies are heavily invested in Windows and having this option is breaking down a huge wall to get this development platform and engine into many new hands and companies.
The best part about unity 3d development is the hardware acceleration, the fantastic pipeline, the ability to publish desktop, web, mobile (iphone) and console (wii) is pretty amazing. All using the powerful mono open source .net framework as a base.
Windows Editor Support
Unity 2.5 adds full support for Windows Vista and XP, with 100% feature parity and interoperability with Mac OS X. The Unity Editor has been rebuilt to look, feel, and function identically on both operating systems, each running the same underlying engine. The best part? Unity on either platform can build games for either platform — cross-platform in the truest sense.
A Whole New Look
Find the tools you need quickly and easily. The Play buttons are front and center, clearly visible and inviting you to play, test, and improve your work. And when you do, they light up, dimming the rest of the application, drawing your attention to the most important things in the play experience you’re creating.
Precise Navigation and Placement ToolsImproved Usability
Snap any object to customizable increments of position, scale, and rotation values. Drag objects around, clamped to any surface collision. Manipulate objects in local or world space. Use the new flythrough controls to get around easily. And did we mention the completely redesigned rotation tool?
3ds Max Importing
Drag and drop your .max files right into the Editor, including support for all skeletal based animation, multiple UVs, and vertex colors. Autodesk 3ds Max now joins the existing support for Maya, Blender, and all other 3D applications that integrate with the latest FBX plugin on the Windows platform.
Completely Customizable Editor
UnityGUI, Unity’s own GUI creation system, now powers the entire Editor and allows you to integrate your own unique level design tools, AI control tools, debugging tools, difficulty tuning tools, or anything else you need. Over 130 new API entry points enable you to create specialized, customized editor tools and build them into the existing Editor interface.
Tabbed Interface
We took cues from the best designed applications, and the rewritten editor has received dozens of improvements. The most visible change is the tabbed interface, where every part of the interface can be moved, undocked to a secondary monitor, and even stacked to achieve logical grouping.
Information at Your Fingertips
We’ve gone to great lengths to make sure that you always have the info you need, when you need it. Model files have previews right inside the inspector. Audio Clips show their waveform with click-to-play behaviour. Meshes show the detailed rendering stats – and that’s just scratching the surface.

(use arrow keys and spacebar to control the red ball)
A new 3d physics library is under development and in early stages called jiglibflash. Like the Box2D ports it is based on a C++ library of the same name called jiglib, only this is 3D instead of 2D. It is similar in purpose to WOW Engine which is the other current open source 3d flash physics engine. For more on this toolkit see the links below.
UPDATE: katopz has also ported this to use Away3D as the renderer.
UPDATE: Also updated for the sandy3d engine as the renderer.
Unity3D is a great platform for developing 3d games where you need hardware acceleration beyond what Flash 3d can give you for the web.
There are lots of great independent gaming companies and web gaming companies realizing this and here in the #phx Arizona market a few good ones including Flashbang Studios on their Unity3D gaming site Blurst. I have been developing Unity3D for about 6 months and it is great where you want 3d environments over 2000 polys for the web. The power of 3d hardware rendering on the web combined with a great development environment is making it possible to make really fun games with unity3d.
Unity3D Games Released Recently
Flashbang recently released Minotaur China Shop to add to their Blurst.com site of Unity3D games and community. They detailed the launch day at their blog. It is a pretty fun game and once you get further into the game design with different paths, selling products or thrashing your china shop for insurance and strategic upgrades it has legs to keep interest.
Minotaur China Shop Trailer
[vimeo]http://vimeo.com/2474951[/vimeo]
There are lots of great Unity 3d games out there here is a list of the best of 2008:
- AXE – Billions
Play it!
Provide Feedback - AXE – Dark Temptation
Play it!
Provide Feedback - Banzai Ball
Play it! (Mac OS)
Provide Feedback - Beijing Conspiration
Play it!
Provide Feedback - Chicken Target
Play it!
Provide Feedback - Circuit Defenders
Play it!
Provide Feedback - Colony Defender
Play it!
Provide Feedback - Downhill Bowling
Play it!
Provide Feedback - Feist
Play it! (Mac OS)
Provide Feedback - Flip Sorter
Play it!
Provide Feedback - Hordes of Orcs
Play it!
Provide Feedback - IndieRiffs
Play it! (Intel Mac OS)
Provide Feedback - Jeecheereen1
Play it!
Provide Feedback - Jetpack Brontosaurus
Play it! - Laka Game Show
Play it!
Provide Feedback - Lander Commander
Play it! (Mac OS)
Provide Feedback - Lies and Seductions
Play it! (Mac OS Universal)
Provide Feedback - Manta
Play it!
Provide Feedback - Mars Explorer
Play it!
Provide Feedback - Nuddz
Play it!
Provide Feedback - Oddball
Play it! (Mac OS)
Provide Feedback - Off-Road Velociraptor Safari
Play it! - Outpost
Play it! - Pirates n Dragons
Play it!
Provide Feedback - Project Cloudwitch
Play it!
Provide Feedback - RastaMonkey
Play it!
Provide Feedback - Seamulator
Play it! (Mac OS)
Provide Feedback - Sperm Racer
Play it!
Provide Feedback - Sphaira
Play it!
Provide Feedback - Super Splashdown
Play it!
Provide Feedback - Super Volei Brasil
Play it!
Provide Feedback - Tag Ball
Play it!
Provide Feedback - Traces of Illumination
Play it!
Provide Feedback - Tumbledrop
Play it!
Provide Feedback - Turret Master
Play it! (Mac OS)
Provide Feedback - Turtle Trap
Play it!
Provide Feedback - Vimto Jetski
Play it!
Provide Feedback - Widget TD
Play it!
Provide Feedback
[source]

as3isolib is a great isometric library for actionscript 3 by Justin Opitz. This is a lower level isometric library that could be used in building your own isometric gaming engine or learning more about the popular isometric view in games or other flash content.
To constructing sprites and objects with individual iso objects with their own bounding boxes.

This sample shows a two piece tree, a common issue with sprites in isometric is where to slice them up. This sample shows a tree with the leaves able to be in front of a character so that you could walk under the tree and be in front of the trunk but covered by the trees. Essentially height is respected.
Sample code for the tree tutorial:
package { import as3isolib.display.IsoSprite; import as3isolib.display.primitive.IsoBox; import as3isolib.display.scene.IsoGrid; import as3isolib.display.scene.IsoScene; import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.net.URLRequest; public class IsoApplication extends Sprite { private var scene:IsoScene; private var assets:Object; private var loader:Loader private function loadAssets ():void { loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, loader_initHandler); loader.load(new URLRequest("assets/swf/assets.swf")); } private function loader_initHandler (evt:Event):void { buildScene(); } private function buildScene ():void { scene = new IsoScene(); scene.hostContainer = this; scene.container.x = 200; scene.container.y = 200; var treeTrunkClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition("TreeTrunk") as Class; var treeLeavesClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition("TreeLeaves") as Class; var grid:IsoGrid = new IsoGrid(); grid.showOrigin = false; scene.addChild(grid); var s0:IsoSprite = new IsoSprite(); s0.setSize(25, 25, 65); s0.moveTo(50, 50, 0); s0.sprites = [treeTrunkClass]; scene.addChild(s0); var s1:IsoSprite = new IsoSprite(); s1.setSize(125, 125, 100); s1.moveTo(0, 0, 75); s1.sprites = [treeLeavesClass]; scene.addChild(s1); scene.render(); } public function IsoApplication () { loadAssets(); } } }
current features
- simple scene creation
- 3 primitive types
- base class for displaying user-created content
- plenty of styling option on vector based primitives
- integrates well with a variety of tween engines
- standard 3D isometric positional sorting
So get busy building the flash version of roller coaster tycoon…
Flash 10 security changes requiring user interaction are pretty breaking but they are for good reason. Still though, the user could be inundated with prompts much like UAC on Vista. But, it is necessary otherwise security holes can be troublesome with the flash player and the “sandbox” of the web. Much like Java signing, Active-X acceptance, and thus local file access, these actions need some user approval, it is that liability thing.
But what is a bit lost in this is some of the new support specifically for game development and app development.
Support for things like RTMFP which is bringing UDP support to flash. UDP and reliable UDP (ordered) is really needed when it comes to larger scale networking applications and support for p2p apps. Games for instance, that are large like MMOs and highly interactive real-time engines, need UDP to be able to scale. So this is pretty useful, yet it currently looks like it is tied to Flash Media Server. It appears Adobe is staying ahead of SmartFox, Red5 and OpenFMS with stuff like this.
Another great move in the way of security updates for Flash 10 for games is the allowing input from keyboard keys while in full screen mode. All these games and apps look pretty sweet in full screen until you try to use them. There is only support for “Tab, the Spacebar, and the (up, down, left, right) arrow keys” but that is a start. Enough keys for a casual game. But still most keys could safely be used it must be a multi-platform support thing.
Limited full-screen keyboard input
Currently Flash Player does not allow keyboard input when displaying content in full-screen mode. Flash Player 10 beta will change this, allowing for a limited number of keys to be usable in full-screen mode. These include Tab, the Spacebar, and the (up, down, left, right) arrow keys.
Flash 10 is getting local save and load, this is great for any type of online editor, game or application. The ability to work on a file immediately without the server round trip initially is great. I hope this is extended much further to local save and load with very high limits, there has been some confusion on the file size limitations here. Ideally this would be extended much further if the product direction is right. Typically making apps or games with more than 5-25MB of content quickly become non-economical in bandwidth such as gaming assets due to browser cache size limitations (defaults IE=50MB, Safari 5-25MB, FF3=50MB), I wish there was a better way to allow local saving for long periods of time. Almost installing apps via flash with extended cache, talk about killer app feature. Downloading 10 MB of gaming assets that you know will be there for the month rather than the day.
Paste events can read the clipboard. Using the clipboard is another great useful tool in applications and online editors.
Data can be read from the Clipboard inside a paste event handler
In Flash Player 9, the system Clipboard could not be read at any time. With Flash Player 10 beta, the new ActionScript 3.0 method
Clipboard.generalClipboard.getData()may be used to read the contents of the system Clipboard, but only when it is called from within an event handler processing aflash.events.Event.PASTEevent.
So yes, the security user interaction changes do break current features but it also takes this platform a bit more into secure applications and game features from security changes, hopefully these features are extended much further but they are on the right track.
A few weeks ago the makers of Unity3d released some really valuable information about casual gaming and general hardware of users that play online games. It was an interesting report and very beneficial to developers on the Unity platform and others. We wish other plugin makers would do the same in such a thorough method.
Unity 3d creators listened to the market and have now posted updated numbers and information as well as a page that quarterly stats will be updated. Check the new, quarterly, hardware of the casual gamer stats.
I would have seen this earlier but I have been deep in a Unity 3d project myself
. I am a big fan of all web based gaming platforms and Unity is almost a dream come true for 3d web gaming. For the company to be this open that is a very good sign.
What can you do with Unity3D? Here is a list of games made with Unity3D on the web. The one great thing about this platform is that is was made for gaming specifically from the start. Simulations and game development with Unity3D is very fun and productive. I still love Flash, Director etc but Unity3D development is now very much in my rotation.
Games made with Unity3D:
Hancock Movie Games
Tennis Stars Cup
Duckateers
Temploe (ninjas attack you)
RC Laser Warrior
Urban Race Star
FlashBang studios
TraceON
EPIC Tower Defense
InvinciCar
Besmashed (multi)
Global Conflicts
Phoenix Final
Doom Siege
Mario Galaxy like run (third one down)
Zombie Drive
Pocket Piglets
ChickenDemo
Castle Conquest
Making great games, applications and tools using flash, silverlight or other tools that are emerging such as Unity3D takes great style, effort and knowing your target. We need to know what the end-user machine has at hand. The Unity 3d guys put together a great post on the capabilities of casual gaming machines. With all the talk about flash 3d, unity3d and silverlight what level are you targeting and what group of people can actually PLAY your games as you envision.
Pretty much everyone knows Valve’s hardware survey – it’s a very valuable resource that shows what hardware the typical “hardcore PC gamer” has (that is, gamers that play Valve’s games).
However, the “casual gamer”, which is what Unity games are mostly targeted at, probably has slightly different hardware. “Slightly” being a very relative term of course.
Lo and behold – we have a glimpse into that data.
How? First time the Unity Web Player is installed, it submits anonymous hardware details (details in the EULA). This happens only once, and contains no personally identifiable information. It’s much like visitor statistics trackers on the websites that gather your OS, browser information and whatnot.
…
Remember, all this data is from people who installed Unity Web Player (most likely because they wanted to play some Unity content on the web). Hardware of standalone game players might be different, and hardware of your game’s players might be different as well. The data set is well over a million samples at the moment.
Check out the full stats here.
The most interesting stats to me:
OS Platforms
Windows 96.8%
Mac OS X 3.2%
CPU Core count overall
1 54.7%
2 44.1%
4 1.1%
8 .1%
Wow this one is surprising, but with the type of gamer that will play and download a quality new plugin to get to a game, maybe not. They need to have the latest and greatest. Multi-core processors have been selling for about 2-3 years so this is a continuing trend that will make Flash 3d and even plugins like Unity 3d better over the short term.
Also when you check it over at Unity Blog note the top cards, it is a bit painful if you are a casual gamer developer. Not a decent card in the top 10-15. But that is changing rapidly over the next 1-2 years in this regard. But this also vyes well for flash based games that rely on dual core software rendered results right now as a decent constraint for developers to keep content painfully accessible to all states of machinery out there.
I wonder if this information is available on the flash player and public? This is specific to the Unity 3D plugin that is also a bit of a different market that is willing to install a plugin for better experiences. With Flash it is usually preinstalled or auto updated for a casual user and might be different as Flash has a 98% penetration rate. Or for that matter the Director users which would be more gaming focused which amout ot about 40% of internet users. But as with the case of Unity it is specific to games right now and a small penetration rate, Flash is also apps, ads, tools, demos, interactives in addition to games. Having this information on Flash or Director would be nice.
I rarely mention stuff I have worked on here but I got a chance to use APE and AS3 on the online Plinko game at the site for the Price is Right videogame for the famed pink Plinko Board. Who doesn’t love Plinko?
I did the programming on this back when I still worked at emarketing/prizelogic.
I will be featuring a small iteration to APE with draggable particles and how I did it. In the end I didn’t use the draggable particles but they are fun (i ended up changing my collision/border particles after testing). I ended up controlling the drop location by swapping out a wheel particle after they dropped it. So that it got the famous Plinko disc bounce and roll.
Why did I use APE? Well it is the least complex physics engine. I started off with Box2dFlashAS3 and will post that one maybe as well but ended up going with APE mainly for integration it was easier that it was a less intensive codebase. Box2DFlashAS3 can scare non C++ coders with it’s style let alone AS2 coders moving to AS3.
It is slower with all the other animation going on in the site but you can also play on my server here just the Plinko part.
Can you get 10,000?
UPDATE: See comments and papervision list for revert of this change. You can now use localRotationX, localrotationY and localRotation Z instead. yaw(), pitch() and roll() are back by popular demand.
Hi List,
Sorry for this confusion, but we decided to revert back to pitch(
angle ), yaw( angle ) and roll( angle ) methods.There are three new getter / setters now though:
do3d.localRotationX
do3d.localRotationY
do3d.localRotationZSo:
pitch( 30 ) would be the same as doing localRotationX = 30;
Note that localRotationX / Y /Z are rotations relative to the
rotation as set by rotationX / Y / Z.
Also note that after do3d.lookAt() localRotationX/Y/Z will be resetted to 0Tim
ORIGINAL POST:
Papervision 3D 2.0 Alpha has been undergoing lots of changes and one you might want to know about is the object yaw, pitch and roll change. Thisis changing on how you access them but only slightly. This is good because you an read and write the values on the object not just set them. Per the papervision list from the man Tim Knip:
On many users request:
DisplayObject3D‘s methods pitch(), yaw() and roll() are now getters / setters.
Usage:
do3d.yaw = degrees;
do3d.pitch = degrees;
do3d.roll = degrees;var myYaw : Number = do3d.yaw;
This means these values are now ‘absolute’ values instead of previous
‘relative’ values as in deprecated do3d.yaw( 1 );Let me know any issues (as I’m sure there are…)
Tim
This only affects the latest and greatest revisions of papervision but is definitely a good change. It is good to make changes that make more sense without worrying about breaking changes.








