Adventure Game Studio

Community => Adventure Related Talk & Chat => Topic started by: Monsieur OUXX on Wed 27/05/2020 12:44:13

Title: Ron Gilbert's "Delores" source code released on github
Post by: Monsieur OUXX on Wed 27/05/2020 12:44:13
What the what now?

https://grumpygamer.com/delores_dev

Ron Gilbert had previously released his engine for Thimbleweed park.
Now he has released the source code for a mini-game ("Delores") based on the engine.

I haven't investigated exactly what it means in terms of ready-to-use adventure game engine, or if there's a catch, but holy Molly!
Title: Re: Ron Gilbert's "Delores" source code released on github
Post by: Crimson Wizard on Wed 27/05/2020 13:44:51
Do I understand correctly that there's no engine sources, and the engine is available as a compiled executable that can run game data, such as this "Delores" source?

PS. "Delores" scripts are fun to read and compare to what could've been in AGS :)
Spoiler

Code (text) Select

actorTurnTo(delores, DIR_BACK)
sayLine(SAY(11889,"Ok, here goes."))
breaktime(0.25)
breakwhiletalking(delores)
playAnimation(delores, "drinking_start")
breakwhileanimating(delores)
delores.sid <- playSoundAt(SOUNDID(drinking), delores)
playAnimation(delores, "drinking_loop", LOOPING)
breakwhilesound(delores.sid)
breaktime(5.5)
playAnimation(delores, "drinking_end")
breakwhileanimating(delores)
actorFace(delores, DIR_RIGHT)
actorCostume(delores, "DeloresVomitAnimation")
playAnimation(delores, "vomit")
breaktime(0.5)
delores.sid = playSoundAt(SOUNDID(vomit), delores)
sayLine(randomfrom(SAY(11890,"*huurrrll*"),
                   SAY(11891,"*bleeeuuurrrggghh*"),
                   SAY(11892,"*raaaaaallllllllllffff*")))
breakwhileanimating(delores)
actorCostume(delores, "DeloresAnimation")
breaktime(1)
sayLine(SAY(11893,"*sigh*"))
breaktime(2)
actorTurnTo(delores, DIR_FRONT)
sayLine(SAY(11894,"I feel better now."))

[close]
Title: Re: Ron Gilbert's "Delores" source code released on github
Post by: Monsieur OUXX on Wed 27/05/2020 14:57:28
Quote from: Crimson Wizard on Wed 27/05/2020 13:44:51
Do I understand correctly that there's no engine sources, and the engine is available as a compiled executable that can run game data, such as this "Delores" source?

Yes. But considering it's bleeding edge technology, the tradeoff is pretty good I'd say ;)
The only tricks are : 1) No commercial use. Only hobby use (I'm fine with that ;) ) 2) The tools are rather raw. Especially to import graphics and such. But they're good enough.

That being said I don't intend on switching to that engine, but I'm convinced that it would be totally feasible.
Title: Re: Ron Gilbert's "Delores" source code released on github
Post by: eri0o on Mon 01/06/2020 00:21:47
Interesting stuff. There is more info in the forums too (https://forums.thimbleweedpark.com/c/delores-engine/). I haven't read yet and did only a quick pass through the files on GitHub.


Animations
https://github.com/grumpygamer/DeloresDev/blob/master/Animation/ChuckieAnimation.json
I noticed frames are named? My guess is they use the image and the map in json files here (https://github.com/grumpygamer/DeloresDev/blob/master/SpriteSheets/Chuckie.json).
Then some build process runs some script that apparently cut so that the sheet is the name of the folder and the frame is the name of the png (https://github.com/grumpygamer/DeloresDev/tree/master/Images/Chuckie).
And also it's possible to add offset to frames apparently.

Debug Tools
Debug tools are made using Dear ImGui!!!
Spoiler
(https://i.imgur.com/AJ74SJ7.png)
[close]

Room design
https://github.com/grumpygamer/DeloresDev/blob/master/Wimpy/AStreet.wimpy
Apparently they are described in wimpy files. The walkable areas are described in polygons, there's a layer for lights. Also the room supports parallax layers.

Scripts and dialogs
https://github.com/grumpygamer/DeloresDev/blob/master/Scripts/
Apparently game logic is coded in dinky files (https://github.com/grumpygamer/DeloresDev/blob/master/Scripts/Defines.dinky). Including rooms logic (https://github.com/grumpygamer/DeloresDev/blob/master/Scripts/Rooms/Bathroom.dinky). Meanwhile dialogs are coded in yack files (https://github.com/grumpygamer/DeloresDev/blob/master/Scripts/Yacks/Dave.yack) which are a simplified version of Ink scripts.

Sound
https://github.com/grumpygamer/DeloresDev/tree/master/Sounds
Sound is using FMOD "apparently". More stuff from FMOD here (https://github.com/grumpygamer/DeloresDev/tree/master/Source/FMODSound).

Translations files
https://github.com/grumpygamer/DeloresDev/blob/master/Data/Translations_en.tsv
It appears there are IDs for the texts instead of text as keys.