Tumgik
#game programming
gleafer · 3 months
Text
GUYS.
My niece made a game. It’s SO FREAKING CUTE AND FUN! Romance game where you go to a bookshop, pick a genre and the hero pops out of the book to take you on a “choose your own adventure” trip!
The art is spectacular and the concept fresh! And AND AND it’s no set cost, you pay what you can and it’s YOURS!
It’s already got over 3000+ players! (Including me!)
281 notes · View notes
askagamedev · 10 months
Note
My Twitter is melting down over Tears of the Kingdom having a chain wrap around a wheel to lift a door open. Can you explain why senior programmers are calling this “black magic”?
Physics simulation starts off simple when you have simple situations, but each additional factor creates additional layers of complexity that the simulation might not handle all that well. Let me try to give you an example of such.
Tumblr media
Let's go with a basic physics problem - I am standing still and drop a ball I am holding in front of me. What should happen? The ball starts with a velocity of 0, gravity pulls it downward, and it falls over time. Creating a general equation to simulate this is not that difficult - it's pretty basic physics.
Tumblr media
Now let's add another layer of complexity. I'm still holding the same ball, but now I am standing on a mine car that is moving at a constant velocity along a straight rail. I drop the ball over the edge of the mine car. What should happen? The movement of the ball should take the movement of the mine car into account in addition to gravity, causing it to move differently from the above example. Creating a general equation to simulate this result is much more difficult.
Tumblr media
And then we add another layer of complexity. I'm holding the same ball and standing on the same mine cart, but instead of the mine cart moving at a constant velocity, the cart got a big initial push and is now slowing down. In addition, we're no longer on a straight rail, but we're actually going in circles along a circular rail. I drop the ball over the side of the mine cart. What should happen? How many different factors must the physics simulation take into account in order to calculate the result correctly?
Tumblr media
We can make this even more complex. Instead of dropping the ball, let's throw the ball. Instead of it being a ball, let's make it bola - a rope with balls on either end - that we're twirling over our heads before we release it. And we'll be doing the release while on an accelerating mine cart on a circular rail.
Tumblr media
What the engineers on Tears of the Kingdom did was build a physics simulation system that can elegantly handle multiple layers of complexity. That's an impressive engineering feat, which is why so many skilled engineers are impressed by it. It's very similar to the fawning over the rope physics from the Last of Us Part 2 a few years back, and for the same reason - it's an exhibition of physics simulation elegantly handling multiple layers of complexity.
[Join us on Discord] and/or [Support us on Patreon]
Got a burning question you want answered?
Short questions: Ask a Game Dev on Twitter
Long questions: Ask a Game Dev on Tumblr
Frequent Questions: The FAQ
267 notes · View notes
loverofpiggies · 1 year
Photo
Tumblr media Tumblr media
I’ve been learning programming for 2 years and this sums up my knowledge
835 notes · View notes
codingcorgi · 2 months
Text
Tumblr media Tumblr media
Day 13-14 coding progress. Well got a migraine last night and passed out, and had my game development class to teach today, so I finally got time in the evening.
Yesterday I made a sword in Asset Forge for getting things ready for the upcoming game jam! Today I decided to get back to my Maui app which is now called Puppy Tasks. I am having issues as you can see... I can't get my Moods enum to show up correctly. I've tried 2 different ways of implementing this and I'm so frustrated. Any help would be appreciated.
Tomorrow I'll be working at this problem more until it's fixed
10 notes · View notes
eliadeleon5 · 3 months
Text
My partner is doing a survey for his undergraduate dissertation in Game Design. If you play games, please help out by submitting a response! ♡
10 notes · View notes
flutterlyfloored · 9 months
Text
youtube
Yrgo Game Creator Students proudly announce: Flutterly Floored Full game release June 29 on ITCH.io
26 notes · View notes
impact801 · 4 months
Text
I had a whole problem with my games code that I was working on for 2 days,and all the issue was that I simply passed a parameter by value instead of by its reference.
7 notes · View notes
wormdramafever · 5 months
Text
GVH's Lead Programmer will be Keynote Speaker for GAMERella Game Jam 2023
Tumblr media
GAMERella is the world’s longest running annual game jam and workshop series focusing on supporting marginalized game creators and aspiring game makers. Our next edition is planned for November, 2023.
10 years and over 1000 participants! Ready to make your first game? Our mentors and workshops are waiting for you!! Hundreds of people have made their very first game at GAMERella, the world’s longest running inclusive game jam. NOW IT IS YOUR TIME! Join in-person to this year’s GAMERella! As always, GAMERella invites women (cis/trans), trans men, non-binary/genderqueer folks, LGBTQIA2S+, BIPOC, and any others who feel they haven’t had a chance to make a game, to join GAMERella in a weekend of fun game-making November 11-12, 2023.
KEYNOTE 2023 Hope Erin Phillips Hope Erin Phillips a programmer, multimedia artist, and professional hobby collector. They work at KO_OP in Montreal, as lead programmer on the recently released Goodbye Volcano High. Hope holds a BFA in Intermedia/Cyberarts, is working slowly through a second degree in biology, and is a Critical Hit 2015 alumni. Their personal work usually focuses on mental illness and queerness, and in their work at KO_OP they are proud to build systems that facilitate the expressions of unapologetically gay stories.
Official Site
8 notes · View notes
murosakiiro · 6 months
Text
Why I love/hate coding
9 notes · View notes
informatikerin-freyja · 6 months
Text
In my experience with game programming, I think a lot of bugs amount to different systems disagreeing with the current state of parts of the game. It makes me wonder about the possibility of developing type systems which can reason about the "lifecycle" of objects, and point out mistakes where there is the potential for different subsystems to think one object is in different states of its lifecycle.
6 notes · View notes
lith-the-dev · 7 months
Text
Catonio - platformer
Was messing around with the colliders to get the general feel
6 notes · View notes
magic-yard-of-pidrav · 3 months
Text
I'm still breathing and designing
Tumblr media
I'm sorry for the absence my fabouls followers, but life got a little busy and i think i didn't have nothing so interesting to tell to you,
(I was exploring places with other game developers and got carried away )
Anyway this is what i've been doing for weeks: DOCUMENTSSSSSS
The docs are wher I get lost in analysis and thoughts to explain the better way possible all my creative vision.
If you're designing any game that is a little more complex than Tetris, you will surely benefit from writing down everything, oh and one document will not be enough, that is a legend.
4 notes · View notes
askagamedev · 1 month
Note
What projects would you recommend for a gameplay programming portfolio, and how do you think one should go about selecting new projects on their own?
Let's establish a baseline first - the purpose of a portfolio is a showcase of your best work to get you hired. Thus, anything that goes into your portfolio is put there with the goal of getting you a job. Does that make sense? I hope it does. With that in mind, here are some skills that teams tend to look for in a gameplay programmer, and some sample work a candidate could use to demonstrate that she knows how to do those things.
Tumblr media
Data-Driven Gameplay Systems
Much of the time, gameplay programmers need to build a system that requires minimal further maintenance and updates for designers to create the content. If the designer can use the system to create more content without needing the programmer to rewrite large parts of it, that's the ideal. An example of this would be an equipment system for a normal RPG - imagine a weapon that adds stats and maybe has a proc on hit. A weapon-creation tool might allow a designer to set the weapon's data - name, damage, attack speed, stat bonuses, and procs (e.g. effects that fire on hit, on damage taken, etc.).
Tumblr media
3D Math
A lot of gameplay happens in a 3D world, which means that 3D (vector and matrix) math is important to understand where things are and how to get them where we need them to be. An example of this might be a backstab feature in combat, where a player can deal bonus damage to an enemy if the player is behind the enemy. Detect when the player is attacking from behind the enemy, deal some extra damage, and provide some feedback to the player to notify them that they have successfully backstabbed a foe.
Tumblr media
Optimization
Getting games to run at 60 fps is certainly not easy. Understanding how to improve performance is very helpful. An example of this would be to have a demo where you show a lot of something, but still keep it performant. A good example is a navigable field of grass that has non-uniform wind blowing across it. Making a field of grass is not that difficult, but getting said field of grass to perform at a high frame rate with a lot of grass in it is.
Tumblr media
Remember, the purpose of the portfolio is to showcase the skills a candidate has to help her get a job. If a candidate has things to show (and, more importantly, talk about), it helps persuade the hiring managers that she can do the kind of gameplay engineering work that they need done. A candidate won't need all of these in a portfolio before applying - these kind of examples are helpful to have if she doesn't already have work experience in those areas. If she has work experience in those fields already, they should be on her resume and we hiring managers should be aware of them. If she does not have that kind of experience, then she should have something in her portfolio to demonstrate her skills.
[Join us on Discord] and/or [Support us on Patreon]
Got a burning question you want answered?
Short questions: Ask a Game Dev on Twitter
Long questions: Ask a Game Dev on Tumblr
Frequent Questions: The FAQ
29 notes · View notes
lifeland · 18 days
Text
Okay I'm stupid I thought client-side prediction was something like "the server predicts what inputs a human would make if it doesn't receive a message in time" THATS FUCKING HOST SIDE... anyway now I know that client-side prediction isn't all that scary, and is already practically an emergent behavior from how I'm handling multiplayer.
4 notes · View notes
codingcorgi · 2 months
Text
Tumblr media
Days 21-23 of coding everyday for a year. I've been busy y'all.
Our game for the global game jam is a funny game where the player must do well at the shooter mini game, and engage with their live stream audience. The audience will sling jokes, insults, or praise depending on your performance/engagement.
So on day 21 I spent most of the day on making a game design document, and planning the game jam game with my team. Day 22 I started some architecture and technical design document to help the rest of the devs go in the direction we are supposed to go. Day 23 I started working on UI and starting the chat functionality. My husband is working on the shooter mini game.
Tomorrow I'll be making the chat functionality more.
9 notes · View notes
Text
12.07.2023 - Recycling programming
Fangst will be our first commercial release, meaning we're charging money for it and putting it up on stores and all that stuff. But it's not our first game. Since starting a student business at Folkehøgskole (Translating to… county college?) back in 2016 we've worked on: -3 free browser games under Vertebrae -3 edutainment games on commission from Aluminiummuseet in Holmestrand -6 gamejam games each at Global Game Jam Hamar And we've spent 3-4 years working on Liquid State, a previous commercial title that had to be put on hold due to lack of funding.
Tumblr media
(screenshot from a presentation we sent to a funding org)
All in all that adds up to 18 and a half games. Roughly speaking. The smallest gamejam games have been opportunities to try new things and experiment with features we haven't touched before, the browser games demanded optimization to make performance good enough to run in browser, the edutainment games tested our ability to work under pressure with hard deadlines, and Liquid State gave us a clearer idea of what works and doesn't work when working on a big long term project. They have also given us a backlog of previous works to pull from when developing new games. Not just in terms of lessons learned and getting used to workflows, but also straight up pulling bits of reusable code here and there.
I'm Åge by the way. This blogpost is mainly written from my point of view as a programmer and is going to be focused on programming. But I asked Hauk and he let me know the following:
Liquid State in particular had a big impact on Fangst's animations. Liquid State used traditional animation for the main character and puppet based animation for enemies, which gave him experience with both forms of animation and a clearer idea of how to make effective individual frames with good poses and how to polish the puppets.
Tumblr media Tumblr media
Left: Liquid State. Right: Fangst wip sketch.
As for programming, here are some examples of reused/informed code.
Stepping Stone is a 2D platformer that required somewhat competent collision and input code. It was meant to be a frustrating experience to play through, but the frustration was supposed to be built on the repetitiveness of the gameplay not on things outside of the player's control like clipping through walls or not jumping when you wanted to. I spent much of the game's development tweaking the player controls and collision code, and this got ported into Fangst as the beginning of the main character's movement code before adding some of Liquid State's player physics.
Tumblr media
Throughout 2021 I spent some time on an unreleased project with a top down camera titled No Future Towers. I made a twitter thread about my process here. I wanted the buildings to have depth to them so I made a fake 3D effect with 2D parallax but it was kind of a pain to work with. Then I read a blogpost by Matharoo about GameMaker's built in 3D camera features. I ended up using this for the 3D effect in that project, and then reused that effect in Fangst to quickly set up depth without having to program in layer parallax manually.
Tumblr media Tumblr media
No Future Towers also had an ocean theme with a soundscape of seagulls and crashing waves and creaking wood. I threw this soundscape together with royalty free sound loops, and then ported the sounds into Fangst for some placeholder atmosphere to test the vibes before getting a sound designer on board.
Liquid State had a pretty dramatic impact on Fangst. One of the reasons we're confident in having combat in a game that has a lot of moving parts already is because we've been able to port a lot. Liquid State was a combat focused beatemup, which required things like hitboxes that can remember who they're allowed to target and who they've already collided with, spawning hitboxes at specific positions in specific frames of an animation, changing the hurtbox of the player on the fly, enemies getting stunned while in knockback, and basic enemy AI. This carries over pretty directly to Fangst, so the lucky few who got to try early demos of Liquid State back in 2017-2019 may recognize some of the overall feel.
Tumblr media
Liquid State's camera also makes a return. Most of the pain points in the previous camera blogpost were lessons I learned during Liquid State and I managed to reuse some of the equations for following the player/moving ahead of the player.
Fangst is made with GameMaker Studio 2, now formally known as just GameMaker. I previously worked with GameMaker Studio 1.4 (oh how I miss you, old sprite editor) but when GMS2 came out I knew I had to transition over to the new version eventually despite my stubbornness. GMS2 is a pretty substantial rework of the engine with a lot of changes under the hood and a different workflow, which means a lot of frustration and wasted time in the transition period. We ended up doing the switch to GMS2 when we started working on educational games for Aluminiummuseet, figuring that we'd need to overhaul our workflow anyway. Getting this pain point out of the way early made it a lot easier to continue using GMS2 for later games, and let me build up a backlog of useful GMS2 scripts for major changes like window resizing, the layer system, etc.
Tumblr media
The Aluminiummuseet games ran on Android devices and the browser games ran on, well, the web browser. These platforms are much weaker than the average PC and have various quirks of their own, requiring a lot of consideration of how to make sure the game runs as optimally as possible and avoiding platform-specific bugs. This is evident in the games themselves, the latest games run better than the oldest games. I had to look into things like ordering sprites so they're packed on the same texture page, avoiding transparency on backgrounds when viable, and using the debugger to find out where the game loses the most performance. This has informed how I program things going forward.
And finally, Antidote had a big impact on how text is structured in-game. Antidote is a very text-heavy game with a lot of dialogue boxes, and we originally planned on having a Norwegian language option in addition to the existing English language text. This meant that the game's text had to be saved in a way that made it easy to access, because having text hard-coded in and spread out across many different objects would make it a pain to keep track of and would waste everyone's time when it was time to edit/translate it and it would also risk weird edge-cases where it pulls the wrong language's text. So I programmed it in a way where all textboxes pull dialogue from this one big script that holds all the dialogue in one place. This type of text system serves as the base for text in Fangst as well.
Tumblr media Tumblr media
These were some examples of wholesome program cannibalization, and I can't wait to see what we end up cannibalizing from Fangst in the future.
We plan on coming back to the office and resuming work next week. Thanks for reading!
Love, Åge
8 notes · View notes