Jump to content


Photo
* * * - - 2 votes

Blopit's Advanced Platform Engine V1.03


  • Please log in to reply
41 replies to this topic

#1 blopit

blopit

    KING OF EVERYTHING

  • GMC Member
  • 784 posts
  • Version:GM8.1

Posted 23 May 2011 - 04:25 AM




Title:
BLOPIT's ADVANCED PLATFORM ENGINE V1.03

  • Description: An advanced platform engine for all your platform engine needs
  • GM Version: 8.0
  • Registered: Yep (for rotating Platforms)
  • File Type: .gmk
  • File Size: 28.9 kb
  • File Link: Host-A Hosting [2400+ TOTAL DOWNLOADS]
Thanks to all that have downloaded. Sorry for keeping V1.04 on hiatus but unfortunately it will remain as so for a couple months. Sorry.

No credit required but you can if you want to.

VERSION 1.03:
Multidirectional Ladders

Posted Image
Screenshot2

Additional Info
This is My Platform Engine!

It features:

-Dynamic Double Jump
-Walljump
-Jumpthrough Platforms in all shapes
-Ramps / angled floor support
-Platforms in all shapes and sizes
-Ice in all shapes and sizes
-Acceleration
-Parallax and smoothing scrolling camera
-Jump pads
-Rotating Platforms
-Moving Platforms with any Direction and Speed
-Dash with double tap
-Pickup Objects and throw them
-Multi Directional Ladders
-Other Stuff I can't remember
-Easy Customization for YOUR GAME!



Soon to be Added in Version 1.4

Water
Better Rotation Blocks
Bouyant platforms (for water)
Moveable blocks


Will be added eventually

Enemies and stuffs
Solid moving platforms
Real-time morphing terrain
Real-time bending ladders*
moving platforms in all shapes and size†

*may be scraped as it demands way too much computing power
†may be scrapped as it is currently way too buggy

Mods coming soon

Simple jumping
Variable jumping
Wall grab jump
Wall climb



DOWNLOAD HERE!!!

Do you have lite? .EXE so you can envy people with Pro





MODIFIERS
Mods can be made by anyone so feel free to submit
Mods aren't in the vanilla because they mess with currently installed stuff (you can't wall jump and wall climb at the same time)
Also they are here for ease of use so if someone want a particular thing that not alot of other people want they just have to replace a little bit of code

For people that want drop down platforms!
Spoiler


For people that want walljump without wall friction!
Spoiler





OP note 09/24/2012:
Sorry I can't work on this as much as I want to due to university and stuff. I will come back to it eventually though as v1.04 was already about a quarter done since late 2011.
New things that were being worked on were water physics, buoyant platforms, ropes, moveable boxes, crouching, more fluid rotational platforms, and cleaning up unnecessary code.
Things are technically done as most of the things are just being taken from an older platform engine of mine that I made around 2008-09.
Also I wanted to come up with a better way for people to customize this engine to how they wanted it in their game. Feel free to give me ideas.
Also feel free to tell me what you want to see in future engines (combat will most probably not make it into engine)

Edited by blopit, 24 September 2012 - 05:50 AM.

  • 10

#2 blopit

blopit

    KING OF EVERYTHING

  • GMC Member
  • 784 posts
  • Version:GM8.1

Posted 26 May 2011 - 10:50 PM

Added Multi-directional Ladders, now new updates will be included in the main gmk rather than be downloadable as addons for the gmk.
  • 2

#3 Hiddenaces

Hiddenaces

    GMC Member

  • New Member
  • 418 posts

Posted 28 May 2011 - 09:38 PM

really nice engine you have.. i think one of the best platform engines i have tried for sure.. (only thing its missing if anything is wall jumps)
  • 0

#4 blopit

blopit

    KING OF EVERYTHING

  • GMC Member
  • 784 posts
  • Version:GM8.1

Posted 29 May 2011 - 08:32 PM

really nice engine you have.. i think one of the best platform engines i have tried for sure.. (only thing its missing if anything is wall jumps)


Thnx :D and my engine DOES have wall jump just move close to a wall while off the ground and hold the arrow key pointing at the wall then press the jump key.
  • 1

#5 Cuber

Cuber

    GMC Member

  • New Member
  • 19 posts

Posted 31 May 2011 - 02:50 AM

Can I add Posted Image to my signature? It's a cool game engine.

