Like everything related to AI, with the ability to mimic human-sounding voices coming to the forefront, audiobook narrators now also feel threatened and, while I understand being afraid of something new and misunderstood, I see it mostly as an extension of our existing abilities and doing more with less.
First of all, I’m sad that the first thing I see in that article is “circling the wagons”. You can’t avoid new technology. It’ll come no matter what. Some form of legislation can be made to restrict research and development but if the technology is not immediately or excessively harmful (like nuclear weapons or engineered viruses), a lot of people will work towards it and, as a person affected, what you really should do is find how to adapt and where you fit in in the new order.
Secondly, if we move towards an industry in which voices are largely AI generated, the voice templates will still have to come from somewhere. Those providing the templates will still be a part of the process. They will be licensing their vocal likeness, like you do with a visual likeness. It will be up to them and their agents to make sure the contract benefits them and that they may have some right of refusal on projects that might not align with their views. And those around the narration will still be required. A director will need to make sure the reading is what the client wants, an audio editor will be needed to make sure it flows or to add effects or music, etcetera, etcetera.
I see it a lot like using any other asset in game creation, both in video games and tabletop games in which I have some experience. As a creator trying to save money, I would definitely go to the asset store or find some stock art to put in my product. Both in tabletop publishing as well as on Steam, I’ve seen many products reusing art and, yes, it paints the product in a specific kind of light but I can’t really fault someone for being short on means. Of course, were it to be possible, I would love to commission bespoke art for my product to make it unique and special, the nuances and the input I can have on it would make it better in every way but not everyone can afford it.
The way I see it working is that narrators would license their voice phonemes to the voice generation technology company. Narrators would recieve a flat fee up front for participating. A book publisher who can’t afford to arrange for a bespoke reading would contract the voice generation company. The AI voice should cost less than hiring a narrator in person but said narrator should get a cut of the contract and because the voice would be used in bulk, it would become a larger sum over time. Because the reading is AI generated, the audiobook will be worth less and be sold for less than one made with a bespoke narrator. The end-of-the-line customer would be made to understand that an audiobook voice is AI generated rather than specifically narrated, and it will be up to them whether they are willing to accept it, like buying a soft cover over a hard cover.
In the end, I think that just like ‘zero budget’, one-person productions on YouTube can exist next to hundred million dollar Holywood productions, so can fully voiced audio productions can exist next to AI generated synthetic audiobooks.
Posted in Practice, Thinking Out Loud by Eran with no comments yet.
Recently, some clueless joe on Twitter said he will pay 10,000$ to the person who adds a multiplayer aspect to Zelda: Breath of the Wild. If he was going to donate to a modder who was working on it, that would have been fine but it seems like he was thinking that he could hire someone to do something like that for that kind of money.
Here is a long, detailed response to this which you should read but here’s the summary: 10,000$ would pay for about two work months of the average+ programmer. Also, networking is hard. The hardest networking challenges in gaming usually arise in fighting games because they usually need to be exactly per pixel and per frame accurate and, probably over distances where network traffic takes more time to go back and forth than it takes pro players twitch reflexes to react. You can see how important this is if you go back and read about the network woes of Street Fighter V.
Now, the demands of a PvE, open world, action RPG would probably be a lot less strict but these are still difficult problems. Especially if you’re talking about tacking on something like this onto a game that was definitely not designed for it.
You want a more current example? On the one hand, Battlefield 2042 is out now and it’s buggy as hell. On the other hand, Halo Infinite’s multiplayer is also out and it’s much better. Probably because the team is backed and overseen by a very strict corporate overland. On the other other hand, Halo’s campaign will come out in a week but the Co-Op campaign will only come out in May 2022. MAY!!!
343 Industries have been working on the Halo games for over 10 years! They are backed by one of the biggest corporations in the world! [According to Wikipedia] They are 750 strong! And it’ll take them — yes, assuming they have more going on than just Halo Co-Op — five months from campaign release to co-op campaign release.
And some people think you can just add co-op mode on a massive game for 10,000$.
Posted in Gaming, Less Interesting News, Practice, Programming, Thinking Out Loud by Eran with no comments yet.
Portugal recently passed a law they fondly call “Right to Rest”.
It contains various measures to help employees have a better work-life balance such as the ability to work remotely when you need to take care of a child or companies contributing to household bills when an employee is working remotely a lot. But the nicest thing about it is indeed the ban on contacting employees after work hours. I’m guessing there is a stipulation about emergencies or people like server administrators and doctors who are supposed to be on call but the fact it’s enshrined in law is just amazing.
Kinda makes me want to move to Portugal. :)
Posted in High-Tech, IT, Less Interesting News, Practice, Thinking Out Loud by Eran with no comments yet.
Recently, PETA criticised Ubisoft for including a cockfighting mini-game in their recent franchise title Far Cry 6. And that got me thinking about what is ok or not ok to include in a game.
I completely understand why Far Cry 6, which occurs in a Cuban-esque island country called Yara, includes that aspect. Cuba, a country under heavy sanctions, makes due with whatever they have at hand. And, as far as entertainment goes, while cockfighting is a horrible practice in your regular western-aligned countries, it is not exactly frowned upon in Cuba. So, Far Cry 6 appropriating this symbol for immersion purposes is understandable.
On the other hand, I also completely understand why PETA would criticise this. Far Cry is a very popular franchise. At the time of writing, it has sold poorer than its predecessor but that still puts it above 10 million units moved. That’s a lot of people being exposed to this segment, engaging with cockfighting in a way that might be unhealthy in the future. In the game itself, you do play the cockfighting mini-game in a fighting game style, as a animal encouraged to viciously peck, rip, and tear another animal, both of which were probably forced into this against their will.
So, think about that 13-year-old kid who just got his hands on the new, popular AAA title all their friends are playing and this is the first time they sees something like cockfighting. If that’s the first time they engaged with that sort of thing, they might take it for granted that you can pit animals against each other in a ruthless battle (hopefully not) to the death. And that could lead to animal cruelty in real-life. Not a thing us as a society, hopefully, want to encourage.
I recently saw segments of a Bollywood movie that had a cancer warning at the bottom, but prominently, on screen every time someone on screen even just held a cigarette in their hands. It seems silly but them’s the rules in India. I totally get it. I think it’s totally appropriate, for immersion, to have something like a cock-fighting mini-game in Far Cry 6. But it should be accompanied by an advisory warning, when you engage with it or, at least, every time you start the game.
Posted in Gaming, Humanity, Thinking Out Loud by Eran with no comments yet.
Posted in Humanity, Life, Me, Thinking Out Loud by Eran with no comments yet.
אני חושב שמשכורות זה משהו שצריך להיות פומבי במקום העבודה. בדרך כלל, התגובה שאני מקבל היא שזה יגרום לאנשים לקנא. לדעתי, זה דבר טוב. כי רוב האנשים לא חושבים על זה אבל יש שני סוגים של קנאה. השפה העברית פשוט לא מכילה את המילים בשביל זה.
באנגלית, אפשר להבדיל בין Jealousy ל-Envy (למרות שגם דוברי אנגלית לרוב לא יתייחסו להבדל הזה). כשאומרים קנאה, רוב האנשים חושבים על Jealousy. זאת המחשבה שלמישהו לא צריך להיות משהו בגלל שלך אין אותו. זאת מחשבה מאוד שלילית ועוינת ואני מבין למה עדיף להימנע ממנה, במיוחד בין אנשים שאמורים לעבוד ביחד. אבל זאת הגישה הנמוכה והשלילית ואני מעדיף לנקוט בתער של האנלון. Envy היא הרצון גם להשיג משהו שלמישהו אחר יש. ואלא אם כן מדובר במשהו ייחודי (כמו בן זוג של מישהו), רוב הזמן לא מדובר בלקחת לאותו מישהו את מה שיש לו.
איך שאני רואה את זה, אם אני רואה שלמישהו יש משהו מגניב שאני אוהב, אני אחפש איפה אני גם יכול להשיג כזה. אם למישהו באותו תפקיד כמו שלי יש זכויות מסוימות או משכורת טובה יותר ממני, אני אבדוק מה אני יכול לעשות כדי שגם יגיע לי, אני ארצה להשתפר. ומה רע בזה? בכלל, מה רע בלשאול את הבוסים ישירות, “מה אני יכול לעשות כדי שיעריכו אותי יותר? מה המדדים פה? תפוקת קוד גבוהה יותר, יותר יוזמה, הצעות ייעול, הדרכה של חדשים? אני רק רוצה לדעת מה חשוב פה כדי לדעת איפה לרכז מאמצים.”
אז תזכרו להבדיל, קנאה (Jealousy) זה לא דבר טוב אבל קנאה (Envy) זה סבבה אם זה גורם לכם לרצות להשתפר בעצמכם ולא להוריד אנשים אחרים.
Posted in Humanity, Thinking Out Loud by Eran with .
Let’s say you have a bunch of code you want to drag around with you to every new Unity project, or maybe just the next project you’re doing for the same company. Don’t just copy and paste the same directory over and over again forcing you to also copy changes and updates. Create a package instead!
Unity has switched over to a package model for a lot of the engine’s capabilities. And it also allows you to import non-Asset Store packages straight from GitHub or even locally. So how do you take what you have and make it an easily distributable package? Follow these steps.
- In your Project window, below all your regular files is a Packages folder. Right click on it and select Show in Explorer.
- In that Packages folder, create a new directory and name it however you like. This will be the root of your package.
- Do remember that the folder name can not contain spaces.
- Create a new “package.json” file.
- Back in Unity, your new package should be visible with the name you gave it.
- Clicking on package file will open it in the Editor UI, allowing you to edit it more conveniently so you don’t have to go back to the JSON.
- In that Inspector window, you can also easily add Dependencies if your package requires it which is a much easier workflow than typing them out.
- After this basic set up, you’ll want to add your content, this link here will show you the folder and file structure required of a package.
- You need the package.json file.
- Adding a “README.md”, “CHANGELOG.md”, and “LICENSE.md” files is general practice and provides a better user experience.
- The “Editor” folder should contain your editor scripts.
- The “Runtime” folder should contain your runtime scripts.
- And you can add additional “Tests” and “Documentation~” under their respective folders.
- Under “Tests” you do have to add “Editor” and/or “Runtime” sub-folders depending on what you’re testing.
- You may also add additional folders and files as you wish.
- Just drop your scripts, assets, and whatever else you want from your current project into the correct folder in the package (Regular scripts into “Runtime”, editor scripts into “Editor”, and test scripts into “Tests”).
- Then, for every folder you have files in, right click it and select “Create\Assembly Definition”.
- It is recommended to name them in reverse web notation in a way that is easy to understand.
- For tests, you need to add a reference to your relevant assembly definition file (The runtime file for runtime tests and editor file for editor tests) and to the Unity TestRunner assemblies (Yes, both).
- Also, make sure that Editor is the only platform selected.
- That’s it, your done defining.
- If you move the package anywhere else for safe keeping, you can add it from the Package Manager by pressing the ‘+’ sign, selecting “Add from Disk” and finding your package.json file.
- But it is recommended that you upload the contents of your package (Not the folder itself but everything in it) to some Git repository and then you can always add it from Git and your users will be much happier for a constantly updated package.
Posted in Practice, Programming, Thinking Out Loud by Eran with .
I think there are two reasons you might want to do a job: money or calling.
That is, you either want the job because you feel it’s what you should do with your life, like it’s going to make the world a slightly better place, and it’s less like you have to do it and more like you should be doing it.
Then, you might want to do a job because you want the money. It could be that you need the money to survive or you want more money to improve your life or to be able to do more.
And those two are not mutually exclusive. And they are both ok.
Posted in Philosophy, Thinking Out Loud by Eran with .