April 2013 challenge: “nemesis”

Cowboy Quest - Tuesday

Posted by dholth on 2014/05/14 04:28

Having more fun with PySDL2. Today I decided to get sidetracked porting it to cffi instead of ctypes, yielding lots of frustration and eventually a 5x framerate increase, yay, under pypy of course. My daughter is helping with the concept and level design.

Add a comment

Retribution - "Nice writing"

Posted by lucio on 2013/05/07 15:47

Someone in the game reviews said "Nice writing" about the game. I was not expecting that lovely compliment, i will share a little secret that i was pretty sure no one was going to get:

All the in game text are made up of mixing titles from works of Aldous Huxley!


Open The Doors Of Perception and enter 
The World of Light!

Add a comment

Space Rotate - Post Judging

Posted by jimmybob on 2013/05/06 21:43

Well done everyone who participated.  I'd like to especially thank the people who played my game 'Space Rotate' and provided detailed feedback!

Some people seemed to find the game fun, some not so much, which I guess is normal.  It is probably not the most thrilling thing in the world!  Also, it is true that you could get pretty far by just randomly clicking.  I think I was a bit stuck between making a proper (difficult) puzzle game and making something that would be basically mindless fun, and probably the game reflects this.

I had originally hoped to add an additional game mechanic for each galaxy (as was suggested in one of the comments) but was a bit time crunched.  Also, I agree that perhaps the timer implementation is a bit harsh (per Galaxy rather than per level) and maybe the game would be better without any timer whatsoever.  There are other pretty simple improvements I could make to the visuals (e.g. using raster images rather than pygame circles) and maybe the music (thrash metal may not be suitable for a puzzle game...).  I had these thoughts during the week, but decided I needed to prioritise other things to ensure I shipped a 'finished' game.  I probably won't spend any more time making these types of improvements, but I do plan to clean up the code a bit (got a bit hectic towards the end) and release it into the void.

Overall, I achieved my goals for my first Pyweek.  I have now convinced myself I can actually make a playable game! Hopefully next time I can devote more time and go for something a bit more ambitious.

Add a comment

Nemesis - Eulogy to a Spartan (#Postmortem)

Posted by Python Jedi on 2013/05/06 20:34

(oddly enough the beginning cutscene to Halo:Reach)

Congrats to petraszd (Balancer of Circles), zsombor, bejus, Forevian, Alex, hayalci, and cyhawk (The Sea of Good and Bad)  I didn't play either of those games, but both look very well done, as the scores would suggest.

I'm actually thrilled that I scored as well as I did, having an uncompleted, clunky engine, with no sfx or animation.  To get above 2.0 in each category is exciting and encouraging for my skills with theme and basic concept design.  I was planning on animating the targets, adding in a few more methods to eliminate them (zeus's fury and schism of hades came to mind), and changing the viepoint to be completely overhead.  Overall, I'm getting better at wrapping my head around the concept of a game engine, and I hope to have some time in the fall for PyWeek 17, with a few projects under my belt in the meantime.  See y'all then!

Shoutout to flyingfox for the humorous award.  Wish I had time for such wit.

Add a comment

Nemesis - After the judgement

Posted by circusblatta on 2013/05/05 12:57

I am happy for our result. The rating is not so high but the judgements are basically posive. We already knew the problems and the bugs of our game and we knew the ratings (especially for "fun" section) would not be high. This time we were more busy than the other times and we can't spent too much time for this pyweek, especially in the last day we normally do a lot of progress but this time we can do only few things. Thank you for playing our game and for your comments. See you next pyweek.

Add a comment

vengeance (working title) - speaking of motivation...

Posted by Alzi on 2013/05/05 12:21

I'm very thankful, that all the judges put so much effort into this, and gave me all this feedback.
That's really a good feeling and quite a motivation to carry on with this game.
Again: thank you very much and 'til next challenge! :)

Add a comment

Balancer Of Circles - Post Judging

Posted by petraszd on 2013/05/05 08:04

Sorry, for broken English.

That is weird. And probably a little bit unfair. Cause My tech demo has won game competition. At least in individual category (came second-third in overall).

Anyway, thanks to everyone who played and created they own games. As always, PyWeek was awesome game jam.

Good things:
- Finally I've learned Pygame
- I've decided not to use third party physics engine. And It was really fun to implement my own physics (Yeah – brute force implementation!)
- Decision to draw concept before starting programming worked as always

Bad things:
- Tech demo instead of game
- "Fun" part in scoring is the lowest one. And "Fun" part is most important when You talk about games

P.S. In feadback there were some concerns about my game not being connected with the theme. I think it is because of not enough communication from my side. It is related to mythology. Nemesis is balancer of life (http://en.wikipedia.org/wiki/Nemesis_(mythology)#Rome) and my game is about balancing circles.


PartTimer_Arcade - Penelope the Sea Turtle - Post Mortem

Posted by dmreichard on 2013/05/05 05:14

Well the judging has finished and the results have rolled in. I placed right about where I thought I would, smack dab in the middle. Still, I'm pretty happy with that since I had essentially two days to actually work on it (working 12+ hours a day and then duties at home took it's toll). Luckily(maybe?) I caught a terrible bug and had a day off from work. Here is what went right and what went wrong:

As for production, I was fairly happy overall and the results showed. I learned how to use some tools for the first time and was quite pleased with myself since I'm not an artist. This was literally the first time I made any significant graphics in 2d. My tools of choice for this were the GIMP and PyxelEdit. 

The game didn't have any sound or music until then end when I was desperately searching for something on open art sites. I was able to find some decent sound effects however music was another story. It was upsetting to me that the majority of data in my archive was just in music and it showed in one of my responses as well. Perhaps next PyWeek I will invest more time into learning creation tools for that aspect since I focused on making graphics this time around.

