Activity

Nibbles

im starting to create the properties window for platforms! this will let you see and change all the properties on platforms, which right now consists of position, size, and a lava toggle.

next, i plan to add more properties to platforms that will be editable with this menu, including material, color, and collision!!

0
Nibbles

i added duplicate, copy, cut, and paste actions! … not much else to say about it :P
i also did a minor refactor to how platform data is stored/created, so its now much easier internally to create and use platform data, which will be useful for when i add more properties to platforms, such as color, material, transparency, or collision!!

3

Comments

fireentity
fireentity 3 days ago

haha dev log

fireentity
fireentity 3 days ago

very nice editor nibbles

Nibbles
Nibbles 3 days ago

Thhank you val!!:3

Nibbles

still just adding more features to the editor! this time i added:

  • multiselect! if you hold shift when selecting platforms, it will let you move/scale all of them at once!
  • right click menu! this will be used to have stuff like copy, paste, duplicate, and delete. right now all i’ve added to it is delete, so i’ll be adding the others after!

also you can still use keybinds to do the same things in the right click menu, so you can press delete to delete, or ctrl+c to copy! (when i add that :P)

0
Nibbles

i added undo/redo to the editor! this was a struggle… getting the logic right, the storing of platform data more efficiently to save in a history table, and more. especially getting the logic to work, there were so many cases where you’d undo into a mix of states or some history would just get completely removed when it shouldn’t… but it works perfectly now!! :D

i also did a few other small changes, including:

  • made move/scale handles take selection priority over other platforms
  • added ability to scroll mouse wheel to change camera speed in editor
  • making wallkicking and camera adjustment better after the optimizations i made yesterday
1

Comments

fireentity
fireentity 4 days ago

goose

Nibbles

ok! the game runs a lot better now!
what i did was make it so whenever you enter play mode, a mesh is made specifically for collisions that takes the vertex data of each platform and combines it into one, which makes it so i only need to do one collision call instead of one for each platform!
(well, technically i have to do 2, theres a seperate mesh for lava platforms to detect those, but thats not really an issue)

in the video, i show the performance before these changes (40fps with liike 50 platforms) and after (still rocking at basically 180fps, which is my refresh rate!!)

i also improved the collision a bit! (please ignore me falling through the platform in the optimized version i SWEAR thats fixed now this recording was before the collision improvements) but it should be a lot more difficult to straight up fall through platforms and walk into platforms without any effort

0
Nibbles

started the ui for the editor, which for now is just a topbar
also added the “add platform” tool, which lets you create platform ( Shhockeer!!!!)

also also the game is getting stupidly laggy. i also did an optimization for the editor which only includes platforms that are in range for the raycasts to be included in the raycast

however, the gameplay itself is still really laggy. with like ~20 platforms, it goes down to 40 fps, which causes lots of major issues such as. Collision not working. you literally just fall through everything when the game slows down this much. so now im pivoting my focus to optimizing that stuff

Attachment
0
Nibbles

added the scale tool to the editor, and also added handles to the other side of the axises!
this once again required a bunch of vector math. everything is vector math. i cant escape it.

0
Nibbles

added a move tool to the editor!! pretty self explanatory, it lets you move stuff when a platform is selected (shocker)
once again, this consisted of more suffering with vector math, but i eventually got it to work!! hardest part was definitely figuring out how much to move the platform and in what direction based on the delta of the mouse movement, that took a while to figure out how to do properly :P

4

Comments

fireentity
fireentity 5 days ago

dev log

Jahaan
Jahaan 5 days ago

Are you doing all this from scratch or with a graphics library, Idk what Love2D is, and I’m kinda doing the same thing as you, and I just have a question, is it okay if you can send your slack ID so I can dm

Nibbles
Nibbles 5 days ago

thank !

Nibbles
Nibbles 5 days ago

@jahaan the library im using for the 3d rendering is called g3d! it gives you the bare essentials to do 3d rendering in love2d (which is mainly for 2d game development in lua, but. I can do whateverr :P), which means it only gives you the ability to render models with textures, and gives you some basic collision functions. also my slack id is U079E6V7R28 !!

Nibbles

i think every single devlog from here on out will consist of me going through hell and back. Goog

im starting the editor now! it doesnt actually let you edit now. but im getting the foundations
theres a different camera system, which lets you fly around and hold right click to rotate around, like most game engines and stuff
also started the ability to select stuff and whatnot! which is where most of the time went to…
This vector math stuff is hard. the weird screen coordinates to raycast thing is kinda janky, so sometimes its not fully accurate, but its close enough for now, i spent way too long on it 😭
but now i can FINALLY work on the ACTUAL editor features for this!! :D

1

Comments

fireentity
fireentity 7 days ago

chatgpt summarize this

Nibbles

