March 2025 challenge: “Downstream”

Downstream game made using pyscript - link for description of the game

Posted by zobi on 2025/03/26 21:44

https://www.youtube.com/watch?v=Ad_Ms0ixZNM

Add a comment

Downstream game made using pyscript - link for description of the game

Posted by zobi on 2025/03/26 21:43

https://www.youtube.com/watch?v=Ad_Ms0ixZNM

Add a comment

Swimmy Submarine - Two days work done... getting there.

Posted by ntoll on 2025/03/26 19:56

My game is deliberately simple and silly in the Flappy Bird / Crossy Road sense.

Why? So I have an opportunity to play with the browser/DOM as a game engine, controlled via PyScript, without having to worry about complicated game context and in between "real work" demands on my time.

I think I'm nearly there.

Today I managed to check off most of my outstanding items on my to-do list:

  • There's now a scoring system!
  • The aquatic life moves and animates.
  • BUBBLES!
  • It's a responsive web app, so displays well on mobile browsers.
  • I've adjusted various settings so as the score increases the game becomes faster / more challenging.

Some screenies:

Responsive layout!
^^^^ A responsive layout of the game!

Different animated backgrounds.

^^^^ There are a selection of different animated backgrounds.

Of course, you can see it in all its glory via this YouTube video: https://www.youtube.com/watch?v=-nni8GHdS9M

Here's what remains:

  • Add a countdown clock, so you have to get as many points within the time limit.
  • When on mobile, use the browser based accelerometer API to control the submarine's depth (i.e. tilt the phone to steer up/down).
  • Play test with my kids, folks at tomorrow morning's gym class (they were enthusiastic to learn I was making a game for PyWeek), and my colleagues at tomorrow's PyWeek community call (on discord).
  • Polish / refactor the code. Some of it is a bit slap-dash as I'm spiking. Nevertheless it's still < 360 lines of Python (including comments).

I think I should be finished tomorrow, with plenty of time to spare. 

All in all I'm having lots of fun making a goofy game while exploring the game-making potential of the browser/DOM. Post PyWeek, I'd like to explore how we could perhaps use something sensible like the <canvas> element to make a "real" game engine in the style of PyGameZero or Wasabi2D.

Onwards!

Add a comment

The Current of Time - ときのながれ (Tokinonagare) - Day 4

Posted by KNKWasTaken on 2025/03/26 17:44

"Programs must be written for people to read, and only incidentally for machines to execute." - Harold Ableson

Spent most of the day implementing the gameplay mechanics.
No specific camera-deadzone logic set-up alongside parallax (yet) but the current set-up does the job.
Also made some basic dialogue boxes.
For anyone wondering, the fonts I'm using are Disket Mono and Iceberg.

Gameplay Mechanics
Dialogue Box

Add a comment

Catfish Escape - Day 3-4

Posted by regarrzo on 2025/03/26 15:19

Today and yesterday I've implemented a visibility system with fog of war, i.e. you must first discover parts of the map to see them and you can only see entities that your character could actually see. I was actually surprised at how well my very naive implementation of this worked.

Essentially, to compute visibility, I just iterate all tiles in a circle around my character and use Bresenham's line drawing algorithm to draw a line to each square. If the line intersects a wall, that tile is not visible. If it doesn't, that tile is visible. This works really well aside from some tiles that are strangely disconnected in visibility because the lines produced by the algorithm just happened to avoid all the walls. But it works well enough, so I will not dwell on it further.

I've also implemented a simple combat system, hp bars, and I've had my first emergent behaviour: A goblin killed a rat to get closer to me. :P

Visibility System

Add a comment

Drifty Ducky - Lots of progress!

Posted by Spears Dracona on 2025/03/26 05:49

I'm really happy with the progress I've made. I went for a pretty simple concept since what little programming skills I have are very rusty, and I've pretty much got all the mechanics I planned for in the game now. I got to a point on Monday where I was finally spending more time coding than looking up how to do things, and things have come together really fast since then.


Today I made my title screen nicer. I already figured out how to do scrolling clouds for the level, so it wasn't hard to stick some scrolling clouds on the title screen and make a giant bobbing ducky. I also added some music to the game and made it keep track of the player's high score. It's feeling like an actual game!

I'm also having fun adding little things in the background. I'm trying to lean into weird and surreal. I know my game mechanics aren't too innovative (but I do think they're fun!), so I'm trying to make up for that by piling on loads of personality. I'm mostly here to learn, but I want to make people smile in the process.

From here on out, it's mostly polish. Unless I think of a feature I need to add in the shower tomorrow. :D

Add a comment

DownStream - Day 3

Posted by Anders on 2025/03/26 02:33

Changed up the game concept a bit today and also updated the graphics. Having a lot of fun!


There are some great looking games so far - I can't wait to play everyone's game!!

Add a comment

Flow - Quick little update

Posted by coffee on 2025/03/25 21:03

Hey everyone,

We've been pretty quiet until now, but we wanted to share a quick update!

We really liked the theme but got a bit carried away during planning. We're now working on a 1v1 online sword-fighting game. The basic netcode and game logic are in place, and we're currently adding a blocking mechanic and a secondary attack.

This has been an exciting project for us as we're implementing the netcode from scratch. It's been a lot of fun so far! 😊

Attached is a screenshot of a very WIP state—stay tuned!



1 comment

Swimmy Submarine - Swimmy Submarine

Posted by ntoll on 2025/03/25 18:41

After a false start on Monday, I put my thinking cap on for a game on the theme of "downstream".

Since I'm playing with relatively new technology for making a game in Python (i.e. running it in the browser via PyScript), I wanted a simple game... something daft but fun like Flappy Bird. How about Swimmy Sub? The back story isn't complicated... just navigate downstream in your sub, avoid the aquatic life and collect the treasure dropped by pirates.

Everything is being done via MicroPython and the DOM. Emoji are the "sprites", CSS is helping with basic layout, animated backgrounds via webp and I've even found a cheesy AI generated "under the water world" song to set the mood.

Here's a couple of screenies that show a few hour's worth of work, around 200 lines of Python... most of the work has been curating and refining assets:



Next steps:

  • A scoring system, and actual treasure to collect.
  • More subtle animation of the aquatic life.
  • BUBBLES!
  • Check it works on mobile (it should be simple).
  • Fine tuning of the various settings for speed and movement.
  • Play test with my kids.
  • Try not to get fed up with that damn AI generated music. ;-)
Onwards!

3 comments

The Current of Time - ときのながれ (Tokinonagare) - Day 3 - More Assets and some Parallaxing

Posted by KNKWasTaken on 2025/03/25 16:35

Sound can make unrealistic scenes feel real.
Made more assets, including sounds.
In detail, created different actions of the character, a quick game logo and some decent soundtrack by sampling a literal faucet and some vocals.

Also in free time, created some attempts of parallaxing (a method to make backgrounds looks a little realistic).

Here are the two soundtracks:-
1. Nagure's Theme
2. Nagure's Boss Fight Theme

And a recording of parallaxing:- Parallax
CharacterCharacter AttackingCharacter JumpingCharacter Running
ときのながれ Logo

Add a comment