Activity

MeBadDev

I’ve recovered, remade a dataset, and re-fine-tuned. By doing that I’ve made the best performing model so far.

The model now generates actual English sentences instead of gluing stuff together with commas and the word ‘and’. I’m now working on making it hallucinating less.

Attachment
0
MeBadDev

I hate my life.

I’ve tried a bunch of things in the past 2 hours, but I still can’t stop if from hallucinating random things not present in the input.

I’ve removed the required output JSON structure so the model only needs to output final entry (and uses two-passes generation for things like title and mood). I’ve programmatically converted input into actual sentences in hope that it’ll somehow makes it perform better. While it did, it’s minimal and the issue still persists.

I gave up and just used Qwen3-0.6B without any fine tune. It easily outperform my 14 hours effort. It even cutted my parameters count (and thus app size) by a whopping 600MB, wtf?

bruh, I’m overcomplicating things. I always am.

Attachment
0
MeBadDev

Hi! I’m sorry for logging 15 hours of work. Putting this into flavortown was really a last-minute decision. I’ll try my best to make up for it by writing the whole devlog here.

MomentSLM is an on device Small Language Model that powers my ‘write the bare minimum’ journal app, “Moment”. Under the hood, it’s a fine tuned version of LFM-1.2B-instruct with my own custom dataset. It’s really simple, but it took a lot of time because there’s simply too many things I can change. For example:

  • Base model
    • Tried: Qwen3-0.6B, Qwen3-1.7B, LFM2.5-1.2B-Base, LFM-2.5-1.2B-Instruct
  • Temperature
  • Prompt
  • Dataset
    • Refined 6 times
  • Other hyperparameters
    • For example. repeat penalty
    • Top P
    • Top K
  • Input/Output format
    • Ok, this one is on me, but I’ve tried 3 different formats, and rewrote the dataset 3 times.
      And every time one of these properties change, I try everything again to find the optimal settings. Combining that with 8 minutes per fine-tune and I’ve spent quite a lot of time on this project.

It’s not an easy task. Being a small language model, MomentSLM has some trouble understanding the context of my input, and thus generated some quite interesting outputs. For instance:

  • I ran on the path barefoot, wearing my old shoes and stepping through a mist of dust (you can’t be barefoot while wearing shoes)
  • The soft fur of the cat made me fall asleep. I watched the television and purred, curled up on the couch for a nap. (Last time I checked, I’m not a cat so this doesn’t make any sense)
  • Trying to cook something for dinner and it’s going to be burnt food. It’s a bit disappointing, but I’m trying to stay positive. (I don’t think I have to explain this one)

While it’s not perfect, I’m quite happy with it’s current status, and will write the devlog here once I’ve managed to get it working better.

Attachment
0
MeBadDev

I’ve made a CLI tool that helps me manage devlogs and blogs.

It can:

  • Create new projects
  • Create new devlogs under each project, with autocomplete
  • Reorder projects
  • Automatically order devlogs
  • Create new blogs

I’ll also mirror the devlog on flavortown to my website’s project devlog from now on. You can check it here: https://mebaddev.net/project/personal-website

Attachment
0
MeBadDev

This is my personal website. It has:

  • A cool pixelated mountain background thingy
  • My tetr.io stats
  • My wakatime stats (currently doesn’t update since I’m now on Hackatime instead of Wakatime)
  • Blogs generated by markdown files.

Here’s the change log I’ve made:

  • Moved from HashRouter to BrowserRouter
  • Make dates dynamically generated from each blog’s metadata instead of being hardcoded in each blog
  • Made a ’~ x minute read’ thingy that assumes an average person reads at 200 WPM
Attachment
0
MeBadDev

Refactored codebase

I’ve refactored the unholy spaghetti that is my codebase. That’s all I have to update.
I’ve attempted to include 2 videos in the last devlog, but for some reason it only shows 1 (and it’s dulplicated, i am so confused), so I’ve squeezed out an extra devlog just to upload that video.

0
MeBadDev

Implemented server!

I’ve implemented a simple server! It’s using WebSocket because I’d like to provide a web demo in the future, and WebSocket is perfect for that. Also, I’ll be able to host dedicated servers in addition to LAN P2P with the same codebase, which is a nice bonus.

I’ve also (embarrassingly) attached my tetr.io gameplay clip instead of my project in the last devlog (when can we get the ability to edit devlogs btw), so I’ve attached it to this one. Sorry! :P

2

Comments

bgtulk
bgtulk about 1 month ago

Very cool animations!!

MeBadDev
MeBadDev about 1 month ago

bruh it only uploaded one video twice just like every single one of my devlog :\

i guess i’ll work on refactoring my codebase and show the server in the next devlog

MeBadDev

Garbage system!

