Coder Social home page Coder Social logo

moonburnt / a2s3 Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 17.59 MB

An action arena game, written in python + panda3d

Home Page: https://moonburnt.itch.io/a2s3

License: GNU General Public License v3.0

Python 99.92% Scheme 0.08%
p3dae p3dss panda3d python

a2s3's People

Contributors

moonburnt avatar pkulev avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

pkulev

a2s3's Issues

Map loading

Right now, game only has one hardcoded map with customizable scale. But obviously things shouldnt stay the same.
While general idea should remain the same - all maps must be flat (due to how game's core mechanics work. I've tried to tinker with heights, but didnt find a stable way to provide hitboxes consistency, in that case - too much will depend on vertical size of creature and height projectile's flight) there are plenty of things that could be made to spice up gameplay (obstacles and spawners, walls and different visual map styles). Thus, for game to reach 0.1 milestone (e.g first release), it should have at least some barebones map loading mechanism, which will be further improved during later development stages.

Thus far, I see 3 ways to achieve this:

  1. Pre-generated maps made with blender.

    Pros:

    • Go-to access to 3d objects
    • Can see how it will look in game right away

    Cons:

    • Require third party software and basic 3d modeling skills, thus hard to use if we would want to have user-created content
  2. Kaggen. E.g tiled map generation mechanism, that works similar to one from King Arthurs Gold - map's layout is drawn as png image, then for each pixel of specified color on specified position (image size works as map size), we spawn specified tile/object/etc.

    Pros:

    • Easy to draw

    Cons:

    • Would require some work to write loader script without relying on third party libraries
    • For each new color-object relation, manual loader modification will be required
    • No simple way to declare requirement to put decoration above floor level
  3. Map editor + formatted json (to store items placement information)

    Pros:

    • Format would be as flexible as necessary
    • Isnt tied to tiles or heights - all objects can have any x, y, h position

    Cons:

    • Requirement to manually write map editor for the game

All of these should be investigated, in order to determine development direction to take

Add ability to compile game natively

Say, with nuitka. This way, I believe, it will be a bit easier to share it and play - no need for user to tinker with dependencies, no need for us to pack python with game. Plus it may improve performance... I think?

Improve dependency handling

Either via setup.py with Requirements.txt or via pyproject.toml. Because right now installation process require few extra steps which isnt really convenient

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.