Git Product home page Git Product logo

dhbw_python's Introduction

DHBW_python (Still thinking of a name)

This is a project for my python module in the university.

Module Requirements

Tested OS

  • Windows 10
  • Mac OS

Dependencies

  • pyTMx
  • pygame
  • python 3.8.5 +

Installing and running

Install python 3.8.5 or higher version.

Run pip install -r requirements.txt to install the dependancies for the game.

Run python main.py to start the game.

Logging

To customize logging you can change the variables in setting.py

Variable Meaning when set to True
LOGGING_TO_CONSOLE Logs info to the console.
LOGGING_TO_FILE Logs info to the log.txt
LOG_INFO Logs additional info
CALLS_DEBUG Logs function calls where @debug decorator has been used

Controls:

Key Action
W Move up
A Move left
S Move down
D Move right
K Shoot
Space Jump

Project Description:

This shall be a Sci-fi Spaceshooter/Platformer game developed in pygame, but more effort will be put into the Platformer part. (The Spaceshooter has not been implemented)

Endless mode

The Player can choose to play either the Spaceshooter or the Platformer with endless scrolling maps. (This mode has not been implemented and will not be due to technical limitations.)

Story mode

I would like to add a demo level for the story, with some dialogs. (This mode has not been implemented fully, because of missing content)

Assets:

I will be using following assets for the project.

Here are some sound effects that I like for the game:

Credits for the Assets:

Other Programs:

dhbw_python's People

Contributors

mo-official avatar

Watchers

 avatar  avatar

dhbw_python's Issues

Main Menu

Create Main Menu to choose either play modes

Spritesheets & Tileset

Spritesheet of xeon is causing some problems because of formatting.
If I don't figure out how to format it correctly I'll either take the old sprite or have to look for a different one

Camera Movement

Add a function that calculates the change in the player's position and then renders a different chunk of the map making it feel like the player is moving around.

Powerups

add collectable powerups on the levels

BUG: player left movement flag not being set correctly

The bug is in sprites.py in the Player.update_movement_flags() and Player.movex()

        elif self.vel.x//1 < 0:
             # BUG: movement_flag is being set to true falsely.
             # See issue here for more information. 
            self.movement_flags["left"] = True

The problem is that self.vel.x becomes so small that when rounding up using self.vel.x//1 it is rounded to zero, thus losing the negative sign.

Possible solutions:

  • update the movement flag when the movement keys are pressed
  • check if negative without rounding and check if self.acc.x//1 != 0

Enemy drops

Make enemies drop powerups or coins occasionally

Make adding maps easier

Write a function that takes the following as an input:

00000000
00022000
00011000
00000000
22200222
11100111

and outputs the following into a map.txt:

[
["0","0","0","0","0","0","0","0",]
["0","0","0","2","2","0","0","0",]
["0","0","0","1","1","0","0","0",]
["0","0","0","0","0","0","0","0",]
["2","2","2","0","0","2","2","2",]
["1","1","1","0","0","1","1","1",]
]

Shmups loop

split the game loop into platformer and space shooter

Enemies

Add enemies that either try to touch or shoot the player

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.