explore-rpg.com Latest Release:
   Explorations (Build #9.728) On : 5:10 PM 3/13/2010
home forums how to register? documentation order now! who am i? contact me

eMotions Graphics Framework

 

emotions.jpg (17615 bytes)

The eMotions Graphics Framework (EGF) is a script based extension directly to OpenGL. eMotions is an independent graphics engine that can be harnest for any 2D or 3D project. It features a simple object based syntax and has been used to drive games created with Explorations RPG System. eMotions Graphics Framework was written in PowerBASIC.

eMotions v2.0 includes dynamic font rendering and embeded GUI components to create user interfaces similar to Windows. Everything is managed within OpenGL enabling full 3D rotation. Simply Amazing!

The purpose of eMotions was to create a totally customizable reliable graphics framework. The blend of OpenGL and a user-friendly script syntax has given birth to this powerful game development tool.

eMotions Screenshots :

eMotionsv2_edit.jpg (42610 bytes) eMotionsv2_shadows1.jpg (49111 bytes) eMotionsv2_shadows2.jpg (62121 bytes) eMotionsv2_shadows3.jpg (61845 bytes)

eMotions running with Explorations :

eMotions_Screen1.jpg (86433 bytes) eMotions_Screen2.jpg (93446 bytes) eMotions_Screen3.jpg (87379 bytes) eMotions_Screen4.jpg (58095 bytes) eMotions_Screen5.jpg (59093 bytes) eMotions_Screen6.jpg (58797 bytes) eMotions_Screen7.jpg (82740 bytes) eMotions_Screen8.jpg (117715 bytes) eMotions_Screen9.jpg (90835 bytes) eMotions_Screen10.jpg (101547 bytes) eMotions_Screen11.jpg (96008 bytes)

eMotions includes pre-made GUI objects : (to emulate Windows)

eMotions_GUI1.jpg (59723 bytes) eMotions_GUI2.jpg (87140 bytes) eMotions_GUI3.jpg (45523 bytes) eMotions_GUI4.jpg (83276 bytes) eMotions_GUI5.jpg (57309 bytes)

btn_download.jpg (1441 bytes) btn_order.jpg (1377 bytes)

How eMotions Works?

The script syntax for eMotion is object based which makes it simple but very powerful. Once you understand the all the properties of a single graphics object, you can create complex graphics effects within an interactive 3D framework. Save any file as .MOTION and you can double-click it to run the animation.

Below is a brief explanation of a sample .MOTION file included within the download. (Lighting.MOTION)

 

wpe7.jpg (6984 bytes)

BEGIN: BACKGROUND
  TYPE = OVERLAY
  POS = 0, 0
  SIZE = DLG_WIDTH%, DLG_HEIGHT%
  BLT = COPY

  IMAGE = DAT\MAP.JPG
  RESIZE = TRUE
  ENABLED = TRUE
END: BACKGROUND

 

 

Each script segment controls an specific graphics object on the screen. The script above will load and display the background image (MAP.JPG) shown in the above screenshot. (BACKGROUND is a reserved handle name within eMotions.)

 

BEGIN: SPRITE1wpe12.jpg (6388 bytes)
  TYPE = SPRITE
  POS = (DLG_WIDTH% / 2) - 25, (DLG_HEIGHT% / 2) - 50
  FRAMES = 8, 6, 6, 3
  ANIM = 0, 3, TRUE
  SIZE = -1, -1
  LAYER = 6
  BLT = TRANSPARENT
  CASTSHADOW = TRUE, 20, 20

  IMAGE = DAT\SHIELD.BMP
  RESIZE = FALSE
  COLLISION = TRUE, FALSE
  WALLCOLLISION = FALSE, FALSE
  ENABLED = TRUE
  LAYER = 4
END: SPRITE1

 

The script above will dispay and animate the character sprite shown in the center of the screen. Each graphics item must have a unique name. eMotions provides a very standard and simple syntax that makes graphics presentation and animation portable.

 

BEGIN: BLOCK.PERSONALwpe13.jpg (6183 bytes)
  TYPE = PROP
  PARENT = SPRITE1
  POS = (DLG_WIDTH% / 2), (DLG_HEIGHT% / 2)
  SIZE = 10, 10
  LAYER = 2
  BLT = TRANSPARENT
  LIGHTING = POINT, FALSE, 0, 0, 360, 35, 35

  IMAGE = DAT\STANDARD1.BMP
  RESIZE = FALSE
  COLLISION = FALSE, FALSE
  WALLCOLLISION = FALSE, FALSE
  ENABLED = TRUE
  LAYER = 4

  ARC = 60, 180
  POSCHANGE = 0, 0, 4, #SYS_INFINITE%#
END: BLOCK.PERSONAL

The script above will attach a small square image, which is also set as a lightsource to the sprite and rotate the light 360 degrees around the sprite. As the light rotates you will notice the sprite casts a shadow. (note : CASTSHADOW property within SPRITE1) The LAYER command controls which object will appear On Top. The higher the LAYER property the closer to the forefront of the render.

 

For Fun:

If you add the command below to the SPRITE1 script, and re-run the script, you will be able to grab the sprite and drag it around the screen. (You only need to add the line anywhere within the BEGIN / END section for SPRITE1)

CANDRAG = True, True, True

 


Explorations RPG System     |     (c) 1995 - 2010 by Tyrone W. Lee      |     All rights reserved.Bryce5Tower.bmp (81654 bytes)