13 comments

[ 5.1 ms ] story [ 40.6 ms ] thread
Read through half of it and forgot the part of zig, thought I was reading about a personal experience of game engine programming.
It's pretty funny, when people are looking for "better c", but "forget" to look at D lang Especially, when they don't care whether language has GC or not
So I looked it up and found maybe C is a proxy for embedded:

   https://wiki.dlang.org/Why_program_in_D#Embedded_Developers
Embedded D became possible in a later stage of D development. It never got traction, and still isn't recommended :/

Zig has cross-compilation almost from the beginning, a huge win for embedded, and setting a standard. Also having the build system integrated in the language solves many problems typical for the embedded space. If Zig continues to have a focus on embedded, it may well preempt Rust in that space.

> this meant they had came across Sun’s Project Wonderland - the delightfully terrible 3D virtual workplace of the future (or so Sun thought, before they had to sell to Oracle.) It was terrible, barely a good demo ... It required something like 32 CPUs and 64G of memory to run the server for just 8 players

That brings back some awful memories. Project Wonderland was a great idea, a federated open source second life, but it was plagued by java and the architecture astronauts java so frequently attracts. I thought it would be ideal to setup a training/simulation system for our web based software, it had an inbuilt browser and assets we could script, but trying to run just the client on my 2GB laptop was too much. Second Life was incredibly slow and ugly but this was an order of magnitude worse in every way. I think if I were trying to do the same thing today unity would be a far easier path.

> Since March of last year, I began basically working two jobs: every day after I sign off from work at Sourcegraph, I spend around 8 hours working on game development.

How does one do this and still sleep? Is your position at Sourcegraph still part-time?

No, I work full-time at Sourcegraph (and do quite a lot there, if I’m being honest.)

I work 10am-6pm at Sourcegraph generally, and 6pm-2am on Hexops, sleeping ~7-6 hours generally. Working weekends also helps me get a lot more time into side projects.

Doing what you love is generally good for your mental health, but I can't imagine feeling anything but terrible being at a computer for 14 hours a day (assuming you stop for basic bodily functions) and 7 days a week. How long can/do you sustain that for?
Been doing it a year and a half now, almost, and I don't see any issue continuing.

There are only 3 things that would prevent someone from doing this: (1) mental health, (2) social commitments, (3) physical health

It's about setting yourself up to prioritize your time in the way you want to spend it:

* I'd rather spend 2 hours coding than going to the store, so I get everything delivered.

* I would go crazy in a small SF apartment, I pay less and get a huge house in Phoenix. I work in ~5 different places throughout the day.

* Before I eat, sleep, shower, etc. I always make sure I have a difficult problem on my mind that I can try to solve in my head.

* I make sure to save "grunt work" coding for when I'm decompressing, watching TV, etc. Multi-tasking is a blessing, learn to master it.

* I have a treadmill standing desk that I walk ~10 miles a week on while coding. If I need to write code, I walk slowly for a long time. If I have a difficult problem to solve, I run fast for a short time while thinking about it.

I wouldn't suggest anybody do this as aggressively as I am - but I would suggest people pay attention to where they want to be in life and where they spend their time. Time stops for nobody.

I don’t want to do that kind of life style forever. But likely have to for some time. This comment is inspiring. Good to have the caveats as well.
Regarding languages/game engines - is anyone aware of good game engine, that is thread safe?

My limited experience with Unity was that it's cool and fun until you want performance and then start hitting these annoying concurrency limitations.

Seems like Godot also has some limitations like that. [0]

Is that something that is general limitation of game engines design or limitation of languages they are implemented in?

[0] https://docs.godotengine.org/en/stable/tutorials/threads/thr...

This quote about the V programming language surprised me, because I had the exact opposite experience.

> it was the unfriendly community I came across, the controversy surrounding it, and the secretive nature of the project that made me lose faith in its promise.

I know V has some controversy around it, but the community has always been open and kind in my experience.

You are 100% correct, this was a mis-characterization by me due to a misunderstanding I had. I've updated this section of the article to explain.