An idea for Music in Video Games

I’ve been thinking a lot lately about music, probably due to extra time in the car. I’ve thought about building an artificial neural network to generate new EDM, but such a net could produce almost any kind of music given the right training. I’ve even considered subnets that could make new “instrument” waveforms for the music to use. Then I pondered what applications this might be able to be used in. Movie soundtracks come to mind first, as the net could have “emotional tone” training, and could be adjusted with sliders to smoothly transition the music without cuts from one scene to another.

But this morning, I thought of a video game application, without the neural network. The basic concept is to have a long, very instrument-full piece of loop-able music, then assign a couple of “peaceful” instruments to the player. These play all the time, as an establishing foundation. Other instruments or instrument groups are assigned to other characters, and fade into the music as they get closer to the player. In face, some characters can turn down the player’s instruments, replacing them with a different foundation such as a minor key. The tempo can also fluctuate with some function, possibly number of enemies or combined power of enemies in a range (their instruments will also be playing), but the tempo would be the tempo for all tracks, so they always are in sync (technically, but some characters could be purposely out-of-sync).

Done as a technical demo, it could be an interesting aspect to a simple game.
Done well in an immersive game, with the right balance of composition combination and suppression, players won’t even know why they are completely sucked in emotionally, and players who habitually mute games and play their own soundtrack won’t get the real experience.

Spam calls

I’ve recently been getting a call from “the rewards department of Visa-Mastercard”, after the pleasant feminine voice declared that this is not a solicitation.

Oh, where do I start?

First: no rewards department will call you unless you’ve called them first. Ever. Credit cards don’t want you to use your rewards, because that costs them money. They won’t call you to use them, they won’t prompt you that your rewards are expiring, they will happily sit back and watch as that liability on their books disappears.

Second: Oddly, this appears to be uncommonly known information: Visa and Mastercard are not only separate entities (meaning that there is no “Visa-Mastercard” entity to have a single rewards department), but they are competitors and rivals as well. They do NOT do things together, with the very rare exception of occasional charity events.

Third: All credit card accounts are owned by banks or credit unions which use the Visa or Mastercard networks and services. All credit card rewards programs are offered by said banks or credit unions, NOT by Visa or Mastercard themselves.

With those three facts solidly known, I hang up on the lying recording before it can spout more lies at me. I am sure that if I continue to allow it to waste my time, it will tell me of some wonderful “prize” I’ve won, probably a massive discount on a “vacation package”, the catch being I need to pay for the non-discount portion. Or perhaps it is all phishing and no immediate money, so please enter your details for a drawing to win something.

Hmm, maybe I’ll have to find a way to record the call and dissect all of it.

Consumer vs Producer

I haven’t fully gelled my thoughts on this, but I’ve been growing a thought process on Consumer time vs Producer time… or something like that.

I’ve been considering, and even have put forth some effort into, becoming a “YouTuber”. That is, someone who makes YouTube videos for profit, possibly eventually as a job replacement. As random as my thoughts and hobbies are, as well rounded a geek as I am, such an endeavor might be exactly where I should be. Low cost of entry, possibly excellent rewards, possibility of getting out of the “Rat Race” of corporate IT, but without having to quit first (very high risk) or invest much money. It seems like a no-brainer thing to at least try.

The distraction of YouTube as a Consumer can suck away many hours. The Production for YouTube can also suck away many hours. The problem of both is how many hours I’ve got for either or both. Couple that with the learning aspects of video editing, by watching YouTube videos on video editing, there is a line that blurs between Producer and Consumer time spent.

I’d like to boil these thoughts down into a hard and fast rule, but I can’t justify “Be a Producer, not a Consumer”. Partly because I like being a Consumer, but also because such a rule would probably end up being damaging in the long run. There needs to be a balance. The balance might actually be good at 50%/50%: only spend as much time as a Consumer as you have spent as a Producer. This might only apply to Entertainment, but it may also apply to other aspects of life. The idea that you should only buy as many clothes as you’ve made seems a bit unworkable, but crafts being a Produced item should be rewarded and encouraged with Consumed products, or perhaps balanced with Consumed media, information, articles, trades, to keep the craft itself fresh.