So as for fundamental game mechanic, I wanted to focus on simplicity due to A) time constraint and B) not wanting anything overly-complex. I think I both succeeded and failed in this aspect. Some people enjoyed the simple mechanic (avoid the bad things, eat the good things for points, keep your breath meter from running out) and others wanted more. I personally wanted something else at the end however did not have the time to think of and subsequently implement another mechanic. Perhaps you have a human sidekick trying to help you who will shoot what you are pointing at when you click? Who knows, but I had to get something out the door quickly so I didn't get a DNF.

I will do a "compliment sandwich" and end this with another thing that in my opinion went right. I tried to keep the code organized and clean which definitely helped me implement things quickly in the last couple days. I don't think I would have finished anything if I failed to think about my design before starting to code.

Overall I think there is a lot more I could have done with this concept given time however it was still an enjoyable challenge and a good stepping stone towards doing something even better next time. The top entries had well deserved scores and I commend you! :)

Add a comment

The Sea of Good and Bad - TSoG&B: We (narrowly) did it!

Posted by cyhawk on 2013/05/05 02:51

We came in 0.04 points ahead of Balancer Of Circles and As Was Foretold. What a close call! I have to admit I couldn't try any of the entries yet. I left right after PyWeek on a 4-week trip with just a business laptop that is not right for PyWeek judging. I'm so looking forward to playing the high-scoring games and also some of the lower scoring ones that look awesome nevertheless.

Thanks for the kind comments! Sorry for making a "tarbomb" — I did not realize it until I read the comments... Also sorry about the huge wavs. Looks like I messed up everything that involved compression this time :).

1 comment

Avidus: Those Left Behind - Post-Game, Pre-Judgment Postmortem.

Posted by flyingfox on 2013/05/04 19:20

So it's been a few weeks now and judging ends in about 5 hours so I figure it's about time to write up a postmortem.  This will (a) let me get this down now after some time has passed but still remember what went down during the week and (b) make the most recent post regarding my game not about how buggy it is.

So Sunday rolls around and I figure I should at least look at the themes to see if there was anything I liked.  I had a great idea for "Bat Cave" and a pretty good idea for "Secret Identity".  I had nothing for "Nemesis" but I liked the sound of the word: Nemesis.  I think I rated it third.  So it won. Yay! Then I found I had no idea what sort of Nemesis themed game to make.  None.  I annoyed people for the next day or so by randomly shouting "Nemesis" in disgust.

Then on Monday night, I had an idea.  The nemesis is Grey Goo and it's coming to eat everything.  I wanted it to be unstoppable.  The only way to survive was to leave behind turrets (which would be devoured too).  Like a free form turret defense game.  I wanted you to feel a little bad about leaving people behind so you didn't just power through the levels.

The core of the game is the goo spreading.  I started off with an overly complicated CFD system that was waaaay to slow for the game loop.  Beautiful, but slow.  I backed off that idea and went to simple 2D convolution for goo growth.  This was good, but still a little slow.  So finally, I moved the goo growth to its own process (go-go multiprocessing) and sent a scaled down version of the map to it via a Queue.  when it was done with the computation, it would send back the results.  That worked well but had two problems.  
  1. If you set off a bomb in the goo while a growth calculation was underway, the explosion would get overwritten in the next cycle.  I solved this by tagging each computation with a transaction number and invalidating all previous results when a bomb goes off.
  2. If you are on a very fast machine, the computations will run very fast and you will be murdered.  A lot.  I didn't notice this until the very end and didn't have time to fix it correctly.  Instead, I just exposed a player speed option on the menu.  If you are on a newer machine (Intel i7 grade) you will want to turn up your speed or you will die.
About three days were spent just getting the mechanics down.  By Thursday, I had obstructions and most of the powers working correctly.  However, I was running low of sleep.  By the wee hours of the morning I was trying more and more esoteric code to do dimple things... and failing.  The next day I solved all of the previous night problems in about an hour.  Sleep helps.

On Friday, I basically had the game down but with nothing else.  You ran from the goo and made it to the end or got eaten.  Then you were dumped back to the console with some debugging information.  I jabbed in an endgame (the terrain turns to stars) and started bludgeoning the massive pile of spaghetti code into something I could wrap.  Then menus and instructions came together quickly.  Doing this, however, introduced a bug into the final product that I didn't catch until after the competition had ended.

Instead of having all of the game constants jabbed at the top of the main game module, I moved them off to another module (config.py) so that the menu and instruction screens could access them.  I missed one place in the game loop where it it calls:
hud.followers -= POWERS[action].cost
instead of:
hud.followers -= config.POWERS[action].cost

Classy.  Also, I forgot to upload my logging version of the code, so I couldn't really help anyone who had a problem running the game.

Next Time:
  • Get some help chasing down game assets.  I'm no artist or composer so I trolled around looking for publicly released (CC licensed) sound and tiles.  This took a long time that could have been better spent working on the game.  Next time I'm roping someone else into the team to help with this.
  • Have some idea what the finished product is going to look like before jumping in.  It was hours of work untwisting my existing code so that I could add something as simple as a menu.  Once done, the code looked much better (not great, but better) and was easier to use.  Should have started here but I didn't want to end up with a great start menu and no game.
  • After playing through all of the games that finished I was blown away by the sound in few games.  I loved the voice acting in The Sea of Good and Bad and the effects in Möbius Freak.  Next year I'm tracking down my friends with a sound recorder. :) 

I hope everyone enjoys (or at least, can run) my game.  The competition was awesome this year and I'm looking forward to digging through the source code of a few of my favourite games.

Add a comment