Posts Tagged ‘pygame’

pip install pygame

Posted by
Monday, March 6th, 2017 4:49 pm

A little update for the Ludumdare community about pygame.

Over the last many months a bunch of us has slowly been toiling away at pygame. Remember pygame? It’s an SDL for python, but with a pythonic API.

Seven years or so worth of changes in this little release. What’s changed? Even I don’t know really. Sort of lots, and sort of not much. I’ve been meaning to write a series of blog posts describing things, and will eventually.

But one thing is that it integrates nicely with the python package manager. Meaning games can be distributed to tens of millions of python users with a `pip install yourgame`.

We’ve also been experimenting, and working on other packaging tools. Like windows installers, linux installers, and zero configuration packaging amongst other topics. Alongside this work has been trying to raise awareness within the python community, that yes, game developers and artists actually exist who use python. We’re still here. Plus there’s a new website (well, it’s still in beta testing, but probably will replace the old one any day now). Well, it’s more a continuation of the old websites. It’s been an act of slowly migrating old content (the earliest files are from the year 2000). Like all the cool kids, we’re moving to (fashionably late as usual).

As someone once said Punk’s not dead(and neither is pygame).

Mead Boy: Game Feel and Level Design

Posted by (twitter: @blubberquark)
Tuesday, September 6th, 2016 8:08 am


play Mead Boy or read on:

This is not a post-mortem of the development process, but an explanation of the game design and what makes it tick.

Game Design

Mead Boy is a small platformer where your goal is to drink all the mead. The more mead you drink, the more laggy your controls get. Alcohol wears off slowly and linearly, just like real life. Also like in real life, a single drink impacts your reflexes enough to make many tasks perceivably more difficult. A tenth of a second of lag is already noticeable. In order to make players not just wait out the effects of the alcohol, and progress slowly, there is hunger clock and a time-based scoring system. Food pickups set back the hunger clock, and Gold pickups increase the score. One per mille of BAC creates a lag of one second and takes ten seconds to wear off. This should incentivise players to look for food while stillslightly drunk. Levels are small and take under a minute to complete. Levels should pose little challenge “sober”.

Each level represents a real city from the Viking age. There is an overworld map that shows you where the city is, and how a river connects it to the sea. There is some looting and pillaging, but no combat or violence against people shown.





Game Feel

Speed and Momentum


Mead boy is a game about going right, going fast, picking up speed, and jumping far. (At least when you’re sober. When you are drunk, you pick up speed and go too fast. Your first instinct if the character is not responding right away is to hit the buttons harder.) There are only three buttons needed to control Mead Boy: Left, Right, Jump.

Mead Boy responds to button presses instantly, but he keeps accelerating until he reaches a top speed of 5.5 pixels per frame. When you stop pressing the button, he decelerates exponentially. At speeds below 1 px/frame he stops completely (like stiction compared friction). This way there is no “long tail” of slow sliding after landing a jump, which feels weird and floaty and may make you fall off a cliff when you don’t expect it. The following diagram shows a plot of speed and button presses, where you can see a long attack and a quick release phase:




Jumps are always the same height, and there is no way to increase or reduce the jump height. Like Mario or Sonic, Mead boy goes right fast. Mead Boy is not Luigi or Mega Man. The Camera only scrolls on the left-right axis, in order to de-emphasise going up or down.

No Turning on a Dime

Mead Boy can come to a standstill relatively fast, but turning around is harder: When he is still moving into the opposite direction, the slow acceleration takes longer than simply stopping first and then accelerating into the other direction. This makes the momentum feel “weightier”, but it is also kind of frustrating. Mead Boy is running really fast; you can’t just turn around. Well, now you know and can exploit the behaviour for speed running!





Level Design

play Mead Boy before you get spoiled!


haithabu level

Haithabu Level – Click to see at full resolution

This is a kind of tutorial and sandbox level. There are only three units of alcohol and enough food. You have to jump out of some pits, but there is no way to drown or to get stuck. You spawn on the left and have to go right. You can also go back left. You have to use both running and jumping controls, so I know you can use them when you advance to the next level.

How the level fits with the theme: This level is inspired by the Viking city of Haithabu. The destruction of Haithabu marked the end of the Viking age. Haithabu is your home base and a safe place. That’s why there is no longship. You arrived on foot. Haithabu is your home.


lindisfarne level

Lindisfarne – Click to see at full resolution

The second level is much bigger. There is only water on the left and land on the right. After the first mead pickup, there are two food items that should reset your hunger clock. The only “dangerous” jump comes right after: You can fall and drown, and you might still be slightly drunk at this point. You have to make a leap of faith. After the next jump, you are free to take all the gold and set the buildings on fire. Jumping to get the gold or over the small bump after the cathedral may be tricky due to alcohol, but you can safely retry: No real challenge.

