Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Stephan Sokolow

A member registered Jun 14, 2015 · View creator page →

Recent community posts

Sorry to be the wet blanket, but, given how Canada’s Anti-Spam Law treats bundling consent for promotional mailings, this message would probably be illegal to send me if you were in Canada.

Either way, you’ve earned an unsubscribe. (I really need to check if has a way to opt out of this default “let developers mail people who bought their games” thing.)

(2 edits)

Glad to hear it… and no problem. As a programmer, I’ve done my own research to discover how technically difficult and legally impossible Apple makes it to to do anything involving compiling and codesigning binaries for macOS without actually using a mac to do it.

(And, likewise, I effectively also own no mac… “effectively” because I’m a retro-hobbyist and the Power Mac G4 running Mac OS 9.2 (the last interesting Mac OS) in my hobby corner is technically a mac and capable of running some versions of OSX… just far too old to be useful for this.)

(2 edits)

Given that your in-browser demo and your reply about having changed what the demo contains make it clear you’re not restricted by “This is a custom engine written directly against Win32 APIs”, would you please consider offering a non-Windows option on

If you’re not willing to provide native Linux and macOS builds, is there any chance you’d at least be willing to talk to about offering a non-demo browser build in a zip file as an extra?

I can report that the demo plays perfectly well in Ungoogled Chromium on Linux.

Yeah. It also inspired Rinoa Poison to do her own similar goose-enhanced scam-baiting video which is also a must-watch, where she tells the scammers she has a Roomba mailbox and rambles about having a medieval catapult she uses to launch watermelons out the window when they ask if she has any smart devices.

(1 edit)

You’re conflating matchmaking and networking. Matchmaking is what saves you from having to type your friend’s IP address into your game to connect to them and helps to reduce the number of situations where you need to manually forward ports. Steam provides matchmaking, not the game server itself.

I don’t know about now, but, historically, any game with a “host game” button had built in support for acting as the game server, because a game server is just a copy of the game that the other players connect to, which acts as the central source of truth when the different PCs disagree on something.

Why wouldn’t it work? Online gaming only requires that a game be able to open network connections to other games.

Developers were implementing network play entirely on their own long before services like Steam existed.

For anyone else who winds up seeing this, it’s not .NET that needs Wine. You can use .NET to write Linux programs.

The problem is that the techniques for making an oddly-shaped, borderless window (the goose) that can move other windows are very specific to each desktop, and the author only wrote the code to do it on Windows and macOS. (Wine is a translation layer for allowing Windows programs to talk to Linux as if they’re running on Windows.)

I’m surprised that nobody has mentioned that, two years ago, kitboga had a scam-baiting session where he pretended to be an old lady who had a “goose virus” she needed help with and wound up luring two different scammers into a ludicrous competition over who gets to scam “her”.

If you add a formal license to the other one I commented on, would you mind adding one to this too?

Would you mind specifying a formal license?

An “informal license” like “You can use this music pack for both commercial and non-commercial products.” is problematic for a lot of reasons… mostly relating to how different countries take different approaches to deciding whether a permission that wasn’t explicitly stated in legal language has been granted or reserved.

Would you mind putting an official declaration of the license in the description or More Information box?

If it’s CC-BY like your other free stuff, I’d like to add it to my list of libre-licensed assets.

I do wish you’d use the CC0 though. As this review of the CC0 explains, in jurisdictions not descended from the British legal system, saying “public domain” may not have any legal meaning.

The example they study is Germany, where there’s no legal mechanism for putting things into the public domain prematurely (the CC0 has an “if that’s not possible” fallback that provides equivalent permissions as a license) and you can’t pre-emptively give away rights that are written into law later (the CC0 solves that with a legally binding promise to not exercise those rights).

In the future, a good idea is to upload suspicious files that you’re allowed to share to

That will scan it with the 50-60 participating virus scanners (if you get something like 1-6 matches and they report it as a heuristic match, then you can be reasonably sure it’s a false positive) and make it available to the virus scanner companies for use in tuning future versions to be more accurate.

In case it makes it more visible to you than on the GitHub tracker, I’ll say it here. Please add a license.

The way the law works, we’re not legally allowed to do anything but look at the code on GitHub (and only thanks to what you agreed to in GitHub’s Terms of Service) unless you give it a license.

(8 edits)

once its CC0 you are allowed to change the licence any time, but everyone who already got it may upload it under a different license.

That’s not that different from how other general public licenses (eg. CC-BY, CC-BY-SA, MIT, GPL, etc.) work.