Every time I think about it, I get a bit ramble-y, even in my own head, but the core is the idea that being a Producer of ‘stuff’ is good, and should be done, but as with all things, don’t neglect balance with healthy consumption of similar ‘stuff’.

Rant (email I couldn’t send to my manager)

I will admit to being biased, because of 20 years of working with Microsoft desktop products, I have very little faith in them. In 15 years of using Linux as my primary desktop operating system, aside from multiple VPSs and physical servers, sure, there have been issues, but I could find the problem in the logs, and once fixed things tended to stay fixed. How many Windows problems have we fixed, only to have to fix them again, and again?

I’ve come to expect anything Microsoft to fail. My Linux desktop computer and laptop at home connect and print to the HP wireless printer just fine, but my girlfriend’s and my roommate’s Windows 10 laptops keep losing it, and it has to be re-installed weekly for them to print. Here at DAYJOB, USER had “User Profile Service Failed the Login”, and I fixed it, and it came back, and I fixed it, and it came back. There’s no telling, nothing in the events gives a hint, as to why this happened, so there is no fixing it with 100% certainty. The only time I’ve been locked out of a Linux system (outside of “forgot password”) is when I installed unsupported video drivers, or when the VPS host got hacked.

It boils down to this: on Linux, if you are motivated enough, you CAN find what is wrong and fix it. On Windows, you MIGHT be able to find some failing module somewhere, maybe, and then report the problem and hope for a possible fix, later, maybe, if they feel like it. No matter how motivated you are, it is up to Microsoft, and if it isn’t their “current” product line: good luck with that.

Since the late 1990s, I’ve approached all Microsoft products as things that need to be dealt with until a non-Microsoft, non-closed-source replacement is available. Open source is deeply important to me, I’ve spent half my life supporting people on Windows, running into dead-ends where Microsoft can’t be bothered to support their own customers, didn’t bother to listen, and couldn’t be bothered to test their own product before release using paying customers as beta testers. All the while I’ve been able to run a stable branch of Linux with no worries, no mandatory massive UI changes, no unnecessary changes to necessary tools, no fights with malware or spyware or viruses nor the programs needed to protect against them. ME was XP beta. Vista was Windows 7 beta. The customers that purchased those operating systems were cheated and lied to, and many paid full price for the privilege.

Recently I’ve even tried to learn about PowerShell scripting, which is Microsoft’s attempt to replicate the power of Unix/Linux shells. Every two years, almost everything changes, such that past experience and knowledge is useless, even an impediment to making something actually work. It is very hard to find tutorials that aren’t out of date, or too new.  On Linux the commands a locations haven’t changed, I can find things by the name they’ve always had, in the place they’ve always been, with most of the command line parameters they’ve always had. I can string together commands in a line the same way I learned to before Y2K. Microsoft seems to be making things different for the sake of making things different, not that the difference makes anything better, and from my point of view usually makes things worse.

You telling me that my building a Linux PXE server/router to separate workstation imaging network traffic from the rest of the company’s network was a waste of time because Microsoft already has their own “Windows Deployment Service” that I should have learned instead, even though that process would ALSO entail figuring out how to (and if it is possible on the hardware we have available) flash a router with WRT to configure it for the routing that you say should not be in the same box as file serving. Telling me that it was a waste of time felt like telling me that the last 20 years of my career, the last 20 years of my passion for Open Source, was a waste of time.

You basically said that Linux was a waste of time and effort. “This is a Windows shop.”

You basically insulted twenty years of my experience, and my whole set of ideals, casually, in a manner that suggested it was helpful advice.

Telling a Linux Enthusiast that they would be better off learning how Windows does things is like telling a Priest that they would be better off making pornography.

Unsatisfied

