What did I do to deserve this
Recent community posts
Thank you! :D It means a lot to be compared to someone who made a game I really enjoy haha!
Dimension swapping swaps out the masks of specific objects, and the object just doesn't draw itself. It was a quick implementation that probably could have been done better. ¯\_(ツ)_/¯
You guessed the visuals spot on haha! The static, bars, and vignette are simply overlays, and the lighting is a surface of solid black that I just punch out the current sprite of each light on.
Hope this helps! :)
Haha don't be sorry for asking questions! I'm here to help haha. :)
When it comes to parenting, in my newer games, I tend to have a few core objects that everything inherits from. For example, I tend to create a parent I dub an entity. This base entity controls very little at the start, but it tends to get filled with variables every object should contain. My best example is how I handle my own movement and collision systems. I set up a parent "rigidbody" object that has all my movement and collision code inside of that. Everything that move inherits from that, which leads to every object having the same variables and functionality.
Basically, don't write code twice. If a chunk of objects are going to share behaviors, just make a parent for them.
Because this was a game jam game, it's super hacky. The issue of enemies getting deleted when pushed into a wall was a crappy fix we made last minute to solve enemies clipping into walls. We basically just delete the enemy if inside a solid. I've personally never had any luck with the built in GameMaker movement systems, as stuff tends to clip through solids and things just break really easily. I also tend to build games that need really specific movement systems, so it's just easier to build my own.
I hope this helps! :D
Thank you a ton! To answer your questions:
- For this project, it appears we just had a parent enemy that is shared among all the enemies. Carson and I built this game a long time ago, so trust me when I say that I overuse parenting now haha.
- For character knockback and movement, we used GameMaker's built in speed and direction system, simply modifying the direction and applying force. I would not recommend doing this, as it created many of the bugs present in current Grim Fantasy, such as enemies disappearing when they clip into walls.
- For our weapons, all our weapons spawn a projectile on click. That projectile differs based on it's type. For melee weapons, it spawns that slash, which is a separate object entirely that deals damage to enemies.
Sadly, Grim Fantasy's codebase has fallen insanely out of date after the game jam. I don't support any of our coding methods above, as now I tend to write my own movement systems, and I overuse parenting haha.
When it comes to making the game in such a short time, I can effectively say we just rushed the programming side and pumped as much content in with minimal systems. That being said, once again this is older methodology that I don't agree with anymore. Our systems were't modular or expandable in the slightest, and changing how a system worked for one object would require us to change it for all of them.
I'm sorry I didn't have super great answers to your questions, but I hope this somewhat helped! :)
So my goal with paint jam is just to get people to make games with the paint feel. If you can achieve that in any program other than paint, it's within the rules. Also the paint feel is kinda a per person thing, so in reality you can use whatever program you want haha. Just try not to use any image effects or anything not achievable within paint, haha.
Hey there! 👋
So last year, a lot of people asked for a theme, but I never had a good idea for one. I'm still internally debating whether or not there will be one. If there will be one, I'll put out an email blast about it so everyone knows!
Judging is kinda loose. Just make something awesome and you'll rank high!
I hope you enjoy Paint Jam! 😃