creatures caves welcome, guest
downloads   gallery   dev   community   creatchi   forum   mycaves
bookmarks | search | post new topic
Development Forum
old
Creature History Database (Story Teller)   
Zzzzoot

Zzzzoot
United States  


  12/24/2019  1

Hey everyone. I'm working on the very early stages of a database that will allow players to upload their creatures' histories. This will replace some of the warp server's functionality of displaying family trees.

Update:
Latest release:
https://github.com/gantt42/Story-Teller/releases

A preview is worth a thousand words: Creature History Database

And here is the first very rough version of a console app that uploads your running world to the server. It only works once per world currently (if you execute it twice on the same world, the second time nothing will happen but a harmless crash of both the server and the client, but not the game. That is, no update of any new creatures will occur). But the next version will hopefully allow running worlds to actively update the server with their creatures.

Client app to upload game info to server:
https://drive.google.com/file/d/1JHnsn9m5_MZKcM8iNNMdvfe_7y5NQI16/view?usp=sharing
Privacy Policy for this console app:
This app is designed solely to expose your private data to the world. This private data may include anything located in your game's saved files, both under 'Documents' and 'Program Files', or in active memory (RAM).


Instructions to those who would like to help:
1) Please try with a GoG install running Docking Station with no imported creatures.
2) Download the ConsoleApp1 from my google drive.
3) Start Docking Station and load a world.
4) Launch ConsoleApp1.exe
5) Go to https://creatures.azurewebsites.net/creatures to view your uploaded creature histories.

How it works:
ConsoleApp1 attaches to the running game, outputs a file containing a JSON database of all creatures' info, and then uploads that to my server running temporarily at https://lemurware.tech/api/v1/creatures/.

EDIT: I have changed the API and ConsoleApp1 no longer works. I'll upload a new version of the ConsoleApp once I solidify the server's processing of images.

 
xan

xan
United States  


  12/24/2019

Really cool.

Any specific reason you used the shared memory interface instead of a CAOS script that could dump the history? I haven't played much with HIST commands so I'm not sure if there's something prohibitive about it or if shared mem was just the closest tool at hand for you.

 
Zzzzoot

Zzzzoot
United States  


  12/24/2019

Thanks!

I wanted to make an all-in-one app. The consoleApp1 program also uploads to the server automatically.

The end goal is something that you can just start up alongside the game (theoretically compatible with Albian Warp) that uploads everything live.

Also it was the closest tool at hand if I'm being honest. I'm a C# developer.

 
Vermidia

Vermidia



  12/24/2019  1

This seems very cool.

The event numbers and age seem to line up seamlessly like the commands themselves. Excited for where this may go. [ngrin]


You know...wait...nevermind... wait...no...umm...maybe later...
 
Zzzzoot

Zzzzoot
United States  


  12/25/2019

Thanks!

Now I need to figure out how to turn s16 images into PNGs. I may need to brush off my C skills it seems like.

 
xan

xan
United States  


  12/25/2019

I've been meaning to make a C converter (or, preferably, imagemagick plugin, or something) for s16 files for ages, C#'s byte-manipulation functions should work just fine though.

The file format is really stupidly simple, deceptively so, I keep thinking 'oh, this will only take a day' and then it takes *slightly* longer than that and I keep putting it off.

Intent is to use for creature photos I presume?

 
Zzzzoot

Zzzzoot
United States  


  12/26/2019

Yup yup. I want to have the console app also upload the creature photos to the server. We’ll see how far I get.
 
Zzzzoot

Zzzzoot
United States  


  12/29/2019

I've got the images working!

https://creatures.azurewebsites.net/creatures/

Note: the images sometimes don't all load. I believe that's due to so many requests hitting the server at once. But I'm not sure.

Any suggestions on what information I should display are more than welcome.

EDIT: After looking at the logs, the images definitely aren't loading because of too many requests at once. I've got it partially fixed (the error was actually causing the server to crash) but some images still don't load.

EDIT: And it's fixed. I'm starting to like node.js.

 
Zzzzoot

Zzzzoot
United States  


  1/4/2020

I just made a poll. I believe it's under review, but I'm not sure if the polls are working. Either way, here's the reason for the poll.

In order to upload name changes live, the Creature Database code needs access to all code that changes creature's names. That means the in-game GUI that changes names, and any autonamers.

To that end, the Creature Database is probably going to include an autonamer. But I'm not sure which is most popular. Hence the poll. I'll include an autonamer based on the most popular one. And if people prefer not using autonamers, I may go through the effort of including the "Creatures Database Autonamer" as a separate agent.

If the poll doesn't work: Which autonamer do you prefer?

Edit: Also, do you use the Creature History Update?

 
Yomegami
Sanely Insane

Yomegami
United States  
Manager


 visit Yomegami's website: The Realm
  1/4/2020  1

The polls are indeed not working.

While I don't play Creatures anymore, I usually opted for my All-Creature Autonamer. Sometimes Amaikokonut's Advanced Protective Tub was fun to mess around with.

And I never used the Creature History Update. Only change to the Creature History I used was Minisauron's, which disabled the automatic picture taking for space-saving reasons.


~ The Realm ~
D.L. Yomegami's Creatures Blog


 
Papriko
Peppery One

Papriko
Germany  


  1/4/2020  1

I usually made a crude version of the All-Creature Autonamer myself. I always have Jagent laying around, so I take the vanilla DS autonamer, pop off the lid, change literally one value to make it name all creatures, weld it back together and that's that.
It's a matter of two minutes, and for me personally usually easier than searching a download link.