Not being able to revoke permission from someone who’s following the rules and them being able to share what they received on the same terms even after you stopped offering those terms is par for the course. Likewise, you can modify something under the CC-BY or MIT licenses to create a new work and license that work under the CC-BY-SA or GPL, because nothing in the CC-BY-SA or GPL contradicts what you’re already bound to comply with by the CC-BY or MIT licenses. That’s what “GPL-compatible” means in software licensing.

Heck, the Debian Free Software Guidelines tests irrevocability as part of what they call the “tentacles of evil test”. (Basically, if a company like Oracle buys the rights to it, can they make life miserable for previous recipients of a license.)

The big difference with a public domain dedication is that, with a general public license, you can change your mind and people will be bound by the terms they received it under while, if you put something into the public domain, and then change your mind, and then sell someone a license, they’re essentially only paying you to actually get access to the files and they’re still in the public domain. (Unless you add new stuff that wasn’t released into the public domain, in which case those new/modified files aren’t in the public domain as long as copyright law considers the additions to be big enough and transformative enough to qualify for copyright protection.)

With a license, if you change the license before anyone downloads it, that’s it. With a public domain dedication, if someone saves proof that it was ever CC0’d, it’s still CC0’d. That’s what it means to waive your rights.

A general public license cares about having a valid chain of “I received the rights and then gave them to…” while a public domain dedication is only concerned with proof that the rightsholder gave up their right to impose restrictions. That’s why the Creative Commons website has warnings when you choose the CC0 form.

If you can demonstrate that what you have is what was put into the public domain, it doesn’t matter how you got it beyond the usual laws about computer hacking and burglary and so on.

(1 edit)

Licensed under CC-0, making it technically Public Domain, allowing you and anyone else to freely copy and use it without restrictions.

It’d be more correct to say “Released into the public domain using the CC0”, because the CC0 isn’t a license. It’s a public domain dedication that falls back to a license and promise not to sue in jurisdictions like Germany where you’re not allowed to prematurely put things into the public domain.

(And boy, is Germany an intestering case. Give this a read for an overview of what the CC0 has to go through to say “Yes, I really do know what I’m doing when I want to waive the protections you’ve written into law for me.”)

Would you mind adding license declarations to your free assets (eg. setting the appropriate field in the More Information box)?

I’m interested in adding them to my Libre Game Assets list if the terms you intended are compatible, but part of being compatible is making sure it’s not an informal license.

No problem and thanks.

I actually already noticed and added them to the list.

(4 edits)

I’m sure we could have a fun debate about license technicalities or rms’s and Kant’s disregard to consequences. Nothing wrong with a small talk. It’s just that I already don’t know what your point is.

My point is that “Open Source” has an agreed-upon definition and companies have a history of trying to language-lawyer and spin-doctor it in bad faith in the past (both directly and through terms like “Shared Source”, “Open Core”, etc.), so odds are that anyone who tries to argue the definition is just going to be assumed to be a bad-faith actor by the community at large.

Also: your anti-feminist non sequitur is not appreciated

I proudly call myself a feminist. My issue is with extremists (feminist or otherwise) ruining that and other terms for the rest of us in their attempts to “voodoo doll” people’s perceptions and affiliations by spin-doctoring the language.

In fact, if you look at it fully generally, it’s the same phenomenon which drives what Steven Pinker dubbed the euphemism treadmill. People keep trying to escape the bad associations of words but, because the “bad thoughts” and “bad intentions” (to borrow George Carlin’s phrasing) remain, the euphemism eventually takes on the same corrupted association as society acclimatizes to using it.

(In a sense, it’s yet another expression of humans looking for simple solutions to complex problems.)

I don’t believe it’s a non-sequitur because, from the beginning, I’ve been talking about terminology and how people see its use.

Likewise, I’ll readily admit that RMS is an extremist, and I think his argument that “Linux” should be called “GNU/Linux” is based on a deceptive and unhelpful definition of what is and isn’t part of an operating system and completely ignores the relationship between humans and syllable counts in English terms.

(Seriously. X11 contributes more to the platform than GNU, but he hand-waves that by declaring that you don’t need a GUI to self-host operating system development with console emacs and GCC (which is a not insignificant part of GNU’s size) counts as part of the OS despite not being installed on most systems unless you need it to compile the nVidia proprietary driver’s “GPL condom” because the definition of an OS is, according to him, everything you need to self-host its development and not one jot more. …and if you want to talk about it from a binary compatibility standpoint, then it should still be glibc/Linux or X11/Linux, not GNU/Linux.)

(10 edits)

They created the term and, from what I remember, it would be a registered trademark if not for a whim of the trademark office deciding it was just a little too generic for them to feel comfortable granting a trademark registration for.