just went through hell and back trying to make the camera distance update to not go through other platforms. so my first thought is to use the built in raycast function in g3d. WHICH JUST DOESN’T WORK AT ALL!!! if the camera is pointed upwards, it somehow manages to find a way to intersect with a platform below both the origin and destination of the ray!!!! so instead i had to make a horrible horrible bad unoptimized way of doing it, which shoots out a ray manually moving 0.1 units every time in a loop that checks for an intersection. ALSO POINT INTERSECTIONS JUST DONT WORK EITHER SO I HAD TO USE A SPHERE INTERSECTIONS WHICH DOES THE EXACT SAME THING BASICALLY IF I JUST MAKE THE SPHERE RADIUS REALLY SMALL!!! WHY!!! WHY!!! WHY!!!

also i added lava platforms they reset you back to spawn 👍
probablyy gonna work on the level editor next, which is kinda. the main thing. of the original goose platformer. except its gonna be BETTER and THREE DIMENSIONAL !!!

0
Nibbles

made some more all around improvements!!

  • added lerping to the player’s rotation so everything is smooth (and i DIDNT suffer for several hours trying to implement it this time!!)
  • added roof/upper collision
  • added coyote time, so you have a short window to jump right after falling off a platform
0
Nibbles

last 3 commits have mainly just been focusing on improving the graphics, i added:

  • proper textures (wow!!)
  • an animation system for the goose!! which has an idle, run, and fall anim!
    also added slight acceleration to the goose’s movement so it doesnt feel too rigid
0
Nibbles

there is now proper collision when colliding with the sides of walls! the implementation is.. kinda jank, sometimes you phase through walls 😭but it mostly works!! i also added similar walljumping from the original goose platformer (which was literally a result of my grounded check being “is the goose colliding with anything” accounting for all directions, which ended up being a bug turned feature 🔥)

0
Nibbles

added jumping and some basic collision detection (but only on ground below for now, i gotta add the sides of walls next which is gonna be. Pretty hard :P)

1

Comments

Jahaan
Jahaan 5 days ago

Are you doing all this from scratch or with a graphics library, Idk what Love2D is, and I’m kinda doing the same thing as you, and I just have a question, is it okay if you can send your slack ID so I can dm

Nibbles

improved the movement!! it uses wasd now, and the goose rotates towards where you are moving! and about that…
i spent probably around an hour and a half trying to make the rotation lerp towards the direction you move, so its not as jarring, but i just. couldnt. everything i tried. thered be one edge case where it does a 360. 😭so for now it just goes to the rotation
the camera DOES slightly lerp towards the gooses position though! which makes things smoother

0
Nibbles

i am bewildered. flabbergasted. absolutely boggled. i thought this project would be dead because i realized i had to do 3d vector math manually
AND YET SOMEHOW, i managed to make a basic camera system / movement system! (its just walking forward, but uh. yea its missing basically everything rn. this is just a proof of concept)
also the platform spawning system its just a cube model with a position and size yea
also enjoy :Goog: textures for the time being!

1

Comments

Slugarius
Slugarius about 1 month ago

Nice job on getting 3d rendering in love2d. Wish you luck on the project! You’re gonna need it.

Nibbles

Shipped this project!

Hours: 12.04
Cookies: 🍪 109
Multiplier: 9.08 cookies/hr

this is an update to an existing project, but it is a MAJOR UPDATE, which adds a bunch of important features that were missing in the original version, and also makes it not a pain in the ### to use!!

anyways, i think i have made the ui library for love2d of my dreams!! surprisingly it wasn’t so painful to make and i ran into very few issues! i’ll definitely be using this in my future love2d projects, and now it hopefully won’t be so painful to make ui! (still remembering the like 15 or so hours i spent solely on UI in arcade on one of my old projects with a much much older version of this project 😭)

Nibbles

Ok oops. i missed some things. most notably:

  • Fonts in textlabels and textinputs
  • Automatically updating font size in textlabels and textinputs
    Oops!
    Also fixed repeating reversing tweens breaking sometimes.
    Also finalized all documentation and the readme! so now im ACTUALLY done!! :D
0
Nibbles

finished a demo program for yan!!! also fixed a slew of major bugs including:

  • Everything would freeze if you had child elements 2 parents deep (oops)
  • Every element would be created multiple times (oops)
    and some other smaller issues like with tween repeats being weird and textcolor not working properly
    but with this, i’m done!! :D
0
Nibbles

hooray hooray, i added reverse, repeatcount, and delay to tweeninfo!! pretty cool

0
Nibbles

added the tweening system from the original yan again!!
the code is much much cleaner than last time, also :pause() and :cancel() should actually work this time
im also planning to add the other features from roblox’s TweenInfo, like delay, reverse, and repeat next

0
Nibbles

added the list property to elements! it arranges children elements in the order you specify, aligned horizontally and vertically however you specify, and you can add padding in between the elements! it also updates dynamically, and is very cool :D

