Wednesday, December 6, 2017

CCSF Hype Continues

 CCSF 2018 Survey

Since this blog probably isn't your only source of Creatures news, you're probably already aware that the CCSF 2018 Survey is already underway, courtesy of Pilla and Ylukyun. If you weren't aware, well, now you are! Go take it! Round One will "probably run for 2-ish months" so you likely have until the end of January to get your input in.

I'm pretty excited about this for a couple of reasons! For one, I feel like the timing makes a lot of sense. If you've attended other annual events, such as conferences, conventions, shows, or parties, you've probably noticed that closing ceremonies often include previews and plans of what the organizers hope to do to make the next year's event even better. Registrations/signups/tickets for the future event are often made available right away to take advantage of the hype that's already there (and to take the edge off the sadness of the event coming to a close). The CCSF generates a lot of activity and helps to bring community members out of lurkmode. It excites, motivates, and inspires us. To me, it just makes sense to ride that hype train into planning the next event while so many people are active and brimming with ideas!

My second reason for loving this early planning is a little bit more personal. To be blunt here, November and December are just horrible months for me to get involved in anything. I got lucky this year and was severely bitten by the coding bug back in August so by the time November rolled around I had a handful of things to share, but for the last several CCSFs I've just been way too busy to even consider developing anything. Unfortunately when we wait until nearly halfway through the year or even later to start the surveys, those two months tend to be the only options by the time the surveys wrap up. The fact that this survey is running so early means that there's a greater chance we might get an August, September, or October CCSF, which would just work out so much nicer for me personally. Of course, we'll see how the majority feels, but it's nice to have that hope.

I believe a well-planned CCSF is not only important for our community, but also for our future. A successful CCSF has the potential to show off the dedication and enthusiasm of our community to inactive community members, future creatures-players, and even game developers! 2018 will be our 15th CCSF, can you believe it? What a milestone!

Before I wrap this up, I would like to toss out a suggestion to anyone who might be interested in but intimidated by coordinating next year's festivities: you don't have to do it all alone! Taking charge of such an iconic event can be daunting, but once you're elected, there's no reason that you can't build a team or at least select a co-coordinator or two! Pick people whom you already know you work well with and can balance each other's strengths and weaknesses. Recruit people to help you publicize, handle submissions, run events, design the site, anything! There's a lot of talent to be found and there's no reason one person should have to do it all alone. It's a community spirit festival, after all!

Meanwhile, I'm going to be swamped with work and local holiday preparations until the new year, but I'm hoping after that I'll find the time to buckle down and work on some stuff I've been hoping to check off my endless projects list for years. Such an active presence of Creatures fans on Discord has done a lot to ignite my flame again! Hopefully it'll last long enough to see at least a couple things through to completion.

If you don't hear from me again, I wish you all a happy holidays and a fruitful new year!

Monday, November 27, 2017

The Biggest Waste of Time And How To Use It

Alright, so here is my uh .. I guess actual, kind of sort of fitting (in that it at least promotes collaboration in some form), CCSF release.

In truth it's not anything all that interesting or spectacular or game-changing, but I'm pretty sure I put more hours of solid work into this than I did in the Garden Box. Heck, after writing this I feel like re-writing the Garden Box would be a piece of cake, but that's another story.

Anyway, before I stray too far off topic, allow me to present to you Advanced Protective Tub, now with bonus control panel:

This post is gonna get long, so I'll spare you the scrolling and give you the download link here. The zipfile includes the agents' catalogue file, which you may not need but it will make your life easier if you have a split installation that prevents your catalogue files from unpacking into the folder that DS actually reads them from.

When I developed the original Protective Tub, I had hoped that people would enjoy making custom name lists, and they certainly did! But the more interesting lists people developed, the more I really wanted to be able to switch easily between them without having to swap catalogue files. I also wanted to mix and match different name lists and have a few extra features to boot, so this agent is the result of my attempts to do all of those things.

Anyway, here's how you use it:

