final version

Darkroom

You are trapped in a dark room with giant spiders. Luckily you got some weapons and torches with you. Unlucky for you: torches tend to burn up when used. And the spiders will kill you as soon as the light goes out.

Kill spiders to find more torches. Beware not to touch the spiders, they will take away your torches!

Requirements

  • Python :) (tested with 2.7)
  • Pygame
  • Six (included in newer version)

Awards

Give this entry an award

Scores

Ratings (show detail)

Overall: 3.3
Fun: 3
Production: 4
Innovation: 2.9

Respondents: 13

Files

File Uploader Date
dark_room_1.0.1.zipfinal
Updated readme, included six
grummi 2014/10/12 20:37
final_screenshot.png
final version
grummi 2014/10/12 00:14
dark_room_1.0.zipfinal
v1.0
grummi 2014/10/12 00:14
screenshot_2014-10-11_15-42-28-28522.png
funky pause screen
grummi 2014/10/11 13:43
screenshot_2014-10-11_00:16:26-14305.png
main menu 2
grummi 2014/10/10 23:11
screenshot_2014-10-11_00:16:22-9775.png
main menu 1
grummi 2014/10/10 23:11
screenshot_2014-10-11_00:16:14-1983.png
Not so beautiful intro
grummi 2014/10/10 23:10
screenshot_2014-10-09_22:51:15-20480.png
spider alert!
grummi 2014/10/09 20:53
screenshot_2014-10-08_23:16:31-15722.png
simple weapon chooser
grummi 2014/10/08 21:23
screenshot_2014-10-08_21:41:07-26197.png
collisions
grummi 2014/10/08 19:42
output.gif
animations are working
grummi 2014/10/08 19:36
Bildschirmfoto vom 2014-10-05 23:51:09.png
character
grummi 2014/10/05 21:52
Bildschirmfoto vom 2014-10-05 21:01:57.png
Some nice tiles
grummi 2014/10/05 19:07
Bildschirmfoto vom 2014-10-05 10:21:42.png
first attempt at lightning
grummi 2014/10/05 08:25

Diary Entries

First time participating

I'm pretty excited. I hope I can finish a somewhat fun game. Never did finish an actual game, although I have from time to time experimented with pygame.
I just hope I find enough time to work on the game next to my day job that keeps me on the road for nearly 12 hours a day.
That will probably be the biggest obstacle for me.
I am nonetheless very excited for this challenge and hope to have a lot of fun and learn some new things :).

Add a comment

Ideas plz

Some nice game idea might help a lot… "One room" was one of my least favorite choices.

For the moment i think I'll try implementing a simple top down action adventure in one room with constantly spawning enemies. An interesting challenge may be to implement some dynamic lightning. The room could be initially dark, and the player has to light it himself by carrying / placing torches on the ground.

I started coding some basic helper / framework classes. Still a long way until it resembles a game in any way…

Going to sleep now.

Add a comment

First experiments with dynamic lightning

Some first experiments with a "dynamic" light source. Just a simple dark layer over the scene with a brighter spot for the light and then blit the layer with the BLEND_MULT flag. The result can be seen in the screenshot.

Add a comment

Name found

I found the name I'm going to use for now.

In other news, I found some nice tiles on opengameart that not only look nice, but more importantly, are easy to use :)

I use Tiled to create a tilemap, and load the data with bitcrafts PyTMX library to load the data.

I had some problems today with the viewport that cost me quite a bit of time, but I found the problem and I can "walk" across the map. The next step is finding (or creating?) some character. Just moving a white spot across the map isn't very much fun

Add a comment

Animating the main character

I created a sprite sheet for the main character with the Universal LPC Sprite Sheet Character Generator. This tile sheet contains all animations that I could need for the main character. Lucky for me. It would not have turned out nice if I had to create the character myself :)

Now I am working on displaying the correct animations in the game.

Add a comment

No real progress

I rewrote much of my game code because I just threw everything together the first time around. That means I didn't really make any real progress, and the game isn't as far along as it was before. But the code structure is a lot nicer, which hopefully means I can work much faster from now on.

I am working on integrating some music into the game. First time I ever really worked on sound in games. I usually abandoned all my prototypes long before integrating music or sound into them. I downloaded some music from Fake Music Generator. That is a pretty nice service. I might even use the music in the final game.

But for now I am going to bed. Only the second day, and already dead tired…

Add a comment

Viewport driving me insane

Wasted the whole day trying to find a bug in the viewport code, without much luck. Tomorrow I'm going to step through the programm with a debugger. Not really looking forward to it, but I see no way around it.

But first I'll try to get some much needed sleep.

3 comments

Finally some progress

