Game Development Community

Long time no blog...

by Melv May · in Torque Game Builder · 06/10/2008 (7:43 am) · 61 replies

If you get a moment, why not pop across to my blog here.

Any ideas you have would be most welcome and look out for the survey coming soon!

Melv.
#21
06/19/2008 (12:49 pm)
Quote:I just discovered that my onCollision() callback gets called any time my enemies overlap

This was something I found occuring while makin the PSK. TGB has a solution, Graph Groups! Basically you define groups for your objects and define which groups they can collide with. Look them up on TDN for a better understanding, but that is exactly what you want.
#22
06/19/2008 (2:37 pm)
Awesome, thanks!
#23
06/20/2008 (5:26 am)
Quote:For example, I just discovered that my onCollision() callback gets called any time my enemies overlap. I have a lot of enemies overlapping. But, I *only* need to check for collisions between my enemies and the player's bullets, NOT enemies with enemy bullets, and not enemies with other enemies. Yet, my script callback is called for everything that overlaps, and the check for what class the srcObj and dstObj is is done within script. It'd probably be a bit more efficient to specify up-front, via some console function, which classes I want to check for collisions between. And my callback is only called when those classes get checked.

Have you looked at the CollisionGroups and CollisionLayers bit masks? I'm pretty sure they'll do what you're after. Put your enemy bullets in one layer or group, and your players in another, then set your objects to only test against one group or the other accordingly.

Although it's not specifying this class can interact with this class, it does allow you to do that but also allows more flexibility such as the case of "this group of classes" can interact "with this other group".
#24
06/20/2008 (9:39 am)
Yep, after Phillip mentioned groups, I reworked everything yesterday, and now my collision system is "smart" like that. Woot.
#25
06/21/2008 (2:39 am)
Some requests for TGB features...

TGB running in a web browser, via a small, one-time plugin download, just like flash.
TGB running on an iPhone.
Quicker integration of new code fixes into the script only version of TGB (for example, pausing audio and modifying the file write path are easy with the source code, but impossible with the script only license of TGB).

Finally, please fix the horrible TGB icon! It's a non-standard 72x72 pixel image, which means it gets resized horribly by windows no matter what view you use. As I don't have the source code, I can't just rebuild TGB with a new icon, I can only use a exe editor which substitutes icons, so I'm stuck with the terrible 72x72 resolution.
#26
06/21/2008 (5:15 am)
Quote:TGB running in a web browser, via a small, one-time plugin download, just like flash.
TGB running on an iPhone.

I like it.
#27
06/21/2008 (11:48 am)
@Melv
Could you take a look at d6tools www.garagegames.com/blogs/73416/14915? I think it may be a step in the right direction.
#28
06/21/2008 (3:28 pm)
Quote:TGB running in a web browser, via a small, one-time plugin download, just like flash.

Isn't that what InstantAction is all about?
#29
06/21/2008 (10:15 pm)
Christian - Instant Action is a portal where you got to play multiplayer games easily in a browser. I'm talking about embedding a TGB game into any website.
#30
06/22/2008 (12:56 am)
Just to let you know that I am reading this stuff and taking notes!

@Benjamin: This obviously includes yours. :)

Thanks everyone.

Melv.
#31
06/22/2008 (1:40 am)
Conor - Yes. I think that InstantAction does this by installing a control that allows to run TGE/TGB content in an ActiveX control - thus in a browser. More or less what one wants - should not be a lot of work for GG. I second this request strongly. Would be a very nice thing for users and developers (avoiding piracy, being able to update content and functionality, ...)
#32
06/22/2008 (5:54 am)
TGB via browser would be very awesome because most people don't want to bother downloading 2D games any more. They just want to play them and then forget about them. Unless the game is very very good.

I still like to download 2D games, but that's just me. :D
#33
06/24/2008 (11:33 am)
Melv, I posted my suggestion in the Suggestions forum... thought you wanted them there instead of here.

One more suggestion: how about the ability to specify non-rectangular shapes for our objects? So instead of scaling/rotating that keep the object's original proportions, you can move each corner of the object independent of the other corners, for weird warping/stretching effects? (Kind of like the "genie" effect when you minimize a window on MacOS X. Stuff like that would be possible.)

