Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

877756 Posts in 32884 Topics- by 24317 Members - Latest Member: jgallant

May 20, 2013, 10:52:42 AM
TIGSource ForumsCommunityAnnouncementsMachina Engine
Pages: [1] 2 3
Print
Author Topic: Machina Engine  (Read 4002 times)
FelipeFS
Level 0
***


felipe_ferreira_da_silva@hotmail.com
View Profile WWW Email
« on: April 10, 2012, 04:46:30 AM »

Machina Engine is a game engine for 2D, Vectorial, and 3D games. The gender of games is not delimited, so the developer can create any kind of game.

Also, I'm developing an IDE for the game engine, which will allows to create games using a drag-and-drop interface. This IDE can manipulate the content of the game projects. This content is:
  • Classes;
  • Sprites(2D/Vectorial/3D);
  • Rooms/Maps;
  • Pictures, Backgrounds and Tilesets;
  • Sound and Music;
  • Fonts;
  • Texts;
  • Scripts Now the developer will write directly in the code;

To store the content of the game, two files are the major used:
  • Data Files: Inside these files, the game engine stores information about the content of the game, but only information, For example, if the game will load a sprite, first the game engine will look inside the data file the name of the sprite and it's location. The location will redirect to a resource-file, where the images of this sprite are stored. Also, the developer could use Data Files as save-files.
  • Resource Files: This file works like the traditional *.res file(from Windows), but can storage more kind of files, like: Sound files, PNG, Bitmaps, Texts, Fonts. And these elements are listed with an index number and name.

To make the IDE, I'm researching the bests features of the most popular IDE's(Game Maker, RPG Maker, Construct, Blender, and Unity) and putting in my IDE. Also, avoiding the limitations. The features as far are:
  • Room editor;
  • Sprite editor;
  • Picture/Background/Tileset editor;
  • Sound management;
  • Source-Code editor - this is where you create the logic of your game;

Blink Graphic Library- The game engine is using OpenGL.

Hand Joystick Physics Engine- The physics engine for 2D games is completed. It has support for:
  • Force application;
  • Torque;
  • Velocity;
  • Acceleration;
  • Friction;
  • Collision detection(per-pixel);
  • Conservation of Momentum;

Hand Pencil Programming Language and Compilation- The game engine is being written in Pascal(Object Pascal), using Free Pascal compiler. This means that, almost certainly, that my IDE will use the Free Pascal to compile the game projects.

Hand Any Key Operating System Target- The compiler is  the Free Pascal Compiler, which means that the game engine will work in Windows, Linux, and MacOS. Also, in the future, I will make support for mobile platforms.

License- I'm still thinking about it.

Information- PixelDeveloper

Thank you all!

#UPDATE 1
Screenshots of the IDE (click to see full size):
« Last Edit: September 09, 2012, 06:38:33 AM by FelipeFS » Logged

FelipeFS
Level 0
***


felipe_ferreira_da_silva@hotmail.com
View Profile WWW Email
« Reply #1 on: April 10, 2012, 05:02:08 AM »

This is a screenshot of a game in run-time:
Logged

kamac
Level 10
*****


Notorious posts editor


View Profile WWW Email
« Reply #2 on: April 10, 2012, 07:59:48 AM »

Do you have any more screens?

Also, will it support scripting language, instead of drag & drop only?


Looking at text, it looks kind of professional.
Logged

FelipeFS
Level 0
***


felipe_ferreira_da_silva@hotmail.com
View Profile WWW Email
« Reply #3 on: April 10, 2012, 08:47:25 AM »

Thank you.
The screenshot above is the only one in-game. But I have some screenshots of the IDE:

[SCREENSHOT - Start screen]
[SCREENSHOT - Frame to develop classes]
[SCREENSHOT - Frame to develop sprites]
[SCREENSHOT - Frame to load pictures/backgrounds/tilesets]
[SCREENSHOT - Frame to develop rooms/maps]

Those screenshots are old, some improvement have been made since then. And, yes, the developer will be able to use a language(in this case, Pascal) instead of the drag-and-drop.
Logged

FelipeFS
Level 0
***


