The Daily Click ::. Forums ::. Klik Coding Help ::. Methods to do stuff in MMF! (Newbie/Expert Tips)
 

Post Reply  Post Oekaki 
 

Posted By Message

Silveraura

God's God

Registered
  08/08/2002
Points
  6747

Game of the Week WinnerKlikCast StarAlien In Training!VIP Member360 OwnerWii OwnerSonic SpeedThe Cake is a LieComputerChristmas Tree!
I am an April Fool
25th January, 2005 at 21:38:05 -

Just because I'm pretty bored now, I was thinking about making a little post that could help push some idea's out of people by listing some things you can do with MMF.
Its basicly a little list of "Did you know?"'s

Well here we go:
Did you know you can make a splitscreen game with the 'Subapplication' object?

Did you know that you can use the FTP object to create update scanners & assure people are using the latest version of the game or application.

The INI object is better then the INI+ object in MMF.

The INI object can be used to make save games.

DirectX shouldnt be used if you have alot of transparent objects or alpha channelling.

The layer object is useful for letting you walk infront & behind objects by setting the position of the object's layer depending on your Y position.

Its possable to get the percent of a counter's current value compaired to its max value with this event: Round( value( "Counter" ) / ( maxvalue( "Counter" ) * 1.0 ) * 100 )

Groups can be activated & deactivated to close off events that you might want to use later, or use events later on in the runtime.


Well if you want you can add to the list.

 
http://www.facebook.com/truediamondgame

RapidFlash

Savior of the Universe

Registered
  14/05/2002
Points
  2712
25th January, 2005 at 23:17:49 -