While there are large aspects of this job that I enjoy, and doubt I’d find similar fulfillment elsewhere, there are days like this.

Or is it weeks and months like this…

Last week something happened with one user’s profile, he couldn’t log in to any computer. I rebuilt his profile and that worked… for a day. I did it again, and it worked for a day. I did it again, along with removing his profile files from as many computers as I could get my hands on in the space of an hour, so that this “re-corruption” vector could be removed.

I was told that it still wasn’t working this morning. I went through all of the steps again, including removing his profile from as many computers as possible, during busy times in the office, kicking people off of their computers, taking up their productive time… I got more computers this time, because I was more forceful in my demands of the computers.

Then I am informed that he isn’t even in yet.

“He still can’t log in as of this morning, this is Urgent.” … “He isn’t in the office yet.”

So what I did Friday MAY have worked, but I re-did all that work anyway, because I was lied to.

I really don’t like EITHER SIDE of this coin. On one side, I have people misreporting and misrepresenting the situation making me do double work. On the other side I have Microsoft giving completely unhelpful messages “The User Profile Service Failed the Login” and NO USEFUL DATA on what that means, or where or how one might correct the REAL problem, leaving the only choice being the brute-force method: entirely new profile.

Also last week, I was happy with my success in building a PXE boot server that is also a DHCP server and router to separate the Workstation Imaging process (and other software repair processes) from the rest of the network. I did this partly because the last time I was imaging several workstations, users noticed and reported a network slowdown. I used Linux (Ubuntu) partly because I wouldn’t have to scrounge a license key and activate it, partly because I’ve never had a Windows system act as a router with any reliability, partly because I’ve never had a Windows computer connect to two disparate networks at the same time without major issues, and because I’ve already configured a few versions of Linux for routing, DNS, and DHCP, so adding PXE seemed like it would be relatively simple.

The I get a “talking to”, saying “this is a Windows shop”, and “network infrastructure and file sharing shouldn’t be on the same system”, and “Microsoft has tools for this already, you are wasting time with this Linux solution”.

Wasting time…

Wasting. Time.

I…

Are you saying that the last 20 years of personal Linux development and research, that using Linux as my Primary Desktop Environment for the last 15 years, that all of that knowledge and experience… is a waste of time?

Are you really, in a conversational and supposedly helpful tone, casually dismissing 20 years of my hobby, my passion, and my career?

As “wasted time”?!

Honestly, I only support Windows because I must for a paycheck. Anywhere and everywhere else, if possible, I use Linux. Everywhere, if possible, I replace Windows with Linux, for easier maintenance, no licensing/activation problems, fewer driver issues, lighter resource requirements (configurable resource requirements), better networking stability, higher security, and higher stability overall. Sure, there are pros and cons, but for me the pros for Linux outweigh the cons every time, and conceptually each con in that list is a bug waiting to be patched, by ANYONE, and not just at some corporate shmoe’s (or gaggle of corporate schmoes) whim.

But, I think I need to find a place that is Linux positive, or build something that replaces my income separately from me being employed by someone else.

Occam’s Razor

Due to the political chasm that seems to divide our nation, I’ve been pondering and revisiting and reworking ideas related to human nature and Us vs Them.

One realization that I got recently, though I should have known: it feels good to hate. I don’t like this fact, but it is apparent if you look for it. Our entertainment almost always has a villain or group to hate, someone to “boo” when they come on stage, someone you are happy is defeated in the end. Art may not be mimicking life in this case, but playing on simplifications. But… hate…

For the process of hate to provide the mental feel-good reward that we get, for hate to be as deep as it is in mammalian psyche (I’ve seen various pets that hate specific people, hate isn’t a human-only realm), it must have been important for survival to hate. It may even remain important to survival to hate, as it is a driving force and a component of passion. Since adrenalin has been noted to interact with the formation of memory, hate may be (currently) a core piece of learning. Hate may even help with understanding, if correctly used as motivation for learning.