(“Creative Commons” wasn’t too generic.)

I believe it should be a standard term and, even if you disagree, a great deal of the term’s value comes from being basically identical to the definition of Free Software as defined by the FSF’s Four Software Freedoms and Debian Linux’s Debian Free Software Guidelines, except couched in more apolitical language, less confusable with “free as in price”, that companies can feel comfortable with.

Freedom 0 of the Four Software Freedoms is “The freedom to run the program for any purpose.” and point 6 of the DFSG is “No discrimination against fields of endeavor, like commercial use.”

Aside from that, culturally, it’s de facto standardized to be what’s laid out in the OSD and if you try to undermine its meaning like that, you’re just setting yourself up to be seen as a bad-faith actor who’s trying to cheat the system… similar to Microsoft’s “Shared Source” initiative.

(Or like the extreme feminists who get upset when their spin-doctoring of “feminism” backfires and people decide “I guess I was mistaken about being a feminist” and go looking for new words like “egalitarian” rather following along with the shifting definition of the word they originally chose.)

Fundamentally, the principles that were laid out are intended to allow software to behave like mathematics. You don’t get to use the pythagorean theorem for free normally, but have to pay a license fee if you decide to use it for NFT purposes.

If the OSI were to change the OSD to allow restrictions like that, it’s very likely that people would reject the changed version, declare the OSI to have become infiltrated by corporate influences, and start referring to the current version of the OSD (Version 1.9, last modified, 2007-03-22) as the authoritative definition of what “open source” is.

Thanks. Sorry for going quiet. The browser tab I left open as a reminder got buried under a flood of new ones.

(I really need a better workflow for separating “tabs that are TODOs” from “I found a new YouTuber and middle-clicked a gazillion interesting videos”.)

It’s in my list now.

This mix of desert/middle-east atmosphere and an energetic, bouncy beat might be perfect BGM for a desert-themed tileset for competitive mode for the game I’m picking away at.

Thanks. :)

(1 edit)

Would you mind adding licenses to this and Arctic Area Ambient Theme?

Without them, I’m not even sure if it’s technically legal to use the Download Now button. (explanation)

EDIT: Thanks. :)

…and thank you too.

I’ve added this to my Libre Game Assets list.

(1 edit)

No problem. I have projects of my own that I’ve been struggling to find time to give some TLC to for over a year, so I know the feeling.

(The only reason I’m poking at developing a game right now is that, unlike my more mature projects, it sometimes meets the “whatever I’d find relaxing right now” criteria for my leisure breaks.)

Because your “Asset license” field and your description disagree over whether this is under the CC-BY 3.0 or the CC-BY 4.0, it makes it legally iffy. Would you mind clarifying?

Also, since all Creative Commons licenses require attribution (CC0 isn’t technically a license except in places like Germany where you aren’t allowed to put things in the public domain), it’d be a good idea to specifically say “Creative Commons Attribution” or “CC-BY” since those are the official names for that particular license.

(1 edit)

Would you mind specifying a license for this?

Also, nice choice for the YouTube embed’s video. It makes me wish Race The Sun had an 80s DLC.

EDIT: Thanks. :)

(1 edit)

I like this, but informal licenses like “Credit Required” are legally hazardous in some jurisdictions.

If you meant “License: CC BY 4.0” like on your RPG Town track, would you mind stating that explicitly?

I’ll happily add it to my Libre Game Assets list once the license has been clarified.

EDIT: Thanks. Added to the list.

Also, I really like the sound of this, so I’m going to try really hard to find a place where it feels fitting in the competitive mode of the game I’m slowly picking away at.

(5 edits)

Each folder inside the zip file contains both the files and another zip file containing duplicates of the files.

Unpacking the nested zips, asking a duplicate file finder to delete all but one copy of each duplicate file, and then repacking the archive drops the download size from 249.2MiB to 124.6MiB with no lost content.

Given how easy it is to turn a folder into a Zip file, probably a good idea to treat that as a mistake and save people the bandwidth. I can’t imagine gets unlimited flat-rate bandwidth, and I know not everyone has flat-rate bandwidth at home.

(American companies like to gouge people, incumbents here in Canada like to gouge people, people who have to connect through a mobile dongle won’t get flat-rate bandwidth, and the best option you could get in Australia last I checked was to drop to dial-up speeds rather than getting charged when your monthly bandwidth runs out. As I understand it, big enough companies partner with Australian ISPs to set up mirrors in Australia which are exempt from bandwidth caps. I’m guessing New Zealand is similar, given they’re Australia but even further as far as undersea cables go.)

(4 edits)

