Posts Tagged ‘pygame’
This was my second participation in LD, and while I don’t consider it a great success, I’m happy I produced something. Here’s the link to the game: http://www.ludumdare.com/compo/ludum-dare-26/?action=preview&uid=18395. It is basically a minimal (non-digital) painting simulator. You use your brush to spread and mix colors given in the palette on the right side. The palette is part of the painting and shares the physics of the whole paper. You can paint over any image files and see how well you are matching the image guide.
The theme minimalism didn’t really get me excited, so I initially ignored it and thought about what would be interesting to code. I came up with the painting idea, thinking I could make it into some kind of game in which the painting lives and the player interacts with it. However, in the end, I never got a good idea for such a game, and ended up just improving the painting simulation.
I used the theme as a guiding principle and managed to reduce color painting into just mouse movement with left-clicking. So unlike in an image editing program, there’s no “toolbox” or any kind of abstract settings that let you insert into the paper arbitrary stuff brought from “outside”. In this game, you are confined to work inside the painting itself (excluding the water-button, which is actually optional).
In conclusion, I think I managed to use the theme okay, coding went smoothly, but I just had no idea what to actually code. I started programming before planning the game and that didn’t work out. On the other hand, if I had just kept on planning unsuccessfully, I might not have finished anything. I’m looking forward for next LD!
Ok, after a difficult 6AM rise and already 2 hours behind the schedule, I crawled to the PC to find a theme that made me gasp. Hell, I really didn’t expect this to be a theme. I mean, tell me about a game done in 48 hours that isn’t minimalistic!
So, the brainstorming session started quite slowly. Pick up the pen, go to the desk with a white paper and start writing whatever came to my mind. An hour later I’m rather happy to say that I have a clear idea of the concept of the game. And (this coming from me is actually quite unexpected), seems pretty fun to both implement and play. Let’s make a quick heads up.
My traing of tought followed this route: about 99.9% of the games that will be developed will focus on minimalistic graphics. Well, that’s almost a given, due to the time constraints. That CAN fit the theme alone but of course with a theme so ample there are a lot of stuff you can apply it on: mechanics, story, choices, number of buttons used… I see from posts that this last one is a common choice… Very interested in seeing the results!
Ok, since I’m using Ren’Py for the development of my game, I’ll focus on… Drum roll please… Minimal dialogue choices!
(Why is no one clapping?)
Ok, it is not the most original idea in the world, but hear me now. The game is about rescuing a princess. You have two choices: “yes” and “why?”. With “yes”, you save the princess and all is good. You see an image of you saving the princess, credit roll and goodbye. With “Why?”, the narrator explains your reasons. For example, “Cause you are in love with her”. Then you have the same two choices: “yes” and “why?”. With yes, you win the game, credit roll and all. With “why”, the narrator explains… You get the idea.
So, you can basically choose any time to save the princess, but you can go as deep as you can with your The fun stuff is, this can go on for quite a while, and can lead to some pretty fun writing. With time, you will access some unique questions. And, now for the fun part: based on the question you asked, the final image will change according to the details you unveiled. More question you will ask, more details you will add. Think Binding of Isaac: each power up adds up effects on the character. This will be the same but with the final image.
The title for this game is (since the theme is minimalism, let’s keep it simple):
I’m pretty happy with the concept so far. I really didn’t expect to be happy with a concept of a game less than one hour after waking up. I have some basic idea on the Ren’Py script to use, now let’s get down to work!
I’m in! First ludum dare and first attempt at completing a game ever! Wow, that sounds scary. Hopefully this will be a learning experience even if I miserably fail in delivering my game.
Since a lot of people have been listing their tools for the job, I guess I’ll do the same.
- Genre: Point and click adventure
I had been planning to make a free point and click adventure for a while now, so I thought that making a ludum dare entry may be some good training wheels before throwing myself into my “dream project”. The fun thing about this genre is that it can fit any theme pretty easily.
- Language: Python
- Engine: Ren’py
I’ve rarely seen Ren’py being used in ludum dares and never for anything other than visual novels, and that’s a serious pity. Yes, it is an engine for visual novels, something that actually made me ignore the engine for a long time (stupid, stupid!). But the reality is its scripting language is so fast to use and flexible you can do some rather complex stuff with it.
Okay, it’s pretty limited: for example, only 2D (no 3D models), and is not ideal for stuff that requires real time input, like a platformer (using plain pygame is better for that). But if you want to make something story driven that requires user input once in a while (a point and click game, for example), its scripting language is pretty powerful. It’s a pity everyone uses it mostly for visual novels and dating sims cause there is a lot of stuff that could be done with it. I’ve done a prototype of a first person point and click game in a matter of minutes, no joke.
Fast prototyping, fast debugging and on the fly script reloading means an immense amount of time saved that can be used to add more mechanics or make better art and music. Since I know that I will be using (wasting) most of my time to come up with an interesting idea, time efficiency is a critical factor. Plus, it’s multiplat AND free.
- Editor: Notepad++
- Graphics: Paint.NET, GIMP, probably some handdrawn or rotoscoped stuff.
- Audio: REAPER combined with the free and excellent sounding Synth1
Good luck to everyone and good work!
Hello people of the blagosphere, I have this website on to which I shall probably put my games what I make, and probably some thoughts on game design and coding should I have any of note. I started it about a year ago but it quickly failed as my co-conspirator walked away. But yet, here I am, back to put some more games up there.
As for the quality of these games: Expect very little. I’m not really putting myself under any obligation to make games here, so it will just be whatever ideas capture my fancy. Also the art will be forever bad unless I can find someone to do it for me, which is unlikely since pretty much everything I post on there will be free and open source. No cash incentive, you see.
With that said, thanks for listening to my nigh-incoherent rambling.
Today I released MidBoss (v0.5 beta), because stuff might still change and/or break) as a feature complete game. It’s an overhauled, rebalanced version of my LD25 game, and my January entry for One Game a Month.
MidBoss is a game about possessing your defeated enemies in order to become stronger. You play the weakest of the dungeon denizens, an imp with no ability other than possessing other creatures. Your goal is to defeat and possess increasingly stronger creatures, unlocking their abilities for yourself and becoming stronger as you go along, and eventually defeat and become the dungeon’s ultimate endboss.
Features now include:
- Possess your enemy and gain their strengths and skills
- Dynamic music system with more frenetic music to accompany action
- Line of sight and fog of war systems
- A total of 15 monsters to defeat and 10 skills to unlock
- Randomly generated dungeon floors
- Single-file save and resume
- Permanent death, if you die your save is gone (save-scumming is available)
- Full options menu including key rebinding
Click on the image to get it!
MidBoss post compo version
So, MidBoss did fairly well in the ratings. I won’t bore you with the full overview, but it came in #81 in fun, and #91 overall. Pretty good! I kind of wish I hadn’t taken Sunday off, maybe it would’ve done better as a compo entry than a jam entry. It’s not like I actually spent the available 72 hours on it, but oh well.
Since the competition I’ve been working on the game, to polish it up and make it more playable. The post compo version is now ready and you can get it here. Keep in mind that I intend to change core gameplay mechanics to make the game easier to balance and maintain in the future! New features include:
- Dynamic line of sight and lighting
- Save/resume feature (save scumming is available)
- Dynamic music system
- Options menu (also for key rebinding!)
- Various bugfixes
And that’s not the end of MidBoss, I want to keep developing it further, so if you have any comments or feedback, or want to keep updated on progress, please follow @Enichan!
I managed to finish my first LD entry and I now present you a post-compo version of it. Play it here. Title screen:
I made improvements based mainly on what people said about the game:
- Added music (from http://www.nosoapradio.us/)
- Added sound effects (with sfxr)
- Added intro/help screen (as seen above)
- Polished the graphics a bit, lowered window size
- Increased player control
- Made it more game-like instead of a simulator
- Let the player control destinies of Igor and Dmitri
Some post-mortem thoughts:
Comments gave mixed feedback about the graphical style of the game. Graphics were made in about 10 minutes, and I doubt more time would have made them any better, considering my interest and skill in art.
Lack of music and sound was perhaps worse than I thought. Next time I’ll try to include those in the compo release. The post-compo sounds are not impressive by any means, but I guess it’s better than nothing.
Intro screen to explain the game and controls is also something I’ll try to get into the actual release next time around.
Player control was a central issue in this game. The player can only vaguely affect the behavior of a large number of independent AI agents to indirectly achieve his goal. Many players reported they didn’t feel like they were in control and I’m not entirely satisfied with the improvements of the post-compo release I made to address that.
The game was an experiment in emergent gameplay created by multiple AI units – a simulator type of game. I think the emergence was limited as the minions do not really interact with each other, only the Hero. That is, the game wasn’t complex enough to be really interesting. I have a feeling I’ll be trying something similar in the future, using what I learned here.
In conclusion, I think my first LD entry was quite successful. I learned a lot and want to make more games in the future. I was also very impressed by entries by other people and look forward to seeing the results of voting!
(post compo development of this game can be found here)
I made it!
MidBoss, the roguelike with a theme of possession of defeated enemies is a reality!
So the fact that I managed to complete a game on my own for the jam is pretty funny, when you think about it. After participating in the last dare with less than stellarly fun gameplay results, I figured I wouldn’t be able to participate this time due to being on study exchange in Japan and being super busy. In fact I forgot about Ludum Dare until by chance someone asked me if I was entering, last friday. I had nothing better to do, so I figured I might as well.
Then, I promptly decided to spend my entire sunday eating sushi and doing karaoke with friends. Woops! I was about ready to throw in the towel at that point. Unfortunately this game’s theme kept nagging at me, as well as the progress I’d made. I decided to take some time off from school and go all out on Monday to participate in the jam, and somehow, I made it! Not only that, people are actually telling me that MidBoss is pretty fun, and they want me to do a more polished version. I’m… honestly pretty shocked, since I was winging it since the very beginning.
After some insistence by a friend I’m going to try and polish this up for a post-compo version. Maybe try and make a little money off of it. If anyone has any advice for that type of thing, I’d really welcome it. I’m not used to working with the kind of sloppy code an LD can produce, but I also think refactoring most of it might as well mean I’d start over.
What went right?
I didn’t have any preconceived notions about what I was going to do, I went into it as a blank slate just looking to have some fun and maybe make a fun little game. I think not having expectations made it easier to just go with the flow and wind up with a better idea and a more fun game than last time. My code also stayed relatively clean until pulling an all-nighter started getting to me. Going out on Sunday while kind of silly did help me get out of the crunchy mindset, and so I could attack the project with renewed vigor the following day.
What went wrong?
As a consequence of being unprepared I didn’t have anything set up. A split-second decision lead me to go with Python over Xna because it’s more accessible, but I didn’t so much as have Pygame or an IDE installed. Installing Eclipse and Pydev took at least a half hour too long. Meanwhile I had to do pixel art in photoshop, which is something I positively loathe, because my regular editor wasn’t installed. I also took waaaayyy too long getting the automatic wall graphics to be correct, there’s still errors and I don’t think anyone’s even noticed them. I could’ve spent that time more productively, maybe.
This LD turned out with a better game, and was more fun than the one that came before it. And I’m pleasantly surprised that I made a complete game at all, so I consider this one a success.
So, I’m done and dusted – first LD is completed, and I’ve built my first game in the process. I’m immensely proud, but also a little sad – I made some real rookie mistakes, and I think I could have produced a far, far more polished game with ten or so more hours and a little more motivation. So instead of the traditional post-mortem, here are what I’d tell my pre-LD me, if I had the good fortune to send him an inter-dimensional time-travelling message.
1. Learn your weak areas, and focus on them
I did this mostly right – prior to LD, I read a few tutorials on creating good programmer art, and those were invaluable. Sadly, I didn’t also realise that I didn’t know the first thing about making music, so had to figure it out as I went along. I lost a fair few hours figuring out whether I wanted to use SunVox or not.
2. Define your mood early, and stick to it
I knew pretty early on what I wanted from The Fix – the feel of 1940s New York underground boxing, with black and white pictures, quiet piano music, and a small crowd. What I hadn’t really figured is that I really don’t have the skill for that. I can’t draw boxers for crap, let alone make good piano music. Had I taken that into account, and gone for a more cutesy aesthetic, I would probably have ended up with a far more coherent game with fewer stick figures.
3. Think of which features you’re willing to lose
Early on, think about what’s core to your game, and what’s superfluous faffing around. Think about what you can lose, and what you need to implement – and get that done early. My game would have been massively improved with a rudimentary betting system, but I was just so out of motivation 2 days in that I didn’t get it done. That’s a huge shame, in hindsight.
4. 48 hours is actually damn long time
I assumed, like most people do, that I might fail LD because due to running out of time. I was nowhere near that happening – 48 hours is a huge amount of time for a basic game. What’s far more likely to kill you is burning out and running out of motivation. So take some time off: go outside and enjoy life. I spent all of Sunday morning outside with my girlfriend, and had a really, really productive afternoon.
I think that’s all for now. If you’re reading this and considering jumping into LD, then the most important tip of all is this – don’t worry too much. Enjoy yourself, build something that works, and finish it off. There are plenty more jams in the future. I’ll definitely be back for another
It’s done! First LD – finito! The Fix has been submitted, and it’s actually not quite as bad as it could have. I’ve built my first actual game from the ground up (not counting my warmup game) and I’ve actually managed to implement most of the features I’d initially wanted, with a few exceptions. Oh, and of course, achievement unlocked!
My coding skills are actually rather good – but dang, I suck at art. Anyways, best of luck to everybody still competing. I’ll write up a full post-mortem tomorrow.
I did it! My first LD entry has been submitted. It is a game in which you try to win, but not by too much. As an Evil Overlord, you don’t want the Hero to ruin your plans, but you don’t want him to die either, because that would spoil the fun! More on the submission page.
That was most intense coding I remember ever having done. Towards the end I had to start heavily cutting corners. There are so many global variables and redundant checks, and so much duplicated code that I don’t ever want to look at the code again
I had some time to spare but was too exhausted to start implementing anything – testing my game is pretty tedious. So there’s no sound, no starting screen, and most placeholder art is better than what you see in the game. Still, I completed what I set out to do – to create a game with many AI controlled agents and player only having global control over their behavior.
I feel I was very lucky with the theme, planning the game took only about 15 minutes. And I even managed to include a goat!
If he didn’t have a cute (but deadly) pet goat, he wouldn’t be an Evil Overlord. On the left, you can see Igor and Dmitri, trusted associates of the Evil Overlord.
The game is controlled by giving orders to your minions by choosing one of three available random choices. There are three levels, at the end of each level there are special choices.
See you in next LD!
After many bugs, crashes, struggles and failure, I’ve finally got a playable version of The Fix up and running!
It’s still far from perfect – I want to actually add some of those sound thingies, like music and effects – but it’s playable, and has a title screen and finish condition, and it looks like I’ll be done for the end of the day. Any feedback is appreciated!
I’ve also got a proceduraly generated title screen, which I think is rather slick. Now, I’m going to record some music!
Well, it’s the end of day 1, give or take – I’m off for drinks, so I’ll be doing very little until tomorrow morning. I’m not hugely pleased with how today has gone – I don’t actually have anything playable, as of yet – but the epic, game breaking bugs I was running into earlier have now been mostly fixed, so at least that’s something.
Pygame can be really infuriating at times, crashing with no explanation or log, but I’m getting there. I’m probably going to have to cut far, far more than anticipated – I was hoping to have a shop with purchasable upgrades, as well as currency, but that probably won’t be happening. I’m really not sure how much I can improve the graphics either.
Anyway, I’m off. More updates tomorrow! And hopefully, a game!
Hey, this is my ludum dare.. In fact, my first game competition.. So, I’m just so excited – I’ve been up all night for this, maybe I should have slept, but either way, I’m still feeling quite fresh and hopefully, I’ll be able to complete this first compo…
I’ll also be uploading timelapse video, updates and workspace pics later…
Currently, I have this idea- You’ll be playing with two characters and ultimately one of them betrays.. And the secret is- you get to choose the betrayer is and you’ll have to play as that character at last. Also, this will be a platformer game with both puzzles and killing.
Game engine: Pygame/Python
Sound: FL Studio, maybe bfxr also.
Graphics: Inbuilt sprite editor of Gamemaker.
No code base to share, I’ll be starting with a blank screen
Plans to release it as open-source game.
So, I’ve gone and produced my warm-up game. It’s called Driver Hunter, and it’s laughably abysmal, but I figured it’d be worth doing just to see if I could actually produce a working executable. Don’t trust that fancy tool you’ve been told does the trick, because it doesn’t. Distributing pygame is like fighting an angry dwarf. In my case, it turns out pygame doesn’t like my system font. Don’t ask why. So my game now uses Arial, because I’m hip like that. If Pygame2exe isn’t working, maybe it’s worth trying for you too.
So yes, lesson 1) check you can actually publish your damn game. Do you want to release to mac? To Linux? To Windows? Try it, and make sure it bloody works.
Lesson 2? Sound. I’ve never done any of my own sound before, but seeing I’m trying to enter the compo, looks like I’m going to have to! I discovered automata thanks to this post, and it worked flawlessly, producing something that was at least barely passable as game music.
Other than that? I’m good to go! Timetable is cleared, tools are ready, fridge is stocked with diet coke. I’ll be producing a timelapse if I can
I`m in. Again.
And here is my plan for the weekend:
- Get lost in the eternal space
- Go through event horizon
- Stop existing
- Create a game
- Have fun
Create a game… Don`t forget to create a game this time… This is probably the hardest part of my plan but its fun anyway!
Now I’m writing small framework in python for pygame wich can perform basic scene management, collisions, animations, e.t.c.
UPD: Sorry for my broken english…
Monxcleyr Productions is in for Ludum Dare 25′s Jam!
Our tools of the trade:
Language/IDE: Python 2.7, Pyscripter/Notepad++
Libraries: Pygame, Possibly our #HJ Engine and Py2exe to create Windows builds
Graphics: Photoshop, Paint.net
And we’ll be creating timelapses with Chronolapse to upload later.
This is fairly unrelated to Ludum Dare, but it will involve me coding a game, and I I’d just see if any of you were interested in trying it when it’s done or have any ideas for me.
The general idea is that I’ve got an assignment for history about the Federation (the Federation of Australia) and it’s a creative assignment so I can write a computer game as my assignment. My plan is to create a game where you have to run a certain distance and there’s some power-ups and obstacles. Hurdles would slow you down if you don’t jump over them (they will have text in them which say things which impended Australia from federating) and there’d be true/false icons which you could either jump to collect if it’s true or not collect if it’s false. The idea would be to teach people about the Federation (my classmates and I will be playing each other’s games) so I would be putting facts about Federation in it in the power-ups and the hurdles.
If you have any suggestions, that would be appreciated.
I just realized that I didn’t make a post-mortem! Well, I knew I hadn’t, but it’s been on my to-do list since the competition ended and there’s only about an hour left, so.. here goes!
I made a nice little arcade-inspired shmup called Neurochronic Alien Fighter: Evolution!, a game where you fight aliens as they fly towards you where you slowly become more powerful as you adapt to fighting them while they also adapt to fight better against you.
At least, that was the plan. Unfortunately, my implementation of the evolution mechanics (that had the aliens mate with one another while offscreen) made all the enemies go from multicolored creatures with strengths and weaknesses into gray generic blobs! And while that made intriguing social commentary, the gameplay definitely suffered. It reminded me of a quote by Jony Ive about the problem with focus groups: “They just ensure that you don’t offend anyone, and produce bland inoffensive products.”
With only a few hours left, I had to remove the evolution mechanics, and quickly write up a replacement: using power-ups that slowly evolve both you and the enemy over time into your most powerful versions. I sacrificed the better use of the theme for better gameplay, because I refuse to make a game that isn’t fun.
As you can probably guess, I put most of my effort tweaking the game mechanics. The game turned out very fun and addicting!
A huge mistake that I made in this competition was essentially attempting to make my game *and* learn a game engine at the same time. I had played around with pygame several months ago, and Python is a fast language to code scripts in, so I figured it would be a perfect choice for LD! In reality, it turned out to take up around a few hours total of my time to figure things out, which otherwise would not be a problem, but with only 48 hours to work with, was a big mistake.
Another downside with the engine was that I found out that pygame doesn’t support using the GPU, so even something as simple as scrolling backgrounds is difficult for it. I’ve been told I should use pyglet as a replacement library, but I haven’t looked into it yet. I will appreciate comments on here/twitter if anyone has any information about this.
Overall, my first LD was an amazing experience and I’ll definitely make an attempt to join in more often!
Finally I found some time to make a post-mortem for “Watercolor Wheel Evolution“:
What went well:
- Letting my daughter with her now 3 years doing the art. She did incredibly well, had fun doing this (as every time she can make some watercolor pictures), and was really impressed with the result in the game. Seeing her self painted creatures move along the screen put a really big smile on her face. Is there a better way to give your child some insight into your game-making hobby?
- Being in the jam – not only due to the teamwork but to have this extra day. This is quite valuable with wife and two children at home.
- Fixing late bugs. Wow, it is quite scary everytime what strange bugs will appear if your game is almost finished and the deadline approaching. But I could fix them.
- Noticing the progress I’ve made since my first LD one year ago. This is one of the greatest aspects of this time restricted jams. You really get a hang on efficient techniques for creating and developing and also improve in code structuring even if it’s still quite a mess compared with a project in a more extended time frame. The sound/music recording, which cost me some time last LD, was merely a routine this time.
What went wrong:
- The game mechanics. I totally missed the point with giving the player a good incentive doing the things the player should do to make the mechanics work. I don’t know if that was due to lack of testing the game or a misconception of the whole mechanics.
- Social (real) life. My wife fled with the children on sunday noon as I was too much into game development. Returned in the evening .
So if you like to, you can play and rate here.