How it fits the historical theme: The Viking raid of the Lindisfarne monastery marked the beginning of the Viking age. There are stone buildings and churches that kind of look like an English monastery of the era.


london level

London – Click to see at full resolution

This was the first level I had designed. There is more alcohol, the same amount of food, and you have to jump over a gap to get food. The last bit on the right requires you to jump onto a small platform after two units of alcohol. Definitely harder than Lindisfarne, but not much.

Historical Inspiration: The building on the right is a mash-up between the tower bridge and the tower of London. London was raided by Vikings multiple times. The tower bridge was not there during the Viking age, please forgive my anachronism.


paris level

Paris – Click to see full resolution

Paris is a step up in challenge. There are two deadly jumps in the beginning, lots of going up and down and the buildings you torch are relatively small. You have to go back and forth to collect all the food or gold.

The Lore: Paris was attacked by Vikings a couple of times under Charlemagne. Once they paid ransom, once they didn’t. Guess how that turned out. Also red wine and the Eiffel tower (super anachronism) to make sure you get that it’s Paris.


hamburg level

Hamburg – Click to see full resolution

Hamburg is the last and hardest level. It has the most alcohol, lots of water to drown in, and gaps where you have to jump right and up or down. I expect you to lose this on the first try. Nonetheless you can make many jumps drunk. Losing is fun!

History: Hamburg is a port city and a member of the Hanse. It has trading post houses right in the harbor. Also a dike. Also vikings.

play Mead Boy and comment please


Python and Game Development

Posted by
Saturday, August 13th, 2016 10:47 am

I’m pretty new to Ludum Dare. I just recently got into game development, but I’ve been programming for years. I’ve been using python 3 with the pygame library for game development. Around the website, I’ve seen a few people using python as well. I’ve heard python isn’t the best for game development, and I’m using it currently because that’s the main language I’ve been coding in. I have a few questions about python and game development:

Is python good for game development? Why or why not?

Are there any tools or libraries you would recommend?

Have you used python for game development in the past, and do you currently?

Right now my impression is that, as python is a high level language, it is slower for memory intensive games. If I continue with game development, I would probably switch to another language. So far I haven’t had any problems with it, because I’ve been programming pretty simplistic 2D games.

Any feedback would be appreciated, thanks in advance.

New LD Member

Posted by
Friday, July 29th, 2016 4:10 pm

Hello, I’m new to Ludum Dare (and game development), so I’m entering the Mini LD #69 to see if I can create a game. I’m using python3 and pygame as well as PyCharm for my IDE. I’ve been programming for a 4 or 5 years and got interested in game development. Any tips for Ludum Dare, game development, or python would be appreciated. Thanks!

“Is this a dog?” v1.1

Posted by
Tuesday, April 19th, 2016 6:48 pm

We have fixed the positioning bug on obstacles and enemies in v1.1.

Plus there’s now a GNU/Linux build! \o/

Download the game

Vote for the game

“Is this a dog?” v1.0

Posted by
Monday, April 18th, 2016 7:27 pm

Hi guys,

After these three (hards) days here is our submission for the Ludum Dare 35!!
The game name is “Is this a dog?”.
The main plot is that you are a sorcerer who is testing his last invention a sheep”dog” for monsters!
As of now the sheep”dog” is still in training so it will only follow you floating hand…
You need to teach him to park the monsters in their respectives portals before they reach the sheep”dog”.

There is no ending in the game, the goal is simply to reach the higher score you can !

As for the controls:

  • The mouse cursor is the hand.
  • R, T, H will make the sheep”dog” shift his shape
  • Space will make the sheep”dog” do an action

The scoring is pretty simple:

  • You win point for being alive
  • You win point for parking a monster into the right portal
  • You loose point for parking a monster into a wrong portal

As this is our first Ludum Dare, we would love any returns you have !!

screenshot-1.0_01 screenshot-1.0_02 screenshot-1.0_03

The game is hosted on

Hope you will have a good experience playing our game! And don’t forget to vote for it:

See you.

Team WalkinsBits (composed of elghinn, MuMuul, Guigrizzly, MaxCryger)

Update on “Is this a dog?”

Posted by
Sunday, April 17th, 2016 11:56 am

Hi guys!

We have made some progress on the dev of our game “Is this a dog?” and we would like to share it with you.
The goal as not changed since last time.
You control the hand of a sorcerer and you have to keep its pet safe.
The pet will always follow the hand and can be shifted into different animals.
Since our last version we added:
  • the fact that the ennemies run from your follower depending on its current shape
  • a starting menu with some instruction
  • there is a maximum shifting allowed for each shape
  • an action is available depending on the shape
  • scoring
