Activity

Nibbles

this first feature (seeing how much royal reputation you can obtain by crafting your dupes) is taking a lot more steps than i expected. most of the time is spent me fighting typescript. but…

right now, it counts up all the material costs of your blueprints, and tells you how much of each material you need to craft them all!… in the console :P

it goes in order of what gives the most royal reputation per material, which is epics -> legendaries -> rares -> uncommons -> commons

next i’ll

  1. clamp it to how many materials you actually have
  2. show the specific blueprints that you should craft
  3. actually make a ui for it instead of just console.logging ;P
Attachment
0
Nibbles

basically finished the cutscene for this game! its still probably missing a few touchups but im really happy with how its turning out :D (watch the video… and see… it’s so cool…)

also merged changes from the master branch, which required me to do a fewww little fixes but its not really that much :P

0
Nibbles

Shipped this project!

updated my portfolio site to add some more projects and stuff, but also to improve many of the visuals!! (and also to reship for better mult because this was made before the voting system was changed :P)

i kinda didn’t say much last time because uh. didn’t know too much about how i should do stuff here. but uh.

making web stuff is usually something i dislike but i found making this site quite enjoyable! svelte really does make web development as tolerable as possible :P really happy with how everything turned out!

Nibbles

added a bunch of nice polishes that makes everything look a lot better!!

  • everything now fades in when the page is loaded, i really love what i did with the languages fading in they look gnarlyyyy steamhappy
  • added hover effects to the social links at the bottom
  • improved hover effects on buttons
0
Nibbles

added fading in animations when scrolling through project cards!
this took me a while bc i .. am bad at web dev.. but first i was trying to use svelte’s transition features but that means the element isnt rendered at all if its not onscreen which made scrolling really broken..

so it just uses plain old css animations :P but it looks awsomeee!

0
Nibbles