0
Nibbles

added corner radius and border color and border size properties!!
and textborder.. which
kinda sucks honestly. i dont think theres a straightforward way to do them without shaders, and shaders are very difficult to use 😭 but i made one that Kindaaa works ?? i guess? but yea lots of bashing my head against the wall for that

Attachment
0
Nibbles

if you set a property’s value to a function, it will be automatically updated in love.update, kinda like fusion’s scope:Computed!
also events still work (like mouseenter and stuff) with this, had to fix that because it was breaking everything before trying to treat events like a value :P

0
Nibbles

the key value in the dictionary when adding instances to screens/setting the children property now sets the element’s name! this is useful so you can reference elements outside of their instantiation for later use with the :get() function!

Attachment
0
Nibbles

this project is probably gonna have a lottt of small devlogs early on :P

i added the ability to create children in the :new function by just adding elements to the children field!
also had to make some changes to the screen class, so that elements that have larger ancestry (being a child of a child of a child… etc) render in front more. i think thats just a new feature in general i think zindex used to be global (which should probably be a setting on screens… :P)

also because the devlog was 13 minutes before uhh so i made the Color type a bit better. added a fromRgb function that creates a color with values from 0-255 instead of 0-1, and made the alpha property optional, being fully visible by default

Attachment
0
Nibbles

shortest devlog ever or something uh
added the feature where all screens are stored in a manager module, which draws and updates every screen that is instantiated :D

Attachment
0
Nibbles

changed the syntax so making yan ui wont be a literal nightmare!!!
this is basically identical to how fusion instantiates ui, doing it like a tree of instances sorta
which is MUCH better than
thing = something:new()
[changing a billion properties which is lots of boilerplate]
screen:add(thing)
or whatever it was before :P

ALSO i improved imagelabels a bit, you can change the image property and it will update the love.Image automatically and clear the old one out of memory, before it was a :setimage function you had to call

Attachment
0
Nibbles

Shipped this project!

Hours: 8.75
Cookies: 🍪 51
Multiplier: 5.87 cookies/hr

i finished my new portfolio site!!!

Nibbles

had to do a few changes to get github pages working so i could deploy :P

Attachment
0
Nibbles

added links to my accounts and stuff at the bottom of the page, as well as a silly footer image :P
also improved mobile support a bit more!! and with that i think im done :D

Attachment
0
Nibbles

added all projects ive made ever and finished the projects page!!

Attachment
0
Nibbles

the way i implemented. Every single cue. Was bad. so i ended up bashing my head against the wall trying to fix it in beatscript before realizing that the issue was the cues and code itself. Oops. Anyway its charted to night walk now. :P

0
Nibbles

improved the mole jumping animations, and created the cart sprite!!
next i gotta fix the cues because i did the stop cue completely wrong oops

0
Nibbles

made the sprites and animations for the moles!! unfortunately, asesprite tracking didnt want to work…….. this was probably around like an hour of work for the sprites but idk It dont matterrr

0
Nibbles

i know this probably looks really really stupid in this state, but i’ve added an extra engine for the minigame (it takes a while theres so many files you gotta add and basic functions to implement) and implemented the very basics of all the cues needed in molecano, including the

  • slower keep the beat cue
  • faster keep the beat cue
  • copies of the ones above, but you have to press B instead of A
    i probably look like im insane right now, but it WILL resemble this -> https://www.youtube.com/watch?v=TUPxxyBLWro soon. im gonna be making the sprites next and polishing stuff up (and i cant track making sprites or editing animations because no lapse yet 💔 but we do this FOR THE LOVE OF THE GAMEE)
0
Nibbles

added a cool banner to the top!!
made the nameplate glow!!
added a cool background!!
and added a project component, which i’ll use on the projects page to list All of them because right now it just shows my 3 coolest ones on the main page

(why does devlogging crop images to be square and why does it not support mp4 this should probably be fixed before launch please please please) (it would now make great sense if devlogs are wiped) (bla bla bla)

Attachment
2

Comments

Nibbles
Nibbles about 1 month ago

ALSO I MADE GOOD MOBILE SUPPORT TOO I FORGOT ABOUT THAT

Nibbles
Nibbles about 1 month ago

ok looks like they fixed the devlogs being cropped to square thats awesome please ignore that text

Nibbles

it has been a hot minute since i’ve used svelte/any web development at all (literally almost a year 😭) but ive gotten the hang of it again and made the start of the main page!!
rn its still awfully similar to my current portfolio, but its better because its Svelte and not Raw html :goog:
it lists the languages and tools with the whole svelte #each thing which i love and the icons GLOWW

Attachment
0
Nibbles

Yo im literally developing rn. Early access flavortown open beta leak. Yea. totally. This stuff better get wiped.

Attachment
0