You can download our latest version (and the others) from
We still have a lot to do but feel free to give us some advices :)
Good play !

Progress on Is this a dog?

Posted by
Sunday, April 17th, 2016 7:13 am

We just added a first version on if you want to test the actual result :

Hereafter is the current speech of the game:

You are a sorcerer who is testing his last invention: a sheepdog for monsters. The sheepdog is not entirely functional, so you have to help him by moving your omnipresent hand to lead him.

But be aware your sheepdog cannot attack the monsters!


WalkingBits in da place!

Posted by
Saturday, April 16th, 2016 10:19 am

We are planning to do a game called “Is this a dog?” with the following tools:

  • Python
  • Pygame
  • sfxr
  • Bosca Ceoil
  • Audacity
  • Piskel

The team WalkingBits is composed of:

  • elghinn: Lead designer, Lead dev
  • Guigrizzly: Lead level designer, Lead artist designer
  • MuMuul: Lead sound designer, Dev
  • MaxCryger: Lead music designer, Dev

This is not my first participation in a game jam, but this is the first time I participate to Ludum Dare. All my fellows are complete newbies but they are full of motivation!

For now we just have a happy puppy who follows the mouse cursor:



My experience making games in Python

Posted by
Tuesday, December 15th, 2015 7:25 am

Hey everyone! The last two days I have been playing different Ludum Dare games and one thing that I noticed is that most games are made in either Unity or Java. I myself made a game using the Python library Pygame and I think I found only one other person using Python during LD34 so far. Since this is so uncommon I thought it would be nice to tell about my experience. (Note: I’m not a coding expert(Applied Physics student) so I could be wrong on some things!)


What I like about Pygame:

  • Python is super easy! During Ludum Dare I instantly knew how to go from my idea to a prototype.

Code for dev mode I used to test different functions.  Simple!



Pygame people vs. Pygame problems

Saturday, April 25th, 2015 10:11 pm

Play and Review Zeldish

Problems with easy but annoying solutions.

I wrote my game in Python/Pygame, which generally, I can’t say enough good things about. I did a cx_freeze of my game, which should collect any dependences and wrap the python code into an executable. For some reason Pygame’s extended image support is sometimes not working. I think there may be some SDL libraries or some other thing that are required, but I’m not sure why there not getting bundled in the freeze. Pygame people, any ideas?

Until I can fix the actual problem, I converted all the PNG files into BMPs, which is the default format that works even with the extended image module. The zip file is a little bigger, but it should work for everyone.

Actually, this is such an easy and reliable “fix” that there is a 42% chance that I will never get around to figuring out the actual problem.

TL;DR — The Linux build wasn’t working for some people, but now it should work for all x such that x uses Linux.

Game bundle sale!

Posted by (twitter: @GameGrapeStudio)
Tuesday, December 30th, 2014 5:36 pm

High Flyer BackgroundGameGrape Studios Robotz Background

Hello and welcome to the  Holiday Sale! In this years sale you can get both High Flyer and Robotz for 80% OFF!

Regular Price: $10.00 USD

Sale Price: $1.99 USD

High Flyer is a game where you fly through many different levels while shooting down torrents and taking down anything that gets in your way!

Robotz is a game where you move around the map while taking down waves of robots and collecting coins and ammo! Survive as long as you can!

So what are you waiting for? Get High Flyer and/or Robotz today!

Both High Flyer and Robotz were Ludum Dare games.


High Flyer:



twitter image

GameGrape Studios (C)’2014. All rights reserved.


Posted by (twitter: @_is_this_the_)
Sunday, August 31st, 2014 2:04 am

Hello, everyone. Iam ‘the’, and i made a game for this Ludum Dare, named ‘KOSMOVALSE‘. It is a game where you fly in open space around asteroids, kill monsters, collect armor and health bonuses and earn scores.
Of course, i planned to make something more, but it is a 48 hours competition, right?


So, let’s talk firstly about two big fails in my game:

  1. Theme. I wanted to do really small worlds in every asteroids with bosses and NPC. And enemies in space just must interfere to player to travel between them. Now it is sounds funny, but every time i planned to make a game, it is looks like Fallout, even not first. So, after a 24 hours when only mechanics was done, i decide to do something more then color changes only when i have enough time at the end of second day.
  2. PyOpenGL. It was first public game i made with PyOpenGL API instead of pure pygame and now i have a lot of comments like “crashed after button pressed”. That is means OpenGl shaders really do not work in many systems even between gamers from ludum dare community and i need to find a way to do something with that if i want to use them. Because of this I spend Monday morning to recompile sources with exceptions and also i very very sad now.


