Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

New to game jams? Start here! Sticky

A topic by WayfarerGames created Apr 15, 2022 Views: 419 Replies: 1
Viewing posts 1 to 2
Host

Thought I'd put together a list of tips for game jams in general, I'll throw in some bullet hell-specific stuff at the end too  馃榿

General Jam Tips

  1. SLEEP ENOUGH. DRINK LOTS OF WATER. EAT HEALTHY SHIT. Seriously, don't go too hard. You'll make far too many stupid mistakes if you're tired/dehydrated/surviving on pizza, monster and doritos.
  2. Check your scope! Try aim for something you think you can do in a couple of days, then add to that if you've got time. Honestly I'd put this as number one if people stopped destroying their bodies during game jams, but alas...
  3. Build early, build often. I always try have a playable build ready and being played after about 6-8 hours of work. Getting your core done early means you can get feedback, but also the process of building and uploading to Itch can introduce a few really weird bugs. Specifically, Unity's WebGL implementation is trash and usually causes some weirdo issue or another.
  4. If you're stuck, ask for help! Our Discord Server is incredibly active - there will be many other people in the same boat. Don't sit there agonizing for hours, a second pair of eyes on your code can often solve things straight away.
  5. Get up and go for a walk. This doesn't have to be your whole life for a week. Some fresh air, some social contact, etc will do you a world of good. Particularly if you've got a stubborn problem and the above advice hasn't worked yet!
  6. If you don't have an idea straight away, you can still hop into your engine and make a menu system. Best to get that out of the way first 馃槈
  7. "Theme" is only one category! If there's something you want to make, make it. At the very least, make it have a lot of bullets/projectiles given that this is the bullet hell jam, but when the theme is revealed don't worry too much about it if you don't have something that fits. It is a jumping board - NOT a road block!
  8. Have fun! Don't worry about your rating, don't compare yourself to other games. If you finish something, you have something to be proud of. Hell, if you don't finish anything - you've probably learned a lesson about scope 馃槀

Bullet Hell Specific Stuff

  • The CORE PILLARS  of a good bullet hell are POSITION and PATTERN RECOGNITION. I'm going to make a full post about bullet hell design soon, but for now:
    • Positioning is where the challenge is, your bullet patterns want to force the player to move in interesting ways
    • Pattern recognition is incredibly important - there is probably going to be a TON of visual information on the screen, which will overload the player's senses. Humans are really great at pattern recognition, so distinguishing clumps of bullets (by shape in particular) is how you stop the player from feeling overwhelmed.
    • For example: you might have one pattern that fills the screen with small bullets with huge gaps for the player to move through as a distraction, then you might have some big, brightly coloured bullets that move towards the player that force them into a certain position at the same time.
  • POOL YOUR OBJECTS. There are plenty of YouTube tutorials around. You're not going to get above 50 bullets at 60fps if you're Instantiating and Destroying constantly. Those are expensive functions, it takes a lot of time to run them, so create a "pool" of bullets when the game loads and activate/deactivate them when needed.
  • Rigidbodies are sloooooowwwww. You don't need them. They do a lot of cool stuff, but 95% of it is not necessary for bullets. All you need to do is move the bullet and check a radius around it. You don't need collisions to be pixel perfect.
  • Make your bullets bigger! Increase your fire rate! Reduce your accuracy! If I'm shooting bullets, let me shoot bullets damn it. While you're there, probably double or even triple your movement speed and enemy movement speed.
  • If your game is lagging, open up the profiler. It gives you the knowledge you need to fix things! If you see a lot of calls to GC.Alloc (in Unity), that's a problem and you should try fix it. Drop me a message on here or on Discord if you're really struggling - I'm in the jam's server 鈽猴笍
  • Make your player's hitbox smaller than it looks like it should be, and make the enemy hitboxes bigger than it looks like it should be! This will stop players from complaining when it looks like something didn't hit and it should've, or vice versa.
  • A global leaderboard can go a long way toward increasing your game's popularity - I usually use https://exploitavoid.com/leaderboards/v1/ 馃榿 there are code snippets for both Unity and Godot.
Jam Host

For Godot users:
Bullet tutorials often use an Area2D for the bullet and simply move it by changing the position.

This works for most cases and should actually be fairly lightweight. However, it breaks down if your bullets are fast and your targets are small. You can calculate how fast you can make your bullets go this way by looking at the size of your area2D and the size of their target.

IF you want your bullets to go faster than the size of your area2D and targets allow, then you need to come up with more clever ways to detect if they hit something. Raycasts are a possibility but people at the Godot discord (#physics channel) probably can give better advice if you give them the correct information.