Giter Site home page Giter Site logo

openfire's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

polluks

openfire's Issues

Turrets as bobs in efficient way

Drawing turrets as sprites have some benefits, but the biggest disadvantage is that they are always drawn on top. Since chopper flies higher than turret, they must be drawn as bobs too.

Drawing all turrets every frame is pointless and inefficient, so there's an idea that one turret should be refreshed every frame, so that 50 turrets may be refreshed every second. Also, only turrets in visible area and its neighbourhood should be refreshed.

Undrawing is not really necessary if turrets will have always same tile beneath them - but this needs some additional work on wall tileset

Compile using Bebbo's GCC

Compiling under Bebbo's GCC would allow code cross-check and perhaps give better performance without changing anything in code itself, since VBCC ruins game code on higher optimization levels.

Implement frame skipping

Fire Power ain't running with 50fps but no one cares 'cuz game is fast-paced anyway. It's needed for netplay anyway.

There are two ways to implement this. Let's assume that we need to skip 3 frames:

  1. Process everything with 3x bigger deltas - vehicle moves 3x further, then turret rotates 3x further, then projectile moves 3x further. Everything would be done with same steer requests and precise movements wouldn't be possible. Not so fair.
  2. Process everything in a 3x for-loop - vehicle moves one time, then turret one time, then projectile, then there goes projectile for another run. It's more fair but needs a bit different bob management so that they'll be drawn only during last logic pass.

I'll go with 2. I'll try to capture steer requests during vblank and put them on list, so that every frame would be processed with corresponding player intents - precise movements should be still possible. Also steer request list should be compatible with net protocol if it's gonna send just other player's steering between frames.

Bridges support

  • Placed on shallow on deep water
  • Destructible
  • Upon destruction revert to shallow/deep water type

Reimplement scroll buffer / tile buffer in ACE

For bigger maps, efficient way to store them in memory is needed. ACE has some scroll buffer and tile buffer code, but I guess it's rotten since it hasn't been used for one or two years for now.

Return Fire map import

Write an importer for RFire maps. For legal reasons don't ship them in game, but provide converter.

  • Simple 1:1 map conversion from PC
  • Scripts for adding OpenFire specific stuff to maps (e.g. override tiles on given coords)
  • Determine file format from console so that importing may take place from whatever version player has

compiled .adf please!

would be great having a bootable .adf imagedisk available as well, with the game compiled, for lazy people like me! :D - thanks!

Implement chopper

  • Add selectable chopper vehicle
  • Implement takeoff/landing anim
  • Initial balance - speed, life, ammo, damage
  • Implement fuel system
  • Better targeting - LMB shoots down, RMB shoots straight.
    Shooting down should be a bit slower as part of speed is in Z direction.

Multiple bot navigation

Currently only one bot on map is supported. Code is needed for bot coexistence aspects, such as:

  • collision evasion
  • taking different routes
  • randomising destination targets

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.