The trouble is that hate often inspires violence, hate is a precursor to rage, and very often hate will shut down rationality. We as a species WANT to hate, as sad as that is. The catch, the snare, the trap, the pit that some have fallen into is to expect people not to hate. That can’t be done. Humans hate.

The way out is to give people something to hate, and a (safe, yet possibly violent) physical outlet for that hate, that directs and utilizes that energy rationally. If there were something to hate, and that something was also more technologically advanced that we are, then hate would spur technological advancement. The arms races of the past, the concept of “war is good for the economy” (false, by the way, Vietnam didn’t help the economy at all), that came from hating the Nazis and “Communism” enough to build a better military, with the technology that came with such development.

Historically (and currently (sadly)), leaders would point to “other” countries or skin tones or belief systems, accuse “them” of “evil” acts (that they may or may not actually be guilty of), and fan the flames of hate to cause their people to act. But war isn’t safe. Especially after the innovations of WWII, war isn’t safe for any life on the planet. I am not advocating war. I am using it as an historical example of the progress possible due to hate. But now, rationally, we need to become a united race, the human race, before our self-hate and high intellect cause the destruction of all life on Earth.

But then, what is “safe” to hate? What can we hate that could drive us all (ALL) to be better? What could we ALL hate, together?

…and all of the above is a digression from the original thought: Occam’s Razor is wrong.

In looking for the word-for-word definition of Occam’s Razor, I found that it is not considered an irrefutable principle of logic or scientific result, and my reaction was toward the simplified vernacular version anyway.

Everything is complex. The simplest explanation is not necessarily the right explanation. There is almost always more to it. None of these statements are making my point.

The idea is that the concept of Occam’s Razor is deeper than Occam. People want the simple explanation, the black-and-white picture, the US and THEM. Why did that peasant die in 800ad? Simple answer: the devil made him sick. Real answer: bacterial infection of uncleaned sores, bacteria came from polluted local water source. The effect of the different answers: “Pray to God for salvation” or “Wash regularly, boil your water”. The simple answer only gives fear, the simple solution only gives false hope, but we WANT that answer and that response, because the real answer requires WORK.

It takes less mental energy to condense the complexities of reality into simple structures and anthropomorphisms. God or devil is a simple answer to everything that is too complex to think about. Humans LIKE simple answers, simple explanations, step-by-step instructions (headlines, sound bites, meme images…). We like Occam’s Razor, because it claims that the simplicity we desire is also truth.

It is not.

“Just love.” “Just don’t hate.” These are as easy as “Just be perfect.”, because humans hate and humans love and humans crave simple answers to complex questions. When we were growing up as animals in the wild, before there were even millions of us, simple answers were all we had access to, and simple rules were all we needed to survive. We’ve grown beyond the simple, hunter-gatherer life that can ignore complexity, we’ve changed the face of the planet, both on purpose with our fences, roads, dams, and cities, and accidentally with our emissions. No other animal on this planet has that kind of power, so no other race has the responsibility to find the complex answers.

New Hobby?

Perhaps “Yet Another Thing To Take My Attention Away From What I’m SUPPOSED To Be Doing”…

However, this year’s revelation of multilevel degenerative disc disease (in layman’s terms: “bad back”) that prevents me from the larger physical hobbies and some frustratingly common tasks, perhaps a hobby with near-zero physical requirement is a good thing. Take my mind off of the plans I can’t do anything about.

What is it? It is making YouTube videos of Minecraft playing. Commonly called “Let’s Play” videos. First one is here (YouTube)

Feedback to me from myself, it is WAY too long, needs a better introduction, less “dead air”, and possibly some background music. Suggestions beyond that are welcome and encouraged.

Venus

Maybe it is a reaction to all of the Mars hype, but lately I’ve been pondering exploration of Venus. At some point I heard or read that an artificial bubble city with Earth-like atmosphere might be buoyant in the Venusian atmosphere. A real-and-for-true floating city… that might be really interesting!