I’ve implemented a garbage system (hopefully) identical to guideline Tetris! I’ve also implemented a “Backfire” mode where you basically attack yourself with a 0.5x multiplier. That way I can show this demo.

I think I’ll now begin working on multiplayer :D

4

Comments

MeBadDev
MeBadDev about 1 month ago

WAIT THATS THE WRONG VIDEO

MeBadDev
MeBadDev about 1 month ago

I just realize it’s impossible to delete devlogs, so sorry for that. I’ll include the intended video on the next devlog

MeBadDev
MeBadDev about 1 month ago

meanwhile hope you enjoy the tetris lol

penguinencounter
penguinencounter about 1 month ago

good tetrio gameplay 👍

MeBadDev

Implemented SFX!

There’s now SFX for placing pieces, spins, comboing and perfect clear. I’ve definitely spent way more time then a hour but hackatime is not avaliable for audacity and musescore :(

I’m think the sound of spin is kind of weird and does not fit, though. I might change it later.

Anyways, here’s the video!

0
MeBadDev

I looked for feedbacks in slack and some gamedev discord server and altered a few things:

  • The line clear particles and spin-clear texts has been reworked to fetch the color of current skin on runtime so the color doesn’t look that weird.
  • Made the board even more bouncy!

I’ll now begin to work on adding sound effects.

2

Comments

Keyboard1000n17
Keyboard1000n17 about 1 month ago

nice kde theme

MeBadDev
MeBadDev about 1 month ago

Thanks, I use arch btw :3

MeBadDev

Now when you perfect clear, it does a cool spin!

You might think that this update is not as ‘packed’ as my previous devlogs, but it’s because while I’ve done quite a lot, it’s all just refactoring my spaghetti, and I don’t know how to present it.

I’ve also poked around the repo of Flavortown. In theory, if I include this link: https://hackclub.slack.com/archives/C01504DCLVD/p1766762314668419, I’ll get an achievement, let’s try it!

We’ve also officially hitted the 10 hour mark, so that’s pretty cool.

1

Comments

MeBadDev
MeBadDev about 1 month ago

That didn’t work :(
Well, I don’t need 20 cookies that much currently anyways, so it’s fine.

MeBadDev

Juicing things up even more and adding QOL

Well, that’s a really general description, and I don’t even know how to convert it into English sentence, so here’s a changelog!

  • Rebuilt everything using Godot’s Control node for easier handling of different screen sizes and stuff

  • Every display (the board, next and hold piece) now uses the same skin system, so I don’t have to apply skin 3 times. If you look closely at my last devlog you’ll see some discrimination, which is now fixed :D

  • Reworked the spin animation so it looks more smooth

  • Adjusted Next piece display’s height so it doesn’t have an awkward blank space

  • Most importantly, I’ve visualized what clears have you made and the back to back chain, and I’m quite happy with the animation!

(In case this devlog looks weirdly spaced, sorry. Flavortown’s markdown is in a weird state rn. The subtitle renders correctly but not the bullet points and they just disappeared. I’m adding some space between those bullet points to try to make it easier to read, and I have no idea how this will turn out.)

0
MeBadDev

Juicing things up

For the past 2 hours or so I’ve been working on juicing things up:

  1. The board now slightly move and bounces around when you move the piece
  2. There’s particle when clearing lines
  3. The board slightly tilt when you spin a piece (not to be confused with rotating! Search T-Spin on google or something for more details)

I also feel like now’s a good time to yap a bit about what I want this game to be.
Basically, I love tetris, but now there’s a skill gap between me and my friends so they no longer want to play with me :(. I want to create a Tetris party game that will be fun and balanced even if players have skill gap, and make it enjoyable for everyone.

I’ll talk more about it in later devlogs. For now, cya!

1

Comments

bgtulk
bgtulk about 1 month ago

WOW, now that looks good. You made really good job with the user feedback animations.

MeBadDev

Made a Tetris engine.

Yep, that’s right. I spent 5.2 hours making a Tetris engine. Please trust me that it’s worth it, though, and no, this is not my first time using Godot.

You see, while Tetris is a popular simple beginner project with tons of tutorials, most of them implements it ‘incorrectly’. There’s actually standards on what Tetris is, including rotation system, kick table, bag system, piece spawn position/orientation etc, which allows for crazily fast Tetris. Most tutorials just go as far as ‘blocks fall and when line full clear line’, but that’s not enough for me.

Here’s what I’ve done:

  • A skin system fully compatible with TETR.IO Plus Skin
  • A lore accurate implementation of the popular SRS+ kick table
  • Configurable DAS and ARR
  • A 7 bag implementation

The engine I’ve created is exteremly module, you can swap rotation system or throw some pentrominos at the player and it won’t complain.

Here’s a video of it! (I’m an S+ player on tetr.io, btw :D)

0