This website will not be updated until Nicolas Maduro is captured or killed. Hasta el final.
Author Archives: xangis
Across Kiloparsecs Released!
I just released Across Kiloparsecs, a short science fiction visual novel, on Steam.
It focuses on the death of a close friend under mysterious circumstances. Was it just an accident, or are there hidden forces at work?
It has a soundtrack of ambient electronic music written by Bloodless Mushroom (me) and is my first visual novel. Enjoy. 🙂
Rain Without End by Bloodless Mushroom
Back in 2018-2020 I published a few guitar-and-bass songs as Rain Without End. Well, I want to have fewer things to manage, so I folded the REW stuff into my main Bloodless Mushroom project and re-released the the music that people liked as an the “Rain Without End” EP by Bloodless Mushroom today.
Listen on your favorite platform here:
Why You Shouldn’t Use Google’s Programmable Search Engine
Google’s Programmable Search Engine, formerly known as the Custom Search Engine (or CSE), is a simple solution to integrate basic site search into a website. In just a few clicks, you can add an easy search box that more-or-less works for site-wide search.
The search box looks like this, complete with Google branding:
In addition, you can integrate this search with AdSense so that you get some ad revenue when someone clicks on an ad or sponsored link in the search results. It’s not much, only a tiny fraction of what you might get from other ads on your site, but it’s something.
You don’t have any control over how pages rank in search results.
Here’s an example of what the search results looked like for one of my sites:
If you don’t really care about the user experience or look and feel of your site and want to give away all of the valuable information that search data can tell you, then you’re done.
If, however, you care about the user experience for your site and want to make it better over time, you’re better off finding a creating a different solution.
If you’re using a framework or CMS like WordPress, there are plenty of built-in and plugin solutions that you can use that will let you see what people actually searched for.
Let’s compare two pieces of data.
First, here is the google Programmable Search report for my website soundprogramming.net:
Note that there is not a lot of useful information here. Although you can see the text of queries that people made more than 10 times, that doesn’t tend to be a lot of information. You lose ALL unique search queries, uncommon variations, and are left with almost nothing that you can use to improve your site content or user experience. This is all I get from more than 30,000 queries over more than a decade!
Second, here’s an example of what I saw in the first 24 hours after switching to my own site search:
In my case, I coded something from scratch, but you probably don’t have to. Like I said, there will be options and plugins for whatever you’re using.
Although some of these searches are from me doing testing, I already have some useful information. For example, I had some information on the “triton” synthesizer, but nothing about the “triton extreme”. This was a clue that I should add that to my site (which I did). I would never have realized that I had left that out if I didn’t know what people were looking for. Even better, because I built this custom, I can see what the top search result was for each query. This tells me whether people are getting what they want with a quick glance.
The value of this information is FAR more than the paltry few pennies that you’d get from Google’s custom search, and those pennies come at a cost — directing people away from your site.
In addition, I now have full control of how pages rank on my site. Because I know my site better than Google and have more context about my particular niche, I can provide more relevant prioritization of results.
Hosting your own search is more work overall (although maybe just a few minutes), and you may need to do a bit to filter out bot and crawler traffic, but this is valuable information worth having access to. You shouldn’t just give it away.
Dragon Dropper 2023 Year-End Numbers
I started building games in April 2023. It’s been an interesting ride so far, and I’ve learned a lot from just under 8 full months of full-time work. Starting from zero, here’s what I accomplished in 2023:
- 2 games released on Steam.
- 1300 total wishlists and 150 follows.
- 80 sales totalling $700 before Steam fees.
- Two released game soundtracks.
- Two small Kickstarter campaigns funded.
- Two released demos for games launching in 2024.
It’s less than I’d hoped for and more than I’d feared.
It will be interesting comparing these numbers at the end of 2024, which will be my first full year as a solo indie game developer barring any unexpected life changes.
Goodnight MusicSrch
I’ve had MusicSrch for about seven years now.
Although it was an interesting curiosity, I never really figured out what to do with it, and it never managed to have more than a few dozen visits per month.
It was super helpful when writing music reviews because I could just dig up all the streaming links for a band with a quick search.
About a year ago I added a sort of “directory browse” feature, where it would save the data for a band, and keep track of some historical numbers, and let you browse by genre. That was kind of interesting, but not really useful, especially given the plethora of music sites out there in the world.
If I haven’t figured out what to do with the site in seven years, seven more won’t help.
So, goodnight, MusicSrch.
If you’d like to see the historical site, it’s been saved on the Wayback Machine over the years:
A New Save System – Easy Save To The Rescue
With Into The Inferno development, I reached the point where it was time to get a better save-game system than the existing hacked-together-in-an-hour XML file. It had been on my to-do list for a while as part of evolving past the “you get one save slot, and that’s it” stage.
I have a ton of experience with C#, so throwing something in an XML file is second nature. That’s not necessarily a good or bad thing, but some of the legacy bits are strongly disrecommended by Microsoft at this point (BinaryFormatter for example).
I decided to “do what everyone else does” and get a copy of Easy Save from the Unity Asset Store. It’s immensely popular and highly recommended and it seemed like it’d be the shortest time-to-implement of the available options.
Fast-forward 8 hours later. I have a working save system with three save slots and it’s better in every way than the previous system. I was able to re-use a lot of my existing data code, rewrote some of it to be cleaner, and have “summaries” that are saved as part of the game saves that say where and who the party was at the time of save, and the interface changes necessary to support all of this.
Before:
As you can see, there’s just “Load Game” but you have no idea what you’re loading. Similarly, saving the game is just “Save Game” with nothing beyond that.
After implementing Easy Save, this is what I have:
The first screenshot shows what comes up after you click “Load Game” on the menu. The summary text is localized in realtime, so in Spanish you’ll see that Archie is a “nivel 1 guerrero” even if you saved the game in English.
The second screenshot is saving the game from the inn. Saves at this point are an intentionally-limited resource (for better or worse), but at least now you have more control over them, and it’s easy to customize the number of slots that there are.
In the future I’d like to add Steam cloud save synchronization, but I have no idea how tough that will be. In any case, Easy Save made what I thought was a 40-hour task into a single day project, testing and UI changes included, and I definitely recommend it.
Into The Inferno Demo Now Available on Steam!
I’ve posted a demo version of Into The Inferno on Steam. It includes roughly half of the game — the main town, the three wilderness areas, the orc village, goblin village, gnoll village, and the first of eight dungeon levels.
There’s still a lot more work to do between now and the October launch, but it’s mostly cosmetic and translation work and the gameplay itself isn’t going to change much.
If you’d like to offer suggestions or feedback, you can hit the F12 key from within the demo to send comments.
Crossing The Sands Is Now Available To Wishlist on Steam
The sequel to Into The Inferno, Crossing the sands, is now available to wishlist on Steam.
It’s scheduled for release in spring of next year. That’s some distance from today, but I wanted to be sure that people who like Into The Inferno when it releases have the option of keeping their eye on the sequel.
Why Thieves Are So Useful in Into The Inferno
I made a video demonstrating some thief abilities in Into The Inferno.
Today I want to share with you why thieves and classes with thief skills are so special.
You can absolutely win the game without a thief.
But it will be much more expensive.
Number one is the item identification ability, which you can use to identify the random drops you get from killing monsters. It’s based on your intelligence score with a 20 Intelligence having about an 80% chance of success, and failing to identify an item will give your character a headache, which will give a -5 Intelligence penalty. These penalties stack, and they wear off after a while. It’s harder for non-pure-thief classes like mercenary and trickster, think 25% harder or so, but they can still do it.
It was designed so that you’ll probably have to fight a couple battles before being able to identify something with a reasonable chance of success again.
You can always pay for identification, or use items without identifying them. But you can’t sell unidentified items, and some items are cursed, and if you equip a cursed item, you can’t remove it without help.
Another thief ability is the ability to hide.
This offers a few benefits.
Hidden characters cannot be attacked in physical combat. They are not immune to spells like fireball, but they can stay hidden and untouched forever, if they keep clicking “hide”.
Hidden characters become visible when they take certain actions like spellcasting, attacking, blocking, or dodging. But they don’t become visible when attempting to flee, so with a hidden character it’s only a matter of time before they can flee the battlefield. Monsters may block the path for a turn or two, but if you’re hidden, you’ll eventually make it out unscathed.
Being hidden also gives advantages when attacking, namely the notorious “backstab” ability, that does double damage, or in the case of pure thieves, double damage plus a small level-based bonus on top of that.
Thieves are difficult to do well, because a successful thief requires high agility, dexterity, and intelligence to perform well. You might have to roll a lot of dice to get a good thief, but once you have one, they will earn their keep.
Of course, the trickster and mercenary classes have thief skills, but at a slightly lower level of ability. The mercenary trades some of this ability to gain better fighting abilities similar to a warrior, and the trickster trades some of this ability to gain wizard spellcasting abilities.
Into The Inferno Kickstarter
I’m running a small Kickstarter to help put a final coat of polish on Into The Inferno and get it ready for release.
Check it out, this might be something you want to play.
Beast Dungeon Released!
Beast Dungeon is a roguelike RPG that I’ve been working on.
As of today it’s live for sale on Steam. This is my first Steam release, and it feels good to get something finished and out into the world.
Log 20: Into The Inferno Gameplay Demo July 2023
Here’s an updated first-level gameplay demo for Into The Inferno.
This first-person dungeon crawler RPG is coming along nicely, and is on track for a Fall 2023 release.
Beast Dungeon Gameplay Demo
Here’s a demo of what it’s like to play Beast Dungeon.
Beast Dungeon Nearing Completion
In the last week and a half I’ve put a lot of work into Beast Dungeon.
What’s been added? More dungeon variety, more monsters, more items, UI improvements, adding the endgame, adding a high score list, adding tracking of monsters killed, and adding localization in Spanish.
At this point, it just needs a bit more translation and few audio tracks and it’s done. I anticipate it being completed within the next week. Wishlist it on Steam, it’s releasing soon!
Log 19: Beast Dungeon Roguelike RPG
Here’s a video about the roguelike RPG that I started while waiting for Into The Inferno to go through the Steam approval process.
The demo is available for free download at https://dragondropper.itch.io/beast-dungeon if you’d like to give it a try.
Log 18: Into The Inferno Steam Listing
I went through the process to add the Into The Inferno RPG to Steam. Here are my thoughts on it.
You can view and/or wishlist it here: https://store.steampowered.com/app/2462840/Into_The_Inferno/
New Roguelike RPG – Beast Dungeon
I wrote a classic-style roguelike RPG called Beast Dungeon.
It’s available for download on Itch.io:
https://dragondropper.itch.io/beast-dungeon
I plan to continue working on it and release a finished version in the next month or two.
YouTube is a Risky Platform
If you’re building your audience or business primarily on YouTube you should probably think again, or at least have a backup plan.
Google can and will destroy all of your work at a whim, or with a bad bot decision, and there’s nothing you can do about it. You have no recourse, and there is no “manager” you can talk to.
In my case, I had been posting logs of my journey starting a game development studio. It started with a few videos detailing my goals and my process of learning the Unity game development framework, then with demos of the process of building my first-person dungeon crawler game Into The Inferno. It was totally normal stuff, just like hundreds of other channels are doing or have done. This approach is a time-tested way of telling your story, building an engaged audience, connecting with the world, and having more success than you would have without telling your story. This is the sort of thing YouTube was designed for in the first place. Or so I thought.
Just shy of two weeks ago I woke up to an email saying that YouTube had deleted my channel for “spam, deceptive practices, or scams”.
This was a pretty big surprise. There was no warning, no strikes, and no indication what, exactly the problem was. They didn’t indicate that there was something wrong with a particular video, so I really had no idea why my channel was deleted. There was nothing deceptive. If anything, I might have been too honest, bordering on oversharing. There was certainly no scam. I wasn’t trying to get people to do anything, or asking for money, or selling anything (yet). My game wasn’t even ready to wishlist on Steam.
I only have two guesses, and they’re vague ones. Maybe they decided that posting mostly videos on the same topic (my video game development) was spam, even though all the videos had different focus and were in different stages of the game’s progress. Or, since my account was nuked right after I uploaded a video describing how I had implemented in-game shops where you could buy equipment, recharge your mana, or heal your characters with the gold you get from killing monsters, maybe that was it, MAYBE they thought I was talking about some sort of real-money transaction thing. That’d be a stretch – since shops are just a standard mechanic that thousands of games have, and I wouldn’t ever consider adding real-money transactions to a game because that’s dirty, disgusting, slimy, and wrong. People who put real-money transactions in games should be ashamed. Look for the “Log 15” video on this blog if want to review that one and venture a guess.
Assuming it was just an algorithm glitch — after all, Google is not very good at algorithms, and they often make very dumb assumptions (I speak from experience since I’ve had quite a few websites over the last 20 or so years) — I sent in an appeal. The auto-responder said that they’d reply within 2 days.
Now, 12 days later, I have received a response.
“Hi Dragon Dropper,
We have reviewed your appeal for the following:
Channel: Dragon Dropper
We reviewed your channel carefully, and have confirmed that it violates our spam, deceptive practices and scams policy. We know this is probably disappointing news, but it’s our job to make sure that YouTube is a safe place for all.
How this affects your channel
We won’t be putting your channel back up on YouTube.
Thanks,
The YouTube team”
Again, still no indication of what the problem is. Whatever it was, I was definitely making YouTube an unsafe place.
They did NOT delete any of my other YouTube channels associated with the same email, some of which are more than 10 years old (my band channel, my vintage synthesizer demo channel, and some various other music channels). They certainly did delete any motivation I have to maintain or grow any of those channels.
I’ve switched all of my video hosting to Vimeo and re-uploaded all of my videos. They’re visible here on this blog at xangis.com or you can see my channel on Vimeo here. The first 15 log entries were hosted on YouTube. If you want to watch them and figure out why they might have insta-banned me, be my guess. I’m out of ideas.
I’ll miss those ~10 subscribers, and the extra organic visitors that YouTube brings, but at least with Vimeo I won’t have to worry about some random bot arbitrarily declaring that I am a scam because you can give in-game gold to a healer to have your injuries repaired in one of my games.
Take caution, a random deletion could happen to anyone, including you, and there will be nothing you can do about it.
Log 17: New Monster Graphics for Into The Inferno
I’ve replaced the placeholder monster graphics in Into The Inferno with updated art, in the style that I’ve been looking for.
Thank you to John Baker for helping me to get this far (with art that he created for a previous game of mine that I’ve been using as a placeholder until now).