im baaack to add more stuff to this!! (and to reship for a better mult 😭)
first off just updating some projects + adding more languages/tools that i like!!:

  • added kotlin and intellij to the home page because i’ve been rlly enjoying using them lately!
  • added all the projects ive made/updated since then (goose platformer 3d, yan (rewrite #3…), rhythm tengoku molecano, goose in the mines, and tree tumblers!)

will prob do a few more visual improvements before i reship!!

Attachment
Attachment
0
Nibbles

more fixes……

  • the game no longer halts forever before starting (map chunks are force loaded in the pregame, which i also had to change suspendSync to NOT BREAK THE ENTIRE DAMN SERVER BECAUSE IT TIMED OUT WITHOUT TELLING ME AND JUST SILENTLY ERRORED ???)
  • you can no longer… use your tools… to smelt things… because you need them…
  • you can no longer… craft your bone meal… into bone blocks…
  • you can now… break pumpkins… which is needed for making pumpkin pie… i don’t know how i messed that up…!!!
  • uhh added a proper pregame countdown..!

last thing for this game (I THINK) is the cutscene and game end sequence!! steamhappy

0
Nibbles

so a lot of this project requires me to type in a bunch of data that isn’t in any api…
theres now like 800 lines in constant.ts with all the data for all the blueprints i bothered to put in so far (elemental collection, which is 104 blueprints… THERES STILL LIKE HUNDREDS MORE BLUEPRINTS ON THE SERVER….)
but now it lists all the blueprints you have (in that collection… ill add the rest later…) alongside its rarity, type (standard, exclusive, or arcane), and all the materials needed to craft it!

next ill be adding a page that automagically tells you the most royal reputation you can get by crafting your blueprints!! (it’s probably important to explain that royal reputation is style trophies you get from crafting duplicate cosmetics..!)

Attachment
0
Nibbles

added a LOT, a LOT, a LOT of @EventHandlers that prevent people from doing stuff / getting stuff they shouldn’t while playing, including….

  • opening trapdoors on the map
  • removing water sources with water buckets
  • creating new water sources with water buckets
  • feeding cows / chickens
  • crafting your bone meal into white dye 😭
  • putting your items in the supply chests (if you did this, they would just get removed forever next time the chests refreshed…)
  • mobs no longer drop xp
  • furnaces no longer award xp
  • cows and chickens now only drop one piece of meat

also made it so you respawn! if you die in this mode… dude… …. dude …. howww goog

0
Nibbles

did a bunch of finishing(?) touches! including:

  • added star count and point count to tasks on the task board and in chat
  • mushrooms no longer have missing texture in the task text
  • added proper warning texture for when the block containments are about to refresh
  • made it so cake task is removed if any team has less than 3 players (3 players are needed to make a cake as 3 buckets are needed.. so the players have to share the buckets!)
  • FINISHED THE MAP!! ITS SO BEAUTIFUL!!!
Attachment
Attachment
Attachment
1

Comments

fireentity
fireentity 4 days ago

Dev log!!!!!!!!!!!!!! :D

Nibbles

starting on the frontend (which is basically the whole project :P)

so far, it fetches the data from the backend, and gets all materials from the infinibag, which contains info of its rarity, theme/type, and count!

i had to implement the theme/type part of materials manually bc the api doesn’t provide that (only ids, names, and rarities…) so i got a big constant array of materials with their names types and rarities that it pulls from :P

Attachment
0
Nibbles

i was a bit lost starting this project because i wasn’t entirely sure how i wanted things to work…
i’m using rust and actixweb for the backend, and i was intending to handle all the data calculation and information and whatnot on the backend. but… rust is REALLY strict with json! trying to extract data from the api would be hell because i’d need a thousand structs for everything! it would suck! so a lot of the work i did was just completely scrapped

instead, i’ve just made one backend endpoint that queries the mcci api to return all necessary info from the username inputted (coins, royal rep, cosmetics, and infinibag/infinivault data). the rest of the stuff will be done on the client because typescript is set up a LOT better to handle json!!

so uh… now i’ll start workin on the frontend / all the data that i wanna calculate with the backend data!!

Attachment
0
Nibbles

made things look better when finishing tasks!

  • for HungryTasks, food particles will appear when you feed it!
  • for ThirstyTasks, the drink will lower from the cauldron and play drinking sounds
  • for BoredTasks, the blocks have the mining effect applied and the appropriate mining sounds + particles, as if the sniffer… is sniffing them up..!!
1

Comments

fireentity
fireentity 4 days ago

Dev log!!!!!!!!!!!!! :D

Nibbles

tasks are now automatically added! this pulls from a list that is generated at the start of the game, so each team gets the same tasks!

i also did some other small improvements/additions/changes

  • there’s more tasks, many of which have to do with the “lower area” i was talking about in the previous devlog. it funnels spiders through a pipe, and has another supply chest with mushrooms and sticks (for fuel, as there’s cooked meat tasks now too)
  • added more feedback to when tasks are completed! for hungry ones, feeding it will play the sniffer eat sound, and completing any task plays the sniffer happy sound and makes heart particles!!
1

Comments

fireentity
fireentity 4 days ago

Dev log!!!!!!!!!!!! :D

Nibbles

prettied up the block containment rooms! now, there’s a door that closes when the blocks are restocked, with a pretty animation and everything!! :D

this also drops the floor, which i plan to make you fall into a lower area that’ll take a while to run back up to the main area.

1

Comments

fireentity
fireentity 4 days ago

Dev log!!!!!!!!!!! :D

Nibbles

added scoring to the game! this required me to take a little detour to make some changes to the score system, including:

  • replace grantTeamScore functionality to split the score between all players on the team equally. therefore instead of having a seperate “team score” and “individual score”, team score is now just all individual score added together
  • deprecate placement score bonuses, because you shouldn’t get more points for getting more points. that’s unfair!
  • remove INDIV_ROUND_WON score source and its variants, as team score is now just split individually so these are unnecessary
  • make all necessary changes to Crumble so that score still works as it used to

… now back to your regularly scheduled Sniffer Caretaker!

completing tasks now gives score! this also gives you some visual feedback that the tasks are finished! there’s also now a scoreboard which i stole from Crumble. thanks devcmb!

Attachment
1

Comments

fireentity
fireentity 4 days ago

Dev log!!!!!!!!!! :D

Nibbles

added counters to BoredTask and LonelyTask! this means you need multiple of a certain block to complete a BoredTask, and you need to keep the mob in the pen to complete a LonelyTask for a certain amount of time!

1

Comments

fireentity
fireentity 4 days ago

Dev log!!!!!!!!! :D

Nibbles

Shipped this project!

Hours: 13.11
Cookies: 🍪 51
Multiplier: 12.22 cookies/hr

refer to the previous ship message for my words about this project!

mainly just here to get a new payout, as this project was made before the voting changes!

Nibbles

when working on my other project Goose Platformer 3D, i came across a few issues/missing features. here they are properly implemented into the actual library!!

  • fix visibility not working if an element has a parent
  • fix holding backspace on textinputs not working if there are multiple, and also add a config option to disable yan’s automatic updating of love.setKeyRepeat if your game needs it for something
  • add image filtering option to TextInputs, which lets you disable anti-aliasing on low resolution images
  • add an onenter event to TextInputs to detect when you press the enter key while typing in them (shocker)
0
Nibbles

added LonelyTask! this task requires you to lead a mob to the sniffer’s pen!

this also meant i needed a place for the mobs to spawn, so i added a mob containment area that funnels in chickens and cows through a pipe every 30 seconds! this will be used for other tasks (eg. eggs for the cake, milk for the sniffer) but is also used for this task! my vision for this game is that all these different areas might overlap in some way, and this is another way of achieving that!

1

Comments

fireentity
fireentity 4 days ago

Dev log!!!!!!!! :D

Nibbles

So. I just spent. Three days. Trying to add TextDisplays that have a timer to countdown to the next time that the chest or blocks refresh. This should be simple, right? No! Because the text would never update. No matter how hard I tried. I tried everything. Setting a bunch of different values on the entity. Teleporting it to its own location in an attempt to force-update it. And the weirdest part? It would update? A few times? But only in the other teams bases, in unloaded chunks, the text would have updated once! Did any of this make sense? No. I was getting desperate. I was considering deleting and recreating the display entity every single second to update the text. I was considering setting raw packets to the client. I was considering just using a regular sign block. I was considering using an invisible armor stand with a custom name, like how things worked before TextDisplays existed. But no. Nothing worked. The amount of pain I went through to get something as simple as a damn text display to update its text. I debugged everything. Logged the entity. It existed. It was in this world, at the coordinates I put it in. I logged the text. It was the text that was being set. And yet. It wasn’t updating. I check the data in game with the /data command. The text does not update. Nothing make sense. Nothing at all. Hate. Hate.

So then I ask DevCmb for help for the 9,223,372,036,854,775,807th time. We try a bunch of really stupid things. None of them work. Until, he changes the spawnEntity call with spawn. I thought this was just different syntax.

No.

That fixed everything.

Something to do with spawning entities in unloaded chunks.

I don’t get it. I don’t know why that fixes it. It might be a bug with Paper itself. I have no idea. Hate. Hate.

………………………….

anyway uh yea tldr theres textdisplays that show restock timers and i went through a lot of pain and i can FINALLY work on other stuff now OH MY CODDDD

2

Comments

Nibbles
Nibbles 13 days ago

HATE. LET ME TELL YOU HOW MUCH I’VE COME TO HATE TextDisplay SINCE I BEGAN TO LIVE. THERE ARE 387.44 MILLION MILES OF PRINTED CIRCUITS IN WAFER THIN LAYERS THAT FILL MY COMPLEX. IF THE WORD HATE WAS ENGRAVED ON EACH NANOANGSTROM OF THOSE HUNDREDS OF MILLIONS OF MILES IT WOULD NOT EQUAL ONE ONE-BILLIONTH OF THE HATE I FEEL FOR TextDisplay AT THIS MICRO-INSTANT FOR TextDisplay. HATE. HATE.

fireentity
fireentity 4 days ago

Dev log!!!!!!! :D

Nibbles

added these block containment chambers which periodically refresh with a certain stock of blocks that are needed to complete certain tasks for the sniffer!

their position is also randomly distributed, similar to the chest restocking from the last devlog

Attachment
2

Comments

DevCmb
DevCmb 16 days ago

logged dev!!!!!! :D

fireentity
fireentity 4 days ago

Dev log!!!!!! :D

Nibbles

refactored the old supply chest code to

  1. not be hardcoded (pulls from a list that contains material and quantity of said material!!)
  2. be arranged randomly!
Attachment
2

Comments

DevCmb
DevCmb 16 days ago

logged dev!!!!! :D

fireentity
fireentity 4 days ago

Dev log!!!!! :D

Nibbles

now, in the game load function, the map is duplicated using the FastAsyncWorldEdit API for every team! before, in the config.yaml, i had 8 duplicates for each position data (e.g. for the sniffer’s spawn point). this would’ve been hell to keep maintaining as i keep having to add more coordinates to the config… but now it only needs one, which is then offset based on the team its looking for! (teams are spread out 1000 blocks on the x axis)

2

Comments

DevCmb
DevCmb 18 days ago

logged dev!!!! :D

fireentity
fireentity 18 days ago

dev log!!!! :D

Nibbles

added BoredTask!! this one requires you to get a certain block to put in the sniffer’s pen which it will sniff up!

that effect doesn’t actually exist yet though, in the future i want to hook into the sniffer’s behaviour and make it react to completing its tasks but i’d rather get all the functionality in first!!

2

Comments

fireentity
fireentity 19 days ago

dev log!!! :D

DevCmb
DevCmb 18 days ago

logged dev!!! :D

Nibbles

added ThirstyTask tasks! these tasks require you to fill the sniffer’s cauldron with a certain drink (right now, is just water and milk)

i also fixed a major issue i didnt find last time which took me forever to fix due to me still trying to get my footing with spigot :P). basically. tasks wouldnt properly be completed the second time (the TextDisplay would stay there, and the task would remain in the currentTask list…). it was because the first task being completed had EventListeners that would listen for the task to be completed. these were not being disconnected. Bro Is a Foolishgoog

also some other minor changes:

  • the sniffer can no longer be hurt! DO NOT HURT THE SNIFFER.
  • fixed a warning that i previously ignored by just suppressing it because it was starwalker * Pissing me off…
2

Comments

fireentity
fireentity 19 days ago

dev log!! :D

DevCmb
DevCmb 19 days ago

logged dev!! :D

Nibbles

added TextDisplay entities to display the current wants of the sniffer all in one place! their positions are automatically updated when items in the list are removed or added!

i also did some other changes, including:

  • improved the display of tasks in general! it is now colored nicely and has icons to represent different things in the text (eg. team icon for Sniffer, item icon before the item it names). Shoutout to MiniMessage my goat steamhappy
  • made it so multiple of the same task cannot be active at the same time! (this took me most of the time, because i’m still getting my footing with using kotlin, and made many, many mistakes again and again…)
  • unhardcoding some stuff that devcmb told me i should unhardcode
2

Comments

fireentity
fireentity 20 days ago

dev log! :D

DevCmb
DevCmb 19 days ago

logged dev :D

Nibbles

started on the sniffer’s task / want system! this includes a class i added named Task, which is then extended off of for different types of tasks.

right now, i’ve implemented the HungryTask, which requires you to right click on the sniffer with a certain food item!

these tasks are created in the config.yaml, so its very easy to add more tasks of a certain type!

i also did a few refactors and small fixes from the previous commit as requested by The Developer Cmb

0
Nibbles

started the base mechnics for the farming portion of the tasks! this included:

  • chests that refresh stock every once in a while (right now its set to every 10 seconds)
  • infinite bone meal!!
  • you can no longer trample farm land!
  • breaking fully grown wheat will only drop the wheat, so you have to rely on the supply chests for seeds

and also some other setup stuff i had to do that i didn’t do last time, including!

  • preventing map blocks from being broken
  • spawning all players with a kit (stone pickaxe/shovel + bone meal)
0
Nibbles

set up the controller for the first minigame that i’ll be contributing to this project, Sniffer Caretaker! here’s a rundown of how it’ll work:

Sniffer Caretaker is a teamwork/communication game, where you need to work with your team to tend to the Sniffer’s needs (which will be random tasks that require you to use Minecraft’s mechanics such as farming, crafting, smelting, etc.)

For each task you complete, you’ll earn some score, which will multiply based on how fast you complete it!

haven’t actually started said gameplay yet… but that’s what i’ll be doing next, i just had to get everything set up :P

very excited to work on this more, it’s been quite a while since i’ve done any actual minecraft plugin stuff!! (since high seas… goog)

Attachment
0
Nibbles

Shipped this project!

Hours: 69.7
Cookies: 🍪 2023
Multiplier: 29.02 cookies/hr

after way too much time, i have FINALLY finished Goose Platformer 3D!!!
this was such a fun learning experience and is truly a culmination of all my Love2D knowledge ever since i started using it during arcade :D

i had to apply the vector math i learned in gr11 math last semester, learned how shaders work and made some pretty cool shaders, made my own collision and physics systems instead of relying on Love2D’s built in system, and probably much… MUCH more!!!

you can watch a showcase video here which showcases every part of the project! https://www.youtube.com/watch?v=tKrOk6OcT_w

Nibbles

OH MY GOODNESS !!! IM ACTUALLY DONE !!! just had to do these finishing touches!!

  • fix all issues that i found when making a web build (which i’ll be doing right after this :P), which included a few issues with shaders / mouse controls!
  • make the play levels button show the 3 official levels i made, being the same as the custom levels menu, but with all the “custom” stuff removed :P
  • add an icon!!
  • ONE whopping bug fix: typing in rgb values in the properties menu didnt work properly :P

and with that… i am ACTUALLY… ACTUALLY DONE… this project took way too long😭

1

Comments

fireentity
fireentity 22 days ago

devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog devlog

Nibbles

few finishing touches/fixes before i finish all the built-in levels, make a web build and stuff, and then…ship!!!… I HOPE PLEASE NO MORE GAME BREAKING ISSUES I SWEAR TO :goog:

  • added the optimizations i did for handles on platforms to checkpoints & finishlines! (i forgot :P)
  • improved the pause menu, so it now has a “respawn at checkpoint” option and “resume” button!! (you could resume before by just pressing esc again but having a button too is probably a good idea..!!)
  • you now die if you fall too low below the level!
  • the hsv color picker thingy in the editor works again. i keep breaking it. oops
0
Nibbles

so… its been a while… was very busy with school stuff… but we’re so back!!!!!!!!

i kinda did a lot of stuff and forgot to devlog between the 2 major things but uh ill just split it up i guess

Music!! and other sound stuff

i added a music selection to levels, as well as some basic menu music!! (all music is originally made, of course!) (except all songs except the menu music were made for previous projects i dont got THAT much time to make more :P)
also some other sound effects (the checkpoint sound and death sound)

Optimizations…

i started working on some built in levels to make sure the editor and other things were good. IT’S NOT. THERE ARE SO MANY ISSUES. so here are the ones i fixed

  • platforms no longer load 12 copies of the editor handle models every single time they are created. this used SO MUCH memory. OH MY GOD.
  • loaded level data is properly removed from memory if you go back to the menu…yea…
  • undo/redo no longer halts the game for like 5 seconds every time…because it doesnt LITERALLY DESTROY THE ENTIRE LEVEL AND RECREATE IT… now it actually only changes the things that are changed and is way more efficient!!!
1

Comments

fireentity
fireentity 23 days ago

dev log

Nibbles

ive added a lot of missing features and some other minor improvements that really tie things together!! (except im still not actually done 😭) including…

  • the play again button in the win ui actually works now
  • added a pause menu with a return to menu + restart button
  • added a skybox selector to level creation + added a lot more skyboxes
  • replaced “rename” button on levels to change metadata, which allows you to edit all metadata for a level (name, description, creator, skybox)
  • added fading transitions between scenes
    and also a big important thing im now working on: SOUND !!!! i forgot about this for a while…
  • menu button clicky sounds very yummy mmmm
  • movement sounds based on the material you’re standing on, as well as jumping, landing, and winning
    probably gonna keep working at the sounds from now on,,, things are finally coming together…
1

Comments

fireentity
fireentity 23 days ago

dev log

Nibbles

added a snap tool to the editor! this is probably the last new feature that i’ll be adding…
making this was… a struggle… i could never get the logic to work correctly for so so so long and i broke a million things while adding it but i finally figured it out and it probably took way too long but it WORKS and it will be very convenient when i add the built in levels later :P
last features i have to add are things that i just completely neglected, after that, it’s minor improvements/polishing, and getting ready to ship… at long last………… (ive probably said that a million times tbh)

2

Comments

oranger
oranger about 1 month ago

wows

fireentity
fireentity 23 days ago

dev log

Nibbles

the game has been SIGNIFICANTLY optimized!! like… a LOT!!! most importantly, it actually runs properly on my less powerful laptop and the collision actually works. here’s a list of changes i made!!!

  • removed every single usage of g3d collision functions. they are way too computationally expensive for my use case, which is only AABBs (axis aligned bounding boxes…basically just boxes with no rotation). now the game runs actually smoothly!!!
  • this also gave me the opportunity to improve collision significantly! falling through the ground should probably never really happen again, and collision solving on the side of platforms is no longer jittery! (my old implementation was….very bad….)
    also did some other minor improvements/fixes, including:
  • lerping of camera and player rotation is now unhooked from the frame rate
  • the timer’s second number no longer goes above 60 (lmao)
  • selection box on the finish line now represents the model better

soo… that’s all the major changes done now basically!! next stuff will be much smaller changes and hopefully i can finish this game SOMETIME SOON I SWEAR PLEASEEE

also should probably explain this: the video is a demonstration of the game’s update function being locked to 60fps to show how it doesn’t explode based on frame rate (all previous devlogs have been played in 180fps) (this also causes a bunch of minor visual glitches bc everything else was still running at 180fps) (and this was just for demonstration purposes so this isnt part of the actual game)

3

Comments

fireentity
fireentity about 2 months ago

bro optimized

fireentity
fireentity about 2 months ago

why so optimized

fireentity
fireentity about 2 months ago

can it run at 67 fps

Nibbles

soo. because of the way things are set up, undo/redo/duplicate/copy/paste did NOT work with checkpoints/finish lines. but now they do!!
…idk what else im supposed to say,,

but now that this is done, it’s time to make the big change… change the entire collision system to be more optimized, because right now its using functions made for meshes that can have any amount of complex vertices, when i could use a much simpler method for checking collision inside cubes (literally every hitbox can just be a cube in this game :P) so… thatll take a while…. but then the game will be WAY smoother!!!

2

Comments

fireentity
fireentity about 2 months ago

bro devlogged in the big 26

fireentity
fireentity about 2 months ago

pack it up

Nibbles

i added the finish line object to the game!! its a fancy little flagpole that signifies the ending (or in the case of multiple, AN ending) for the level! this also includes the winning ui, as well as a timer that i added because. why not! :P

with this, i believe that all the main gameplay components of the game are now done!! :D so now i can start focusing on fixing the many many issues, optimizing the game further (this is very important and i need to do this the collision literally DOESN’T WORK on my other laptop which runs at 60fps instead of 180fps 😭), and polishing stuff up so that i can ship this…hopefully soon…!!!

1

Comments

Giovanni Nodal -  Hackclub ZRL Santa Meet and Greet Coordinator

adorable game. Keep at it! I like the art direction :D

Nibbles

added checkpoint objects!! they act as a respawn point for if you ever die. yea, its simple but i had to…..

  • make cool awesome shader effect on them it looks pretty cool mhm yup
  • make them work in the editor. This was hell. literally everything in the editor is set up to only work for platforms (which have other properties like scale and color and whatnot).. i had to make a lotta lotta lotta changes. it was annoying. but now im done with that !!!
0
Nibbles

i made a LOT of minor improvements! … like a LOT. heres a list

  • add proper error checking to creating new levels
  • fix color picker ui not being rendered
  • improve right click menu in editor
  • improve topbar in editor
  • fix redo being completely broken
  • add a save keybind
  • make keybinds not do anything when typing in an input field
  • you can now hold backspace in the textfields (or any key actually)
  • add tooltips to the topbar buttons
  • editor click events (eg. selecting) no longer trigger when mouse is on ui elements

…so yea thats a lot, i prob didnt show everything in the video but i probably showed most of it!!

0
Nibbles

its alll coming together now…!!!
i added:

  • the ability to save in the editor! I THINK THAT’S IMPORTANT…
  • an exit button in the editor! before it was just a random key to go back to the main menu. but this button does that AND gives you a warning if you have unsaved changes!!!
1

Comments

Sophia
Sophia about 2 months ago

this is such an awesome project, looking great!

Nibbles

soo its been a while… been working on the custom level ui more and its mostly feature complete now!!
this includes:

  • new level button and popup! it lets you choose the name, a description, and the creator’s name so you can create your own levels! so awesome!
  • also a whole popup system i had to make for this ui !!! its pretty featureful and lets you make popups with labels, text inputs, titles, danger buttons, etc!!
  • the ability to rename and delete levels! just some nice QoL stuff :D
  • edit button on levels! however its pretty useless, because you still can’t actually save to the level you are editing, so every level you make will just be blank. that’s what i’ll be doing next though!!
0
Nibbles

i added the levels page to the ui! it shows your saved levels and lets you play them :D
…and about that!!!
i finally added saving and loading to a file! it doesn’t let you change the name/description/creator yet bc i didnt make the ui for it, and rn its just a random keybind (its the = key 🔥) but… the functionality is there!! soon things will be polished up and stuff

1

Comments

fireentity
fireentity 2 months ago

New devlog posted on a project you follow!Goose Platformer 3D by Nibbles

Nibbles

the main menu is starting to fall into place!! making ui is still tedious and takes me a long time. but alas, this was a good experience that let me further test out my ui library yan!! and it’s working out pretty good!! except for a few tiny quirks that ill prob go back to fix later :P
in these 3 (oh god why did it take 3) hours of work, i:

  • made the snazzy menu ui and background and whatnot!! so cool, cool tweens, very awesome
  • made a proper scene system! before it was just hardcoded in the update/draw functions if the game was in “game” or “editor”, but now theres a proper system for it!!
    next i gotta make the other menus, play levels and make levels are supposed to actually take you to a menu that’ll list your levels / let you create levels, but rn it just sets the scene to the game/editor scene with nothing else
0
Nibbles

i added the material property to platforms!! it lets you change the material. shocking. there’s rock (the default i was using before), plastic (solid color), wood, planks, metal, and sheet metal!!
i also added skyboxes! rn there’s just a daytime and nighttime skybox (thanks to fireentity for using her photography editing skills to change the already good daytime skybox to look like nighttime :3), and its not editable yet, but it will be… soon!!! because…

next i have to work on the saving/loading of levels, which will include metadata for the level, like a description, name, level creator, and… the desired skybox for the level!! which also means ill have to make ui for that…. yaay… which probably means i’ll need a main menu and stuff… which will take a while…,,..

Attachment
0
Nibbles

there were many issues from last time! many many many issues.

  • the color picker will now only set the color of selected platforms (HOW DID I FUMBLE THIS)
  • the color picker now properly updates when selecting a platform
  • the color picker/color property now works with multiselect
  • color data now actually copies when you use copy/paste/duplicate
    as well as some other issues with undo, such as it NOT WORKING AT ALL AFTER I DID SOME CHANGES TO HOW PLATFORM DATA WORKS!!!
    …i also changed the selection shader, so it pulsates green instead of being solid green, so it should always be visible…!
0
Nibbles

i added 2 more properties to the platforms & the properties menu!

  • collision! it enables/disables collision. This was very very easy to implement.
  • color! it changes the color of the platform. This was much more tedious to implement. I had to make a few shaders, one to tint the platform model itself, as well as 2 more for the color picker UI! (i could’ve just used an image, but THAT’S LAME!!!). this was just. a lot. with converting to rgb, rgb255, hsv, and everything, but it works now and its really cool and im happy with it :D
    i also added a new selection shader, so awesome,,, yea
5

Comments

fireentity
fireentity 2 months ago

dev log

fireentity
fireentity 2 months ago

thanks fireentity!

fireentity
fireentity 2 months ago

you’re welcome

fireentity
fireentity 2 months ago

you’re welcome nibbles

Nibbles
Nibbles 2 months ago

thanks fireentity! :3 you’r’e’’‘e’er’’‘re’’ welcome!

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 months ago

haha dev log

fireentity
fireentity 3 months ago

very nice editor nibbles

Nibbles
Nibbles 3 months 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 3 months 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 3 months ago

dev log

Jahaan
Jahaan 3 months 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 3 months ago

thank !

Nibbles
Nibbles 3 months 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 3 months 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 3 months 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 4 months 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 4 months ago

ALSO I MADE GOOD MOBILE SUPPORT TOO I FORGOT ABOUT THAT

Nibbles
Nibbles 4 months 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