Game Development Community

Level Transition Effects

by Stanley D Chatman · in Torque Game Builder · 08/26/2006 (10:52 pm) · 8 replies

I have had TGB for all of 3 weeks. I come from the GameMaker community and one feature that I had grown use too was having built-in functions available when I did transitions between levels and rooms. One library script available for GameMaker had over 70 room/level transitions available.

With the help of some Torque script experts I would like to convert this library over to TorqueScript so it is avaiable to ALL of the TGB community. I think this type of script library would be invaluable to just about everyone.

I am including the following links so everyone can get a better understanding of what I am talking about and where I am coming from with this post:

Link to Room Transition Example executable: www.tccons.com/RoomTransitions/TransitionExample.exe
Link to Room Transition Source Code: www.tccons.com/RoomTransitions/RoomTransitionsAll.txt
(****** Use WORDPAD to open it has linefeeds and stuff ******)

Link to Room Transition Help File: www.tccons.com/RoomTransitions/RoomTransitions_Info.rtf
Link to GameMaker Help File: www.tccons.com/RoomTransitions/Game_Maker.chm


If anyone would be interested in helping out on this please let me know. Most of the basic code is here we just need to convert to TorqueScript syntax.

#1
08/28/2006 (6:50 am)
The link to the code doesn't load up.
#2
08/28/2006 (8:49 am)
I fixed it. The link should work now. It has the source code for all 70 transitions so it is somewhat big
#3
08/28/2006 (9:28 am)
GameMaker was written in Delphi. The engine itself is not open-source. The stuff you link to is written in GameMaker's scripting language, Game Maker Language (GML); which is entirely dependent on the GameMaker engine.

The only way I can think of to recreate this kind of functionality in Torque would be to modify the engine code and providing TorqueScript (TS) commands to access the new functions. Even getting a peek at the GameMaker source might not be all that helpful, since it is written in Delphi and Torque is written in C++; though it would certainly help. Regardless, it would be a massive undertaking.

I can see no way to simply covert GML to TS.

It's a great idea, though!
#4
08/28/2006 (11:07 am)
The bigger question, is TGB a Game Engine or a Game Builder. This is a huge distinction and very critical. The key ingredient to being a Game Builder is understanding the process of making a commercially successful game and also the technical challenges this entails and having a product that balances both.

Is it too much to ask for a Splash Screen Object or class. 100% of all games have this why not include in the base engine. The basics to any game are Displaying Score, Displaying Health, Displaying Lives remaining. Is it too much to ask to have these as objects? Some fancy poilshed level transitions, is it too much to ask to have a couple included?

A Game Engine gives you the ability to roll your own thus taking you away from some other aspect of making your game better.

A Game Builder on the other hand understands the importance of these base game making elements and provides them intristically seeing their value in freeing up your time to improve your game and not inudate you with having to focus on these grunt-level tasks.

How can the t2dStaticSprite Class not have a MouseEnter and MouseLeave event? And yes I have seen the workaround but that entails like 100 lines of extra scripting code.

I'm sorry about ranting but I am one frustrated programmer about now!!
#5
08/28/2006 (2:33 pm)
@Stanley: First off I fully support ranting and often do so myself so don't take any of my comments the wrong way :) We at GG and in our community fully support people speaking there mind, including ourselves.

I think your disctinction between Game Engine and Game Builder is accurate from your perspective. A lot of these expecations are relative between different developers and users though...

"The bigger question, is TGB a Game Engine or a Game Builder."

I would say both. In fact the Game Engine aspect of it was soley worked on at first and then the Game Builder aspect is what has been worked on since (though the engine has been worked on and is still being worked on).

"Is it too much to ask for a Splash Screen Object or class."

No... is an engine object a good place for it ? no... at least in my opinion it isn't. Cluttering the engine with every little object a game could -possibly- need would be murder to all users and performance in my opinion. Script is the perfect place for something like that. In fact the demos that have been released with TGB since the beginning (Back when "T2D" was released there was the spacescroller demo) have had example splash screen implementations, not entirely without engine support (a Gui control that fades).

A Game Builder always needs a Game Engine. How integrated they are is up to the designers. Also the concept of a Game Builder is very relative... there are things like Game Maker and then there are many other styles and levels of them. We obviously aren't trying to be Game Maker, we have our own distinct vision.

In the end we would -love- to have example of everything you could possibly need for your game in an easily dropable manner. Is this possible? not entirely, though we are working on it -every day-. We are very dedicated to making sure the value you have in our product is increasing every single day :)

"but that entails like 100 lines of extra scripting code."

A bit of an exageration.... more like 20 lines of script, maybe less. Usually there are multiple ways to do things.
#6
08/26/2009 (11:59 pm)
Have anybody done something like this?

I would love to see some example transition effects on TGB!
#7
09/04/2009 (12:14 am)
Very impressive the transitions effects from GamaMaker... I would love to see something similar on Torque!
#8
09/09/2009 (9:46 am)
You can try to achieve some transitions between levels my multiplying sceneWindow object in mainGui and then load first level to sceneWindow1 and second level to sceneWindow2. After that put sceneWindow2 over sceneWindow1 and do something like blending, move all objects in level towards border of the level etc.

However there are few disadvantages of that method:
* you would have two levels and assets loaded in the same time (watch memory usages!)
* you can't make some effects like splitting level into two pieces and moving one to the left and the other to the right, etc.
* you may have problems if both levels have objects with the same names (like HIDImageMap for example)