(Outdated) 3D Platformer Kit

V2 OF THE KIT IS OUT:

Hey there folks, thanks a lot for the support you gave the kit. It’s been a year, and my coding changed quite a bit to a point where I no longer find a big chunk of the code present here acceptable, that’s why I decided to redo it from the ground up, this time as a full game.

Sadly this means the least experienced of you might struggle with the change, but trust me when I say that I tried to make the newer one as easy, bug free, and extensible upon as possible. So I still suggest you check it out.

What exactly should I change if I plan to stick with V1?
I haven’t looked at the code in a while, but here’s the code that you’ll probably want to change it you wanna stick with this version:

  • Datastores: The datastore system v1 uses saves your data constantly, which can oversaturate roblox’s datastores. If you plan to stick with this version, either implement your own cache system, use Datastores.rar (V2’s datastore system), or use the more popular datastore alternatives.
  • BodyMovers: Comically enough, roblox deprecated BodyMovers almost immediately after I released the kit. So yeah, you might want to replace them with constraints before they are removed. What exactly uses BodyMovers? Mainly the moveset.
  • General Deprecated Code: On top of BodyMovers, the whole codebase uses outdated stuff such as wait, debris, and a long etc. You’ll want to update those too if you wanna stick to V1.

Other than that, feel free to keep using the abilities and mechanics, those shouldn’t be deprecated for the most part.


Introduction

Hey there, I’m an amateur spanish scripter and I have been making resources for the spanish side of the forum for a few months. Today I decided to translate one of them so hoperfully more people can find it and take advantage of it.

My main priority with this kit was making it easy to read, edit, and interact with from other scripts, so even if you don’t know much about scripting you can have an easy time using it.

As stated earlier, i’m rather an amateur. So this kit is mostly made from an amateur for other amateurs. If you are looking for a more reliable resource I suggest taking a look at Egomoose’s Platformer Controller, I have personally used it for years and it’s pretty much the main inspiration for this kit.


So, What does the kit contain?

_A Customizable Moveset based on BoolValues.
_A Customizable Abilities System.
_Main/Secondary/Bonus Collectibles.
_A Basic set of Mechanics/PowerUps.
_A Simple Damage System.
_Mobile/Xbox Support (Xbox untested as I dont have one).
_More stuff I most likely forgot.

With that out of the way, let’s get started with the kit!


Moveset

A moveset with 8 different moves that offers a fun and dynamic way to move around the world, every move can be individually Enabled/Disabled on the go with the it’s BoolValues.

Double Jump

Triggers with SPACE, allows you to jump again in the air, the amount of jumps can be customized.

Sprint

Triggers after walking for a while, allows you to walk faster.

Drift

Triggers after inverting your movement direction while you sprint (couldn’t fix the delay so I compensated it making it last less).

Long Jump

Triggers with SHIFT while you are in the floor, allows you to travel a long distance fast sacrificing height.

Air Kick

Triggers with SHIFT while you are in the air, allows you to gain large amounts of height sacrificing distance.

Slow Fall

Triggers by holding SPACE in the air, reduces the speed at which you fall.

Wall Jump

It triggers by pressing SPACE while sliding on a wall, allows you to gain height or traverse paths made out of slidable walls.

Tilting

Present all of the time (seen on all the videos) unless disabled or when performing a move, tilts the character based on it’s direction.


Abilities

Simplified version of the moveset limited to one move at a time, counts with a basic “inventory system” that allows you to switch Ability with Q/E and it triggers by pressing F.

Magnet

Pretty similar to grapple hooks, allows you to travel to the magnet position if on range at a constant speed.

Brick

Brick you can place in the air, dissapears after a short amount of time.


Collectibles

Collectibles the player will gather to progress through the game, each one counts with its own identifier and description.

On a side note: I have little to no previous experience with datastores and I made them following a devforum tutorial, I highly encourage you to modify the code to be more reliable if you can.

Main Collectible

Usually the main currency of any 3D platformer, usually being more elaborated to obtain and thus having a special animation for obtaining them.

Secondary Collectible

Commonly used to extend the duration and challenge of the game, either by being hidden through the levels and harder to find, or by being on high amounts dispersed through the levels.

Bonus Collectible

Main Colletibles given to the player once they get a set amount of Secondary Collectibles.


Power-Ups and Mechanics

(Just noticed now that i’m translating this that I wrote abilities instead of mechanics on the spanish post, should be fixed now).

This post got too long, so i’m not going to elaborate much the role of these, all I’ll say is these are basically example mechanics commonly used on platformers that help you give some more variety to the worlds of your game.


Licence

Due to the amount of time it took to make this, I’d like to be credited (in this case the group published under) if you use and/or distribute the kit so more people can find the source and hoperfully take advantage of it.

Other than that, the licence allows you to do as you please with the kit, just keep the LICENCE and NOTICE script where they are if you distribute/modify the kit, you can read the full licence in the script mentioned.


Cool, so where’s the file?

You can find both the spanish and english versions of the kit below:

English ver:

Spanish version:


Closing

I would like to thank eveyone at the spanish forums for always being supportive and constructive about the resources I make, I know they are not the best nor the most advanced out there, but even if they help a single person, that means the world to me.

Special thanks to @AndrixterWaterMelon for making the icons/particles for the kit, and a huge thanks to the posts mentioned across the scripts in the kit for helping me figure out how to make stuff like the Tilting and Datastore.

If you find any bug or have any question, feel free to leave it below. I’m going to be fairly busy with my studies this year, so I don’t think I’ll be able to address everything, but I’ll try.

If you find the resource useful and want to leave a tip, I have a little place for donations here, and a Ko-Fi here.

If you end up making a game or a resource with this, feel free to share it, I would love to see what people use it for.

75 Likes

thanks for this, your work is great :slight_smile:

2 Likes

Very cool! I really like the effects :dash:

2 Likes

I love the jump effects especially good work!

3 Likes

Awesome kit mate and well made :raised_hands:

We would like to feature it with our creator community (Buzzy.gg) and maybe do a write up on it and how you made it if you’re OK with that?. Msg me or @BuzzyGamesBeth if you are

was the movement inspired by egomoos’es platformer movement?

Awesome kit! Good for making simulator game

Pretty amazing I must say!
Quick question. WIll I have to re-upload all the animations before using?

Only the main collectible one I believe as the Gui closes with an animation event


Sure

Hi, how can I make it that you have to hold shift to sprint? I already disabled Long Jump and Air Kick

If you want a classic Shift to Sprint you’ll prob have an easier time removing the entirety of the default one’s function as it’s tied to those moves you removed and the player’s momentum (If you don’t know how you can always set the BoolValue to false).

Once done you can simply use ContextActionService to detect when the player presses shift and change the walkspeed based on that.

Edit: Just made a quick edit for this in case anyone wants it, it’s tied to Ctrl instead of Shift but it should be as easy to change as going to the CtrlLeft and ShiftHandler functions and changing it’s enums to the keycode you want.
Quick Sprint Fork.rbxl (236.2 KB)

1 Like

Ok, also, how would I change the location of the values in workspace (Abilities, Movesets) to ReplicatedStorage or something?? In workspace it just makes it a bit messy but I also don’t wanna break the code

imagen_2022-02-13_155026
just change this variable to the new location, same with the abilities one

1 Like

Okay, thanks

(thirtycharacters)

1 Like