The Inverted Engine
An FPSC for 2D games
Hello everyone,
you may have seen my other thread about the previous engine.
Well at the time i didn't really know what an engine was completely.
So i know now and am adding a completely user based interface using bluegui, now the program can be used by people that dont even own DBP, and my aim is to have it be like FPSC but for 2d games.
Here is a list of some of the awesome upcoming features:
= done
= working on
= planned
----------------------------------------------------------------------------------------------------------------------------------------------------------
: The properties window with all features availible to the entities
: Status bar with FPS (avg fps is 590)
: Toolwindow with four add entity buttons (player, enemy, item, and NPC)
: Complete animation initalize sequence
----------------------
: Loading images from dialogs with BlueGui (the exe keeps crashing when i load an image from a function, help would be great)
: Lights! Yes thats right, lights
: Sounds initalize sequence
: Visual FX initalize sequence
: CoLines (collision lines, awesome feature, will be explained later)
: File, view, insert, modify, and help menu functionality
: A ton more
----------------------
: Enemy and NPC support, next thing to be worked on
: Able to script like FPSC, this is for those people that want to add a bit of "custom" to their games
: Able to export an EXE (help on this would be appriciated)
: Set player movement keys, buttons in place just have to add an input window
: Item library, a huge library with default items and items you put in. These can be assigned to npc's to sell. or for monsters to drop
: Spell animations (i hope)
: The look of the pics in my old thread, except this time it will be IN the engine (sweetness
)
-----------------------------------------------------
Here is the readme i designed:
(it is not even close to finished but here is the beginning of the
readme. It just explains different features of the engine:
You have heared of FPS Creator by the game creators, or RPG maker... yeah RPG maker, right... anyways.
My program, Inverted Engine is a program like FPSC that allows you create your very own customized 2D RPG.
It includes full animation cycles, AI, NPCs, your own battle system, you name it; its like the moniter is a clean canvis that you can do anything on very easily with my program.
Take a look at the following sections to get a broader idea of what this program does.
***************
*** CoLines ***
***************
After you build you visually pleasing enviornment you will want the player to be able to collide with it, right?
That is what CoLines are for (collision lines). These are lines with two draggable verticies on the end.
When the player jumps on top of a CoLine they will collide and stop or do what the user defines.
The engine is built to be compatible with WHATEVER the user wants. You can get creative with CoLines and use the scripts to do other things with them.
For example, a script command in the engine is "PlayerHealth" in the action text box in the properties panel of a CoLine you can set "PlayerHealth=PlayerHealth-100"
what this does is make it so when the player collides with the CoLine they will loose health but not collide.
But if they wanted to make a ground object that hurts whenever the player touches it, but is collidable they would do:
"PlayerHealth=PlayerHealth-100
PlayerCollide=100"
The second line makes it so the player stops 100%. If you set this to 50 the player would start sinking down into it. This could be used for quicksand or lava.
***************
*** Enemies ***
***************
Enemies are one of the more interesting things of the Inverted Engine. They are 100% customizable if you have a wide imagination.
For starters you can load in a monster tile set into the "Tile Devider" program that is included in the engine.
You put in the tile size "32, 48, you name it" then the program will divide the image into several different images. This meens that the monster tile set has to be one set size.
After you have divided up the monster you can set the number or tiles for attacking, walking, etc.
If the first 5 tiles in the tile set were attacking, you would put "1" in the starting frame and "5" in the ending frame. This would be in the attacking section of the properties window.
Then in the script when the monster is told to attack they would use these animations. The default sets for animation are as follows:
Attack
Swim
Ranged Attack
Walk
If one of the sets is not specified it will stay at frame 1. If ranged attack is not specified it will use the other specified attack animation.
Some of the simple options in the property window for enemies include health and armor input boxes. But more advanced ones include:
Attack, ranged attack, and walk. As stated before you will put in the filename of the file and then name the specified frames for the animation.
The engine will automatically dice up the image and put in the animation when called upon.
The enemies projectiles and attack FX are a whole nother thing.
If your enemy is a ranged attacker you can specify at what range the will attack with range. 100 pixels meens they will start ranged attack 100+ pixels away from the player.
If you specify 0 the enemy will always use ranged attack.
There are two options here, the projectiles and attack FX. The projectiles are arrows, magic, teddy bears; anything that the enemy releases on a ranged attack.
And the attack FX are the slice and dice effects of close ranged combat. If you want a green slice to appear whenever the enemy does a melle attack you specify frame numbers and the image.
The engine will dice her on up and place the effect infront of the enemy when they attack.
****************
** The Player **
****************
You can do anything with the player as well. There are several simple functions for the new user to master. You can set the players health, speed, and animations.
As stated in the enemies section you can specify animation frames and the program will dice it up and play the animation when called upon. The more advanced features include:
Jump height, animation speed, custom scripts (more on that later) and more.
Player collision is an interesting subject to come on. There are many collision types; slopes, walls, grounds, and moving collision. You can set slope collision to do a few things.
Such as slide down, if you walk onto a slope you begin to slide down it, great for strategical levels. You can also use these as a greater way to keep the user from leaving your level, you can set it
to be 100% side collision which meens they collide with it as a wall and cant go up at all. Grounds were discussed earlier in the CoLines section. Remember all collision in this engine is achieved with CoLines,
it depends if you place them diagonally straight up, horizontal, you name it. And last moving collision. If you want a moving cloud or a moving platform this collision will help you achieve that.
You can set waypoints for CoLines so they move and you have two options. Sticky movement or sliding movement. Sticky movement allows the character to stay on the platform as if they were glued to it.
And sliding movement meens the character has to move to stay ontop of the platform, more difficult but more rewarding.
**********************
** Special Features **
**********************
There are some special things about the engine that you may want to hear, this is regarding some of the things that you may or may not see in other 2D engines.
Swimming: Swimming is an aspect i thought about when i was swimming today, why not put in an interesting swimming system. Swimming would be the same as running around a level except for:
You would have freedom of movement, no gravity while moving. If you stop moving then you will slowly drift to the top. When you enter the water and are underwater there will be a bar at the top of the screen, this represents your breath.
When you are underwater breath is like health, if you run out of breath you will die; and float to the bottum of the body of water.
Code or EXE debate: I have been debating for some time weather or not to have the program just export DBP code so the user can put it into DBP and make very fine changes that are not possible in the editor,
or have it export an EXE file which i am currently unsure how to do. I will probably end up exporting an EXE so people without DBP can buy my program and I can sell it for $20 - $40.
Layers: As most 2d engines have there will be an eraser tool to erase tiles that are in the screen when you are in design mode. But there is an extra feature in the Inverted Engine that allows you to create multiple art layers.
When in design mode you can keep placing tiles over the top of eachother and the alpha spots will show tiles underneath them. In the properties window you can also set the transparency for a tile, so now you can have two tiles overlapping eachother.
Modes: There are a few modes in the engine that allow you to do certain things; test mode (allows you to test your game), design mode (add more elements to your game), and script mode (you can script your own scripts for the engine, can be pretty interesting)
Test Mode - Kind of self explanitory, when in this mode there are few options for the visual aspect of the game, but for the most part it allows you to see how your game is coming along without having to build an EXE each time you want to test it.
Design Mode - Has all of the features talked about above and hundreds more, this is were you add everything to your game, from potion drops to NPC's.
Script Mode - This mode is for those who want to add more to their games with functions that they create. I talked about very very simple scripts earlier on, you can script NPC's or entites to do whatever you want to give your game a more personal touch.
That about covers a few of the special features, but there are bound to be more in the future, expect Inverted Engine to be your one and only stop to a hardcore and well rounded 2D Game creation program.
***************
**** NPC's ****
***************
[i]To be added later[/i]
So thats a little bit for you to get your feat wet. Now ill show off some of the screenies.
(By request i have put all of the screenies in links so people reading dont get bumped down the page)
http://i175.photobucket.com/albums/w123/tellert/finishedForm.jpg
http://i175.photobucket.com/albums/w123/tellert/startEndFrames.jpg
http://i175.photobucket.com/albums/w123/tellert/selImageSize.jpg
http://i175.photobucket.com/albums/w123/tellert/Spritebrowse.jpg
http://i175.photobucket.com/albums/w123/tellert/FileMenu.jpg
http://i175.photobucket.com/albums/w123/tellert/DesignWindow.jpg
http://i175.photobucket.com/albums/w123/tellert/AnimationWin.jpg
More will be added later, i hope i gave you enough to get your feet wet.
Please reply if you view, i love constructive critism and comments even more. So please comment.
Thank you,
-Inverted
Lawl