The archive has a lot of duplicate files contained in nested Zip files.

For example, after unpacking all the nested Zips, md5sum gave results like this one:

2b5b0156c154d9755b00a1fee34a8b5e  Caverns & Mines/Mysterious Cavern/Mysterious_Cavern_Complete.ogg
2b5b0156c154d9755b00a1fee34a8b5e  Caverns & Mines/Mysterious Cavern/Mysterious Cavern/Mysterious_Cavern_Complete.ogg
2b5b0156c154d9755b00a1fee34a8b5e  Mysterious Cavern/Mysterious_Cavern_Complete.ogg
2b5b0156c154d9755b00a1fee34a8b5e  Mysterious Cavern/Mysterious Cavern/Mysterious_Cavern_Complete.ogg

When I tried removing the duplicates and repacking the files with default settings, the size dropped from 226.6MiB to 64.5MiB.

That aside, they’re beautiful pieces and I’ll probably wind up using them for the non-competitive mode in a game I’m picking away at. (Sort of a Lode Runner-esque game with more acrobatic movement and fixed-pattern monsters to make the levels more puzzle-y, where I want to experiment with procedural generation and a multiplayer race mode.)

It sounds great but, with that tempo and percussion, it’s not what I’d associate with an RPG town… more the remixed version of what normally plays in the town, used for when your character participates in a footrace through it.

(1 edit)

If you don’t want this normalization, you’ll have to convert them again. Foobar2000 can convert nsf to wav easily with the appropriate plugins.

You may also want to suggest Audacious Media Player.

It’s a competitor to foobar2000 for Linux, BSDs, and Windows that comes with an NSF player plugin (Specifically, one for Game_Music_Emu) and can be used to convert chiptunes to Wave, FLAC, Ogg Vorbis, or MP3 simply by setting the desired recording settings and then toggling the record button in the toolbar before starting playback.

(And, since it’s a descendant of XMMS, the original Linux WinAMP clone, it can also use WinAMP skins if that’s your preference.)

(2 edits)

I have licensed these voice clips under the most basic copyleft license I could think of: Creative Commons Attribution 4.0

I hope you won’t take this as me being “that guy”, but your terminology is a bit off.

“Copyleft” refers to things like CC-BY-SA or GPL, where, if you received it under the license, you must also share any modified version under the same license. (“Copyright” encourages a world where every modified version is “All Rights Reserved” so “copyleft” was coined because it encourages a world where every modified version cannot be “All Rights Reserved”.)

Stuff like CC-BY, MIT, BSD, etc. is “permissive” because they permit you to do stuff like going “All Rights Reserved” on any modified versions as long as you still give credit.

(So, by definition, you chose something more basic than any copyleft license.)

The poorly named Wikipedia Permissive software license page has a nice chart about it which has examples for both software and non-software licenses.

The ambiguity of legally defining “evil” was the bigger problem, but not the only one.

Either way, I highly value being able to pass on the right for other people to carve up my projects and remix the pieces without any unusual license terms, so PDM is still unsuitable for my use-causes.

(5 edits)

While I appreciate the sentiment and you’re free to do as you wish, I just wanted you to be aware that the prohibition on NFT use means that your license can’t qualify as open source (or any of its cousin terms like Libre which are basically the same thing in different words).

The problem is clause 6 of the Open Source Definition, which the prohibition on evil in the JSLint license also tripped over:

No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

(Also, if you decide to change it, I highly recommend going for a standard license. Even some standard ones are landmines in jurisdictions like Germany where you have to tie yourself in knots to explicitly give up various legal protections and protect downstream users from your right to sue them over privileges the law decides to retroactively grant you in the future. For example, CC0 is much preferable to The Unlicense for exactly that reason.)

(2 edits)

And thank you for the quick response.

As you might have guessed from my slower reply, I’m pretty busy right now, but I’ll check them over and get them added to the list as soon as possible. (Hopefully today or tomorrow.)

EDIT: Done. Sorry for taking a week to get to it.

Would you mind specifying a formal license on your free voxel packs?

I’m not sure if I’ve mentioned this to you before, but “informal licenses” can have very surprising results in some jurisdictions.

(For example, Germany errs on the side of protecting you from giving away too much when there’s ambiguity. This analysis of how far the CC0 has to go to achieve “like Public Domain” status in Germany has more detail on that.)

Maybe CC BY 4.0 like some of your other free assets?

I’m willing to add all of your voxel packs to my Libre Game Assets once that ambiguity is resolved.

It’d be better to just link people to the summary page of the Creative Commons license you’ve chosen. The “Attribution” part of it already covers that.