Jump to content


Photo
* * * * - 3 votes

Blopit's Advanced Platform Engine V1.03


  • Please log in to reply
46 replies to this topic

#1 blopit

blopit

    just like you, only

  • GMC Member
  • 815 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

    just like you, only

  • GMC Member
  • 815 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

    just like you, only

  • GMC Member
  • 815 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

    just like you, only

  • GMC Member
  • 815 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
  • 618 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

    just like you, only

  • GMC Member
  • 815 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
  • 1206 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

    just like you, only

  • GMC Member
  • 815 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
  • 618 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
  • 618 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
  • 82 posts
  • Version:GM:Studio

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

    just like you, only

  • GMC Member
  • 815 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

  • GMC Elder
  • 16052 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

#21 -DarkAceZ-

-DarkAceZ-

    GMC Member

  • GMC Member
  • 95 posts
  • Version:Mac

Posted 28 September 2011 - 02:47 AM

This is awesome!! Too bad my sister says our game HAS to be COMPLETELY original....
  • 0

#22 -DarkAceZ-

-DarkAceZ-

    GMC Member

  • GMC Member
  • 95 posts
  • Version:Mac

Posted 29 September 2011 - 02:01 AM

I just found a glitch. Press the pickup button (X) when you're jumping up against a ledge and you'll freeze there until you press jump.

Nevermind, that must be the ledgegrab. Sorry.

Edited by -DarkAceZ-, 29 September 2011 - 02:13 AM.

  • 0

#23 interpolicer

interpolicer

    GMC Member

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

Posted 02 October 2011 - 02:00 PM

As sated, "High Resolution Timer" is lacking, though most items work.
Very good engine. Thanks.
  • 0

#24 blopit

blopit

    just like you, only

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

Posted 03 October 2011 - 08:41 PM

Good news and bad news

Good news: "High Resolution Timer" requirment in the .gmk was mistakenly leftover from an older platform engine and does nothing in V1.03
YOU DO NOT NEED "High Resolution Timer" TO RUN THE .GMK

Bad news: Currently im too busy with current projects to continue working on this engine but expect something before 2012

Thnx for the comments :D

Edited by blopit, 03 October 2011 - 08:42 PM.

  • 1

#25 -DarkAceZ-

-DarkAceZ-

    GMC Member

  • GMC Member
  • 95 posts
  • Version:Mac

Posted 30 December 2011 - 03:26 AM

Uh-oh spaghetti-o's! It's almost 2012!
Anyway, I came back here to ask what is the variable "free" for?
  • 0

#26 blopit

blopit

    just like you, only

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

Posted 31 January 2012 - 06:14 PM

Sorry about not updating before 2012 I will work on it sooner or later I promise. :D
Currently I have lots of other work but version 1.04 will have water, basic npcs/enemies and other features including improvements (rotation blocks most importantly) and optimization in code because a lot of the code isn't used at all. A lot of scripts and add-on script will also have to be rewritten. But don't expect it soon. Sorry.

BTW the variable free is used to see if the player is on a platform or not. It is a binary variable.
if free=0 then the player is standing on something.
if free=1 then the player is in the air.

If you need any other clarifications you're free to ask.
BTW you are allowed incorporate this (or any scripts from this) into a game without permission from me.
  • 1

#27 -DarkAceZ-

-DarkAceZ-

    GMC Member

  • GMC Member
  • 95 posts
  • Version:Mac

Posted 31 January 2012 - 06:23 PM

Okay, thanks! I guess i'll rename it on mine then.
  • 0

#28 goresoft

goresoft

    GMC Member

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

Posted 25 February 2012 - 06:00 PM

hi blopit!

you done a great job! I would know if the engine can be used for "commercial" or "pay what you want" projects, if yes, what are the conditions?

thanks!
  • 0

#29 The Rock Abdo

The Rock Abdo

    GMC Member

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

Posted 15 March 2012 - 04:08 PM

thanks man .. i have downloaded more than 5 engines but i have found that yours is the best .. thanks again :thumbsup:
  • 0

#30 Arusiasotto

Arusiasotto

    GMC Member

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

Posted 24 April 2012 - 04:04 AM

Hiho, just to report, as of the current beta, removing some code in your create event !if_variable_exists(), that this now runs in Gamemaker Studio. There are some graphical glitches, and in html5 the ladders are missing, but all in all works pretty well. I almost wish I didn't have so much time invested into my own engine, your's works so much more fluidly.
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users