Another one: an "auto scale" command much like auto rotation, except you can specify the minimum and maximum sizes, and the object scales back and forth between these two, using either linear movement, or sin-wave type movement, so that the scaling speed slows down as it nears the max/min size, but gets faster as it nears its medium size. (I can send code in script that is an example.) Other options would be to just scale the object smaller or larger over time, with a callback when the scaling is completed. Yes, you can do all this in script, but if you have 60+ objects doing it with 20ms timers, it can tend to add to the processor overhead on older computers a good bit.

Oh, and I agree TGB in a browser and for iPhone would be awesome! But I see that more as a brand-new engine, rather than simply a new "feature". So I'm not holding my breath...
#34
06/24/2008 (12:04 pm)
Quote: One more suggestion: how about the ability to specify non-rectangular shapes for our objects? So instead of scaling/rotating that keep the object's original proportions, you can move each corner of the object independent of the other corners, for weird warping/stretching effects? (Kind of like the "genie" effect when you minimize a window on MacOS X. Stuff like that would be possible.)

I honestly am not up-to-date on all the current TGB feature, but along these lines, it would be cool to explore the whole idea of sprite warping to acheive animation effects.

The guys who did Aquaria utilized techniques of this kind to make seaweed flow underwater, for example. It seems like an effective way to animate in some situations.

Some way to warp sprites using animated lattices, perhaps rigged to bones, would be perhaps the ultimate.

Perhaps, perhaps, perhaps,

- Matthew Durante
#35
06/24/2008 (12:47 pm)
All interesting feedback everyone. Thanks and please keep it coming and there are lots of eyes on this thread. :)

Melv.
#36
06/24/2008 (1:00 pm)
Matthew,

Much better suggestion than mine! With mine you can't do true warping the way you describe. Your suggestion, if possible in the engine, would indeed be really great!
#37
06/24/2008 (3:56 pm)
Matthew Durante said:
Quote:The guys who did Aquaria utilized techniques of this kind to make seaweed flow underwater, for example. It seems like an effective way to animate in some situations.

Yeah, I played the demo of that game and was really impressed with the graphical effects, the sprite warping not least among them. Another thing in Aquaria was realistic wave effects. That's really cool too. ;)
#38
06/25/2008 (6:40 pm)
First off, many thanks to Melv and team for creating TGB. A really nice system.

On to the wish list. I'll add a similar request to what Mathew proposed a few posts above: The ability to animate sprites via bones or nodes.

I've used 2D animation in TGE for some effects, by having the fx artist create a dts/dsq model/animation and positioning perpendicular to the camera. To have a simplified animation creator in the TGB editor would be oh so nifty (and a huge pile of work, but hey, you asked for suggestions).

The base system would attach sprites via links/nodes, and have an editor create translation/rotation/scale over time. The resulting data would get saved out and applied like an animation. (Basically it's the dsq system, but simplified for 2d).

The resulting animations could be used for countless applications, but to name a few: swaying tree branches, animating part on characters (think like a shadow puppet) and oh so many more.

Again, thanks for all the work put in so far, Melv, et al. Keep up the good work.
#39
06/25/2008 (9:36 pm)
@Randy
I have an "Inverse Kinematic" 2d animator in the works, called d6animator. It is exactly what you are describing, plus more functionality I added for people in need of really precise animations.
It's a big one, but I'm half through, most of the editor itself is functional, I still need to make the output to a TGB project (I know how, but just need to do the thing).
Ultimately, the target is animations like in odin sphere (look closely at how the characters are animated, it's very well done mounted animations, with changing parts, and that's what I'm supporting with other things).

I'm a little vary of how it will run on live TGB Games, as it's only done with scripts. I hope it wont need source code changes to be fluid enough.

But, before that I must finish the 3 first d6tools ;)
#40
06/26/2008 (9:43 am)
@Benjamin

I saw your plan on the d6 tool sets. Very impressive stuff. Good luck cranking through those.

I'll eagerly await your results. If you get the animator working in script and it does turn out to run slow, hopefully it wouldn't be too hard to port into the engine source code.