Lets play plants! Photosynthesis... Photosynthesis... Photosynthesis...
 
Dragoler
Wrong Banshee

Dragoler
United Kingdom  


  1/4/2020  1

I also use the All-Creature Autonamer most of the time, and very occasionally Advanced Protective Tub. I do not use the history update.

Creator of the TWB/TCB genome base.

 
ylukyun
Patient Pirate

ylukyun

Manager



  1/5/2020  1

I use Advanced Protective Tub. I think I've used the history update before, but it's not a must-have for me.
 
Vermidia

Vermidia



  1/5/2020  1

I tend to use Advanced Protective Tub, but also sometimes Random Namer with a modification to turn off alphabetic generation names and see what it makes. I've had the history update in the past, but I don't really use it anymore.

You know...wait...nevermind... wait...no...umm...maybe later...
 
Zzzzoot

Zzzzoot
United States  


  1/5/2020

Thanks for all the replies!

I'm thinking about possibly making a name updater agent, that keeps a record of all names, and outputs a file whenever a name changes. It'd have to also delete its record of a name whenever a creature died or warped out. Oof, it's possible but sounds easy to mess up. But that way players could still use their favorite autonamers.

Does anyone know if NAME variables, where the variable name is set to an agent like a creature, continue to take up space after the agent is KILL'd?

Like if I set up a bunch of

seta va00 norn
sets name va00 "creature's name"


would the names continue to take up space after the creature no longer exists? It doesn't seem like it would. But does anyone know for sure?

I'd also have to catch newly imported and warped creatures before the autonamer got a chance to name them. I think script 127 (fires when a new event happens, like an import event) would let me do that.

 
Vermidia

Vermidia



  1/5/2020

Shouldn't be too hard, I think

I don't believe name variables continue to take up space, but I not really knowledgeable on that.

I know monikers will continue to exist after a creature's death, which you can retrieve names from.

For importing and warping in you'd need to check for HIST TYPE "moniker" 6 & HIST TYPE "moniker" 17, and for warping out or exporting its 5 and 16.



You know...wait...nevermind... wait...no...umm...maybe later...
 
Zzzzoot

Zzzzoot
United States  


  4/26/2020

Sorry for disappearing. My personal life interjected itself suddenly.

So I'm thinking about redoing the client side code with Electron. I've never used Electron before, but from what I can tell, it can do everything I need.

The final system would be:

CAOS modifications:
-Installed by Electron App.
-Outputs creature histories as JSON files.

Electron App:
-Checks for and (after a prompt) installs CAOS modifications.
-Displays creature-history JSON files from local computer.
-Uploads creature histories and images to Server.
-Displays creatures histories and images from Server.

Server (with RESTful API):
-Accepts uploaded creature histories and saves to SQL server.
-Can be queried for all previously uploaded creature histories.

The only thing the user needs to download is the Electron App.

Also, the "install CAOS modifications" feature would be Windows only due to using the CAOS Class Library and the shared memory interface.

So, does anyone see any flaws with my system, or ways it could be improved?

 
Zzzzoot

Zzzzoot
United States  


  4/27/2020

I've put together a very basic Electron app. It contacts the database server for 12 creatures and displays their names, images, and some very basic data.

If people could download it (Windows 7+ only) and make sure it works that would be awesome.

Also, does anyone still use an OS older than Windows 7? I didn't think about Electron's lack of support for Windows XP.

v0.0.0.2-beta

 
Vermidia

Vermidia



  4/28/2020  1

It seems to work, is displaying the images, names, species, and sex, and there's 12 creatures.

You know...wait...nevermind... wait...no...umm...maybe later...
 
Zzzzoot

Zzzzoot
United States  


  5/1/2020

Thanks!

I've worked on the UI a bit. Here's a screenshot of the latest commit I made to GitHub:

https://i.imgur.com/eYldO8g.png

https://github.com/gantt42/Creature-History-Client/tree/5deca88f45322244a7460542156302098f3871f1

I'm not going to release another "build" until I actually add new features. But if anyone wants to poke around, there's actually a GitHub repo in the v0.0.0.2-beta under "resources/app/". You can pretty easily download GitHub Desktop, open the repo, and download the new code.

Anyone on 32-bit windows? I can help you install the app. I'll start releasing both 32-bit and 64-bit versions in the future.

Also, I think I'm going to call the program "Story Teller".

 
Zzzzoot

Zzzzoot
United States  


  5/4/2020  1




Story Teller v0.0.0.3-beta

Displays 10 random creatures.

Has links to creature details, including parents and children.

 
Zzzzoot

Zzzzoot
United States  


  5/30/2020  1

Story Teller v0.0.0.5-beta
 
Zzzzoot

Zzzzoot
United States  


  6/28/2020  2

Story Teller v1.0

Includes basic game launcher and CAOS Tool 2020 v1.0

 
Layla

Layla
United States  
Moderator



  7/1/2020  1

Hope you don't mind, but I did a review! :D



I serve none but to rock.
 


downloads
cobs
adoptions
creaturelink
metarooms
breeds
 
gallery
art
wallpaper
screenshots
graphics
promos
sprites
dev
hack shack
script reservations
dev resources
active projects
dev forum
 
community
links
advice
chat
polls
resources
creatchi
 
forum
bookmarks
general
news
help
development
strangeo
survivor
mycaves
log in
register
lost pw
0 online
creatures caves is your #1 resource for the creatures artificial life game series: creatures, creatures 2, creatures 3, docking station, and the upcoming creatures family.

contact    help    privacy policy    terms & conditions    rules    donate    wiki