Platformed Godot Client banner

Platformed Godot Client

21 devlogs
49h 24m 9s

My friend Timothy is making a web project called Platformed (https://flavortown.hackclub.com/projects/7342 or https://platformed.jmeow.net) where you can make your own 2D platforming levels, so I am making a native Godot client for it that will le…

My friend Timothy is making a web project called Platformed (https://flavortown.hackclub.com/projects/7342 or https://platformed.jmeow.net) where you can make your own 2D platforming levels, so I am making a native Godot client for it that will let you download and play levels from his API. Everything will be re-implemented without referencing his code as much as possible while adding a few nice things of my own. My work also involves helping him with the web version while conveniently fixing bugs that happen to impact me

No AI was used to pump out this certified Slop®

Demo Repository

Loading README...

CoolBean

I am slowly fleshing out all the functions of the UI and trying to make an intuitive design. Jack joined flavortown, so I’m all on my own for this one. By summoning my inner Tantacrul, I think I was able to make some improvements compared the web editor, but I guess you’ll just have to compare the two and decide for yourself once they are both done.

Attachment
Attachment
0
CoolBean

The editor is fully underway now. There was some backend code I had to rewrite for it to play nice with the editor viewport, but other than that, things are going smoothly. Below is a screenshot of the very first level to be imported into the editor!

Attachment
0
CoolBean

The tile generation refactor is finally useable! There were definitely some… interesting bugs along the way, but loading times are now about 32x faster. The level “Part 2” (https://platformed.jmeow.net/level/28) took about 8 seconds to load on my school computer. Now it only takes a quarter of a second. The rewrite was a complete pain to do, but I’m super happy with it. Now the editor will be sigificantly easier to implement.

Attachment
Attachment
0
CoolBean

I am reworking the entire tile system from scratch to be more effecient by using Godot 4’s new TileMapLayers so I can facilitate lag-free editing on low end PCs. The only problem? I HATE TILEMAPLAYERS SO MUCH!!!!!!!!!! COLLISION DETECTION IS BARELY USABLE AND GETTING INFORMATION ABOUT A SPECIFIC TILE VIA COLLISIONS IS MISERABLE AND LAUGHABLY OVERENGINEERED.
I M L O S I N G M Y M I N D

Attachment
Attachment
0
CoolBean

Tim has been furiously adding and updating features as the March 31st deadline approaches, so I have been trying my best to keep parity. He will be shipping soon, and I can renew my focus solely on the editor which I have laid the basic groundwork for.
(sorry for the long gap between devlogs. there were some weird flavortown issues)
¯_(ツ)_/¯

Attachment
0
CoolBean

The My Levels button actually does something now!!! Click it to be taken to the magical land of an empty page. All you have to do is click the Set Levels Folder button to select a folder on your computer, and as long as it contains level .json files, LEVELS WILL APPEAR (☉o☉)

In the future, you will hopefully be able to save levels you like from the web into your levels folder.

Attachment
Attachment
0
CoolBean

I’ve been busy trying to keep up with the rapid updates that are coming alongside the new trigger system added to Platformed. Lots and lots of new blocks to add. At the time of writing, I have all three trigger block types and all four trigger command types accounted for.

Pictured is the level Trigger Happy, created by the lead developer of Platformed to demonstrate the capabilities of triggers. It is officially fully functional in my Godot client!(https://platformed.jmeow.net/level/44)

Attachment
0
CoolBean

After much anticipation (by nobody), TRIGGERS ARE OFFICIALLY HERE!!! Also in this update are a few small bug fixes to movement.

1

Comments

heitordecarvalhopesso

adiciona inimigos como cobra e escorpião, combina com o estilo do personagem

CoolBean

I redid the whole UI to be easier to work with now that I have a better understanding of Godot’s UI system. I also added a preview page so you can see the ratings and completion percentage for a level before you jump straight into it. This page will also be a nice place to implement saving to My Levels. Godot’s UI takes a lot more code than Unity to get certain things set up, but the experience is still better in every way.

Attachment
Attachment
0
CoolBean

I completely rewrote the tile system. Tile is now an abstract class from which each type of tile inherits. This is in service of the upcoming trigger update to platformed. The rewrite also let me implement sound! Also included in this update are a couple of bug fixes to Godot things my Unity brain could not understand.

1

Comments

CoolBean
CoolBean 24 days ago

Video was cut for being to big to upload

CoolBean

Lots and lots of UI/UX. The game now lets you browse uploaded levels just like the site, and click to play them. I finally added a feature the website doesn’t have: pausing!

Attachment
Attachment
Attachment
0
CoolBean

Lots of little movement tweaks to get different levels working right. Pretty soon, I’ll be able to move on to adding features that actually justify this client existing!

Pictured is me getting to the end of https://platformed.jmeow.net/level/28 in the Godot client. This is the hardest level anyone has made so far, rendering it the perfect test of how accurate my movement code is to the web client.

Attachment
0
CoolBean

I did a mountain of Quality of Life work. Better code segmentation, correct block rotations, custom block behaviors, small movement tweaks to match the web version, custom hitbox shapes for different block types, and a whole lot of other small things that together make all the difference.

Attachment
Attachment
0
CoolBean

The user interface is now functional and visually perceptible to the naked human eye. You can type in a level ID to load into that level. Next is to make all the special blocks work and to allow you to actually leave and load new levels.

Attachment
0
CoolBean

I have officially become the greatest Godot UI developer in all of human history.

(but fr i figured out all the ui stuff i need. time to start implementing)

Attachment
0
CoolBean

Movement now has acceleration, which brings it a lot closer to platformed AND just makes the movement feel a lot nicer overall.

0
CoolBean

Tiles can now actually tell what kind of tile they are. I made them change their textures and disable collisions accordingly

Attachment
0
CoolBean

I added wall jumping. Feature parity went up by like 2%, but fun went up 1000%

0
CoolBean

Blocks now know the directions in which they are surrounded by other blocks. I made a little test visualization to make sure it was working properly and i think it looks pretty cool :) Next is to get the blocks to update to the correct texture based on what blocks surround it.

Attachment
Attachment
0
CoolBean

DecodeRLE now returns a list of rows instead of just an array of ints. This gave me more trouble than I expected.

Attachment
0