felipe_ferreira_da_silva@hotmail.com
View Profile WWW Email
« Reply #4 on: June 11, 2012, 08:46:19 PM »

A lot of progress have been made since my last post.
First of all, I'm using XML as language for data-files(which can be encrypted). The engine is faster and more flexible because of this.

Second, part of the physics engine is already working:
  • Force;
  • Velocity;
  • Acceleration;
  • Friction;

Sprites can be used already. Also, they can be rotated, and be animated.

The next step is to implement the physics with different types of collision:
  • Option to use multiple masks of collision for a same sprite;
  • With different masks of collision in the same sprite, the collision can be treat differently according with the part collided;
  • Default masks like rectangle mask, circle mask, etc;

...and implement the Momentum(Conservation of Linear Momentum).
Logged

wonman321
Level 0
**


View Profile Email
« Reply #5 on: June 11, 2012, 10:27:39 PM »

wow, u rock ^^ Beer!
Logged
FelipeFS
Level 0
***


felipe_ferreira_da_silva@hotmail.com
View Profile WWW Email
« Reply #6 on: June 12, 2012, 03:03:46 AM »

Thank you, sir! Gentleman
This is a simple video showing the rotation and movimentation(by force application, and friction):

http://www.youtube.com/watch?v=tcJlSJyhNa8
Logged

FelipeFS
Level 0
***


felipe_ferreira_da_silva@hotmail.com
View Profile WWW Email
« Reply #7 on: June 19, 2012, 05:37:39 AM »

Hello again, people from TIG.
I'm making a support to make my game engine run with OpenGL! Coffee
Logged

smilingjester
Level 0
*


View Profile Email
« Reply #8 on: June 19, 2012, 02:17:58 PM »

This is looking pretty nice, keep it up.
Logged
FelipeFS
Level 0
***


felipe_ferreira_da_silva@hotmail.com
View Profile WWW Email
« Reply #9 on: June 23, 2012, 10:42:19 AM »

Thank you, smilingjester!

Just acomplished part of the "room/map tiling implementation" for 2D orthographic projection. Cool
I have four 2D projections to accomplish:

  • Orthographic;
  • Isometric;
  • Dimetric; // little-known
  • Trimetric; // little-known


I'm excited to start implementing the dimetric and trimetric projections. Few games use these projections(as far I know: SimCity, Fallout, and a PacMan)!

Logged

TadeuBAS
Level 0
**



View Profile WWW
« Reply #10 on: June 25, 2012, 09:02:35 AM »

If it is free Pascal, how do you use classes ? Pascal is not just a procedural language ?
Logged

FelipeFS
Level 0
***


felipe_ferreira_da_silva@hotmail.com
View Profile WWW Email
« Reply #11 on: June 27, 2012, 03:22:51 PM »

The language used by the game engine is Object-Pascal, but most of the time, you will see people calling it just by Pascal, what makes a confusion for non-pascal-programmers.

The objects of the game are derived from a class called TBaseObject, and this class has pointers to procedures. So, this way, the engine is kind of an event-driven game engine.

It is analogous to Game Maker classes, but just analogous Smiley.
Logged

FelipeFS
Level 0
***


felipe_ferreira_da_silva@hotmail.com
View Profile WWW Email
« Reply #12 on: August 08, 2012, 11:22:11 AM »

Hello again, TigSource!
The collision detection of my game engine is done, and it is pixel-per-pixel! Coffee

Previously, I was trying to make use of the GPU with OpenGL to make the rotation of the collision masks, but for my surprise, the procedural(just CPU) rotation is very fast. So... no need of OpenGL for that.

I hope to be able to make some playable games soon. I hope!

Have a good day.  Gentleman
Logged

Nix
Level 10
*****



View Profile
« Reply #13 on: August 08, 2012, 11:29:39 AM »

If you use GPL you're a terrible person
Logged
FelipeFS
Level 0
***


felipe_ferreira_da_silva@hotmail.com
View Profile WWW Email
« Reply #14 on: August 08, 2012, 11:40:40 AM »

 Cheesy

FOR SURE I will not use GPL!

Probably, PROBABLY it will be LGPL. Smiley
Logged

Pages: [1] 2 3
Print
Jump to:  

Theme orange-lt created by panic