After this i want to say what in my opinion was a good in my game :

  1. Walking on asteroids. I do not know any other 2d games when you can walk on surfaces that placed at any angle (comment, if you know). Mostly people do platformers with simple gravitation scheme and sometimes with wall jumping, because of this it was pretty interesting for me to made a game where player can run on non-spherical asteroids.
  2. Black-white color scheme. I spend a lot of time in first day to understand how the game world will be looks like, especially asteroids (try to write shaders for them, use brown texture), and finally found this awesome simple scheme. I am not god at drawing (you can check my previous ludum dare game for example) and it was really great decision.


In addition this is a history of my ludum dare weekend:

  • Day 1, progress 0% ) O no, they chose this theme =(
  • Day 1, progress 2% ) This green rectangle is player and he is moving, not bad.
  • Day 1, progress 5% ) This connected lines are asteroids, let’s make a collision system.
  • Day 1, progress 15% ) Ok, i did it!
  • Day 1, progress 10% ) No, i dont =( need to find a bag
  • Day 1, progress 25% ) Now it is a lot of asteroids and i can walk on them and fly between them!
  • Day 1, progress 35% ) Made shader for player rocket-pack trace, not bad.
  • Day 1, progress 35% ) This shader for asteroids looks ugly.
  • Day 1, progress 35% ) This shader for asteroids still looks ugly.
  • Day 1, progress 35% ) x_X
  • Day 1, progress 35% ) Why i even decide to take a part in this ludum dare when i can spend my weekends for something else, i will never add a second world and complete this game in time!(
  • Day 1, progress 45% ) This black and white scheme looks cool, draw a player sprites in them.
  • Day ?, progress 50% ) First enemy appeared, need to sleep
  • Day 2, progress 60% ) Now player can shoot, also added new enemy.
  • Day 2, progress 70% ) Now with three enemy classes and routine with they sprites load code looks terribly, no way to found something in.
  • Day 2, progress 80% ) Finally I have a headache from all of this generated sounds.
  • Day 2, progress 90% ) Hey, this menu appeared when i smashed my head on keyboard.
  • Day 2, progress 95% ) Ok, compiled file do not work under Windows, need to load extra GLUT dlls.
  • Day 2, progress 100% ) Uploa….. sleep.

PS. You can find my entry here, some of my previous games available here and here. If you know what is a problem with OpenGl shaders please post some information or link, i will be really happy. Sorry for bad English!.

I’m in!

Posted by
Friday, August 22nd, 2014 8:08 am

This will be my first Ludum Dare, and I’m going to use:



and lots of


as well as the super graphics machine that is Microsoft Powerpoint, and for music, well, umm, I’ll just shout down a microphone.


Postmortem – Before Night Falls

Posted by (twitter: @wetdesertrock)
Tuesday, December 17th, 2013 12:12 am

I figured I’d do a brief blog post about my first experience with Ludum Dare. I didn’t do any posts during, as I was focused on the game and didn’t know how much time I’d need. You can find my game post here.

This document is formatted by putting the general more easily accessible things first, and then moving onto items that you may or may not care about. I’ll start off by explaining my game a little bit, then I’ll talk about my experiences, and then finally with the development, starting with general game development ideas and then with the more technical aspects that I thought were interesting.

Warning, this document is largely unedited. I am also not generally a game developer, so I may find simple things about the process interesting.

The Game

Before Night Falls Is a game built off of an idea best represented by Corridor Digital in this video:

Although I may of been inspired, at a later point by this video, the genesis of my idea came about from thinking about the fugue form.

Each level is supposedly a day (you can think of it as any unit of time though), you are limited to a certain amount of moves to complete a puzzle in a given timespan. In this game I made each turn take one hour of in-game time. The twist, is that you have several “lives” that you can live out. At the end of each day, it resets and you get to start anew. However, this time your past self (called an Echo) does the same thing, and you can do new things. Technically, you can have an infinite amount of Echoes, but to keep the game interesting and difficult, each level limits the maximum amount of lives.

If you haven’t tried out, I’d suggest it. The reviews seem to indicate that people enjoyed the main puzzle mechanic.


Making an attempt to be in.

Posted by
Saturday, December 14th, 2013 10:23 am

Coming out of a really rough work week, I managed to sleep for about ten hours and I still feel horrid… but I’m gonna try to create something this weekend!  Still just starting out with the idea phase, but I’ll probably work on a rogue-like using Python/Pygame.  Great success for all!

[cache: storing page]