The control panel appears upon injection and allows you to choose catalogue tags from which to randomly generate first and last names for your Creatures. You can select one or several tags, add custom tags, preview tags, and choose formatting and inheritance options. Each set of this settings can be saved in different profiles, shown in the top row of icons.

The first top-left button selects your settings profile for the current world you are in. This is the profile that actually affects the world you are in, right now! All autonaming that happens will draw from the settings in this profile, so if you feel like your settings aren't taking, make sure you've set things up under the right profile! This is the profile you will probably be using 99% of the time and it will be the profile that is already selected when you first inject the agent. Remember, if a button is grayed out, it's because you are already in that profile.

The second button is the default profile, which is what settings for new worlds will default to. If you change these settings, close the control panel, then save and load into a brand new world and inject Protective Tub, the settings for your new world will be the same as the settings you saved in the default profile. This is intended to prevent you from having to set up your ideal profile again every time you start a new world!

The last four buttons are custom profiles which you can set up to your liking, to suit specific themes, etc. Much like the default profile, these are saved across worlds, so once you set them up it should be easy to start up a new world and load settings from your favorite profile.

The last two top row buttons are Copy to World and Copy to Default. Clicking one of these buttons will apply your currently selected profile to your World or Default settings. This is the simplest way to make a custom profile active in your current world.

When you feel like you're done setting everything up, clicking the red X button will save your profile options to your Journal folder and hide the window. You can also use the Backspace button on your keyboard, if you are tired of clicking by now.

You can bring the panel back up at any time by clicking the small duck-shaped button above the selected Creature's name, or by re-injecting the agent.

If all this is information overload, rest assured that you can still enjoy Protective Tub completely from the World Profile alone. The other profiles are totally optional features and you can just ignore them if you like!

Now, the actual settings.

This panel uses two lists: one for the left side or first names and the other right side or last names. These lists are populated by the names of catalogue tags that contain potential creature names. You can use the up and down arrows on each side to view each list independently. If your game detects input from the scroll wheel on your mouse, you can hover over the side you which to browse and scroll up or down that way.

Tag names colored in green are active and will be used to generate names (if/when those settings are applied to the current world). You can activate or deactivate a tag by selecting it and either clicking the checkmark on its respective side, or by selecting it and clicking it again.  If no tags are active on the right or left side, the autonamer will be disabled until one or more tags are made active on each side. (If you wanted, you actually could deactivate all tags on your active world profile to prevent autonaming and as new creatures hatched you could switch to a custom profile and use the Test Name feature we'll explain later to generate names until you find one you'd like to apply to your hatchlings.)
There are two more buttons on each the right and left side between the select and page down buttons. The first of these is the Import button. Upon selecting this you will go into Import Mode, in which you can enter the name of a catalogue tag that you would like to add to the list.

This could be from a file you downloaded or a custom list that you made, though you can technically add any tag from the games catalogue that you like ('Moniker Friendly Names 1' is a fun one).

It's important to make sure you click the correct button-- the left import button will add the tag to the left side/first name list, and the right button will add the tag to the right side/last name list.

If you are having trouble adding your tag, make sure that the catalogue file is in the directory and check that you have entered the name of the TAG, not the file itself. You can find the tag names by opening the .catalogue file and looking for the name in quotes after the word TAG. Check the file carefully, as one catalogue file can contain multiple tags!

Please keep in mind when making your own name lists or downloading others that two of the same TAG names cannot exist, even in different files, or the game will not load! If you have downloaded or are editing an old 'random_name_bits.catalogue' file, you will need to rename both the file and the tags inside it to ensure they don't clash with other tags.



Personally I have been using < and > to denote tags that are specifically made with for the left or right side in mind, but ultimately you can add tags you whichever side you want. I would also suggest sticking your name or initials somewhere in the tag name if you plan on releasing it to the public, just to make sure it doesn't clash with anyone else's tag names!

 The second button on each side is the Preview button. Selecting this will take you into Preview Mode for the tag you have selected. This way you can see exactly what sorts of names are available in that tag. You can also enter Preview Mode by right-clicking on a selected tag. You can scroll with the arrow buttons or using the scroll wheel on your mouse (if your game supports it). Clicking the X in either Import or Preview modes will return you to the main menu. You can also use the Backspace key on your keyboard to return from Preview Mode.

