Game Development Community

Little Gods

by Jason McIntosh · in Torque Game Builder · 05/04/2005 (11:50 pm) · 76 replies

A very early shot from my upcoming game, Little Gods.

The background is very animated with a lot of layers and has quite a few things that happen at random intervals, like that little guy sailing across the screen.

www.griminventions.com/dl/lg-alpha-01.jpg
There's also a bigger version of this image.
Page«First 1 2 3 4 Next»
#61
11/12/2005 (5:52 am)
Excellent job Jason. I just now found this (as I just found Torque2d a couple days ago). Definitely an inspiration to see this kind of work.

Keep up the good work!
#62
11/12/2005 (5:38 pm)
Thanks, Keith! Always good to hear when people like the game. :)
#63
12/30/2005 (10:54 pm)
Jason, your work demonstrates that, with attention to quality and detail, small indie games can have great potential. Congratulations! It's inspirational.

I'd really like to chat with you sometime. I'm just about ready to present my T2D game, and I could use some advice on how to get it in front of more people. Also, though I've tried to avoid modifying the T2D engine (I wanted to show what can be done with the engine out-of-the-box), I finally broke down and fired up the compiler two days ago to add some custom functionality. The first thing I did was implement a scene-based timer system (even though I had a script-based version that used animated sprites and worked very well). It was actually pretty straight-forward to implement, and I'm very pleased with the results. The inconsistency of those schedule-based events just drove me nuts ;) I now have all of my time events processed through this seperate system. If you're still interested in that, let me know.

Anyway, I just poked my head in here to start getting some ideas of what I need to do once my game is ready for demo, and your game caught my eye as a good model to follow. If you're willing to give me some advice, I'd appreciate it.

Thanks!
#64
12/31/2005 (4:32 pm)
Thanks, John! I'm flattered that you found inspiration from my work. Feel free to email me: jason *at* griminventions.com. I'd be quite interested to see your timer code, too.
#65
01/01/2006 (11:37 am)
John,

If you've got something useful to the community and you don't mind sharing then I could take a look and it'd probably get folded into the T2D SDK (with credits of course). Anything that makes T2D better is more than welcome.

No problems if you'd like to keep it though. :)

- Melv.
#66
01/01/2006 (3:50 pm)
@Jason

I will send you an email as soon as I can figure out why my ISP has fallen off the face of the earth.

@Melv

I definitely intend to share this and everything else I've come up with while working with your engine. I didn't jump right in and do that yet because I just implemented it a few days ago and it still needs testing (holidays are keeping me away from my computer :( ). I mentioned this to a few developers thinking that they could help me verify that it works. I'd be more than happy to present it to you for consideration.

I don't have an attitude of secrecy about my code. I just don't want to bother anyone with something that isn't well tested.

While I have you, there's one particular thing I wanted to test out about my scene-based timer. For your event system, you grab the object from the script ID that is passed to the console method and carry that on the event object. Then when the event is triggered, that object is passed to the callback function. Doing this requires that you remove the timer event for an object when that object is deleted. I wanted to avoid that added complexity and simply pass the object's script ID to the event object I create. Then, when the timer event is triggered, that's when I grab the object from the active object list. If the object is still valid, I make the callback. If not, I just clean up and continue. The question I have is this. Is the object ID unique, or are they reused? If I set a timer to trigger, say, 20 minutes down the road, is it possible that the object associated with that event could be deleted, and then another object created using the same ID? I haven't had a chance to test this, but I figure you could tell me easy enough. Early on, I saw some odd things in my game that could have been attributed to the wrong object being passed to a timer function, but that seems to have gone away when I fixed a few other bugs.

All I'd need to do is add a unique ID for sceneobjects if none exists, and then I can carry that ID on my timer event for validation when the event is triggered. If that's necessary, it still remains to be done (a few minutes work). If not, I can post my work. Really, there isn't much to this particular system. It wasn't tricky integrating my timer system into your code.

- JP
#67
01/02/2006 (4:54 am)
John,

The good news is that you can use "getID()" on any SimObject to retrieve the ID and be quite happy that it's unique. This is, in-fact, a basic premise for using objects in the engine. Note that this doesn't get assigned until the object is registered; nothing is done in the constructor. Technically, it's just a rolling U32 but that means you get 2^32-1 values which, if you were creating one object a second, would mean you'd have to wait for approximately 136 years for it to wrap (or 136/sec for 1 year!). :)

Anyway, this ID is assigned during the "bool SimObject::registerObject()" phase with a line like:-
if(!mId)
    mId = Sim::gNextObjectId++;
From then on, this is the way to refer to it. Datablocks use the same system. There's also the naming system but that's more of a matter of convienience for the scripter and obviously isn't used explicitly in the engine with the exception of a few constant objects such as the "Canvas" or the "RootGroup" SimGroup.

- Melv.
#68
01/03/2006 (5:30 am)
@Melv, that'll work. That's all I would have done myself.

So what's the best way to present bits of code?
#69
01/03/2006 (5:39 am)
It's totally up to you really John. If you want to email it then I would just send me the files that have changed and perhaps just isolate the areas with some markers like "//JOHNP" or something else you could post the bits here.

To be honest, if you post me just the files that have changed, I could probably figure out what you've done anyway.

I don't really need a working version or anything. Just an idea of how you drive it.

- Melv.
#70
01/25/2006 (2:14 am)
Just wanted to mention that Little Gods launched on BigFish Games today. Took it a few months, but it's all good. :)
#71
01/25/2006 (3:12 am)
Awesome! i hope you make the GG news page very soon :)
#72
01/25/2006 (3:40 am)
Go Jason!! I also saw LG on Game Tunnel making 3th place for best arkanoid game of the year!! :) I am considering starting on a more ambitious (compared to EggStatic) game at the moment. Are you working on a follow-up title already?
#73
01/25/2006 (4:48 am)
Thanks, guys. :)

@Edo: Yes, I have a followup project that's almost done called Asha's Adventure. Greg is working on all the art, but the code is basically finished. I'm also creating a 3d game engine (called the Golem Engine [a creature made of various pieces] because game objects are built from dynamically pluggable components instead of static class inheritance) using OGRE and Python which might be used for the game after Asha's Adventure. But I'll probably do another 2d game with T2D sometime this year. And in between all this, I'm going to rebuild my website using a new CMS tool for better features and a more sales-oriented focus.

Needless to say, I'm really busy!
#74
01/25/2006 (6:48 am)
Congratulations on getting LG up on BigFish. The best of luck with the future, it sounds like you're going to be busy and hopefully, if all goes well, not short of cash. :)

- Melv.
#75
01/25/2006 (3:15 pm)
Thanks for the encouragement, Melv. Without your engine, it would've taken me a lot longer, and I'd have many more bugs! ;)
#76
01/26/2006 (2:47 am)
Thanks Jason, that's good of you to say. :)

- Melv.
Page«First 1 2 3 4 Next»