Git Product home page Git Product logo

alanbrady / cataclysm-dda Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cleverraven/cataclysm-dda

0.0 2.0 0.0 1.83 GB

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.

Home Page: http://cataclysmdda.org

License: Other

CMake 0.56% Makefile 0.22% Shell 0.15% Python 1.56% C 0.31% C++ 95.82% Batchfile 0.01% Gnuplot 0.01% Perl 0.01% HTML 0.02% R 0.01% JSONiq 0.01% Java 1.30% JavaScript 0.02%

cataclysm-dda's Introduction

Build Status Coverage Status Open Source Helpers

Cataclysm: Dark Days Ahead

Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic world. While some have described it as a "zombie game", there is far more to Cataclysm than that. Struggle to survive in a harsh, persistent, procedurally generated world. Scavenge the remnants of a dead civilization for food, equipment, or, if you are lucky, a vehicle with a full tank of gas to get you the hell out of Dodge. Fight to defeat or escape from a wide variety of powerful monstrosities, from zombies to giant insects to killer robots and things far stranger and deadlier, and against the others like yourself, who want what you have...

Download

Visit our website for download links to all stable and experimental releases.

The source can either be downloaded as an archive, or you can clone it from our GitHub repository.

Compile

Please read COMPILING.md - it covers general information and more specific recipes for Linux, OS X, Windows and BSD. See COMPILER_SUPPORT.md for details on which compilers we support. And you can always dig for more information in doc/.

We also have the following build guides:

Contribute

Cataclysm:Dark Days Ahead is the result of contributions from over 900 volunteers under the Creative Commons Attribution ShareAlike 3.0 license. The code and content of the game is free to use, modify, and redistribute for any purpose whatsoever. See http://creativecommons.org/licenses/by-sa/3.0/ for details. Some code distributed with the project is not part of the project and is released under different software licenses, the files covered by different software licenses have their own license notices.

Bountysource

Please see CONTRIBUTING.md for details.

Community

Forums: https://discourse.cataclysmdda.org

Wiki: http://cddawiki.chezzo.com/cdda_wiki/index.php

GitHub repo: https://github.com/CleverRaven/Cataclysm-DDA

IRC: irc.freenode.net ; #CataclysmDDA http://webchat.freenode.net/?channels=#CataclysmDDA

Official Discord: https://discord.gg/jFEc7Yp

Frequently Asked Questions

Is there a tutorial?

Yes, you can find the tutorial in the Special menu at the main menu (be aware that due to many code changes the tutorial may not function). You can also access documentation in-game via the ? key.

How can I change the key bindings?

Press the ? key, followed by the 1 key to see the full list of key commands. Press the + key to add a key binding, select which action with the corresponding letter key a-w, and then the key you wish to assign to that action.

How can I start a new world?

World on the main menu will generate a fresh world for you. Select Create World.

I've found a bug / I would like to make a suggestion. What should I do?

Please submit an issue on our GitHub page. If you're not able to, send an email to [email protected].

cataclysm-dda's People

Contributors

kevingranade avatar rivet-the-zombie avatar bevapdin avatar zhilkinserg avatar ka101 avatar coolthulhu avatar mugling avatar night-pryanik avatar illi-kun avatar i2amroy avatar vlasovvitaly avatar acidia avatar jbytheway avatar codemime avatar korggent avatar ozoneh3 avatar atomicdryad avatar mlangsdorf avatar brettdong avatar cyrano7 avatar qrox avatar pisskop avatar thedarklingwolf avatar heathersoron avatar ianestrachan avatar i-am-erk avatar borkborkgoesthecode avatar nexusmrsep avatar soyweiser avatar john-candlebury avatar

Watchers

Alan Brady avatar James Cloos avatar

cataclysm-dda's Issues

Add automated item temperature tests

This should have been done before I decided to touch stuff. But I didn't and then proceeded to feel the wrath and pain of not doing so. This needs to be done to a) verify temperatures are actually working as expected currently b) prevent breaking it in the future.

Modify tests to model correct behavior

With the tests in place that can appropriately model the behavior we want, some attempt can be made to at least fix the worst offenders.

The entire thread here and specifically Kevin's comment here CleverRaven#20414 (comment) describes some basic sanity tests that should absolutely not be the case.

rename OVERMAP_DEPTH/OVERMAP_HEIGHT

These names are perversions of the traditional nomenclature that makes stubborn people argue over the semantics of whether or not they should be defined as negative values.

Just make them Z_MIN/Z_MAX and end it.

Refactor liquid handling

This shit is a mess and it would be a great target to clear up game.cpp junk. player::siphon doesn't really need to be there either.

Looking at all the functions involved and their dependencies, I don't see any reason they actually need to be part of the game interface.

Ascii mini-map?

why does tiles get all the fun? ascii peeps want a minimap too

Trudge through the recipe UI and overhaul for QoL

The recipe menu could really use some QoL love. It works, but barely.

Acceptance Criteria

  • Walk through the code and get a gist of how it works
  • Come up with some rough ideas of how it can be improved
  • Setup project outlining what needs to be done
  • Break up tasks into issues and put into project

Try to fix file access permissions

When running multiple tests in parallel you fun errors like this:
screenshot from 2018-09-01 19-15-54

It's probably not a big deal but it might be an easy fix and it could theoretically be an issue for the multiple instance use case.

Fix Memory Mapping

At the very least it should be using an LRU, probably some kind of modified version of it to cache memory better.

There's also some bugs with looks_like

Investigate performance while just idling

I noticed visit_items get iterated through constantly while just idling. Kevin suggested it's the animation loop looking through the items to animate.

What I think can solve this is adding some kind of cache representation for the animation loop of what it needs to animate instead of having it iterate each and every single item that could possibly be displayed. Given a large number items this could theoretically slow processing to a crawl.

Try to fix throwing

Take a swing at this thing: CleverRaven#20414

This probably requires an entire project to setup and do.

At a minimum, tests for the current state of the game and such need to be added. From there, rebalancing can occur but not before.

Overhaul debug menu mapgen project

The debug mapgen menu is a little rough around the edges. It has everything you need to get the job done but it's not always obvious or easy what it's asking.

I need to setup a project and iterate through what can be done to improve it.

Add tests for the current behavior of throwing

We need some kind of baseline to test against so that when an attempt is made to treat the issue, it can be demonstrated in a functional way.

Additionally by having these tests in place, they can be used for future balancing if required.

  • Iron javelin looks like the best candidate for an upper bound on throwing items
    "thrown_damage": [ { "damage_type": "bash", "amount": 5 }, { "damage_type": "stab", "amount": 17 } ],
  • Maybe something like a rock as a lower bound? Or maybe something super light like a cash card?
  • Need to test at different ranges and different skill levels
  • Compare against other weapons like pistols
  • CleverRaven#20414 (comment)

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.