I found the bug in my viewport code. Animation of the main character works. He can walk, run, and attack.

edit: removed big gif image. Look in the entry page for an animated version

And he can no longer walk through walls. Now I'm going to implement different weapons.

I also implemented a simple screenshot functionality for convenience :)

Add a comment

Added a simple weapon chooser

I added a simple weapon chooser. Now I can select which weapon animation to play while playing :)

Tomorrow I will finally start to add enemies to the game. About time, not much point in an action adventure game without enemies :)

I hope i get to integrate the light into the gameplay. I'm planning to have the player be able to set torches on the ground to light the room. He can only see enemies if they are in the light. Maybe have the player be able to carry a torch, but not attack as long as you carry one. Or maybe only with a weak dagger.

I'm still missing a goal or target for the player. Maybe have him only have a limited amount of torches, and let him die as soon as he used up the last of them. He can get more by killing enemies and collecting theirs. That way it would be a kind of survival game.

But I'll have to see how much I get done till Sunday. So much to do, so little time.

Add a comment

Added enemy - kind of

Yay, added an enemy. Well, not really. For now it's just an animated sprite.

Didn't have much time and motivation today to work on the game. I hope I can catch up tomorrow.

Add a comment

Going to be a hard final day

Made some progress with the game, but not as much as I would have liked. The enemy spider can already move, and be pushed back if you hit it with a weapon, but only in one direction, and it is still very buggy.

But at least I made some progress with the intro screen (to ugly to link in the diary, but you can see it in my screenshots). I drew the Picture while driving on the bus, and you can see it. Not that it would have been much better if I would have set at a normal desk -.-'
And I don't really have time to compose a better screen. Maybe I should abandon the intro screen entirely.

Compared to the intro, the main menu did turn out much better (if I may say so myself ;) ). Have a look: The Light follows the mouse cursor. The options in the menu are selected with the mouse as well:

I also added rudimentary joystick / gamepad support. Rudimentary because I just added some random buttons for different actions. I didn't really put much effort in it. If you want to change the button settings, you will have to change it in the source code yourself. (The same will probably be true for the keyboard controls, but at least they have some better defaults).

Important things left to do

  • Enemy collision detection
  • Hurt + kill enemies
  • Enemies drop goodies
  • Enemies can at least walk randomly through level
  • Rudimentary AI for enemies (trying to attack player)
  • Dynamically spawn new enemies
  • Enemies hurt player
  • Player can die
  • Game Over state
  • Pause
  • Lights gameplay mechanic
Not so import things left to do:
  • Find and use better music
  • Sound effects
  • Finally center lights on player
  • HUD / Player status display
  • Control customization
  • Developer sleep
  • Improve / abandon intro
  • Help Page
  • Sleepy time for developer
  • Improve Level
  • Fix pesky viewport (works, but is rather inefficient at the moment)
  • Why don't you already go to sleep if you can't even stay awake to finish this entry. Idiot.
  • Add some torch graphics (game and menu)
  • Sleep a whole lot
  • fixing everything on these lists
Well, that's probably not even everything. I'll be surprised if I even finish half of the important list D:

Well, I'm gonna go to sleep for now. Something tells me that it is bedtime.

1 comment

Finished!

Wow! I can't believe I actually (kind of) finished in time! I definetly cut it rather short, with just one hour left.

I had to make a few compromises at the end, the code i wrote the last few days were only one ugly hack after the next.

But in the end it was worth it. I definitely learned a lot. As some old, long-dead greek guy said: "I kow some things, but not enough. lol." (paraphrased)

I hope the game will be fun for the players.

I'll upload screenshots and a better description later. Right now I'm working on finding all the sources of the assets I used in the game. That is definitely something I have to remember for the next time: Always save the sources at the same time as the assets. Otherwise it is a lot of work to find them again later.

But all in all I'm very proud of my game. After all, it is the first game I ever finished. Although in the end I couldn't implement a lot of the gameplay ideas I had.

Add a comment

Updated my final entry

I just noticed that my final entry didn't contain the latest readme file. I uploaded another version with the correct readme.

I used this opportunity to also include the six library that is used by the PyTMX library by bitcraft. Initially it was another dependency Windows users had to satisfy (I didn't have to install it on my linux machine).

The game itself didn't change at all. If the game already worked for you, you don't need to redownload it.
I didn't even fix an error in the help screen my friend told me about. That would be cheating. And that is terrible! ;) (Warning: Link leads to TVTropes! Open at your own risk!)

I also updated the description of the game to include the requirements.

Add a comment

Thanks for playing!

Big thanks to all who played and judged my game!

Didn't expect to turn out so well for my first participation and in fact, my first finished game ever.

I'm looking forward to the next pyweek :)

Add a comment