Second of all, where is the wall jump in the .gmk? I've been looking all over for it.
  • 1

#6 blopit

blopit

    KING OF EVERYTHING

  • GMC Member
  • 784 posts
  • Version:GM8.1

Posted 31 May 2011 - 09:25 PM

Can I add Posted Image to my signature? It's a cool game engine.

Second of all, where is the wall jump in the .gmk? I've been looking all over for it.


LOL everyone needs that in their signature!

As for the walljump script like any "add-on" in this .gmk is seperated into 2 parts. The first is the 'add-on' create script and then the 'add-on' step scripts. The first can be found in the create event of object 'o_pl' :

//WALL JUMPVARS

//CHANGE THE FOLLOWING:
hwj=8 //horizontal wall jump speed
vwj=-10 //jump from wall speed
wsv=3 //wall slide speed


The second is called in the step event of object 'o_pl' by executing a script. it should be under Body 3 and it looks like this:

if ledgegrab=0{wall_jump()}

This is so you dont walljump while grabing onto a ledge

This executes the script 'wall_jump()' (found under Scripts->add_ons)which looks like this:

walljump=0

if instance_place(x-1,y,par_solid)!=noone and keyboard_check(global.left){
walljump=1
if keyboard_check(global.jump)=false and vsp>3{vsp=wsv}
if keyboard_check_pressed(global.jump){
if instance_place(x,y+1,par_platform)=noone{
hsp=hwj
vsp=vwj
}}}

if instance_place(x+1,y,par_solid)!=noone and keyboard_check(global.right){
walljump=1
if keyboard_check(global.jump)=false and vsp>3{vsp=wsv}
if keyboard_check_pressed(global.jump){
if instance_place(x,y+1,par_platform)=noone{
hsp=-hwj
vsp=vwj
}}}


Note:
-the wall_jump() code may not look exactly like this in the .gmk file
-par_platform is the parent of par_solid and o_jt (jumpthrough blocks)

The script's not very optimized, but I'm working on that. I made this script a long time ago.

version 1.04 will have scripts that are faster, have less useless stuff, and be better in general.
This version will also include water and bouyant platforms.
Moving and bending platforms are a possiblity but will lag computers if they are long or aren't used sparsely.
Solid moving platforms are on my to-do list. As well as moveable blocks.
Moving platforms in wierd shapes and akward angles are a possibility.
  • 1

#7 Cuber

Cuber

    GMC Member

  • New Member
  • 19 posts

Posted 02 June 2011 - 02:06 AM


Can I add Posted Image to my signature? It's a cool game engine.

Second of all, where is the wall jump in the .gmk? I've been looking all over for it.


LOL everyone needs that in their signature!

As for the walljump script like any "add-on" in this .gmk is seperated into 2 parts. The first is the 'add-on' create script and then the 'add-on' step scripts. The first can be found in the create event of object 'o_pl' :

//WALL JUMPVARS

//CHANGE THE FOLLOWING:
hwj=8 //horizontal wall jump speed
vwj=-10 //jump from wall speed
wsv=3 //wall slide speed


The second is called in the step event of object 'o_pl' by executing a script. it should be under Body 3 and it looks like this:

if ledgegrab=0{wall_jump()}

This is so you dont walljump while grabing onto a ledge

This executes the script 'wall_jump()' (found under Scripts->add_ons)which looks like this:

walljump=0

if instance_place(x-1,y,par_solid)!=noone and keyboard_check(global.left){
walljump=1
if keyboard_check(global.jump)=false and vsp>3{vsp=wsv}
if keyboard_check_pressed(global.jump){
if instance_place(x,y+1,par_platform)=noone{
hsp=hwj
vsp=vwj
}}}

if instance_place(x+1,y,par_solid)!=noone and keyboard_check(global.right){
walljump=1
if keyboard_check(global.jump)=false and vsp>3{vsp=wsv}
if keyboard_check_pressed(global.jump){
if instance_place(x,y+1,par_platform)=noone{
hsp=-hwj
vsp=vwj
}}}


Note:
-the wall_jump() code may not look exactly like this in the .gmk file
-par_platform is the parent of par_solid and o_jt (jumpthrough blocks)

The script's not very optimized, but I'm working on that. I made this script a long time ago.

