Pix Engine: Platformer Engine

yeah it would be more acurate if the air had maybie a fraction of the ground friction (air friction)

Air friction is totally independent from ground friction. Air friction usually is not added in videogames. In this case the players are unstable due to the velocity limits and other factors.

I’ll include settings for the players so they can deactivate air acceleration. That is another factor.

I like how physics are implied in regulating this platformer engine.

I checked out the html version and I must admit, the inverted gravity zone is truly fascinating!
(It reminded me of geometry dash for some reason)

I also thought the player accelerated quickly to the maximum velocity when moving, but I guess that is adjustable from the “engine settings.”

Despite not having much to say, I still felt obliged to congratulate you on your progress with Pix Engine :+1:

1 Like

@gamer_boi , @Hamzah_Alani, @BaronAWC, any other suggestion or feedback is more than welcome. I want to add a lot of things… The challenge right now for me is to add features, but at the same time maintain the end user developer experience simple and easy to use.

maybie make enemys and weapons

Maybe add a stroyline to make the game have a reason to compete ;-;

… Im not trying to do a game, or at least not yet. This is a small engine to make platform/er games

Testing with Kenney’s sprites, I love them.
PixEngineDemo (3.3 MB)

Updates:

  • Double Jump
  • Paralex Scrolling Backgorunds
  • Player Animator

Controls:

  • Move Left: “left” key
  • Move Right: “right” key
  • Jump: “x” key

4 Likes

PixEngineUpdate.html (3.3 MB)

3 Likes

Wow, when put to use this engine it truly illustrates a completed masterpiece :sparkles:
I really liked the ladder idea and also found the hidden passage in the water :0

Some More Ideas

Here are some ideas to things you can add (you might be already working on some of these, and they’re just ideas, some could be complicated and slow the project while others might be simple or already implemented in the engine):

  • Health system This could be set to 1 in the engine settings if not needed, set to 3 if someone wants to use the “three-heart system,” or 100 if someone wants to use the 100 hp system (or the healthbar). With this, damage taken might need to vary based upon what led to it.
  • collectibles Basic coins or collectibles that increase/ decrease velocity, increase/ decrease health, make the player immortal for some time, a shield that lasts until damage is taken by the player, etc. These could also be picked up by having the player simply touch them, click them with their cursor, or press a certain key while next to them.
  • Checkpoints A point for the player to respawn at after dying.
  • Timer A timer with a starting point, and possibly a limit based on preference, and could count up or down.
  • Platform Code This might not be simple to add. So, here’s what I mean by the “Platform Code” thing: like a code that could be translated into the level’s layout. This could be helpful in going from level to level without using a frame for every level, but rather an array. It could be something like "player200,150+block200,200,25,25" (object, x, y, width, height… no width and height will return default size. Certain objects could be used multiple times, such as a block, but others can’t, such as the player, and other blocks might need specific variables to be defined). This could also mean a way to clear the levels and extra options such as resetting health to max, or the timer to 0.
  • Weight A player weight that could slow down the player or make them faster moving right, left, and while jumping down (this could mean more physics equations)
  • Water Something that makes the user float (go up) with a specific force (could depend on weight if you decide to add that). You can also adjust this to push the player in other directions (left, right, down) rather than just up for other effects such as a moving ground, air pushing the player, quicksand, or a waterfall (I find it ironic how in some games, a waterfall is used to go up, while in reality… it pushes you down).
  • Fragile Block A block of glass or something that the player could destroy by jumping on or accelerating towards… these blocks might need their own hp variable.
  • Portal Something that brings the player from position to another. This is not really necessary since whoever’s using the engine might be able to add it easily.
  • Pushable Object An object that could be pushed right, left, up, and down, and affected by water and the same elements that move the player, it’s own weight, and wight of the player and other objects on top (when pushed down in areas like water). The object could be a square (box) or a circle (ball).

Keep in mind that these are just ideas and I don’t expect you to add all of them, some aren’t necessary, others could slow the engine, and most might take some time, not to mention that the engine already works perfectly!

3 Likes

Thank you so much @Hamzah_Alani hamzah. This is a wonderful list. Water is in the pipeline and weight is already implemented through mass.

I think that I would implement almost all of them. The challenge is to have a big system, but easy to use.

4 Likes

@SomeoneElse, I’ll be using this to create a mask for the camera using Destination Blend-In mode.
Thank you again for all your interesting contributions…

2 Likes

It worked perfectly…

Before…

After… :slight_smile:

This is what I did… I draw a rectangle with project size, and then I converted it into a clip (I needed as a clip for future uses…) I named it rectangleClip

let rectanglePath = rectangleClip._children[0]._children[0]._children[0]._children[0];
rectanglePath.view.item.blendMode = 'destination-in'; 

After that, is a matter of putting the rectangle (clip) in the desired layer or depth above all things that you want to be masked…

2 Likes

good i really liked this but heres a bug i found

@Breidy_A, It is a secret passage.

4 Likes

Updates:
PixEngine.html (3.3 MB)

Controls:

  • Enter to Doors/Portals: “up” key
  • Move Left: “left” key
  • Move Right: “right” key
  • Jump: “x” key
  • Dash: “z” key

Updates:

[1] Better snow/ice floor behavior:

Screen Shot 2022-02-11 at 10.40.48 PM

[2] Doors/Portals and invisible ones… (There are 2 invisible doors)

[3] Dash

2 Likes

PixEngine.html (3.3 MB)

Updates: Water dynamics sim

Screen Shot 2022-02-12 at 4.06.02 PM

3 Likes

Kinda random but this should be a secret area ;-;(look at where my character is ;-;)

2 Likes

Nice. The only way that you got there is from the roof using dash and double jumps at the left side / middle of the Level. You can also fall indefinitely from there as well.

image

you should put a wall to keep you from falling off the map, and maybie a door here that leads to a secret pipe area