Activity

readprocessmemory

STATS
WOW: You can now see stats of every completed game, when you feel like reminiscing

also:
• retry button is now functional after the game ends
• you can also just press the ‘restart’ button now to restart faster (rebindable in the settings)
• the game counts how many moves you are using when placing pieces, so the player can’t stall infinitely
• minor changes for more performance
• gamemodes can choose when to save a record into their statistics (ex: 40 Lines is a gamemode where you clear 40 lines as fast as possible, so we shouldn’t save a game where the player did not reach 40 lines cleared)
• config and stats files are now stored in ‘Environment.SpecialFolder.LocalApplicationData’ instead of just the relative location of the exe

0
readprocessmemory

huge!
there’s a game over screen now, which shows many many stats about your stacking
implemented gamemodes: marathon, 40 lines, blitz
there’s a scene that lets the player choose a gamemode now
lock delay now scales with level
level is now capped by a variable in game settings (controlled by gamemode)
some small things, like the action text fading :)

whats next:
I need to make some kind of background, since it looks really bland in the menus right now.
A custom gamemode type, where the player can edit all the settings themselves.

Attachment
Attachment
0
readprocessmemory

big!!
Now the game shows what you accomplish by stacking pieces on pieces and awards you accordingly!!
Added:
Spin Detection: the game now judges your placement and awards you more score, if you manage to put a mino into a more constricted spot.
Scoring systems: the player can choose any scoring system he wants (there’s only one). The chosen system decides how much score to award you for every specific spin, taking into account your current level, combo, B2B.
B2B: the scoring system checks if you only clear quads or spins in a row, and you get rewarded 1.5x the score for keeping it
Other than that, I did some early work on gamemodes and the overall feel of the controls (again) this time it feels polished, i swear

Attachment
0
readprocessmemory

Added counters that display data about the ongoing game. The player can choose what data he wants to see on the screen and it’ll be there!!
The real important ones include:
Pieces Per Second - your stacking speed in terms of pieces placed per second
Inputs Per Piece - the amount of inputs you use per every piece placed
Time - pretty important
Score - might be more important
And way more, which can be seen in the attached gif (that has every one of them enabled)

Attachment
0
readprocessmemory

MAJOR update, the player can now see the queue, which makes stacking way more fun and enjoyable!!
Added customizable counters to the side of the board. (for ex: pieces per second, time, lines cleared..)
I chose to not use the C# implementation of Random, because you can’t reliably copy the seed and in turn peek ahead of whats to come (thats the queue part of the game), so I had to implement another way of doing that, which ended up great.
There are also slight changes to handling, since I’m still stuck on that feeling not so perfect.
gif is going craazy this time wow!

Attachment
0
readprocessmemory

Small update
Made the movement system better, by implementing DAS, ARR, SDF, DCD. With this new update the player can move and place the pieces properly and do it way faster than before.
Simple explanations:
DAS (Delayed Auto Shift) - Time needed to hold a direction key, to activate ARR in that direction.
ARR (Automatic Repeat Rate) - Automatic tetromino moving speed.
SDF (Soft Drop Factor) - The amount of times the gravity is increased, when soft dropping.
DCD (DAS Cut Delay) - The amount of time that DAS will be paused for, after placing a tetromino.
They make the game feel better and are all customizable.

As for what’s next, I still need to work on adding a ghost piece and a queue so it would be possible to build faster.

Attachment
0
readprocessmemory

The game is in a playable state!!
Started working on the gameplay, basically made the entire base of the game. Some interesting parts include: interchangable rotation systems: different ways for the pieces to rotate into certain spots; interchangable randomizers: the order that the pieces come at; Gravity works too, with lock delay, so the piece does not instantly place when it touches the ground, only if there is no movement for a few frames (the lock delay).
A lot of my time went into the kick tables (rotations) and making sure all is correct for every piece, so it doesn’t come back to bite in the future.
There are still a lot of things left, like: gamemodes, better movement, text indicators, scoring, spin detection, ghost piece…
For now I think the next step I’ll be taking is fixing the movement, since it’s really unintuitive to be placing them now.
Man, look at those minos go!!

Attachment
Attachment
0
readprocessmemory

Finished up on the UI system, added more controls to use (ex: toggle, slider, progressbar..) with keyboard control working on all of them.
I discovered the hardest part - resolutions, scaling was hard to add because the text would look real bad since the font is rasterized for one font size, then scaled.
That’s why I added SDF (Signed Distance Field) rendering for text, which retains it’s beauty on (mostly) any size!!! So with all of these combined I can show you the all-new Settings!! With an extra code snippet, showing how drawing is handled in a scene.

Attachment
Attachment
0
readprocessmemory

Here I am again showing more menus, you know I would like to start working on the gameplay part, but I guess I’ll do that after I sort everything out with the UI. (it’s making me go crazy 😁)
Hey, I’ll make the next devlog include something with gameplay!!! 😉

Today I had to change a lot of logic to accompany a new feature, rewrote a big chunk of the button code, now it supports keybord control!!
I’m writing the UI code for buttons and such as immediate (that’s how dear imgui does it), needed somewhere to store data about the buttons, so the UIContext class was created, it’s real simple for now, but I’ll add more functionality later for more features.

woah! look at that gif, man that mountain looks good

Attachment
Attachment
0
readprocessmemory

9 hours and 42 minutes. That’s about 4-5 movies. a full night of sleep or maybe the amount of time one spends on youtube everyday…🤨(he’s looking at you)
Well whatever that time might amount to, for me It wasn’t about the length of the experience, It was definitely the result that mattered. At the end of this multi-day marathon, I did it, I created the main menu - the hub, one might even say quite the memorable part of a game, the screen that greets you when you launch the game.

most of the time was spent building the game engine (for block stacking game :) ), I have never used c# on a such a project so it was pretty interesting, also never made a game so it’ll be fun seeing how this ends up. this time round I setup important features: state managment, which displays different screens of the game (main menu, settings, gameplay..) it works using a stack, which i pop/push states on (🤔 am i a genius or is that problematic for the future - I DONT KNOW). Then came rendering, game config (for saving keybinds and such), ui styles, input management. man, just look at the main menu

For the astute amongst you, that have noticed the little pieces next to the title - they’re not really a part of anything i just added them in paint after taking the screenshot 😇

Attachment
Attachment
0