Code Monkey home page Code Monkey logo

deloresdev's Introduction

This is the source code to Delores: A Thimbleweed Park mini-adventure. Read Grumpy Gamer for more background.

License

The source code for Delores is made available under a custom license. See LICENSE.md for more details.

This repository does not include the source code for the engine, it is just the source for the game Delores. To run the Delores source code, you will need to download a development version of the engine here. If you wish to share your changes or modifications, direct people to the preceding page to download the development engine as the LICENSE.md does not permit redistribution of the engine.

The Delores source is intended solely for personal use to learn and explore. Please respect our choice to release the source by using it as intended.

Directions

Clone the repository to your local machine. It is assumed that these files are placed in a DeloresDev directory.

Download and extract the DeloresDev engine executable from here. The engine executable can go anywhere.

Run it once. You will get an error, but that's expected.

Find the Prefs.json file that was created.

On Windows:

%AppData%\Terrible Toybox\DeloresDev\Prefs.json

On Mac:

~/Library/Application Support/Terrible Toybox/DeloresDev/Prefs.json

On Linux:

~/.local/share/Terrible\ Toybox/Delores/Prefs.json

Add the following line to the Prefs.json file:

devPath: "/Path/To/DeloresDev"

If you're on Windows, use / as a path separator and not \

Run the executable again and the game should start.

Support

If you're looking for help or to help others, please visit the Thimbleweed Park Forums.

Debug Console

The debug console can be closed by clicking on the X in the upper right. To make it reappear, press control-TAB.

If you right-click on the console title bar, more debug options can be found in the drop-down menu.

Add the following to Prefs.json to extend the screen to allow more room for the debug console.

debugExtraScreenWidth: 550

The debug console and debug windows use the amazing ImGui

Sound

All sound is done via FMOD and FMOD .bank files must be created or downloaded before audio can be enabled.

If you want to hear audio and aren't interested in creating new audio, the Delores FMOD .bank files can be downloaded from here. Extract and place both .bank files in DeloresDev/Sounds/

The FMOD Studio Tool can be downloaded here. Build and place the .bank files in DeloresDev/Sounds/MasterBank.bank and DeloresDev/Sounds/MasterBank.strings.bank

Describing how to use FMOD is beyond the scope of this README.

Dinky

Delores is coded in a custom language called Dinky that is based on and inspired by Squirrel.

If you point a browser to DeloresDev/HelpDocsHtml/home.html you will find the help files for the Dinky language. It is far from complete, hastily written, and probably riddled with spealling mistakes. You've been warned.

Here be dragons

If this is your first time installing, I suggest you stop here and ensure everything works before proceeding. If all you're interested in is code, you can also stop here.

Art

The full art pipeline involves a slew of Python scripts that proved to be an installation nightmare so they are not included.

If you want to add art, place a .png for the element in the Delores/Dev/Images/RoomName and then run Bin/munge_images.py and the sprite sheets will be created.

To do this, you need to have TexturePacker installed and working and define an enviornment variable DELORES_GAMEROOT that points to your DeloresDev directory.

Animation

Animation control files can be found in DeloresDev/Animation and are .json files. The tool that created these for Thimbleweed Park is long gone.

Translations

The version of Delores avaliable in online stores does not include any translation. This repo version has all the text stripped and wrapped and placed into DeloresDev/Data/Translations_en.tsv. See the help doc on Translations or look at DeloresDev/Scripts/Helpers/TranslationHelpers.dinky for more information.

If you're working on a translation you'd like released with the next update of Delores, visit the Thimbleweed Park Forums for more information and to connect with others doing translations.

Wimpy

The tool to add and position objects is called Wimpy and it can be download here

When you first start Wimpy, you will see a blank window. To load a .wimpy file, drag it into the window. The .wimpy file must come from the DeloresDev/Wimpy folder and the project directory structure must remain as it is in the repo.

Known Issues

  • Dinky language documentation is sparse.
  • There is a bug in the garbage collection for Dinky, so I turned it off. You will notice memory usage climbing, but it's not likely to be an issue unless you're playing for hours and hours.
  • Translation system is only half-done, see TranslationHelper.dinky for more information.

Credits

  • Delores Programming by Ron Gilbert and David Fox.
  • Thimbleweed Park Art by Mark Ferrari, Octavi Navarro, and Gary Winnick.
  • Thimbleweed Park Music by Steve Kirk.

deloresdev's People

Contributors

clan328 avatar festarossa avatar frenzie avatar grumpygamer avatar guga2112 avatar manuq avatar rodrigofurtado avatar rwrnet avatar slaytanic avatar sushigoldfish avatar vitacon avatar zakphoenixmckracken 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  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

deloresdev's Issues

No engine for Linux?

Hi, tnx for sharing this. I love your work (since I was a kid).
However, I have only linux laptops at home, can you please, please, please, build the engine also for linux?

(I can help, but obviously I don't have the sources)

Dutch translation

Hi

I'm new to this game. I was wondering if Dutch translation is available?
I see poeple here asking questions about translations.

Thx

Can't change language back to English

Select any other language first then switch back to English but loadtsvtable() still loads the previous translation file. I'm testing on macOS 10.15.6 with engine 1.0.6.

Screen Shot 2020-09-25 at 10 03 38

A few questions if anyone knows!

  1. Before some commands like TEXT(11118, "the Nickel News door") or SAY(11099, "....") what do these numbers mean and how are they determined?
  2. There is a script in PostOffice.dinky for starting the postalWorkerWorking thread animation. I noticed that this loop was defined as a while YES but I changed it to a do loop and it still works. Is there any difference in the two approaches or when you'd use one vs the other?
  3. I'm not 100% but I suspect there is a way to hot-reload/refresh code changes? If I edit the script text files is there a way to force the engine to reload the script without exiting and starting the game over entirely?

Just a curious question on dinky as a language. I understand it's based on Squirrel? Is it a modified version of Squirrel or entirely homegrown? What is it about Dinky that Squirrel was lacking to motivate the creation of Dinky?

I love learning about this engine and how it was created. Thanks for sharing!

Possible minor bug found, with initializing Actors

if ("min_use_dist" !in actor) min_use_dist <- MIN_USE_DIST

Hello, I don't think this was intended...but it looks like two global variables are created on these two lines called: min_use_dist and min_talk_dist.

Maybe the code should have been...

if ("min_use_dist" !in actor) actor.min_use_dist <- MIN_USE_DIST
if ("min_talk_dist" !in actor) actor.min_talk_dist <- MIN_TALK_DIST

I think they should be tacked onto the actor object and not global.

Linux executable

Hi

Is the Linux executable available already? Or are there no plans to make it?

save game

Hi

Since the game can't be saved manually, I was wondering at what point (after doing which tasks) it's saved automatically?
Can't find any explanation.

Please consider enabling the documentation on this repo with Github Pages

Hello,

I forked this repo and with just a few clicks, I have the docs up and running: https://deckarep.github.io/DeloresDev/HelpDocsHtml/home.html

This repository could do the same:

  • Click Settings (next to Insights)
  • Click Pages (enable this)
  • Keep setting: Deploy from branch
  • Set setting: /root - which will just feed the entire repo as a site

Once enabled (after a few minutes) the docs should be available at: https://grumpygamer.github.io/DeloresDev/HelpDocsHtml/home.html and this link can be referenced in the README.md file.

Thimbleweed Park sequel?

Hi

Is the plan to update this game into a full Thimbleweed Park sequel?
Or is development stopped and will this stay a free game, not being worked on anymore?
Or will updates be made but still staying a free game?

thx

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.