lp:dwarfbomber

Created by Wolter HV and last modified

This is the branch for the "main" series.

Get this branch:
bzr branch lp:dwarfbomber

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Wolter HV
Project:
Dwarf Bomber
Status:
Development

Import details

Import Status: Failed

This branch is an import of the HEAD branch of the Git repository at git://gitorious.org/dwarfbomber/main.git.

The import has been suspended because it failed 5 or more times in succession.

Last successful import was .

Import started on pear and finished taking 15 seconds — see the log
Import started on pear and finished taking 20 seconds — see the log
Import started on pear and finished taking 20 seconds — see the log
Import started on pear and finished taking 20 seconds — see the log

Recent revisions

41. By Stephen Bryant

moved map back to engine o-O

40. By Wolter HV

 * Worked on a grass tile.
 * Fixed Tyler, that was giving errors (and crashing every once in a while,
nobody knows why)
 * Fixed a bad replacement (gameMap for game_map)

39. By Wolter HV

Added a python script, Tyler, which is a utility to edit tiles. Basically
you just run it while you are editing a tile and it will refresh the tile
image for you every time you save it. Pretty nifty if you make the window be
"always on top", which is possible at least in Gnome. Cheers!

38. By Wolter HV

Deleted the patch files, which are already applied.

Updated the UML diagram a bit. I think maybe Umbrello is not the best option
as it gets weird at times. It wouldn't let me delete/move some tags attached
to arrows.

Cleaned the TODO list. Maybe we should use launchpad only to track our tasks
and not a TODO list. Use it if only to specify things that need to be done
addressing a particular bug in the launchpad page.

I don't think I will work on the game more today, I wish I had more time -
its getting really interesting.

I think that we should create a new branch (git checkout -b <branch>) to
start working on the level loading file. I updated launchpad with the
specifications that the map loading file needs, plus other changes needed to
suit this new feature.

37. By Wolter HV

Here I push the patched versions of the files. I wrote in the wave how you can patch/unpatch files

36. By Wolter HV

The dwarf keeps "walking" because the move_vect is not of length 0 (the
dwarf walks up/down-wards. These will be fixed by adding the respective animations..

The dwarf's bounding box should differ from that of his sprite.
Should be in fact rectangular and much shorter than the dwarf. Should only contemplate the space he is occupying in the floor, not the projection of his volume.

There is a black strip down because the screen size does not match the map size. This is how it should be though, because there will be a HUD, and if the map is very small the empty space between the map and the window (whose size is defined as a setting, and not depending on the map size) must be filled with something.

Got rid of the spriteLoader parameter in the entities. There is a temporary method in the files that need the sprite loader which retrieves it, but this will be gone, as the entities will know only about the path of their sprite, and the Renderer will be in charge of loading the sprites for them when the map is loading. This way, the entities will not *need* to reference the engine, and tasks will be better delegated.

The FPS cockblock was disabled because as the game is in development, we need to be aware of its performance at all times.

[TODO] If two keys which trigger different animations are pressed at the same time, only the later should be obeyed.

[TODO] The dwarf should not be able to surpass the limits of the map, thus walls will be need to be added by default bordering the edges of the floor.

[TODO] The camera should follow the player. This proves necessary when the map is bigger than the screen - a possibility which should be contemplated.

35. By Stephen Bryant

eliminated redundancy in main.py

34. By Wolter HV

Renamed the engine backends to respect the python PEP 8 about instance names, which should be all lowercase and with underscores where needed

33. By Daniel

Improved the tileLayer of the gameMap class. Optimized the SortedGroup class. Added a TileLayer class.

The tileLayer was ineffective. Every frame, the engine had to blit every individual tile on the screen. Because this tileLayer is mostly static, a huge improvement can be achieved by creating a pygame.Surface on which we blit once and for all the different tiles constituing the floor. So I create a new class TileLayer which holds a pygame.Surface the size of the level and which has a draw method to draw itself onto the camera. In the gameMap, the self.tileLayer holds now an instance of this class, and the method add_tile(self, position, tileType="floor") blit the new tile on the tileLayer's surface.

SortedGroup class was sorting its sprites any time the class was requesting the sprites in that group. But this sorting is only required for drawing, not for updating. So the sorting is now only happening in the draw method, making sprites retrieval much faster when calling the update method.

32. By Stephen Bryant

switched to getting static DBEngine instance

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers