Your two least favorite things: customer support and the zombie apocalypse. Hold off the undead horde as you grapple with ordering ammo and equipment over the phone.

This game was made in 48 hours for the Ludum Dare 53 compo. You can find the source code on Github.

This game is powered by PyGame. The Windows build was built with PyInstaller. The web build was built with PygBag (Python web assembly).

Changelogs:

5/10/2023 (Github commit)

  • Web build!
  • Various performance improvements to better support web build. Desktop build no longer becomes unplayable with large numbers of zombies.
  • Removed extra loop from music files to reduce download size and improve audio performance in web.
  • No perceivable changes to gameplay.
StatusReleased
PlatformsWindows, HTML5
Rating
Rated 4.1 out of 5 stars
(14 total ratings)
Authorplasmastarfish
GenreAction, Shooter
Made withpygame
Tags2D, Cats, Ludum Dare 53, pygbag, Top down shooter, Twin Stick Shooter, Zombies
Code licenseMIT License
Average sessionA few minutes
LanguagesEnglish
LinksLudum Dare

Download

Download
HoldingOut.zip 16 MB

Install instructions

Download and extract the zip, and run HoldingOut.exe.

Comments

Log in with itch.io to leave a comment.

Had to run the game in python to find out what was happening, but I occasionally get an error that crashes the game.

Traceback (most recent call last):   File "/home/zachary/Downloads/Holding-Out-main/main.py", line 76, in <module>     Game()   File "/home/zachary/Downloads/Holding-Out-main/main.py", line 21, in __init__     asyncio.run(self.main())   File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run     return runner.run(main)            ^^^^^^^^^^^^^^^^   File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run     return self._loop.run_until_complete(task)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete     return future.result()            ^^^^^^^^^^^^^^^   File "/home/zachary/Downloads/Holding-Out-main/main.py", line 41, in main     current_frame.update(dt, events)   File "/home/zachary/Downloads/Holding-Out-main/frame.py", line 171, in update     agent.update(dt, events)   File "/home/zachary/Downloads/Holding-Out-main/enemy.py", line 267, in update     fact = 1/(dist - self.radius - item.radius)            ~^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ZeroDivisionError: float division by zero </module>

Looks like that happens when you win the floating point math lottery by having the enemies bump the player or the phone table in exactly the wrong way.

The correct way to code it would be to check for zero here… but not doing that is faster which was important when I was making this game for a 48-hour jam.

Not planning on making any updates to the game at this point, but good catch, and I appreciate reporting the stack trace!

Thanks, I understand.

Hey thats pretty cool, are you working on any game as of right now ? 

(+1)

I love this game! It's so polished for a 48hrs game jam. Let me ask you a question, if you don't mind: was your experience with Pygbag good ? I've heard about performance drops but you game plays very smoothly... I'm about to join a game jam and I'd like to use Pygame since Python is the language I know more, but one of the requirements is that the game should be playable in the browser. I was leaning towards Js frameworks because of what I've heard about Pygbag but honestly from your game it doesn't seem that fps are an issue.

Thanks!...and most of all keep it up!

Thanks for playing!

Performance is a really big concern for pygbag, but if your game is simple it might not be too bad. I had to do a bunch of performance optimizations to get this to work (notice how the download has a vignette effect on it, but the web version doesn’t). The audio might be finicky as well.

Thanks for your reply! On Chrome I had a smooth experience even with sounds in your game. The only weird sound that I’ve heard was when restarting the game after game over, but that’s not a bi issue most of all considering that’s a game jam entry and not a full blown commercial game made in years of work. I honestly found the idea/game design was very effective: it’s fun even if it’s a small game! Big thumbs up!

As for the optimization required for Pygbag, I’m planning to do a small pixel art platformer, nothing with too many objects the thing is I’m not an expert programmer, I’ve already done a small game in the past but optimization wasn’t something I’ve taken care of, since I was actually struggling with finishing the game in its basic/unoptimized form. Do you have any suggestions for basic optimization or topics I should study to learn where to optimize? In the end I don’t have a clue of which elements can represent the bottlenecks…

Thanks!!!

Found a bug.
If you try to get an upgrade after the end of the game, it freezes.

Oof, thanks for playing and good find!

The game was created in two days, so I’m not at all surprised some bugs slipped through.

Included Holding Out as part of a compilation on Ludum Dare 53 at 1:10:23
(1 edit) (+1)

Thanks for playing!

if you press p you will instantly get a delivery, i got all the upgrades in less than 30 second

bro dont say anything,

they will fix it :(

That was a “cheat code” for testing the game that I decided to leave in. It’s even mentioned in the README.txt if you download the Windows build.

Not planning on patching it out. :)

the game crashes a lot for me. But also it's extremely funny. I didn't really get a specific error I think so I can't help a lot :I

(+1)

Hey, a couple questions that might help narrow the issue down!

  • Are you running the game in browser or from the Windows build?
  • Does the crash seem to occur at random or at particular times?
  • Are you getting lag/low frame rate?

Windows, no lags, pretty random so far

zombiez

i agree