Giter VIP home page Giter VIP logo

pavara's Introduction

pavara


A game insprired by the classic mac game
Indra by rherriman

how to install dependencies

pavara depends on Panda3d. Panda3d installs its own version of python, but to run the map converter and other helper tools in the repo you will need python >= 2.7 installed on your system.

Panda3d installer links: Windows, Mac, Linux (Ubuntu).

Mac users also need the NVidia CG toolkit. Mac users may also need an X11 Server if one is not installed.

In Ubuntu 12.04, the oneiric version of Panda3d will complain about 2 unmet dependencies during installation. Download and install the missing packages from here and retry installation.

running

The python script map_test.py must be run with the ppython command (provided by Panda3d) inside the source directory.

  • Windows: open a new cmd.exe, dir \Wherever\You\Saved\pavara then ppython map_test.py

  • Mac/Linux: open a new terminal and cd /path/to/pavara/folder followed by ppython map_test.py


roadmap

Maps

###high priority

  • legacy map converter
    • add conversion for
      • domes
      • fields
      • walldoors
      • teleporters

###low priority

  • map loading
    • honor yaw/pitch/roll attributes for all objects, not just blocks
  • map syntax
    • need definitions/implementation for
      • per-level logic/scripting
      • assign ids to objects for scripting
      • fields/areas
      • custom shapes
      • assigning colors to shapes
      • enemies

Graphics

###high priority

  • walking animation

    • implement correct walk cycle
  • deferred shading, bloom, transparency

    • integrate shadows (directional higher priority than shadows from point-lights)

###low priority

  • updated assets

    • finalize projectile models
    • unigoody (or placeholder)
    • scout
    • pillbox or 'autoturret'
    • "ball"
    • mine
    • guard/ufo/ai walker
  • triangle debris when walkers scrape walls

  • particle effects

    • missle/lazer trails?
    • environmental, e.g. precipitation?

Networking

###high priority

  • time travelling
  • multiple physics simulations on the server/clients? (discussion here)

###low priority

  • server tracking
  • game metadata distribution (chat/level and asset distribution)
  • ladder
  • films hall of fame

Logic

  • player data
    • shield/plasma recharge rates based on energy level
    • ammo and boosters
    • respawns
    • incarnator selection
      • random order, unless order attribute explicitly set on incarnator objects
      • if multiple incarnators exist with same order value, select randomly within that subset
      • do allow for team masking
      • if number of players exceeds the number of incarnators, split players into "batches" and spawn them in ten second waves?
    • position, speed, velocity
  • game data: setup, types, start/end conditions, game recording
  • messages: triggering and listening for simple events, both in XML and whatever scripting set up we use
  • game modes
    • vanilla mode with baseline hull
    • custom 'loadout' mode where several 'stats' are set using a fixed number of points enable you to select one or more balanced 'skills' based on the stats ???
      • for example, in addition to the baseline hull
        • agility - increased top speed, decreased ammo capcity and armor, additional jump(s), wall jumps, floor sliding
        • defensive - increased armor, decreased speed, droppable auto-turret (pillbox), droppable mines, ???
        • offensive - increased ammo capacity, decreased armor, droppable remote motion sensor beacon, tele to scout, ???
    • co-op firefight, maps would need hooks for enemy spawn points

Sound

###low priority

  • doppler effect
  • updated assets
    • plasma/missle/grenade loop
    • kArticWind etc. replacements
    • footstep sounds, goody sounds
    • teleporter sounds
    • xplosions

Physics (Bullet)

###higher priority

  • kinematic character controller
    • collision detection for damage and externally applied forces (explosions/weapons fire)
    • impulse vertical height adjustment/crouching for hitting ground from free-fall
  • ballistics
    • grenade lobbing!
    • "smart" missle tracking
    • walker energy, cannons, shield charging
    • laser cannons
      • less energy = less shot power
      • add something for the opposite situation? arcing charge shot: if cannons at 100% power, hold down button to charge a large 'arcing' shot, which, scaling with charge time, has the effect of 'jumping' to other players within range of the player struck by the original arc shot, doing a fraction of the damage for each 'jump'. this would drain your cannons completely and overcharging (and self-destruction) would be possible. could be 'skill'
    • splash/freesolid/laser damage/recoil

###lower priority

  • other collidables
    • fields/areas
    • kinematic map objects

User Interface

###lowest priority

  • preliminary designs
  • 3d target reticules (finalize plasma/missile, draft grenade)

pavara's People

Contributors

assertivist avatar jonathan-voss avatar rherriman avatar sgsabbage avatar dcwatson avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar

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.