Git Product home page Git Product logo

thejosh / chaotic-rage Goto Github PK

View Code? Open in Web Editor NEW
37.0 5.0 11.0 411.75 MB

An unusual zombie shooter game for Windows and Linux

License: GNU General Public License v2.0

Lua 0.24% GLSL 0.13% C# 0.47% C++ 56.88% C 41.22% Makefile 0.11% HTML 0.13% Shell 0.10% Python 0.60% PHP 0.04% Roff 0.02% Batchfile 0.01% NSIS 0.04% Dockerfile 0.01%
shooter-game game-engine zombies zombie-survival-shooter moddable-game

chaotic-rage's Introduction

Chaotic Rage

Coverity Scan Status

Chaotic Rage is a silly little shooter game. A simple graphical style allows for a focus on gameplay. The game is very customisable with full modding support. There are a variety of game types, with scripting done in Lua. Multiple view modes - top down, behind player and first-person - allow for a unique perspective of the action. Dynamic and scriptable weather and day/night effects create a dynamic environment. The gameplay is rounded out by a number of interesting vehicles including tanks, utes, and trains. Last but not least is a wide range of weapons including shotguns, machine guns and flame throwers.

List any issues on GitHub:

Compiling

Chaotic Rage is supported on a number of platforms and through various build environments. For compilation instructions for various platforms, see the file COMPILE.md

Making mods

The game is designed with extensability in mind. All of game data is abstracted into data modules, and multiple mods can be loaded at once.

The mods contain the definitions for everything in the game, as well as 3D models, sounds, songs, etc. The game also uses the scripting language Lua, which provides logic for AIs, as well as managed game types.

Contributing

All contributions (even documentation) are welcome :) Open a pull request and I would be happy to merge them..

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Some content contained within this archive is covered by other licenses. For full authorship information, see the Git log available at https://github.com/TheJosh/chaotic-rage.

chaotic-rage's People

Contributors

enjgine avatar esper avatar julienfryer avatar olofn avatar thejosh avatar vinniefalco avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

chaotic-rage's Issues

There isn't any power ups

It would be really good to have power ups.

Specifically, the "Chaotic" power up and the "Rage" power up.

Nothing much is animated

Almost everything just slides around weirdly.

This may also involve adding bone-based animation.

Map tool needs rework

It can't handle the newer map file formats.

The map format might need some work too.

Shooting is not effective enough

It takes about 40 bullets in a machinegun to kill a zombie.

The damage/weapons need adjustment. This can be done in config files (you can even use the datatool if you can get it working).

Almost nothing has sounds

We need to have hooks in the data config for some things, as well as actually recording the sounds.

Rendering map transforms are very messy

I don't understand the code at all. Take a look in RenderOpenGL::mainRot() to see what I mean.

Here is a sample (trimmed a little):

this->render_player->drive->body->getMotionState()->getWorldTransform(trans);
btVector3 euler;
PhysicsBullet::QuaternionToEulerXYZ(trans.getRotation(), euler);

glLoadIdentity();
glTranslatef(this->virt_width / 2, this->virt_height / 2, 0);

// Behind (3rd person)
glRotatef(180, 0, 0, 1);
glTranslatef(0,483,1095);
glRotatef(74, 1, 0, 0);

glRotatef(RAD_TO_DEG(-euler.z()), 0.f, 0.f, 1.f);
glRotatef(180, 0.f, 0.f, 1.f);
glTranslatef(0.f - trans.getOrigin().getX(), 0.f - trans.getOrigin().getY(), 500.f - trans.getOrigin().getZ());

If anyone can make sense of that, be my guest!

Sound doesn't work on some configurations

I had a report that sound wasn't working from one user. It was working on my box but is someone can test on a system with multiple sound cards because it might be that

Game crashing upon startup

Error report from Abe Hoffman.

I downloaded the game and the installation process worked fine. However, when I try to execute, the Window opens but then the process stops working.

Specs:
Intel Core 2 Quad
4GB RAM DDR3
OnBoard Video
Windows 7 Pro

Problem Details:

Problem signature:
Problem Event Name: BEX
Application Name: chaoticrage.exe
Application Version: 0.0.0.0
Application Timestamp: 50944a57
Fault Module Name: StackHash_0a9e
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 00000000
Exception Offset: 00000000
Exception Code: c0000005
Exception Data: 00000008
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Character physics and animations is out in a few areas

Some of the zombie mechanics are off. For example, the zombie will float over the hole in the ground or walk in place infinitely. Also I have seen several zombies walk into the blackness at the edges of the map... never to return.

Heightmaps are broken

Probably just needs normals.

Although is it even necessary? It might be better to have full-height options available instead.

Subsystems preGame and postGame in weird spots

The method gamestate->start() should be renamed to preGame, and everything should be run from in there, instead of the current mix of from within menu.cpp and game.cpp

Renaming:

  • Render
  • Audio
  • Physics
  • Map
  • Events
  • GameLogic
  • NetClient
  • NetServer
  • GameState
  • Moving the stuff to where it belongs

Lots of old code needs removing

Classes such as:

  • Particle, ParticleType
  • ParticleGenerator, ParticleGenType
  • MapGrid, MapGridCell, CollideBox

And associated .conf files, etc.

Speed issues with 20+ zombies

It's all the ray tests against the heightmap.

We could change the res of the heightmaps (don't like that idea because it would kill some maps), but apparently slower speeds help too.

More research is needed.

Large gamestates crash the server when player joins

When there is a large gamestate, joining the game causes the server to crash.

I'm fairly sure it's going over the packet length limit, so I'll need a way to split up large states into multiple packets.

Tanks don't work

Which is sad.

The logic just needs porting to Bullet Physics.

Zombies don't attack

Or at least they don't seem to.

This is a multi-part issue. The Lua AI scripts need logic to know when to do the melee attack, the melee attack needs to be coded (C++) and they probably need an animation (and sound) too.

Most of the Lua stuff is crap and leaky too

I'm thinking some of it needs rejigging into some sort of DOM-like system or something.

It's not a massive priority, because the system works, but it would be good to think about before heaps of new content is added.

Zombie hit/miss status and blood is confusing

It is difficult to tell when you are hitting a zombie or if they are just bleeding profusely. There is a small static blip when you shoot and hit them, other than that you can't tell how many times you've hit them.

Physics collisions areas don't match the actual objects

The collision ranges are all wrong for almost everything.

This needs some thought probably. We might be able to do it automatically for some simple objects (like walls, etc), but more complex stuff will need some data config stuff too.

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.