version 1.04 will have scripts that are faster, have less useless stuff, and be better in general.
This version will also include water and bouyant platforms.
Moving and bending platforms are a possiblity but will lag computers if they are long or aren't used sparsely.
Solid moving platforms are on my to-do list. As well as moveable blocks.
Moving platforms in wierd shapes and akward angles are a possibility.



Thanks.
  • 0

#8 Kiruwagaka

Kiruwagaka

    GMC Member

  • New Member
  • 31 posts

Posted 02 June 2011 - 02:02 PM

it says that the file is corrupted when i try to run the code for some reason..
  • 0

#9 C_Pike

C_Pike

    GMC Member

  • GMC Member
  • 565 posts
  • Version:GM8.1

Posted 03 June 2011 - 06:59 PM

I love it! needs a "drop down from jump through platform" though, as well as preventing you from
slowing down your free fall againamst a wall. Amazing though, I think I will be using it in my next game.
B-)

--Edit
Also the game says its missing the high rez timer extention. Works without it (?)

Edited by C_Pike, 03 June 2011 - 07:01 PM.

  • 0

#10 blopit

blopit

    KING OF EVERYTHING

  • GMC Member
  • 784 posts
  • Version:GM8.1

Posted 03 June 2011 - 08:55 PM

I love it! needs a "drop down from jump through platform" though, as well as preventing you from
slowing down your free fall againamst a wall. Amazing though, I think I will be using it in my next game.
B-)

--Edit
Also the game says its missing the high rez timer extention. Works without it (?)


Thanx :D much appreciated
Because not all people want drop down from jump through platforms if you want this feature you will need to change a script by yourself, the name of the script to change and the code to replace the script with is all provided in the first post!

Also that slow down is there to give players more time to wall jump, if you don't want this feature you'll have to change the script of wall_jump with the one provided in the first post. OR you can remove wall jumping completely by commenting out wall_jump() in the step event of object 'o_pl'

Oh I forgot to move HRT ext from used packages. It really serves no purpose in this engine. This will be fixed along with the conflict with ladders and room_restart() in version 1.4

Thnx for trying it out glad it will be of use :D

Version 1.4 won't be out for a while due to exams :(
If you really need or really want water and water physics, you'll just have to wait.
  • 1

#11 Lotias

Lotias

    GMC Member

  • GMC Member
  • 878 posts
  • Version:GM:Studio

Posted 04 June 2011 - 02:56 AM

This is an amazing engine- this'll help me get onwards with my hidden second platform project a whole lot.
Posted Image
Edit:
Could I get a stripped down version with only the slope movement, cliff crabbing, double jumping, and ladders?

Edited by Lotias, 04 June 2011 - 03:23 AM.

  • 2

#12 blopit

blopit

    KING OF EVERYTHING

  • GMC Member
  • 784 posts
  • Version:GM8.1

Posted 04 June 2011 - 04:03 AM

This is an amazing engine- this'll help me get onwards with my hidden second platform project a whole lot.

Edit:
Could I get a stripped down version with only the slope movement, cliff crabbing, double jumping, and ladders?


Glad its useful :D

Anyways to strip it down all you have to do is comment out unnecessary stuff in the step event of object 'o_pl' and delete the useless objects.

So
dash()
turns into:
//dash()

comment out these too for what you want:
wheel_ride()
sc_pickup()
platmove()
sc_jumppad()

BUT NEVER comment out the ones that have /*KEEP*/ beside them




  • 1

#13 C_Pike

C_Pike

    GMC Member

  • GMC Member
  • 565 posts
  • Version:GM8.1

Posted 04 June 2011 - 09:14 AM

...Because not all people want drop down from jump through platforms if you want this feature you will need to change a script by yourself, the name of the script to change and the code to replace the script with is all provided in the first post!

Also that slow down is there to give players more time to wall jump, if you don't want this feature you'll have to change the script of wall_jump with the one provided in the first post. OR you can remove wall jumping completely by commenting out wall_jump() in the step event of object 'o_pl'
...


----edited for context------

*Embarrassed*

Didn't see that section of the first post...

while (alive == true)
{
facepalm +=1;
if facepalm == dienow {exit;};
};

Thanks again for an awesome bit of software.

Edited by C_Pike, 04 June 2011 - 09:15 AM.

  • 0

#14 r3spawn

r3spawn

    GMC Member

  • New Member
  • 6 posts

Posted 04 June 2011 - 05:29 PM

I love this engine and I'm probably going to use it in my project...