One thing I keep returning to is how very little we actually know about the surface of Venus. The probes that we’ve sent lasted between 23 minutes and two hours. With Curiosity having been roving around Mars for months, two hours seems… insufficient. There are vastly different challenges to Venus surface exploration as compared with Mars. The one that has been on my mind (mostly while commuting) is temperature. A mean temperature at the surface of about 460°c means that most of our modern silicon-based computer processing systems wouldn’t last very long. In fact, the board’s circuits would need something other than solder to hold the components in, as most electronics solders melt between 90°c and 450°c.

Today I remembered that we had computers before transistors, using vacuum tubes. They can take the heat, in fact they need it to operate. Though, they also need to vent heat to keep functioning. Well, it’s a thought, anyway, a modern, complex, compact approach to a microprocessor or microcontroller using vacuum tube materials and methods, that can withstand Venusian atmospheric abuse (and Pressure! Oh my… the Pressure!). Otherwise, a new basis (or already tried alternate basis) for semiconductors is needed that will take the heat.

I begin to think that Venus might be an interesting setting for a Steampunk-like sci-fi story, with lighter-than-air cargo ships and pirates, floating gas mining cities trading with the vastly different cultures (and perhaps engineered physiologies) of the surface mining colonies…

It might be time to write some fiction.

Grammar Issues

I’ve just been grammar twitching lately on three things.

First: “Limit supply” in radio commercials irks me. This form of “limit” is a command form, they are basically telling me to limit their supply, but I am in no position to perform such task. “Limited supply” means what they are trying to say: they might not have enough for everyone.

Second: “What happen?” vs “What happened?” (and others). This seems to be a really common mistake, but it irks me. It even reduces my enjoyment of web comics that use it that way, which is sad because, well, some people speak it that way, so it could very well be in-character, but it’s wrong.

Third: “A object” vs “An object” (and other words beginning with vowels). Seriously, you would say “an umbrella”, or “an object”, or “an alligator”, or “an unexpected event”, so write it with the “n”. Sure, I’m biased toward the letter N a little, but that doesn’t mean I’m wrong here.

Yeah, ranty, non-technical, first-world problem, possibly elitist. I’m not advocating any violence against perpetrators or perpetuators of these offenses against American English, I just… wish they’d get it right.

Massively Multiplayer Casual Games

Sorry for the blog veering off of Technical for a couple of posts.

I was fairly recently introduced to the fun, massively-multiplayer casual game “Agar.io“. Very simple graphics and gameplay, the “plot” being close to bacteria in a petri dish: eat, don’t get eaten. Another game that seems to be based on the same engine is “Diep.io“, instead of bacteria, you control a tank-like thing with guns. The controls are a little more complex, as you can fire in any direction aiming with the mouse, but move in a different direction using the keyboard keys. There is also an upgrade tree, so instead of just growing bigger the more things you destroy, you can make your gun better (and several other attributes). I’ve spent a small amount of time having fun with these games. The best part of both games is that the things you play with and against are other players, not NPCs or game constructs (mostly).

How is that casual? In both games, you will lose, pretty often, and have to start over (mostly). Because of this, it is relatively easy to shrug off having to leave the game for something happening in real life, which is my personal definition for casual game. While most casual games in my view are turn-based or have excellent and easy to use pause and/or save features, these games are fun enough to start over each time. There isn’t really a need to save progress, because it is relatively easy to regain, and relatively likely that it was to be lost soon anyway.

From a programmer’s perspective, I can almost feel the code and resource requirements evaporating: no user storage, no need for accounts, no persistence. The flexibility of the back-end is excellent: without any need for a database or persistent data of any kind, additional cloud servers can be spun up to handle more load with almost effortless ease. A server only needs to know about its own connections, and doesn’t need anything from any of the other servers. Such stark simplicity!

So obviously I get that “how hard could it be?” itch to try to write something… maybe not quite as simple, but perhaps only one step up from that.

…if I can stop playing. 🙂