On the bottom left side are buttons for two options panels. The first is Inheritance Options which allows you to enable the passing down of name portions from parent to child. You can select for children to inherit their first, last, or a random part from their mother, father, or random parent. Selecting 'nothing' will disable inheritance altogether. You can use this to track creature families in your world, or all sorts of other interesting scenarios!

Please note, however, that manually renaming a creature through the creature profile/history panel will not update the name that it passes down to its children; it will pass down the name it was given. If you really need to rename a creature, I would suggest setting its name back to a blank one and letting the autonamer name it something else, or generate a new Test Name that you like and apply it to the creature (explained later)

The second option is one of my personal favorites: Formatting Options, which allows you to choose whether or not there is a space between first and last names and whether or not you prefer the name parts capitalized or not. Choosing 'unaltered' will use the capitalization format already present in the catalogue files. Clicking the X button or pressing the Backspace key on your keyboard in either settings mode will return you to the main menu. Settings are saved in your currently selected profile along with your active tags.

This opens some fun and ridiculous new possibilities for naming schemes!

The final button on the bottom right is Refresh Test Name. This button will take your current settings into account, including active tags and formatting options, to generate an example name for a Creature! If you get a name you really like, you can apply it to your currently selected creature by clicking the name itself.

Again, when you are happy with all your configurations, you can click the X to save your options and hide the window. The Protective Tub Autonamer will continue to run in the background and assign absurd names to your unnamed creatures. Remember, you can bring the settings window back up at any time by clicking the duck-shaped button above the selected Creature's name in the upper left of your window, or by re-injecting the agent.

I really hope you all get some amusement out of this! It turned out to be a much larger project than I originally intended, but in the process I generated a fairly large amount of reusable code that should help future projects come together a little more easily. If nothing else, it was quite the wild development ride!

Finally, I got permission from Jessica of Discover Albia to convert her Star Wars, Robots, and Underwater PT name lists to the aPT format! You can download the conversions here, and then get a little more practice using the Import function:

After dropping those catalogue files into your Catalogue Folder, you'll be able to import these tags to the left side:

< Star Wars (DA)
< Robots (DA)
< Underwater (DA)

And these tags to the Right Side:

Star Wars (DA) >
Robots (DA) >
Underwater (DA) >

Of course, you can import them to both sides if you want-- nothing's stopping you! Since these tags are saved to a list in the game's journal folder, they'll be saved across worlds, so you should only ever have to import a tag once.

I hope you guys all had a wild and wonderful week. Now go forth and make all sorts of absurd names!

Sunday, November 26, 2017

How to Test CAs

Something like five and a half years ago I wrote up a post called 'CAs And You!' Since then, it's become one of the most visited and linked-to pages on this blog (that isn't an agent release, at least). But it was only a short while ago that I realized that although I had written up all this nice information about CAs, I hadn't really given you an effective way of testing them yourself. Even after releasing the Magic Words Room Edits, which at least provided visual indicators of CA links, there remained no simple way to make sure that your CAs were actually traveling properly.

It was actually Pilla (whom I consider to be one of the most wonderfully fearless developers in recent times) who expressed an interest in the code that I used to display CA values in the original post. The code I actually had was incredibly user un-friendly, so I fleshed it out a little bit. I hope it's something the average person can use now.

The command is simple "CA Tag #" (IE 'CA Tag 6') will create a little black tag under the hand (though you can move it if you wish) that will display the amount of that particular CA within the room. You can find a list of CA numbers on the Creatures Wiki page. I would recommend using this with the debug map turned on (either with the command in Magic Words Room Edits 'dmap' or by simply opening your CAOS command line and typing 'dmap 1') so that you can see the room boundaries. When you don't need the tag anymore, you can click it to remove it, or enter 'CA Tag Clear' to remove all tags.

