This is the real issue nobody else wants to address. Tastes have changed and genres have progressed.
A few other old time devs have tried reboots of their games (a few point and click adventures, mostly) and they were hyped up beyond belief since they were made by legendary developers and were "bringing back the classics". Then they released and got a few sales from older people wanting to get a taste of youth again, but realizing it's just not the same. Those new games by old devs didn't progress in terms of gameplay, and visually, they were worse because they tried too hard to be "retro" and made things look shoddy and low effort on powerful hardware. When back in the day, artists busted their asses to make things look beautiful on shoddy hardware.
Myst has had a bunch of sequels and remakes, but there's a reason people only care about Myst 1. It was lightning in a bottle and trying to desperately pull the "remember Myst?" card several times gets a bit embarrassing after a while.
Write the code yourself, use AI as a tutor. Learn to start a project from scratch and run it locally from your computer for any language you learn. Use a Linux laptop. Network and be socialable. Apply for internships. Learn deep learning and neutral networks if you have the opportunity, GPU programming. Really though, follow your interests.
A caret with a character subtracts 0x40 from its hex value allowing you to insert non-printable characters. Uppercase H is 0x48. That gives us hex 0x08 which is a backspace.
Also, if error wrapping hurts you so much (I don't use it), just implement a project-specific error that works how you want. This could be something that is JSON serializable, that captures a line number at each return site, etc. It will take like 10 minutes to get your project's errors working exactly how you want.
My projects usually do -
log.SetFlags(log.LstdFlags | log.Lshortfile)
// ...
if err != nil {
log.Println(err)
return errors.New("Error doing the thing.")
}
That essentially logs a stack trace with line numbers up the whole error chain, each return adding the outer context. I only ever use errors.Is for os.ErrNotExist.
I know about slices module. But GP is not happy about generics apparently.
I think your error solution is good. But still it's a poor imitation of Exceptions wherein you have to capture the stack trace manually, possibly incuring a perf hit (haven't measured), and write handling code in every layer. Made worse by the fact that people return desperate errors for even precondition violations which should be panics.
The flexibility you bemoan in content creation is the exact same search people perform when running a startup. Finding product-market fit is a search process and content creators do the same thing. They see what customers like and focus in on that. Is it somewhat soulless? For sure. It is not unique to content creation though.
Entertaining people is useful! In my opinion, it is probably one of the most ethical ways to make money. I think game development is in that category too. It is a very pure field where you are giving a consumer something they enjoy and seek out.
Ethical all depends on if what you are doing is really you. Whether you are being you. The same way with any creative pursuit. There is a significant difference between creativity for creativities sake and creativity marketed to exploit.