Git Product home page Git Product logo

noematic's Introduction

Noematic

/What is old is new again./

Watch the video

Noematic is an interpreter for dialog files used by The Talos Principle, targetting retro computers such as the IBM PC (other platforms pending). It was designed specifically to run the text adventure mini-games released with the "Road to Gehenna" expansion, but can simulate some portions of the main game dialog as well.

Noematic may also prove useful to mod developers who wish to test their dialog files without needing to boot up the full game.

Usage

Noematic requires the original dialog files extracted from The "Talos Principle"assets in order to function. They are not included as part of this repository.

To extract, navigate to your game installation directory. For Steam users, right click on the game in your Library, then Manage->Browse Local Game Files. Enter the Content/Talos subfolder and note the *.gro files. These are actually renamed .zip files, and can be opened by any zip extractor. Depending on which one you open, there may be a Content/Talos/Databases/ComputerTerminalDialogs folder containing .dlg files. These are the files that Noematic operates on.

Once extracted from the game archive(s), you can run a dialog by providing it as a command line argument to the noematic binary (NOEMATIC.EXE on DOS). For example:

noematic.exe DLC_Aaru.dlg

Limitations

Many of the text adventures included in "Road to Gehenna" will operate standalone like this. However, most of the game dialogs expect to run as part of the larger game, and won't operate properly. In particular, the include directive is not (yet) implemented, so cross-linking between .dlg files won't work. Also, anything that keys off of events in the 3D game world won't work, for reasons that should be obvious.

Porting

Noematic is written in ANSI C to try for a wide array of potential platforms. Currently it runs on MS-DOS and modern Linux systems. It's written in a modular style, where platform-specific code is isolated to specific C files that are compiled (or not) for the desired platform. In general, .h files contain all function declarations, and the corresponding .c files contain platform-independent code. Platform-dependent code is tagged as such in the file name. For example, slow.h contains declarations for timing functions, while slow_dos.c contains the DOS implementation.

To support a new platform, the appropriate implementations will need to be selected/written and compiled for it.

Currently, the Makefile exists to create the Linux version, as well as regenerate lex_yy.c and y_tab.c from the lex and yacc input files. There is also a Borland Turbo C++ 1.01 project file NOEMATIC.PRJ for compiling on DOS. Note that the lex and yacc output file names differ slightly from their standardized form for DOS compatibility.

Acknowledgements

The Talos Principle is a video game released in 2014 by Croteam and published by Devolver Digital.

476f 6f64 204c 7563 6b0a

noematic's People

Contributors

gtbx avatar

Stargazers

 avatar

Watchers

 avatar

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.