Val(string) --> converts a string to a value. This is useful for retrieving values from Edit Boxes and using them in calculations.
Str$(value) --> converts a value to a string. This is useful for adding values to Edit Boxes.
Sin(value) and Cos(value) --> Sine and Cosine. Useful for 360 degree movements.
ATan(1.0 * slope) * 180 / 3.14159 --> How to find the angle between two objects. Example: ATan(1.0 * ( Y("A") - Y("B") ) / ( X("A") - X("B") ) * 180 / 3.141459
RGBAt(value, value) --> Retrieves the RGB value at a certain point in a sprite.
Mid$(string name, starting position, length) --> Retrieves the middle of a string. Useful for parsing and combos.

 
http://www.klik-me.com

DaVince

This fool just HAD to have a custom rating

Registered
  04/09/2004
Points
  7998

Game of the Week WinnerClickzine StaffHas Donated, Thank You!Cardboard BoxDos Rules!
26th January, 2005 at 02:32:27 -

Here's some for stupid newbies:

Did you know TGF and MMF are for creating games and applications?
Active objects can move around and be programmed in the event editor.
Backdrop objects can't.
There is something like, called "extension" which is often free and improves MMF or TGF.



 
Old member (~2004-2007).

DaVince

This fool just HAD to have a custom rating

Registered
  04/09/2004
Points
  7998

Game of the Week WinnerClickzine StaffHas Donated, Thank You!Cardboard BoxDos Rules!
26th January, 2005 at 06:58:28 -

Very funny.

 
Old member (~2004-2007).

AndyUK

Mascot Maniac

Registered
  01/08/2002
Points
  14586

Game of the Week WinnerSecond GOTW AwardHas Donated, Thank You!VIP Member
26th January, 2005 at 09:33:11 -

Did you know its illegal to download a WAREZED version of mmf? its true!!!!

 
.

Klikmaster

Master of all things Klik

Registered
  08/07/2002
Points
  2599

Has Donated, Thank You!You've Been Circy'd!VIP MemberPS3 Owner
26th January, 2005 at 12:58:03 -

background system boxes are good for parallex effects
Active system boxes make good selection boxes (Good for selecting units in an RTS)

 
n/a

DeadmanDines

Best Article Writer

Registered
  27/04/2006
Points
  4758
26th January, 2005 at 14:44:42 -

By using what's called a 'game engine', you can create awesome effects in MMF.

You build a level editor in MMF, and this creates levels and saves them as an external file. You then get your MMF game to scan the external files, building the level you have created in your level editor.

This is more complicated, but you end up with an array containing details about every single tile or object in the game. What can you do once you have these? Well:

- You can always find out what kind of tile the user is standing on - even though all the tiles are backdrop objects!
- This way you can make tanks get stuck when they drive over mud
- Or make the player swim when he steps into water
- Or even make the player's footsteps sound different depending on the kind of ground he is walking on!
- You can make it so leaves fly up when he walks on grass
- You can make it so that ripples form when he walks in water.

All of that without having one tile saved as an active object! Anything else?

- If you're very careful, you can make reflections of your character appear in water and other shiny surfaces.
- You can make certain enemies only appear on certain tiles - so sand monsters stay in sandy areas, forest monsters stay around trees, and water monsters stay on the water.
- Similarly, if you have a 'meadow' tile, you can make butterflies and insects flutter over them.
- You can make little random glints of light shine on water tiles - without it just looking like an animated tile!

- You can randomise tiles. So you could have five slightly different versions of the 'sand' tile. Maybe one has a rock in it, another has a little tumbleweed, and the others just have different lumps of sand in them. When the game loads the level, it will randomly alternate between these tiles - so each time the game loads, areas of sand always look a little different.

- You can make it so when you go back to the level, bullet holes are still there. The dead bodies of your enemies are still there - maybe they have decomposed a bit since your last visit.

- Your game is smaller! Instead of one massive .cca or .exe file, you suddenly have a minute .cca/.exe file and a load of equally minute external level files (they can be as tiny as you want them to be within reason).

- Your game is easier to update and change! Because every level is loaded by just one frame, any changes to that one frame immediately affect all levels. No boring cut and paste of code through hundreds of MMF frames. Just one change, and every level you have made will be affected.

- It's modable! People can change the external files and change your game! This is great! When they finish the game, it adds replay value.

- People will respect you cos you and your games will own



Those are just *some* of the benefits to making a game engine. It's more complicated, yes. It takes a bit longer to start with, yes. But that's only to start with. Once your engine is completed, making a game is a breeze.

 
191 / 9999 * 7 + 191 * 7

Assault Andy

Administrator
I make other people create vaporware

Registered
  29/07/2002
Points
  5686

Game of the Week WinnerVIP Member360 OwnerGOTM JUNE - 2009 - WINNER!GOTM FEB - 2010 - WINNER!	I donated an open source project
27th January, 2005 at 19:23:02 -

Did you know that using VRAM usually makes games with scrolling run well.

You can change the memory properties of any active object, string or counter and change it to a global object.

Create shortcut icons on the toolbars to provide easy access to the most frequently used commands.

If you are designing an application in 256 colors, it's a good idea to make sure all your graphics are remapped to the same 256 color palette. Otherwise, you might notice palette changes as you move from frame to frame.

Give each object a clear and descriptive name that indicates what the object is used for. This will make life easier when you return to an old application three months later. You won't have to wonder what the object is for and why you used it.

To gain more control over samples and how they are played, try using the MCI object. This allows you to track, pause, play and repeat samples with more control. Because MCI loads samples into an alias you can load samples straight from disk, thus decreasing your application size.

When designing an application that relies on small text or dots to show information, it's a good idea to avoid using colors, such as green and red, that some people have trouble seeing.

Whenever possible, use the memory options "load on call" and "destroy after use" for active objects. In the event editor, use the "create object" action to display your object. This reduces the time it takes to load your application since all graphics won't be loaded at the same time.

When developing an application that must handle many external files, a good file structure is particularly important.

After a major change it's a good idea to save your application with a new name. Then, if you wish to go back to a earlier version you can.

Comment your event lines. This makes it easy for you to understand your code when you look at it in the future. It also helps others to understand what you have done.

Use groups in the Event Editor to keep related events together.

If you want a group of events to be easily portable, store them in a related object's behavior.

If you have a group of events that are used in every frame, add them to the Global Events in the Application Properties.

To avoid making your applications over-complicated, try breaking them up into smaller logical groups in the Event Editor. Multiple CCA files can be inserted into the Storyboard editor.

Don't be afraid to try different approaches when solving problems. Not many people can write a complicated application that works the first time. There are usually many ways to write an application in Multimedia Fusion and with a little experience you will find the methods that work best for you.

If you have many active objects that do the same thing or interact with other objects in the same way, try using "object qualifier" to logically group them.

To copy a whole frame from one application that has multiple frames to another, you can open both applications and drag the frame from one Project Explorer to the other.

When you're making coffee (programmers like coffee at four in the morning), make mine white with one sugar.

If you are designing an application for Internet use, try to keep it as small as possible by lowering your sample rates. For example, instead of using16-bit stereo samples try using 8-bit mono samples.

You don't need to confirm every application change. Go to the 'File' menu, select 'Preferences' and then choose the 'Picture / Animation Editor tab'. You can set the auto-save options to automatically save all your changes.

Toolbars are completely customizable. Not only can you change their positions, you can even change the order of the icons themselves. You'll be spending many hours editing programs, so why not configure the editors to suit your own personal needs.

It's a good idea to name your application, frames and objects as soon as you create them. You might forget to do this later, and good descriptive labels can often speed up development.

Before switching to the Event Editor to implement code, make sure you have all the objects you need, not only for the immediate task, but for code you plan to implement in the near future. It will save you time if the objects you need are available and don't have to be created.

Global Values are a precious commodity. As the only constant array of values, use them only when it is absolutely necessary.

If your application needs to store a lot of global data and you've run out of Global values, try using the Array object. The array data can be written to a file and read in any frame.

To speed up imports, you can import graphics from the Windows desktop directly into the various editors of IMSI Multimedia Fusion. Try opening the Frame editor and dragging in a graphic file from Windows Explorer or the desktop.

Explore the new Event List Editor, which combines the power of the Event Editor, with a descriptive layout of the code. Your code can now be read, printed out and shared as easily as conventional programming scripts.

Don't panic!

To avoid a cluttered development environment, close all windows that you're not using. For example, don't leave properties windows open unless you're modifying one of the properties. Try to leave only the Project Explorer, and Frame and Event editors open.



 
Creator of Faerie Solitaire:
http://www.create-games.com/download.asp?id=7792
Also creator of ZDay20 and Dungeon Dash.
http://www.Jigxor.com
http://twitter.com/JigxorAndy

Tigerworks

Klik Legend

Registered
  15/01/2002
Points
  3882
27th January, 2005 at 19:36:35 -

Erm, well done for copying and pasting all of MMF's hints and tips.

 
- Tigerworks

Assault Andy

Administrator
I make other people create vaporware

Registered
  29/07/2002
Points
  5686

Game of the Week WinnerVIP Member360 OwnerGOTM JUNE - 2009 - WINNER!GOTM FEB - 2010 - WINNER!	I donated an open source project
27th January, 2005 at 23:00:16 -

Thanks, I was stumped after two.

 
Creator of Faerie Solitaire:
http://www.create-games.com/download.asp?id=7792
Also creator of ZDay20 and Dungeon Dash.
http://www.Jigxor.com
http://twitter.com/JigxorAndy

DaVince

This fool just HAD to have a custom rating

Registered
  04/09/2004
Points
  7998

Game of the Week WinnerClickzine StaffHas Donated, Thank You!Cardboard BoxDos Rules!
28th January, 2005 at 03:16:55 -

...But I don't like coffee!

 
Old member (~2004-2007).

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1970

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
29th January, 2005 at 13:02:47 -

theres a proper manual on the cd (called manual.pdf surprisingly enough)thats a lot better than the help in mmf itself.

its pretty obvious but i quite often get the impression people dont bother to read it.

 
n/a

Assault Andy

Administrator
I make other people create vaporware

Registered
  29/07/2002
Points
  5686

Game of the Week WinnerVIP Member360 OwnerGOTM JUNE - 2009 - WINNER!GOTM FEB - 2010 - WINNER!	I donated an open source project
29th January, 2005 at 18:56:07 -

There's actually lots of useful things on the MMF cds that you don't notice. Like examples, sounds, things to read, open-source games.

 
Creator of Faerie Solitaire:
http://www.create-games.com/download.asp?id=7792
Also creator of ZDay20 and Dungeon Dash.
http://www.Jigxor.com
http://twitter.com/JigxorAndy

Silveraura

God's God

Registered
  08/08/2002
Points
  6747

Game of the Week WinnerKlikCast StarAlien In Training!VIP Member360 OwnerWii OwnerSonic SpeedThe Cake is a LieComputerChristmas Tree!
I am an April Fool
29th January, 2005 at 21:22:16 -

I actually never really noticed how much is on Disk2, I'm always trying to find out how I do different things, little do I know, its almost all on Disk2. Normally when you hear about MMF tutorials, you often think newbie tricks, thats why I never checked.

 
http://www.facebook.com/truediamondgame

gizmo



Registered
  15/03/2003
Points
  1206
30th January, 2005 at 11:10:47 -

The global function object is a godsend for application communication, its also great for making your app more "moddable" with plugins and various addons being able to subapped in (be sure to secure it).

Should your projects become unwieldy (apps are the main victim) and you have hundreds of ccas, subapps (external) and data files, batch files are great for compiling your recent version by copying everything to a directory, cleaning the cca's and test files. And producing a clean build (you can also use additional programs to package your build automatically).

Music helps me click, dunno bout you ;P

 
<signature> err... </signature>

Brian Haase (FSP)



Registered
  22/01/2005
Points
  691
30th January, 2005 at 14:01:45 -

Turns out you can do a real simple 'Smart Missile' by creating a missile object, then make either an Always event or a timed trigger (every second or such) and then instruct all missiles to 'Look in the direction of...' a target item. It will home in on the target then. You can ALSO add several 'Look in the direction of...' instructions to create multiple trackable enemies, as well as priority - the last item on the list being the highest, the first being the lowest.

If the missiles don't explode on contact either, (like mine, because i'm still building the explosion events) they buzz around your target like bees - Each missile you fire cause the chain to shift by one. Its insane.

ALSO - The 'Shoot Object' action is great for making paratroopers. Seriously. Give it a slight range of available directions (45 degrees in either direction of down) and a speed of 4. When the plane drops the 'trooper' it'll drift slightly in one direction or another, and float slowly towards the ground.

Anyway, that's all I have for now.

 
Current Projects:
Bomb Squad (Total Progress - 3%)
:: Current Task Progress: 40%
:: Current Task - Level Editor Shell
   

Post Reply



 



Advertisement

Worth A Click