Skip to content
forked from avaraline/pavara

An Avara clone written in Python using Panda3D.

Notifications You must be signed in to change notification settings

rherriman/pavara

 
 

Repository files navigation

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)

About

An Avara clone written in Python using Panda3D.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.5%
  • Shell 0.5%