PyWeek - Djorm - feedback

Fun 3 Prod 4 Inno 3

mit-mit

Nice game! I liked the combo of music and graphics! Also awesome to get it working in the browser: well done!

Fun 3 Prod 3 Inno 3

Cosmologicon

Familiar concept but I like the idea of bullets costing money. That made for some interesting tradeoffs. If you happen to get down to $0 or $1 because of an upgrade purchase it goes badly fast, so you have to watch out for that. Then at the end it's better not to upgrade your reload speed above a certain amount. It would be cool if the challenge changed once you advanced enough to just sweep back and forth across the screen and hit everywhere. Maybe some slower enemies that take more hits?

Fun 3 Prod 4 Inno 3

DR0ID

nice little high score game, the buy mechanic worked well

Fun 3 Prod 4 Inno 3

Tee

Very nice! It's simple but it's well put together (the background is pretty cool) and the fact that it runs on web is convenient.

Fun 4 Prod 4 Inno 4

omnia

gg

Did not work

coffee

I could not run it locally or in the browser (both the locally hosted version and the version on pyscriptapps.com) with the error being:

PythonError: Traceback (most recent call last):
File "/lib/python312.zip/_pyodide/_base.py", line 522, in eval_code
.run(globals, locals)
^^^^^^^^^^^^^^^^^^^^
File "/lib/python312.zip/_pyodide/_base.py", line 356, in run
coroutine = eval(self.code, globals, locals)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<exec>", line 33, in <module>
File "<exec>", line 18, in run_pyscript
File "/home/pyodide/src/app.py", line 22, in __init__
self.renderer = Renderer(self.window)
^^^^^^^^^^^^^^^^^^^^^
File "/home/pyodide/src/rendering/renderer.py", line 55, in __init__
"datastream": RenderGroup(
^^^^^^^^^^^^
File "/home/pyodide/src/rendering/render_group.py", line 23, in __init__
self.pipeline = RenderPipeline(
^^^^^^^^^^^^^^^
File "/home/pyodide/src/rendering/render_pipeline.py", line 71, in __init__
self.template_pipeline = self.ctx.pipeline(
^^^^^^^^^^^^^^^^^^
File "/lib/python3.12/site-packages/_zengl.py", line 739, in validate
raise ValueError(f'Invalid vertex attribute location {location}')
ValueError: Invalid vertex attribute location 4
k pyodide.asm.js:10
new_error pyodide.asm.js:10
_pythonexc2js pyodide.asm.js:10
Ue pyodide.asm.js:10
callKwargs pyodide.asm.js:10
runPython pyodide.asm.js:10
Gn _python.js:37
st pyodide.js:16
mn/e[n]< utils.js:66
Ct/e[i]< hooks.js:65
run utils.js:53
onReady core.js:229
queue custom.js:170
promise callback*ns custom.js:167

Fun 2 Prod 3 Inno 2

mauve

Pretty background. The game is a very basic shooter, which promises fun but isn't. To improve it quickly, add juice: explosions, screen shake, damage effects and knock-backs. I don't think buying powerups feels very rewarding: the "ding" of picking up a random drop without breaking game flow would be better.

Fun 2 Prod 3 Inno 3

speedlimit35

I played until I lost. I like how instead of river stuff, you used a data stream. The background was pretty cool.

Fun 3 Prod 4 Inno 3

ntoll

What a great looking game, and I love the cool music.

I found it a bit fiddly to play, especially the "purchase" of the power-ups. I wonder if in future versions you could "catch" them if they float by (and they only float on by if you have enough money for them).

Also, bravo for using PyScript. All feedback most welcome!

Fun 3 Prod 3 Inno 3

Anders

- easy to get running and worked as expected

Fun 4 Prod 4 Inno 3

ambv

Good fun, looks and sounds good, works great in the browser. The powerup system is a good idea.

Scored 1652 over 153 seconds, not sure if that's good or not haha

Did not work

inkontoasty

tried the web link, gave a black screen
tried running on localhost, also gave a black screen
tried running natively "python -m main" and got
Traceback (most recent call last):
File "/home/me/Downloads/datastream_defender/main.py", line 35, in <module>
run_native()
~~~~~~~~~~^^
File "/home/me/Downloads/datastream_defender/main.py", line 28, in run_native
asyncio.run(App(window, audio).start())
~~~^^^^^^^^^^^^^^^
File "/home/me/Downloads/datastream_defender/src/app.py", line 22, in __init__
self.renderer = Renderer(self.window)
~~~~~~~~^^^^^^^^^^^^^
File "/home/me/Downloads/datastream_defender/src/rendering/renderer.py", line 55, in __init__
"datastream": RenderGroup(
~~~~~~~~~~~^
texture=None,
^^^^^^^^^^^^^
...<4 lines>...
framebuffers=[self.fbo, self.depth_fbo],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
),
^
File "/home/me/Downloads/datastream_defender/src/rendering/render_group.py", line 23, in __init__
self.pipeline = RenderPipeline(
~~~~~~~~~~~~~~^
texture=texture,
^^^^^^^^^^^^^^^^
...<4 lines>...
framebuffers=framebuffers,
^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/me/Downloads/datastream_defender/src/rendering/render_pipeline.py", line 71, in __init__
self.template_pipeline = self.ctx.pipeline(
~~~~~~~~~~~~~~~~~^
includes=self.shader_includes,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<15 lines>...
// zengl.calcsize(" ".join([v for v in self.vertex_layout[0].split()])),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/me/.local/lib/python3.13/site-packages/_zengl.py", line 743, in validate
raise ValueError(f'Invalid vertex attribute location {location}')
ValueError: Invalid vertex attribute location 4

i'll try the game on windows 10 instead and change the rating if it works