All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
Lots of live Commerce 2 sites were actively and successfully selling products to people long before the official launch on September 20th. We ourselves were among the early adopters taking advantage of the new functionality available in Drupal 8. But as with any new-and-not-fully-tested technology, there were the inevitable growing pains: missing functionality, bugs, etc. Fortunately, most of those issues are now in the past.
A few core modules that were buggy but are solid now:
- Promotions and coupons
- Payments (supports 30+ payment gateways!)
As an added bonus, the Commerce Shipping module that Acro Media helped develop received a full stable release alongside Commerce 2 (which is especially cool when you remember that Commerce 1 launched with no shipping functionality at all). Commerce Shipping features a much improved API and includes support for UPS and FedEx, with USPS to follow shortly.
Acro Media and other community members have been working on a few other associated modules to go along with the Commerce 2 launch. Here are the details:
- Point of Sale is going to alpha release
- Commerce Migrate is going to have a new release (likely not a stable release, however, as there is still work to be done migrating edge cases)
Ubercart to Commerce 2 migrate is mostly done and includes all core stuff like products, customers, orders, taxes, etc.
Commerce 1 to Commerce 2 migrate is a little rough but is still very usable; an improved version should be ready in October sometime
A cool new Composer based Commerce Kickstart installer is also available! It represents a great improvement over the original Commerce Kickstart and should be easier for everyone to use. You can find that here.
TLDR: The fully supported, stable release of Commerce 2 is live and has lots of cool stuff with it. If you were hesitant to use it to build sites before, you most certainly can go ahead now.
You most likely created image styles with Drupal's "Scale and crop" image effect. This style allows you to display large images on a smaller scale and save precious screen space.
There is one issue with such styling though. Often the most interesting point of the image gets chopped off. The "Focal Point" contrib module helps avoid this issue.
In this tutorial, you will learn to use this module to select the most important portion of the image you would like to show to your readers.
Webform Analysis allows you to find the "Analysis" tab present on the "webfom" module on Drupal 7.
It allows to obtain first statistics on the results of form submissions.
File Base64 formatter is a simple module that provides a way to encode files
as Base64. It works with file fields only.
Testing a lot of pages after small changes in CSS files - again and again... Looks familiar? Gemini gets you rid of this waste of time. We will show you how to write Gemini tests and extend this tool.
An Endzeitgeist.com review
This installment of Everyman Minis clocks in at 9 pages, 1 page front cover, 1 page editorial, 4 pages of SRD, leaving us with 3 pages of content, so let’s take a look!
We begin with a low-cost, cool class of magic item: Costumed confections are magical sweets that can be consumed to create a regular disguise, which does not modify your clothes (minor nitpick: spell reference not italicized); the second type transforms into a monstrous humanoid or humanoid, as per disguise self, affecting all senses (and no disbelieve). Finally youthful confections transforms the target into a younger version – all effects are polymorph effects and last for 4 hours. Cool!
The main meat of the pdf, though, would be the Kabochahito, the CR 7 pumpkin kami. And no, this is NOT another evil scarecrow/pumpkin monster – in fact, the kami is NG! It is incorporeal and conjure forth confections. Oh, and it comes with a TON of unique abilities: It can swallow beings and transform them into other shapes – the behavior of creatures is then made innocuous to onlookers. This can also be combined with a geas/quest – failure may see the target trapped in that form. Unlike most kami, kabochahitos can switch wards pretty quickly and assume pumpkin/plant-form with stat-modifications included. They can also generate massive growth spurts among plants. Big plus: Unlike many monsters, the kami is properly contextualized within the gaming world, with a lot of inspiring prose.
Editing and formatting are very good, I noticed no serious hiccups. Layout adheres to the nice two-column standard of the series. The nice pieces of art are in full-color. The pdf does not come with bookmarks, but needs none at this length.
Luis Loza’s pumpkin kami are amazing. They are creative, benevolent and fun; they can make for genius Halloween-themed adventures and are a welcome deviation from the well-tread path of evil pumpkin monsters. Interesting, creative – no complaints. My final verdict will clock in at 5 stars + seal of approval.
After having read several great articles on Mike Shea’s blog, I picked up his book The Lazy Dungeon Master. It’s a fast read, and worth the $5.99 asking price, (It’s around 60 pages and mostly about common things DMs spend a lot of time prepping that they don’t need to and how to streamline them, supported by a pretty cool survey he collected about DMing.) In his book, Mike talks about the minimal level of prep required for locations and gives (among others) this example location:
The Saltmines: Former center for the town’s industry, now closed down when they found a dark power buried deep within. Leads from Yellowtop to Ashland Fortress.
What the book doesn’t discuss, and what I was curious about, is how exactly, using Mike’s “lazy” method, one goes about mapping and populating a location like this that has the potential to be the proverbial “twisty little passages, all alike“. So, I emailed Mike and asked how he handled that type of location. He very quickly got back to me and I asked for his permission to share here. Here’s an excerpt: (Link to his product is mine, not his):
On the Lazy Dungeon Master and maps.
If the characters are going to explore a dungeon-type setting, I’ll usually try to steal and reskin a map to fit the situation. Either that or I’ll sketch a very rough stick-figure map that shows how locations are connected.
Since writing the Lazy Game Master I focused a fair bit of time on the idea of building “fantastic locations”. These are the interesting places that characters discover in their journeys and can be connected by various caves, tunnels, or passages. To me, the overall dungeon isn’t as interesting as the individual interesting locations in that dungeon so I tend not to let them get too complicated.
… There might be five fantastic locations in the cove interconnected by natural water-carved caves. Each location will have a name and three interesting traits (or “aspects”) that the characters can investigate or use if there’s a battle. Here are some examples:
- The Tentacle Pillars: Huge stone tentacles that appear to pierce out of the ground; sinkhole that leads into the tunnels below; old octopus statue sitting on a pedestal that appears very old.
- The Weeping Caverns: Stone caverns eaten away by streams of saltwater; carvings of strange symbols on the walls; illuminated shells of phosphorescent mollusks.
- The Nursery: Submerged oily pool filled with psychic baby octopuses; large channeling crystal piercing down from the ceiling; chained screaming madman on the wall.
Those three come to mind but its early and I can’t think of three more at the moment. Hopefully you get the idea =)
If you poke around on Sly Flourish for more discussions of Fantastic Locations you’ll find more about it including the book of 20 locations I wrote around these ideas.
Hope that answers your questions. …
The two approaches that Mike offers are good ones: swipe a map from elsewhere, or reduce a big complicated complex to a five room dungeon with “you travel east for a while, through a maze of tunnels until you come across . . . “. I don’t have much to say about the first one, except to point everyone to my favorite site for random dungeon generators. But the second suggestion about reducing a big complex to a five room dungeon with handwavey bits between rooms has made me think quite a bit.
You see, I’m not sure I’m quite ready to give up my twisty mazes full of empty rooms, red herrings, and minor treasures just yet.
Maybe it’s nostalgia for the afternoons of lonely fun (which I have just amusingly learned is now called a game’s “solitaire component“) and gold box CRPGS, maybe it’s just me perpetuating the same skinner boxes of my youth where poking into nooks and crannies of maze like passages eventually resulted in a handful of GP until they could be traded in for a new breastplate, but to me half the fun of RPGs is skulking down damp passageways, ransacking moldering garbage heaps and searching areas where the map is weird in hopes of finding secret doors.
Maybe the answer lies somewhere in between the two. In one of his “MegaDungeon Monday” articles, The Angry GM discusses the “encounter space” which by his definition is a piece of the dungeon in which all inhabitants work as a unit. So if you have the stacks of a great library with study cubbies and there’s a wight in the stacks and skeletons in the cubbies, but engaging with the wight will alert the skeletons and they will open the cubby doors and surround the PCs, that’s an encounter area.
This middle ground definition allows for a bit of both worlds. You can create just a handful of encounter areas, each with something interesting in it, but you still get the nooks and crannies to explore, because each encounter area (most anyway) is comprised of a handful of rooms, some of which are interesting, some of which are not, some of which hold secrets and treasure, some of which don’t etc . . .
But, how much exploring and poking about in otherwise uninteresting space to do is really a secondary concern. Because the trivial answer is that you should do only as much of it as is interesting. Uninteresting exploration of uninteresting space is a waste of time and should be avoided. I have indeed played in games where no one did much exploring and if there was space that wasn’t an active encounter, paused only long enough to say: “I loot the room.”, toss off a search check, and move on. It may just be selective memory, but the reason for this was that exploration in these games was boring. Rooms were just a collection of squares, sometimes from a battle map, tiles, or a software program, description was minimal and there was the feeling that if a room contained a statue or a desk it was because it was filler, not because it may have been something interesting to interact with.
So the bigger question is, how do you make exploration interesting, even of areas that aren’t inherently interesting themselves? While I don’t claim to be an expert, there are a few tips I can give:
- Grid maps are counter productive: Grid maps are great for combat, but shitty for exploration gameplay, which is good because it implies that there’s not a lot of reason to painstakingly map areas that you want players to explore, only combat encounters (and if one turns into the other that a very simple map with walls and features of interest is sufficient). Players will naturally imagine areas you describe verbally, in ways that they will not when presented with pictures, and it’s very easy to ad lib and add as much detail as you can improvise with verbal descriptions, which is not the case with drawings.
- Pick a few adjectives: Part of the draw of exploration is immersion, which is enhanced by good description (in fact, a quick search of the stew shows we’ve written articles about using sensory cues to describe things no less than a half dozen times). In this case, I suggest giving a few seconds of thought to the traits of an area (a dungeon as a whole is fine, but you can break it down further if it warrants) and make a back of the envelope (3×5 card) list. Refer to this list often and weave a few of the traits into every description. If that library above is “crumbling” you can describe the collapsing shelves, the piles of tumbled books that fall apart at a touch, the dust in the air. If instead it’s “flooded” you can describe the mold crawling up the shelves, the ankle deep black water with floating piles of mush that may once have been books, and the warped damp pages.
- There have to be successes,especially early ones: This goes back to that skinner box I mentioned earlier. Even if you explicitly tell your players that searching and exploring will net secrets and treasure, if they meet with no success while doing so, they’ll stop. On the other hand, even a few small successes will have them searching under the cushions of every moldy couch they find. Of course these finds have to be of value. Finding a handful of coins is (should be) of value to low level characters, but the same isn’t true for high level ones. As such, it’s fine to have these caches be money, but it’s equally useful to hide secret paths, maps, clues and items of strange origin, as well as items which do little except establish flavor, all of which will retain value through characters’ careers. Consider having a small table of incidental loot that can be found in each large area so this is easy to do off the cuff.
So I put it to all of you, because I’m not sure what the end conclusion is. Is poking into nooks and crannies, riffling through the pockets of ancient moldering coats, and sifting through dungeon trash heaps a valid and fun play style or am I biased and it’s more fun to hop between big set pieces? If it is a compelling play style, what are your best tricks to keep it fun and interesting? Like I said above, I’m not the expert on this, so I’d love to hear everyone’s thoughts and techniques.
Commerce Paycom integration
Still under active development, description will be updated soon
So obviously, the pendulum of progress stopped swinging on my game. As much as I tried to prevent it, pressing obligations just wouldn’t take a back seat (nor would the burglars who, a few weeks ago, stole 90% of my wardrobe and who last week stole my monitor). So after a string of hectic weekends and even crazier weeks, this weekend has been pretty wide open for doing whatever I want to do. And not a moment too soon!
So after doing all the other things I try to do with my weekends, I finally loaded up the ol’ Inform 7 IDE and started working on my game. To get me back in the swing of things, so to speak, I started reading through what I’d already written. It was an interesting experience.
Strangely, what impressed me most was stuff I had done that I have since forgotten I learned how to do. Silly little things, like actions I defined that actually worked, that had I tried to write them today, probably would have had me stumped for a while. Go me! Except, erm, I seem to have forgotten more than I’ve retained.
I also realized the importance of commenting my own code. For instance, there’s this snippet:
A thing can be attached or unattached. A thing is usually unattached. A thing that is a part of something is attached.
The problem is, I have no idea why I put it in there – it doesn’t seem relevant to anything already in the game, so I can only imagine that I had some stroke of genius that told me I was going to need it “shortly” (I probably figured I’d be writing the code the next night). So now, there’s that lonely little line, just waiting for its purpose. I’m sure I’ll come across it some day; for now, I’ve stuck in a comment to remind myself to stick in a comment when I do remember.
It reminds me of all the writing I did when I was younger. I was just bursting with creativity when I was a kid, constantly writing the first few pages of what I was sure was going to be a killer story. And then I’d misplace the notebook or get sidetracked by something else, or do any of the million other things that my easily distracted self tends to do. Some time later, I’d come across the notebook, read the stuff I’d written and think, “Wow, this is great stuff! Now… where was I going with it?” And I’d never remember, or I’d remember and re-forget. Either way, in my mother’s attic there are piles and piles of notebooks with half-formed thoughts that teem with potential never to be fulfilled.
This situation – that of wanting to resume progress but fumbling to pick up the threads of where I left off – has me scouring my memory for a term I read in Jack London’s Call of the Wild. There was a part in the book where Buck’s owner (it’s late, his name has escaped me) has been challenged to some sort of competition to see if Buck can get the sled moving from a dead stop. I seem to remember that the runners were frozen to the ground. I thought the term was “fast break” or “break fast” or something to that effect, but diligent (does 45 seconds count as diligent?) searching has not confirmed this or provided me with the right term. Anyway, that’s how it feels tonight – I feel as if I’m trying to heave a frozen sled free from its moorings.
The upside is, I am still pleased with what I have so far. That’s good because it means I’m very likely to continue, rather than scrap it altogether and pretend that I’ll come up with a new idea tomorrow. In the meantime, I’ll be looking for some SnoMelt and a trusty St. Bernard to get things moving again.
So I didn’t get as much coding done over the weekend as I had hoped, mainly because the telephone company *finally* installed my DSL line, which meant I was up til 5:30 Saturday am catching up on the new episodes of Lost. That, in turn, meant that most of the weekend was spent wishing I hadn’t stayed up until such an ungodly hour, and concentration just wasn’t in the cards.
However, I did get some stuff done, which is good. Even the tiniest bit of progress counts as momentum, which is crucial for me. If the pendulum stops swinging, it will be very hard for me to get it moving again.
So the other day, as I was going over the blog (which really is as much a tool for me as it is a way for me to share my thoughts with others), I realized I had overlooked a very basic thing when coding the whole “automatically return the frog to the fuschia” bit…
As the code stood, if the player managed to carry the frog to another room before searching it, the frog would get magically returned to the fuschia. This was fairly simple to resolve, in the end – I just coded it so that the game moves (and reports) the frog back to fuschia before leaving the room. I also decided to add in a different way of getting the key out of the frog – in essence, rewarding different approaches to the same problem with success.
Which brings me to the main thrust of today’s post. I have such exacting standards for the games I play. I love thorough implementation. My favorite games are those that build me a cool gameworld and let me tinker and explore, poking at the shadows and pulling on the edges to see how well it holds up. A sign of a good game is one that I will reopen not to actually play through again, but to just wander around the world, taking in my surroundings. I’ve long lamented the fact that relatively few games make this a rewarding experience – even in the best games, even slight digging tends to turn up empty, unimplemented spots.
What I am coming to appreciate is just how much work is involved in the kind of implementation I look for. Every time I pass through a room’s description, or add in scenery objects, I realize just how easy it is to find things to drill down into. Where there’s a hanging plant, there’s a pot, dirt, leaves, stems, wires to hang from, hooks to hang on, etc. Obviously, unless I had all the time in the world, I couldn’t implement each of these separately, so I take what I believe to be the accepted approach and have all of the refer to the same thing. Which, in my opinion, is fine. I don’t mind if a game has the same responses for the stems as it does for the plant as a whole, as long as it has some sort of relevant response. Even so, this takes a lot of work. It might be the obsessive part of me, but I can’t help but think “What else would a person think of when looking at a hanging plant?”
Or, as I’ve come to think of it: WWBTD?What Would Beta Testers Do?
I’ve taken to looking at a “fully” implemented room and wondering what a player might reasonably (and in some cases unreasonably) be expected to do. This is a bit of a challenging process for me – I already know how my mind works, so trying to step outside of my viewpoint and see it from a blind eye is hard. I should stop for a second to note that I fully intend to have my game beta tested once it reaches that point, but the fewer obvious things there are for testers to trip over, the more time and energy they’ll have for really digging in and trying to expose the weaknesses I can’t think of.
I’ve found one resource that is both entertaining and highly informative to me: ClubFloyd transcripts. ClubFloyd, for the uninitiated (a group among which I count myself, of course) is a sort of cooperative gaming experience — if anyone who knows better reads this and cares to correct what may well be a horrible description, by all means!– where people get together on the IFMud and play through an IF title. The transcripts are both amusing and revealing. I recently read the Lost Pig transcript and it was quite interesting. The things people will attempt to do are both astonishing and eye-opening. In the case of Lost Pig (which, fortunately, I had already played before reading the transcript), what was even more amazing was the depth of the game itself. I mean, people were doing some crazy ass stuff – eating the pole, lighting pants on fire, and so on. And it *worked*. Not only did it work, it was reversible. You obviously need the pole, so there’s a way to get it back if, in a fit of orc-like passion, you decide to shove it in down Grunk’s throat.
Anyway, my point is, the transcripts gave me a unique perspective on the things people will try, whether in an effort to actually play the game, to amuse themselves, or to amuse others. Definitely good stuff to keep in mind when trying to decide, say, the different ways people will try to interact with my little porcelain frog.Other Stuff I Accomplished
So I coded in an alternate way to deal with the frog that didn’t conflict with the “standard” approach. I also implemented a few more scenery objects. Over the course of the next few days, I’m going to try to at least finish the descriptions of the remaining rooms so that I can wander around a bit and start really getting to the meat of it all. I also want to work on revising the intro text a bit. In an effort to avoid the infodumps that I so passionately hate, I think I went a little too far and came away with something a bit too terse and uninformative. But that’s the really fun part of all of this – writing and re-writing, polishing the prose and making it all come together.
Whattaya know. Midnight again. I think I’m picking up on a trend here.
Grrr… I’ve been so bogged down in work and client emergencies that progress on the game is at a temporary (no, really! Only temporary) standstill. I’ve managed to flesh out a few more room and scenery descriptions, but have not accomplished anything noteworthy in a few days. Hopefully after this week most of the fires on the work front will be extinguished, and I’ll have time to dive into the game this weekend.
(She says to no one, since there’s been one hit on this blog since… it started.)