PyWeek - UwU devs - feedback
Cosmologicon
mit-mit
This was cool as a platformer, and overall the levels and gameplay was fairly fun and well implemented. The game looked very nice, but I think it was all using pre-made assets? It wasn't clear from the readme where these came from, so maybe you could include a credits file (or provide attributions to the original content creators?). I didn't quite get the link to the theme? Good job.
DR0ID
First of all: not all will use another dependency manager other than pip!
It would have been so simple: tell to sue arcade from the repo and install numpy, This all that is needed (took me some hour to find out).
Second: my graphic card run out of memory (see below)! 1.2GB for textures? Not sure if something is wrong with the code.
Due to this I only saw level 1 and 2. There is no indication when the sword hits an enemy.... so its just hit until it vanishes. For some its like they never die.
Not sure where the theme is reflected in this game?
PS ...shadow-of-doubt\shadow_of_doubt\files> py .\src\
Traceback (most recent call last):
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 431, in _allocate_image
x, y = self._allocator.alloc(
^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\pyglet\image\atlas.py", line 113, in alloc
raise AllocatorException(f"No more space in {self} for box {width}x{height}")
pyglet.image.atlas.AllocatorException: No more space in <pyglet.image.atlas.Allocator object at 0x000001FD67748F40> for box 2313x585
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 308, in _add
x, y, slot, region = self._allocate_image(texture.image_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 436, in _allocate_image
raise AllocatorException(
pyglet.image.atlas.AllocatorException: No more space for image 98c908cfeec24ceaedc9cd70b83a1a4c90239d6e29b936b4020dcc3b639f0ab7 size=(2309, 581). Curr size: (8192, 8192). Max size: (16384, 16384)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "...\python312\Lib\site-packages\arcade\gl\texture.py", line 314, in _texture_2d
gl.glTexImage2D(
File "...\python312\Lib\site-packages\pyglet\gl\lib.py", line 83, in errcheck
raise GLException(msg)
pyglet.gl.lib.GLException: (0x1285): Out of memory. There is not enough memory left to execute the command.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "...shadow-of-doubt\shadow_of_doubt\files\src\__main__.py", line 55, in <module>
main()
File "...shadow-of-doubt\shadow_of_doubt\files\src\__main__.py", line 51, in main
window.run()
File "...\python312\Lib\site-packages\arcade\application.py", line 416, in run
arcade.run()
File "...\python312\Lib\site-packages\arcade\window_commands.py", line 177, in run
pyglet.app.run(window._draw_rate)
File "...\python312\Lib\site-packages\pyglet\app\__init__.py", line 79, in run
event_loop.run(interval)
File "...\python312\Lib\site-packages\pyglet\app\base.py", line 164, in run
timeout = self.idle()
^^^^^^^^^^^
File "...\python312\Lib\site-packages\pyglet\app\base.py", line 232, in idle
self.clock.call_scheduled_functions(dt)
File "...\python312\Lib\site-packages\pyglet\clock.py", line 217, in call_scheduled_functions
item.func(now - item.last_ts, *item.args, **item.kwargs)
File "...\python312\Lib\site-packages\arcade\application.py", line 525, in _dispatch_updates
self.dispatch_event("on_update", GLOBAL_CLOCK.delta_time)
File "...\python312\Lib\site-packages\pyglet\window\__init__.py", line 661, in dispatch_event
super().dispatch_event(*args)
File "...\python312\Lib\site-packages\pyglet\event.py", line 365, in dispatch_event
if handler(*args):
^^^^^^^^^^^^^^
File "...shadow-of-doubt\shadow_of_doubt\files\src\window.py", line 399, in on_update
self.scene.update(delta_time)
File "...\python312\Lib\site-packages\arcade\scene.py", line 426, in update
sprite_list.update(delta_time, *args, **kwargs)
File "...\python312\Lib\site-packages\arcade\sprite_list\sprite_list.py", line 896, in update
sprite.update(delta_time, *args, **kwargs)
File "...shadow-of-doubt\shadow_of_doubt\files\src\components\sprites\player.py", line 142, in update
self.scene["Bars"][0].texture = self._health_bar.texture
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\sprite\sprite.py", line 273, in texture
sprite_list._update_texture(self)
File "...\python312\Lib\site-packages\arcade\sprite_list\sprite_list.py", line 1288, in _update_texture
tex_slot: int = atlas.add(sprite._texture)[0] # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 281, in add
return self._add(texture)
^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 334, in _add
self.resize((width, height))
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 681, in resize
self._texture = self._ctx.texture(size, components=4)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\gl\context.py", line 1055, in texture
return Texture2D(
^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\gl\texture.py", line 196, in __init__
self._texture_2d(data)
File "...\python312\Lib\site-packages\arcade\gl\texture.py", line 326, in _texture_2d
raise gl.GLException(
pyglet.gl.lib.GLException: Unable to create texture: (0x1285): Out of memory. There is not enough memory left to execute the command. : dtype=f1 size=(16384, 16384) components=4 MAX_TEXTURE_SIZE = 16384: (0x1285): Out of memory. There is not enough memory left to execute the command.
PS ...shadow-of-doubt\shadow_of_doubt\files> py .\src\
PS ...shadow-of-doubt\shadow_of_doubt\files> py .\src\
Traceback (most recent call last):
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 431, in _allocate_image
x, y = self._allocator.alloc(
^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\pyglet\image\atlas.py", line 113, in alloc
raise AllocatorException(f"No more space in {self} for box {width}x{height}")
pyglet.image.atlas.AllocatorException: No more space in <pyglet.image.atlas.Allocator object at 0x000001CF891306C0> for box 2313x585
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 308, in _add
x, y, slot, region = self._allocate_image(texture.image_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 436, in _allocate_image
raise AllocatorException(
pyglet.image.atlas.AllocatorException: No more space for image e7c52411b327066d2adec2e33617ab4f095da67accff0b684ac49e0df7573e68 size=(2309, 581). Curr size: (16384, 16384). Max size: (16384, 16384)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 431, in _allocate_image
x, y = self._allocator.alloc(
^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\pyglet\image\atlas.py", line 113, in alloc
raise AllocatorException(f"No more space in {self} for box {width}x{height}")
pyglet.image.atlas.AllocatorException: No more space in <pyglet.image.atlas.Allocator object at 0x000001CF94FA9B00> for box 2313x585
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "...shadow-of-doubt\shadow_of_doubt\files\src\__main__.py", line 55, in <module>
main()
File "...shadow-of-doubt\shadow_of_doubt\files\src\__main__.py", line 51, in main
window.run()
File "...\python312\Lib\site-packages\arcade\application.py", line 416, in run
arcade.run()
File "...\python312\Lib\site-packages\arcade\window_commands.py", line 177, in run
pyglet.app.run(window._draw_rate)
File "...\python312\Lib\site-packages\pyglet\app\__init__.py", line 79, in run
event_loop.run(interval)
File "...\python312\Lib\site-packages\pyglet\app\base.py", line 164, in run
timeout = self.idle()
^^^^^^^^^^^
File "...\python312\Lib\site-packages\pyglet\app\base.py", line 232, in idle
self.clock.call_scheduled_functions(dt)
File "...\python312\Lib\site-packages\pyglet\clock.py", line 217, in call_scheduled_functions
item.func(now - item.last_ts, *item.args, **item.kwargs)
File "...\python312\Lib\site-packages\arcade\application.py", line 525, in _dispatch_updates
self.dispatch_event("on_update", GLOBAL_CLOCK.delta_time)
File "...\python312\Lib\site-packages\pyglet\window\__init__.py", line 661, in dispatch_event
super().dispatch_event(*args)
File "...\python312\Lib\site-packages\pyglet\event.py", line 365, in dispatch_event
if handler(*args):
^^^^^^^^^^^^^^
File "...shadow-of-doubt\shadow_of_doubt\files\src\window.py", line 399, in on_update
self.scene.update(delta_time)
File "...\python312\Lib\site-packages\arcade\scene.py", line 426, in update
sprite_list.update(delta_time, *args, **kwargs)
File "...\python312\Lib\site-packages\arcade\sprite_list\sprite_list.py", line 896, in update
sprite.update(delta_time, *args, **kwargs)
File "...shadow-of-doubt\shadow_of_doubt\files\src\components\sprites\player.py", line 150, in update
self.scene["Bars"][1].texture = self._stamina_bar.texture
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\sprite\sprite.py", line 273, in texture
sprite_list._update_texture(self)
File "...\python312\Lib\site-packages\arcade\sprite_list\sprite_list.py", line 1288, in _update_texture
tex_slot: int = atlas.add(sprite._texture)[0] # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 281, in add
return self._add(texture)
^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 323, in _add
self.rebuild()
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 760, in rebuild
self._add(texture, create_finalizer=False)
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 308, in _add
x, y, slot, region = self._allocate_image(texture.image_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\python312\Lib\site-packages\arcade\texture_atlas\atlas_default.py", line 436, in _allocate_image
raise AllocatorException(
pyglet.image.atlas.AllocatorException: No more space for image a2b45321b2285e7cdf08bf5b2c03fdee05695984e1d658da745202d31c9bba45 size=(2309, 581). Curr size: (16384, 16384). Max size: (16384, 16384)
speedlimit35
pressing space to attack freezes the game. Without attacking, I managed to get to the second level, but got stuck so became unplayable. I followed the instructions and installed all the requirements using uv. I am on a M2 Mac. When the game is running, there are many errors messages. Here are a few examples.
File "shadow_of_doubt/files/.venv/lib/python3.12/site-packages/pyglet/media/player.py", line 186, in _set_playing
self._audio_player.prefill_audio()
File "shadow_of_doubt/files/.venv/lib/python3.12/site-packages/pyglet/media/drivers/openal/adaptation.py", line 229, in prefill_audio
self._maybe_refill()
File "shadow_of_doubt/files/.venv/lib/python3.12/site-packages/pyglet/media/drivers/openal/adaptation.py", line 203, in _maybe_refill
self._refill(self.source.audio_format.align_ceil(missing_bytes))
File "shadow_of_doubt/files/.venv/lib/python3.12/site-packages/pyglet/media/drivers/openal/adaptation.py", line 221, in _refill
buf.data(audio_data, self.source.audio_format)
File "shadow_of_doubt/files/.venv/lib/python3.12/site-packages/pyglet/media/drivers/openal/interface.py", line 423, in data
raise MediaException(f"OpenAL does not support '{audio_format.sample_size}bit' audio.")
pyglet.media.exceptions.MediaException: OpenAL does not support '24bit' audio.
The game starts up but unfortunately it crashes when I press space: `pyglet.media.exceptions.MediaException: OpenAL does not support '24bit' audio.`