Play game
Bread is not a weapon's itch.io pageLink to your Game Design Doc on Google Drive.
https://docs.google.com/document/d/1RKGhk9Ix-PXZde40XGf8cxifY9idEVrERp6aZvO5Lww/edit?usp=sharing
Have you checked that your GDD is publicly accessible ?
Yes
Is your game set to public on itch.io so we can see it?
Yes
Summarise your game!
A short and simple platformer, W to jump, AD to move left and right. The goal is to collect ingredients to "bake" the bread with new upgrades.
Please explain how your game fits the theme:
The player decides how the bread becomes a weapon.
Is there anything you'd like the judges to pay particular attention to?
As this is my first game jam, I was very limited on time so certain things like art and music were left aside, as well as certain additions like new enemies and new upgrades. But my main issue so far is optimization. With the short amount of time, I had a number of extra variables and functions that serve little purpose. Is there any tips on optimizing games in such a short time, especially 2D games to make it run smoother? Preferably if they are general optimizations that any game engine could use, or in Godot 4 as that is my current game engine.
Leave a comment
Log in with itch.io to leave a comment.
Comments
Animations and art are super cute I'd love to see this as a full game because where you have the design now I can see the potential. You can do some really cute or wacky cute stuff. Levels that I were able to do were well designed and I love that you nap in a little toaster. I chose an upgrade for poison but upon pressing F near the enemies nothing really dropped from me anywhere. Otherwise great job on this game jam game and I can't wait to see what you'll do next!
Thank you for trying the game! I will be updating the game to add more content, so hopefully it’ll be more fun.
Most of the stuff in the game currently is pretty rushed, so it’s quite low quality from a personal POV. I’ll also be fixing a lot of the bugs, so I’ll look into the bug you mentioned. By any chance, did you see how much bait you had remaining at the top left when you were pressing F?
Thank you for your feedback! I hope the next update will be something that you like!
Neat game! I liked the concept of upgrading the sandwich with the ingredients you find. The platforming and level design was very well done, allowing for some good tight timings and interesting decisions even with the limited number of mechanics. The enemy AI definitely felt a little frustrating at times, causing me to have to wait for an enemy to move far enough away so that I would just pull their aggro immediately. Overall the game could use a bit more clarity, definitely slept in the toaster once without any upgrades and got softlocked. Curious to see where this game goes with more expansion. Can we one day make a full sandwich?
Perhaps a full sandwich might be added. Thank you for trying the game!
The enemy AI is definitely not the best, as I left it in a very simple state due to a lack of time. I have done some changes to hopefully make the game clearer. Didn’t think it was able to sleep without any upgrades, I will need to check the code again to see what went wrong.
I hope you stay around for the next update!
Yaay I finished the demo.
The number of baits does not reset after you death and a slime falling stops its fall to jump. I like the controls how they are, I only wished that a jump input would be "queued" to allow me to jump right before I land. There is one frame in the bread animation that has a black line at the top. You could add some variations to the background audio loop.
Congrats and thanks for sharing !
Thank you for trying the game out! I have included the baits resetting after death into my bug list. I’ll look into the slime falling to see how to fix it. Do you have any location in particular where the slime fell and jumped in the air while falling?
The jump input will be changed so it can be queued in the next update, so hopefull that will feel better! The black line has been noted and will be fixed. I will be lengthening the background audio loop as well, but probably not in the next update as I’ll mainly be focusing on bug fixes and gameplay first.
Thank you for the kind comment! Good luck for your game!
I think that it was near the egg.
Love the 2d animations, and some solid level design. I would rate this a solid sourdough on the bread scale!
Thank you for trying! Though I’ll be a little afraid if the sourdough became solid
Really cute bread animation, very floofy, would eat, 10/10
Yummy bread. More bread will come, with better animations!
mmmm... more bread!
its a good start you have movement, some enemies and end goals, also a poison ability, you can only get better from here, bread is an interesting take on a weapon
Thank you for trying the game out! The basics are there but I’ll be adding more stuff to add content to the game. But bread is not a weapon.
neat! i like the bread animation
the platformer controls could use some work, they felt very floaty, and the lack of acceleration felt weird
you could add stuff like variable jump height to jump over enemies in tight corridors easily and also please increase the move speed it's so slow
maybe you could also make enemies jump at you or something to make them more challenging?
i did find some bugs:
1. when i died, my bait amount didn't reset
2. i quit to menu after i died one of the times, it brought me to level 1 but the bait ui stayed there
3. after quitting to menu and playing through level 1 again, it told me that the demo is finished despite me playing level 2 already
I will be changing the controls up soon, so hopefully it won’t have that floaty feeling. Considering I wanted the bread to hop like a bunny, acceleration seems a little hard to add. Unless you’re talking about acceleration when falling or landing?
Variable jump height was something I initially wanted to add, but was worried that my animation skills would butcher the looks of it. I managed to add the animation in a way that dynmically changes based on the height, but it was a little too late to add in variable jump height by then. Will be something I will try to add to see if it breaks the animation though.
Enemies should jump at you when they spot you, in fact they would do it faster. But I tried it, and the animation just made it look awful, so I scrapped that idea temporarily to just let it slide over.
For the bugs, the bait amount has been flagged and fixed. The quitting thing with the bait UI is also flagged but I have yet to fix that. I will check through about the demo finished bug, as I actually didn’t test it that far, perhaps I forgot to turn the ending = true flag back to false
Thank you for taking your time to try the game!
Awe I've just started I want a bit more! Jokes aside, this is quite sweet! I love the fact that you take time to put in in-game instructions, as I always think being able to play the game without much or any reading at all is a big plus. I would suggest don't worry about optimisation for the time being, most game engines will be handling themselves fine. There's a saying that goes "Premature optimisation is the root of all evil, 99% of the time". Just make a product that works and refactor when the project increases in size.
For a little suggestion I would say a pointer to the next collectable will be nice, just to let the player know there is something in the room to collect, and to ease the frustration for getting lost in a big level. You can get away with making the level as complex as you want too.
Anyway, well done on you first jam and looking forward to your next one!
The game is too short! I will be adding more levels soon so players get to experience more bread!
The in-game instructions was actually a quick add as I realised I didn’t have time to add a tutorial level, but they will be moved over to that once it’s done. Refactoring seems so horrible to me most times as it feels I’m not progressing forward in terms of game content/mechanics. But with how short a game jam is, I doubt I have time to do much optimization. I will try out a different style of coding the next time round to see how much time I can save to polish up the game.
You mean a pointer that aims at the collectable so the player knows to pick it up? What about an indicator above the collectable pointing down at it?
The game will be getting a new update, with new maps and changes to the current ones so hopefully the feel of getting lost won’t be as frustrating anymore!
Thank you for taking your time to try out the game! I hope you’ll stick around for the next update, and all the best for your game as well!
I suggest introducing one of your objectives near the start of the game, so the player has an idea of what they are looking for. I'd also work on the level design. You need to use the level design to teach them your game and it's mechanics. I made it to the place where I'm supposed to sleep without finding anything then I had to backtrack through the level.
You asked for tips on optimization: that's not something you need to worry about until you see issues. It looks perfectly smooth on my end.
Congrats on your first game jam!! keep making games!
I will definitely be adding a tutorial stage which introduces the objectives and a simple upgrade so the player knows what to look forward to. The level design was a little rushed so I definitely will be working on that to teach the player the game mechanics.
I will be keeping the fact that you can make it to the place where you’re supposed to sleep without finding anything, but I will be heavily emphasizing in the tutorial that you need the item in order to sleep, to incentivize the player to explore.
Thank you for trying the game out! Good luck to your game jam!
Interesting game.
Looking at your pay attention to, don't worry about optimizing your game before you have it in a playable/feature complete state. That is priority #1 of any piece of software. If you start running into issues, profile it. Godot has a great profiler! I ran into no issues performance wise. So I think you were fine there.
I think there is much more you could do with the power up situation. I think this is one of those instances where more levels to try the power ups is good, or allow the player to choose power ups earlier to test them out. We didn't really get to see them which is a shame. Some of the slimes were hecka aggressive, Like trying to get the egg was so hard even with the Honey item. I think on restart your power usage should regen. Also, try when youre creating your music to loop to try and have it loop seamlessly. In your DAW should be able to loop a section over and over again, you might have to cut it down or re-record till it sounds seamless.
I really loved the bread and the slime animations! I think your level design too worked well. I didn't have any sections I couldn't get to!
Overall good jorb!
I mainly do optimization while writing the code as it feels like a lot of hassle to come back and refactor code after you have finished. When coming back to refactor, I feel I’m kinda not progressing at all in adding content to the game. But with how short game jams are, and how small of a scope the games usually are, optimization might be a mistake, as I spend more time writing the initial code, leading to a lack of time for more content.
This is my first game using Godot, so I have yet to use much of it to it’s full extent, especially the profiler. I will need to look up some guides and test it out for myself!
I definitely agree with the more levels, there was initially a plan of 3 levels, with 2 more if I have time, but clearly looking at how I only have 2, something went wrong. I will be adding more levels soon though, and giving some power ups a good boost so players can enjoy them.
The egg area is definitely quite difficult, the main reason was that a different type of enemy was supposed to be placed there, but due to there only being 1 type currently, I had the amazing idea of adding multiple enemies, causing it to be quite an unbalanced area.
The power usage should regen when restarting, but it is already added to my bug list which will be squashed in the next update!
The music will be updated again, which will have better audio and a seamless loop.
I spent quite a while incorporating the animations in, so I’m glad they at least looked decent! I will be working on it more so they are smooth, so I hope you can give it a go again!
Thank you for taking your time to try the game out! All the best for your game!
Suggestion,
try introducting "power" mechanics very early to game, that will make player know there is actually something to look forward playing. I have to had a LOT of patience to figure there is actual such mechanics in a game, and otherwise game seemed like just most basic thing ever. Check game "Johnny upgrade" it shows very good example how your game could work much better if used correct way of level design.
For optimizing tips , you asked for inside "Is there anything you'd like the judges to pay particular attention to?" I don't believe anyone will have performance issues in such simple game? Computers are much more powerful than that, either you are trying to overoptimize or you made a huge mistake in logic where you call same script billion times for no reason. About having clean code, that comes with experience, just write more code.
I took a look at the “Johnny upgrade” game that you mentioned, and the way the upgrades worked in that game is not what I am aiming for in this game. But I do agree with you that the player needs a lot of patience to figure out that there is such mechanics in the game. I will be adding more mechanics for the player very early on in the game, with the first few upgrades being add-ons rather than full mechanics. I will also be adding ways to let the player know what they can look forward to in the game, as I very much get the feel that it is just like any other platformer at the start.
Regarding optimizations, there were some issues I had that caused performance issues, such as making the map too huge due to the initial player model being quite large. The enemies also had multiple raycasts as I wanted to expand on that but didn’t have time, as well as the fact that they still run even while off screen added a lot onto the performance issues. Though I also realised that certain browsers ran the game way worse than other browsers. The app version of the game runs perfectly fine, thus the optimization was mainly for web browser only.
Thank you for taking the time to try my game out and leaving some good suggestions though!
About the game I gave you, the idea is to show you how it managed to set up the base of the game and bring the variety as soon as the game starts. That way, creating the hook for the player because , well first impressions matters.
It's hard to tell what is causing performance issues. You have to debug using "process of elimination". Basically you remove one part of the game mechanics and check does it impact performance. Do that for each part you think could make problem, like try smaller levels, no enemy collisions etc. .
Maybe it is not solely performance issues but browser compatibility issues. Even if there is workaround solution I would focus on finding what it is, just so I don't make same mistake again.
Alright, I got to the end of the demo. The different upgrade paths is cool, I wanted to see more but there were only two levels. I think maybe you should get general arrows to tell you where the end level toaster thing is. Definitely make harder enemies, as the slimes are pretty dumb and don't pose much of a threat. I also did not know that the pits were not instadeath so I was avoiding them.
Thank you for finishing the game! I will be adding more levels, the third level is already in the works before the end of the jam, but I replaced it with the end of demo as it was not complete and pretty buggy.
Regarding the arrows, I will be adding something else to guide the player instead so the player knows which direction to head. There will also be multiple toasters per level, so it will be more “Open” compared to what it is currently.
The slimes will be smarter as currently they only patrol around or chase the player, as such they do not pose much of a threat currently, but I will ramp up their difficulty soon.
Regarding the pits, some falls were actually instadeaths, primarily in the second level, but the ones in the first level were actually safe. It was not really obvious due to the level design, so I will update the platforms and level design so the player knows which falls are deadly and which are not.
Once again, thank you for completing the short demo! I hope you check back again when the game is more updated!
Overall, for your first game jam this is a very solid base. You should be proud that you were able to get a playable MVP out, despite your lack of time. Everything's there, from player movement to the potential upgrade/attack system, as well as a simple enemy AI.
If you're planning on taking the project further, (which i think you should!), then I would suggest focusing first on your main mechanic, which is the upgrade/attacking system. I think it shows some promise, but I will warn you that it is very hard to balance a playstyle of "Avoidance and strategy," with fun gameplay, as nine times out of ten it results in the player just ignoring enemies rather than engaging with them.
Congratulations on getting a game out for the jam (haha), and I wish you luck in your game development journey!
Thank you! I perhaps overscoped considering this was my first game jam, so many things were cut out from the game.
I am definitely planning to take the project further, adding in all the things I wanted to initially add. The upgrade and attacking system will definitely be worked on, to make it more interactive and more obvious, like one of the previous reviews mentioned, I will be adding things like a Honey-covered bread, and maybe the enemy leaving a honey trail if it gets affected by it.
Regarding the avoidance and strategy playstyle, I will be focuses heavily on the enemy AI. Currently I only have it to simply have 2 states, which is Patrolling, and Chasing the player. But I will be expanding on this so the enemy has a sort of “mind of it’s own” with it’s own stats, which should help so that in certain scenarios, the player can’t ignore them.
Thank you for your kind words! I hope you all the best for your game as well!
This game was really silly & cute! the squash and stretch on the bread were really entertaining to me. The mechanics seemed interesting, but when I got the poisoned bread it didn't seem to kill the slimes, and when I died I didn't get that bread back, so I didn't really get a chance to experience it. I like the toss the bread button that just doesn't do anything but make a noise lol. Good job getting your game out there! :D
I’m glad you like the bread!
The poisoned bread does kill the slime but it takes quite a while, and there’s no damage indicators or sounds played so it seems like it doesn’t do anything, but I will be changing this in the next update. I will look into why the bread doesn’t reset upon restarting as well. I’m sorry that it ruined your experience there, I hope you give it a go again when it’s fixed.
Initially the toss the bread button was to exit the game, but I realised there wasn’t such a thing for web games so I just left it to play the sound instead haha
Thank you for trying!
The bread jiggle is nice there are few black pixels in some frames of the animation at the top.
Coyote time would definitely help a lot with experience.
Nice work!
Will definitely look into the animation! Thank you for the kind comment!
Good job on submitting to your first jam, that's a great achievement!
The game ran buttery smooth for me, no framerate issues here!
The characters and animations are lovely, the bread looks so bouncy! By comparison, the environment felt a bit bland; the background/platforms were functional but adding some colour or texture to them would go a long way - if you wanted to go big you could think about where this game is set and theme the environment to that - are you in kitchen, a restaurant, a military complex? There was also a minor black line that appeared when the bread jumped, not very noticeable but did catch my eye!
The basic enemy behaviour was solid, the little pause before leaping was nice to communicate to the player that an attack was coming. It would be fun to see more enemy types with unique threats, or level structure designed to highlight different ways in which the slimes can be dangerous (narrow hallway that requires baiting, slime pit that you don't want to fall in or you get swarmed).
The levels could have been shorter and more populated, when a level is so large/has multiple routes that diverge, but no map or way to visualise the different routes, it can be quite hard to navigate, and often doesn't really feel cohesive unless the smaller parts of it are tied together by a local theme (ie. a cupboard in the kitchen)
The music was really good, I wish it was a lil' longer! There was a small stutter when it looped, which was quite noticeable the longer I played.
The menu and UIs were good, easy to navigate and understand.
I really liked the interpretation of the theme with the power-ups, turning your body into a weapon and discarding it for the enemies to get lured by was a great way for bread to become the weapon. Exploring more uses for the ones you introduced/larger differences in how they felt to use (ie. poison kills slimes, whereas honey only slows them, but slowed slimes will leave a trail when they move that applied the same slowing effect to any other slimes that walk onto it, etc.) could be a good way to expand on that, ideally making them feel unique and creating more opportunities to use your power-ups would be fun. Additionally, visual changes on power-ups would be nice, seeing a nice shiny honey coating or an oozy poison.
Good job building a great foundation, I imagine it'll be really useful to build even more on it, it sounds like you have lots of ideas and are excited to try them out, which is super cool! You got this, have fun, and well done again!
Weird, different browsers I have tried on gave different issues. Not sure if this is a thing to focus on.
I agree with the environment feeling a little bland. I was initially thinking of hand drawn platforms, before realising how much work went into that for other games. As my platforms were all made to be dynamically scaled, hand drawn made the textures stretch which looked really bad, thus the simple color. The initial plan was to build it in a kitchen, considering the home is a rice cooker and the player is a bread. I will look back into hand drawn platforms and see if I can make them work. I will also look into the black line appearing when the bread jump.
On top of the little pause, I was planning to add a indicator, maybe an exclamation mark with a sound effect when you get spotted so the player knows when they are in danger. Some level design for new enemies will also need to be explored.
By shorter, what do you think of zooming out the camera so the player can see more? But I definitely understand the diverging routes being hard to navigate without a map or something similar. So I will need to find a way to guide the player.
The music is already in the works of being updated as it was basically my first time touching anything music related, so I made a extremely short audio that looped.
The upgrades showing more differences is a great idea! I never thought of how to show the slimes being slowed, and only thought of maybe a damage animation/damage indicator for poisoned slimes, but I might work on something different, maybe showing the slime “drunk” in a sense for that instead.
Thank you for the feedback! I will definitely be trying out new ideas to see if they stick. I hope you’ll be able to try it out again when it gets more updates!
I've seen a lot of different entries have various web-built issues, so definitely not a unique problem!
Gosh, yeah, I totally see the scale of the challenge - it sounds like you have a really clear vision of what you want it to look like, and hopefully outside of jam-crunch that'll be fun and easier to implement. A kitchen level as a starting point sounds ace, and there's so many ambient kitchen noises to play around with to pair with that.
Yeah, that sounds helpful, there were times where I wanted to bait a slime slightly towards/away from an edge to make getting past it easier, and an indicator would have made that clearer.
Not specifically, I think the camera positioning was good - I think I was wondering if having fewer overall platforms would make it easier to navigate, and maybe also make the enemy/obstacle density feel higher. However, I think having heard that you're considering making the platforms more unique, that would probably help with the navigation too, so making the level smaller might not be a necessary suggestion, on reflection! It's much easier to remember that you took the drop at the rolling pin than it is the 'slightly wider platform'.
Ooh nice, I've never been very musically-capable, so I was still very impressed by it regardless.
A change in the enemies' animations sounds like a great idea, that would communicate that they've been affected very clearly and also hint at how they might behave as a result, very effective design!
Glad to hear they might have been helpful - I've only played a few platformers, generally more 'casual' ones, and never designed one, so please do take my feedback with a grain of salt. That sounds great, I look forward to it!
Would recommend looking up "coyote time" and "jump buffer" for platformers. These two mechanics are present in almost all platformers and they are really necessary to make jumping feel responsive.
I’ve always felt the jumping feeling a little off in my game, so this would definitely help! I will be implementing this in the next update for sure.
Is there any other things you feel that are normal in platformers that are missing here?
Thank you very much for your feedback!
The rest is better level design and camera work but I can't really help out with those since I don't really make platformers anymore. Just play some larger games in this genre and try copying what they did!
Great job for a first game jam!
i think the game is solid in its current state as a platformer, but i think that what would really help the game out would be solid level backgrounds and design, because as it stands it was pretty confusing to navigate a grey terrain and i couldn't really tell if i was making progress or not. and i think it would be pretty neat that if every ingredient you collect visually changed what the bread looked like. But overall i think it was pretty decent
Thank you for the review!
I will definitely be working on the backgrounds and design. I tried experimenting with gradient backgrounds as I didn’t really have the time to draw an actual one and it seemed really horrible, so I stuck with a full color background for now. The design was also really simple as I was more focused on the programming part, so it will be my main focus now.
The idea that every ingredient changes the bread is great! I was originally thinking of that as well, as the bread was supposed to just be a dough, and the upgrades were adding onto it to fully become a bread. But due to the lack of time, I left it as a bread for now.
Great work on your first jam! Game is pretty basic right now, but if you put time in it, it can grow to something pretty nice. Liked the smoothness of your animations, even if you had little time for them.
Regarding optimization, game ran smoothly yet with a couple of bugs. Seems like you're planning on updating it, so 1) collecting honey after a death with having it doesn't display it; 2) collecting poison after that and ending the level crashes the game; 3) BGM slider didn't control music's volume.
General optimization tips : Optimization takes your precious jam time, decide if it is worth it; Some things do not need to be ran every frame, move them to creation or on event scripts; For something simple you do not need giant textures, if you're shrinking them to what you need anyway; On major steps check how your game runs on your to-be-exported-on platform; Know the limitations of that platform; Keep learning and look for help if you're stuck! (but look at the documentation first)
It is true that the game is pretty basic, as most things were rushed through unfortunately. I do want to put more time into it and see where it leads.
Thank you for the bug reports! I did not have time to do much testing with the upgrades so these are really helpful. The BGM slider seems to keep breaking, I’ve had the same issue twice while testing the game out and had to keep fixing it. I fixed it yet again after the jam so hopefully it is working in the next update.
At the start of the jam, I took some time to do proper event signals, as well as dynamic code to make things optimized. But as time went on and I started rushing certain things, I basically dumped a bunch of stuff in global variables and hardcoded a bunch. In the short run it seems fine, but if I’m hoping on a full fledged game, it seems like really bad practice. So I’m still trying to figure out where’s a good balance for this.
Once again, thank you for the kind words and review!