but I have one minor complaint (actually it's not a complaint, it's just me and my weird quirks)

I'm extremely OCD about clean code and proper syntax and looking at your code is just painful. Pleeeaase try to use semicolons and proper indentation in the next version. :D

If not for me, then do it for the amateur programmers because using proper syntax really help with the readability of your code.
  • 0

#15 C_Pike

C_Pike

    GMC Member

  • GMC Member
  • 565 posts
  • Version:GM8.1

Posted 13 June 2011 - 12:24 PM

I added y = instance_nearest (x,y,par_solid).y-8; to the ledge grab code to make
it grab consistently. Might be useful to others. (and an else if for the heck of it)

The snapping messes up the "gripping the rotating platform" 'feature', but I noticed it needs work as when you
have more than one player on the platform it bogs down the game like crazy.
Spoiler



Also,
Here is a modified wall jump scrip that allows you to hold the jump key, and press the key in the opposite direction
of the wall to quickly wall jump.
Spoiler

Edited by C_Pike, 13 June 2011 - 01:19 PM.

  • 0

#16 mentally_challenging

mentally_challenging

    GMC Member

  • GMC Member
  • 14 posts

Posted 13 June 2011 - 08:57 PM

I think your link is broken. Could you upload this elsewhere?
  • 0

#17 XxTaLoNxX

XxTaLoNxX

    GMC Member

  • New Member
  • 111 posts

Posted 19 June 2011 - 02:46 AM

Excellent Engine, however when I used it, my sprites became blurry while moving and then clear up once I stop moving. And by blur, I mean fuzzy and out of focus. Which sucks because I love your engine, it's relatively simple to use and you go through extraordinary lengths to explain what it does and how it does it. Which is great for learning, which is in itself, great, since there are people (like me) who's learning curve requires a bit more patience and persistence to achieve similar goals with gifted programmers.

Anyway, if you could fix the resolution issue with movement then this could be the best example engine here.

Also, not sure if you are on another level then me but your coding syntax looks... odd. Perhaps it's just me, but I cleaned it up when I skinned your engine down to mod it for my game. Maybe you could clean it up some? If no, then just tell me "I am off and your coding is of the "l33t" variety" and, "I should bugger off."

Edited by XxTaLoNxX, 19 June 2011 - 02:50 AM.

  • 0

#18 blopit

blopit

    KING OF EVERYTHING

  • GMC Member
  • 784 posts
  • Version:GM8.1

Posted 19 June 2011 - 03:52 PM

Excellent Engine, however when I used it, my sprites became blurry while moving and then clear up once I stop moving. And by blur, I mean fuzzy and out of focus. Which sucks because I love your engine, it's relatively simple to use and you go through extraordinary lengths to explain what it does and how it does it. Which is great for learning, which is in itself, great, since there are people (like me) who's learning curve requires a bit more patience and persistence to achieve similar goals with gifted programmers.

Anyway, if you could fix the resolution issue with movement then this could be the best example engine here.

Also, not sure if you are on another level then me but your coding syntax looks... odd. Perhaps it's just me, but I cleaned it up when I skinned your engine down to mod it for my game. Maybe you could clean it up some? If no, then just tell me "I am off and your coding is of the "l33t" variety" and, "I should bugger off."


Oh the problem with the out of focus images is caused by interpolation between pixels and the sprite being between 2 pixel coordinates probably because you set it to draw at (x,y) you should set it to draw at (round(x),round(y)) BUT DO NOT ROUND THE X AND Y VALUES THEMSELVES as this will ruin moving platforms and rotation platforms. JUST draw at rounded coordinates and this should fix your problem.

Oh and nah my coding is just messy and odd, I've heard that from many people....but I am trying to fix it up along with some other things in the next big update 2-3 weeks from now.
  • 1

#19 trevorooski

trevorooski

    GMC Member

  • New Member
  • 31 posts

Posted 23 June 2011 - 11:25 AM

This engine is wonderful! I have download about five different platforming engines, and all of them are just much too complicated and jumbled. Your engine is the only engine that you truly can just copy paste. Thank you so much for making this and I hope the game I make with it becomes a success because I will be acknowledging you.
  • 0

#20 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Global Moderators
  • 14390 posts
  • Version:GM:Studio

Posted 05 July 2011 - 01:46 AM

Please supply the link to the "High Resolution Timer" extension used by your example in your main post
  • 0




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users