Giter Club home page Giter Club logo

openfire's Introduction

OpenFire

A 2D action game inspired by Fire Power and Return Fire. Only for Amiga computers.

System requirements

As the game is still under development, game performance will vary.

  • Chipset: OCS
  • CPU: 68000 @ 14MHz
  • RAM: 2MB CHIP, a bit of FAST
  • Mouse and keyboard

How to play

After starting game, you may choose your team and vehicle. The goal of the game is to conquer more bases than enemy team and maintain this state until enemy team runs out of respawn points.

Controls

  • Movement: W, S, A, D
  • Fire, hiding in bunker: LMB
  • Exit: ESC

Authors

This game has been made as entry for RetroKomp Gamedev Compo 2017. Original authors are:

  • KaiN - code
  • Selur - gfx
  • Softiron - gfx

License

This game is licensed under MIT license. See LICENSE for more information.

openfire's People

Contributors

tehkain avatar

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

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.

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

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

Bridges support

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

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.

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.

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!

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

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.