Coder Social home page Coder Social logo

egamebook's Introduction

Build status

Welcome to the code repository for the egamebook project.

This repository contains all the moving parts needed for running egamebook campaigns, in one place, using the monorepo approach.

If you choose to play around with egamebook, you will probably spend most of your time in the edgehead/ subdirectory. Edgehead is the canonical example of an egamebook, and it provides a way of running the game in terminal. Go read Edgehead's README to learn more about playing, playtesting, and developing Edgehead.

If you're thinking of building your own egamebook, the easiest way to start is to make a copy of the edgehead subdirectory and start changing the text files and the Dart files there.

If you're looking for more info about egamebook itself, visit egamebook.com.

To play the IFCOMP 2017 entry called Insignificant Little Vermin, click here.

Development

Most development happens inside the subfolders of this monorepo. But for CI, you'll need to use the Dart mono_repo package:

pub global activate mono_repo

This installs the mono_repo command line tool.

To run all tests in the whole mono_repo (the tests that will be run by Github Actions), use this command:

mono_repo presubmit

egamebook's People

Contributors

filiph avatar janamou avatar kwight avatar pquentin 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

egamebook's Issues

-- an actual battle with the goblins.\n\nAssume you won.\n\n',

s.add('TODO -- an actual battle with the goblins.\n\nAssume you won.\n\n',
wholeSentence: true);
w.recordCustom(evGoblinCampCleared);
}, (ActionContext c) {
final WorldState originalWorld = c.world;
final Simulation sim = c.simulation;


This issue was generated by todo based on a TODO comment in 139d1e8. It's been assigned to @filiph because they committed the code.

tests:

# TODO tests:
# Must see Oracle? (if we actually need that for the story)
# Must meet BigO's undead (2 / 3 times?)
# Must do one warging?
# Must do one necromancy?


This issue was generated by todo based on a TODO comment in 06a6a1d. It's been assigned to @filiph because they committed the code.

stand up if Tamara ended the fight down, and isn't hurt

// TODO: stand up if Tamara ended the fight down, and isn't hurt
[[IF c.isHurt(tamaraId)]]Tamara is sitting on the ground now and tending to her wounds. "I'll survive, [young sir]. But you might not." She winces, and looks at me.[[ELSE]]Tamara checks her gear and sheathes her sword. Then she looks at me.[[ENDIF]] "Come with me back to safety. I'll give you a discount for the way back."
_"Thanks for your service, Tamara. But I've come this far."_


This issue was generated by todo based on a TODO comment in c7a7d3f. It's been assigned to @filiph because they committed the code.

counter attack on ground situation

// TODO: counter attack on ground situation
var counterAttackSituation =
CounterAttackSituation.initialized(w.randomInt(), a, enemy);
w.pushSituation(counterAttackSituation);
return "${a.name} dodges ${enemy.name}'s slash on ground";
}


This issue was generated by todo based on a TODO comment in 2364625. It's been assigned to @filiph because they committed the code.

the three different ways to get past the gate: Talk to someone and learn the acc...

// TODO: the three different ways to get past the gate: Talk to someone and learn the access path; Use stamina to move open a nailed door, or use an axe.; Descend from way above
// Vignette


This issue was generated by todo based on a TODO comment in e0125a9. It's been assigned to @filiph because they committed the code.

clean up

use_function_type_syntax_for_parameters: false # TODO: clean up
use_rethrow_when_possible: true
use_setters_to_change_properties: true
use_string_buffers: true
use_to_and_as_if_applicable: true
valid_regexps: true


This issue was generated by todo based on a TODO comment in 873e0f9. It's been assigned to @filiph because they committed the code.

annotate with @sealed once it's in flutter-compatible package:meta

/// TODO: annotate with @sealed once it's in flutter-compatible package:meta
class Nothing {
/// Removes the default constructor of [Nothing], making it impossible
/// to ever instantiate. This is what we want, because [Nothing] is


This issue was generated by todo based on a TODO comment in 49c7e86. It's been assigned to @filiph because they committed the code.

at least one of the knights needs to re-appear again, as a hireable NPC

// TODO: at least one of the knights needs to re-appear again, as a hireable NPC
// A vignette
// (Ideally when leaving the entrance towards the pyramid, or later. "As I pass the two knights..."):
I wonder how it must be, having to spend so much time, idly waiting, together with a single person, for years. So they grow to love each other? Or hate? Both?


This issue was generated by todo based on a TODO comment in 5544d7c. It's been assigned to @filiph because they committed the code.

move to a quest file

TODO: move to a quest file
ACTION: $talk_to_corporal
DESCRIPTION:
The corporal says there's not much the Knights can do. They are retreating in any case. But he does feel responsible. Maybe if I go and help Zee (a knight) with a counter attack, that could give everyone more time to evacuate. I could also help by persuading the Farmers to evacuate. They don't want to.


This issue was generated by todo based on a TODO comment in 3728eb6. It's been assigned to @filiph because they committed the code.

decide whether I need this. The idea is that many knights will die in a fight, a...

TODO: decide whether I need this. The idea is that many knights will die in a fight, and we don't want this to prevent the player from learning important things. Dialogue should be central to the prose, but we can't have dialogue if everyone is dead (or undead).
Many dialogues are actually possible with almost any character. The ink "file" has access to the personality of the person we're talking to.
The Knights are randomly generated on the following dimensions:


This issue was generated by todo based on a TODO comment in ddd6145. It's been assigned to @filiph because they committed the code.

connect to the elevator shaft

- TODO: connect to the elevator shaft
- Maybe only allow visiting this place after some time.
- Should be dangerous.
- A way to explain that the Pyramid is "infused" with magic.
- Maybe a way to "trade" sanity for stamina or other boons?


This issue was generated by todo based on a TODO comment in c85803e. It's been assigned to @filiph because they committed the code.

Make it harder to get here. Add at least one "twisty little passages" area in be...

TODO: Make it harder to get here. Add at least one "twisty little passages" area in between jungle entrance and here. Or just "jungle floor", which is the place where you can meet lizard man


This issue was generated by todo based on a TODO comment in e0125a9. It's been assigned to @filiph because they committed the code.

allow examining the gate, which is built in "the nortonian style"

// TODO: allow examining the gate, which is built in "the nortonian style"
// TODO: at least one of the knights needs to re-appear again, as a hireable NPC
// A vignette
// (Ideally when leaving the entrance towards the pyramid, or later. "As I pass the two knights..."):


This issue was generated by todo based on a TODO comment in 5544d7c. It's been assigned to @filiph because they committed the code.

decide whether I need this. The idea is that many knights will die in a fight, a...

TODO: decide whether I need this. The idea is that many knights will die in a fight, and we don't want this to prevent the player from learning important things. Dialogue should be central to the prose, but we can't have dialogue if everyone is dead (or undead).
Many dialogues are actually possible with almost any character. The ink "file" has access to the personality of the person we're talking to.
The Knights are randomly generated on the following dimensions:


This issue was generated by todo based on a TODO comment in 07f28ee. It's been assigned to @filiph because they committed the code.

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.