Tumgik
#and i have to do it again
no-semicolons · 1 year
Text
These first few devlogs will be numbered with roman numerals as I have not yet started work on my actual game
Context and warning
This project is my graduation project for high school, I do have a partner for doing this, but they’re behind me on learning the engine. Imay publish the result or even keep working on it after my senior year, saying this, to people who would push for me to release my project earlier than my senior year, no. This is a school project and I will not be pushed, the school comes first.
Mario Clone
To learn Godot, my engine of choice, I have been working on multiple small projects, such as a Tarot reader, a mobile game on the Godot docs, and more recently, a Super Mario Bros. clone.
Today I will be going over:
The movement script
The bounding box and signals in Godot
My plans for this project
Movement Script
In the movement script, I may have been caught in some feature creep. The movement script has:
Side to Side movement
@export var speed = 300.0 @export var friction = 10 ... func _physic_process(delta): ... if Input.is_action_pressed("ui_right"): velocity.x += speed if Input.is_action_pressed("ui_left"): velocity.x -= speed else: velocity.x = move_toward(velocity.x, 0, friction)
The "ui_right" is set to right arrow key and D, the "ui_left" is set to left arrow key and A. When "ui_right" or "ui_left" are pressed the velocity vector (Vector2(x, y)) is incremented by speed, and when neither are pressed the move_toward function is used. The move_toward function takes the arguments “what value does it start at, what is the end value, what value is it decremented/incremented by”, in my case, the starting value is the current x velocity, the end value is 0, or standing still, and it is decremented by friction, which equals 10.
Jumping with Jump Buffering and Coyote Time
@export var jump = -400.0 ... var coyoteTimer var jumpBuffer = 0 var isJumping = false ... func _ready(): coyoteTimer = Timer.new() coyoteTimer.one_shot coyoteTimer.wait_time = 1.0 add_child(coyoteTimer) ... func _physics_process(delta): if jumpBuffer > 0: if is_on_floor(): velocity.y = jump isJumping = true jumpBuffer = 0 else: jumpBuffer -= 1 elif Input.is_action_just_pressed("ui_accept"): if is_on_floor(): velocity.y = jump isJumping = true elif not coyoteTimer.is_stopped(): velocity.y = jump isJumping = true else: jumpBuffer = 5 elif Input.is_action_just_released("ui_accept"): velocity.y = max(velocity.y, jump)
Let’s look through this line by line, starting with the variable jump, why is it negative if you want to go up, well in Godot, the vector graph is mirrored over the x axis so -y is up and +y is down. The other variables apply to jump buffering and coyote time. I haven’t told you about jump buffering and coyote time yet have I? well, they’re both fairly simple features that make the game feel smoother and more responsive. Jump buffering makes it so that if you hit the jump button ("ui_accept") and you're not quite on the ground, you'll jump when you land. Coyote time is named after Wile E. Coyote and makes it so that if you jump just after leaving a ledge, when it seems like you'd still be able to jump, you can. The _ready() function is the first thing to run, as it runs on startup, this one sets up the coyote timer The _physics_process() function runs every physics frame , yes, there are even more kinds of framerate! This first if statement checks to see if the jump buffering frames are still active. If they are, and the player is on the floor, then the player jumps, sets isJumping to true and sets the buffer frames to 0. if is_on_floor() is false, then the code decrements jumpBuffer by 1. If there aren't any buffer frames, it checks if "ui_accept" was pressed, if so, it checks if is_on_floor() is true, if so the player jumps, else if the coyoteTimer is active, and if so, the player jumps, else, it activates the jump buffer frames. I'm not entirely sure what that last elif statement does , it probably just jumps.
Bounding Box and Signals in Godot
Signal are an incredibly powerful tool when used correctly, "Signal up, call down" is a saying in Godot that helps to make organized code . Signals can connect nodes to trigger things, but they can be ignored, which helps for reusablity.
func _on_bound_body_entered(): get_tree().reload_current_scene()
The _on_bound_body_entered() function checks if a phyics body has entered the bounding walls. the get_tree().reload_current_scene() reloads the level.
Future Plans
I hope to finish world one by the end of this week, but we'll see when we get there, and hopefully by around the end of january, me and my partner can start working on the actual game.
TCHÜSS
2 notes · View notes
eepybubble · 2 years
Text
realizing i have to go back to school tomorrow
4 notes · View notes
dovesick · 4 months
Text
Tumblr media
endless night
39K notes · View notes
liquidstar · 7 months
Text
If my mom sees a significant amount of blood she gets lightheaded, and has fainted on some occasions. Once it happened when we were kids, I wasn't there to witness it but I heard the story from my dad. Basically my brothers, around 7 or 8 at the time, were playing outside while my mom was making their lunch, and she accidentally cut her finger. It wasn't anything serious, but it drew a fair bit of blood and she passed out. My dad saw this and rushed over, but he didn't really know what to do so he just sort of started slapping her to wake her up (not recommended, but he had no idea and panicked)
At that exact moment my brothers both came in from playing, and all they saw was our mom unconscious on the floor and our dad slapping her. So, like, without even saying a word to each other they both just INSTANTLY start whaling on him, like, full blown attack mode to defend our mom. Which obviously didn't help the situation, but she did wake up and everything was fine.
Now our dad says that he's actually really glad they attacked him over what they thought was going on, because it means he raised good boys. And I still think that's true, they're very good boys.
60K notes · View notes
phantomrose96 · 10 months
Text
I think we should have a turn of phrase for "I'm not in the right, but I AM annoyed with this situation, so I just need to go bitch to a friend about this before I suck it up and go do the right thing" because more and more I'm finding this is a critical element of functional adulthood.
97K notes · View notes
hansoeii · 2 months
Text
Tumblr media
crowley
13K notes · View notes
greelin · 5 months
Text
it’s so crazy that i grew up in a town with like 300 people and now i live in a city with over 66,000. anything can happen
14K notes · View notes
icestorming · 3 months
Text
Tumblr media Tumblr media
- oh.
10K notes · View notes
sheepgirlmaidtummy · 3 months
Text
man. this whole thing pisses me off because like. even when people talk about staff having a history of hating trans women, that this isnt the first time, without fail black trans women are forgotten to be included again and again. im not surprised this caused such an uproar when the popular white woman gets deleted. nobody should be, its been that way like forever. some cunt in my inbox got annoyed i called rita a sex worker (lol? okay)
Tumblr media
but i mentioned that in my post because so many black trans women have gotten removed from this site for their sex work alone, regardless of if it "broke community guidelines" or not, especially when tumblr live and the ads on this website are so fucking horny. idek what to say rn because like. this wont get as many notes as the posts talking about her will. the exploding car thing is gonna get more attention than the trans women on this site you dont actually care about listening to. ive been talking about how unfair it is to be a black tgirl on this site for years and nobody cares.
i love rita, we talked abit the other day and she's doing fine, dont get it twisted and think i hate her or some bs, she's a big fucking reason im not fucking homeless.
but part of why her deletion got to #1 trending on tumblr for multiple days in a row is that she's white
10K notes · View notes
lazylittledragon · 2 months
Text
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
if i had a nickel for every au spawned from twitter that i SWORE i was going to be normal about
8K notes · View notes
mumblesplash · 4 months
Text
i know it’s like years old at this point but i love that one collab mumbo and grian did with tommyinnit bc it’s like the single most concentrated example i’ve seen of mumbo’s Chaos Nullification Powers
you get to see a bit of it on hermitcraft, mostly via his interactions with grian, but until seeing that collab it didn’t really hit me just how completely mumbo can no-sell other people’s attempts to control a situation. tommyinnit is possibly the single shoutiest, most chaotic minecraft youtuber out there, and in most videos i’ve seen he pretty much overwhelms everyone else and sets the tone for interactions because of this. but mumbo just. doesn’t let him. no matter how much tommy escalates in intensity, mumbo reacts with *exactly* the same energy he always does. grian largely comes across in the whole video as annoyed and reluctant to engage with the whole thing, but mumbo’s not even affected. he just rolls with anything he finds funny and basically ignores anything he disapproves of, only seeming more and more unflappable the harder anyone tries to get a rise out of him.
AND imo, this is the key to my favorite interpretation of him as a character
see, when the people around him are being more reasonable/calm, i think mumbo often comes across as anxious and a bit easily overwhelmed. the thing is, his nervous wet cat vibes do not scale. he has one setting. his responses to the last life ‘ah-ha!’ jokes and to hermitcraft 8 starting to crumble to pieces under a falling moon are almost identical.
mumbo jumbo is inexorably and eternally Just Some Guy, but that gets stranger and stranger the weirder his surroundings become. the giggly incredulousness that makes him an easy target for goofy puns looks Very different when it’s also his reaction to the impending end of the world.
8K notes · View notes
blueboyluca · 11 months
Text
“When I first heard it, from a dog trainer who knew her behavioral science, it was a stunning moment. I remember where I was standing, what block of Brooklyn’s streets. It was like holding a piece of polished obsidian in the hand, feeling its weight and irreducibility. And its fathomless blackness. Punishment is reinforcing to the punisher. Of course. It fit the science, and it also fit the hidden memories stored in a deeply buried, rusty lockbox inside me. The people who walked down the street arbitrarily compressing their dogs’ tracheas, to which the poor beasts could only submit in uncomprehending misery; the parents who slapped their crying toddlers for the crime of being tired or hungry: These were not aberrantly malevolent villains. They were not doing what they did because they thought it was right, or even because it worked very well. They were simply caught in the same feedback loop in which all behavior is made. Their spasms of delivering small torments relieved their frustration and gave the impression of momentum toward a solution. Most potently, it immediately stopped the behavior. No matter that the effect probably won’t last: the reinforcer—the silence or the cessation of the annoyance—was exquisitely timed. Now. Boy does that feel good.”
— Melissa Holbrook Pierson, The Secret History of Kindness (2015)
21K notes · View notes
batbabydamian · 1 month
Text
Tumblr media Tumblr media Tumblr media
reverse robins of my fav trio!
6K notes · View notes
canisalbus · 6 months
Text
Tumblr media Tumblr media Tumblr media
These started out as MLP versions of the dog lads but quickly got away from me and became just their own thing. Machete is a medieval unicorn and Vasco was inspired by Renaissance tack and carousel horses.
9K notes · View notes
astralpenguin · 1 year
Text
self care is writing a fic that you’re literally the sole target audience for
41K notes · View notes
isjasz · 1 month
Text
Tumblr media
[Day 277]
Chamber of sea critters 🎣 (im not obsessed with lineless u are)(its so fun KJASDLAJJKA)
4K notes · View notes