There's a lot of amazing third-party stuff available these days, but a lot of metarooms, especially older ones, lack the proper links for CAs to properly flow. If you want to make your metarooms as creature-friendly as possible, it's important to make sure creatures can follow CAs to find food! 

Lift shafts tend to be what you want to check. In these images you can see that the more modern Chione (on the left) had properly set up CA links between the lifts, so the protein CA from the food trickles down to where creatures on the other levels can smell it. The much older Terra Reborn (on the right) was developed before the importance of CAs was widely known. As you can see, the protein CA is very high in the room where the food is, but doesn't exist at all in the room below it!

Thankfully, this is a fairly easy fix with the Magic Words Room Edits 'make ca link' command. Now you can see that the smell is travelling properly down the elevator shaft!

If you want your creatures to travel between metarooms, you may wish to also check that your doors between rooms are CA linked up too. 

While this agent should hopefully aid both developers and anyone looking to set up a proper world, it's important to remember that there are several other factors involved in proper creature navigation than just CAs. The foods in the world need to do their part and emit CAs to begin with. Your lifts need to take creatures up when they Push them and down when they Pull them. (If you mix these up as often as I do, it helps if I think of the two 'l's in 'pull' as a making a slide to go down. Sounds totally absurd, but it works) Your doors also need to properly stim for 95/Exit if they connect different metarooms or 96/Enter if they connect areas within the same metaroom. Do doors within the same metaroom sound ridiculous? Actually, there are certain circumstances in which they should be used instead of lifts, as this post by Grendel Man explains.

There sure are a lot of factors to consider in making a room navigable! Of course you could easily use these tags for other purposes, like to monitor the amount of water or nutrient in the soil. Whatever you do with them, I hope you find them useful!

Saturday, November 25, 2017

The Simple Things

I guess I've just been on an updating kick lately. This is something I meant to do a long time ago. Like probably six years ago.

The updated Creature Nametags fix a handful of things. First, the plane isn't so obtrusively high. You can now view your Creature History without a having to scroll to a room where there aren't a million nametags in your way. Secondly, it doesn't put out a bunch of trash debug info anymore, which should make things less annoying if you're a developer who uses the CAOS Debugger. And thirdly, the nametags now attempt to move around each other instead of overlapping.

You can download the updated nametags here, and I'll be amending the original release post shortly too.

Friday, November 24, 2017

Easy Multi-Agent Packaging

I gotta say, I'm really glad so many Creatures players are embracing Discord as a means to connect. Discord brings back all the fond memories of old-fashioned IRC channels like JRchat and Sine, but with tons of modern features like easy embedding of images and files into messages, not to mention all the neat bots that are out there.

I was lurking around in the Caos Coding Cave server when Pilla mentioned a wish for Monk/CAOS2PRAY to handle the PRAYing of multiple agents into a single file. I remembered that RProgrammer was extremely helpful when I first emailed him years ago about making Jagent compatible with Garden Box agents, so I figured it wouldn't hurt to see if there was something he could do about it.

As it turned out, although bringing the ancient source of Jagent out of the dusty closet for an update would be a bit too much of a project, he was generously willing to throw together a tool for us to quickly merge agents together. To quote RP: "I'm calling it Monastery because it's lots of PRAYing together don't judge me."

In the interest of throwing this tool together quickly, it reuses Monk's original backsprite (designed by Embri) because that was on-hand, but remember that this isn't Monk at all! Instead of turning cosfiles into agents (and vice versa), it simply turns multiple agents into a single agent with nothing more than a click and a drag:

The name of the new 'bundled' agent is based on the filename of the agent you happen to click on when you start dragging your selection, but you can of course rename it to something more appropriate once it's generated!

You can download Monastery here and then share and rehost it as much as you like! RProgrammer has also mentioned that if anyone wishes to design an original backsprite for Monastery, he would be happy to replace the Monk sprite with the more appropriate image.

Thanks so much RP! And happy agenting!