There are a lot of things I find exciting. For example, AI/CV/CG. The field is rapidly saturating, and everyone is coming here.
The problem is, despite knowing most of the background (and already forgetting most of it), there isn't substantial work that I can show to others. I've been here for 7 years now (academia). However, there isn't any output other than a few small toy projects. Every year, the compute requirement grows, and even after having compute, doing something without guidance is quite painful, lonely and unmotivating.
On the other hand, working on a graphics engine is fun; making CG stuff is fun but can't make it like big studios. The best I can do is graphics from the 80s. (Sure, coding an engine is hard and fun, but there is more than just an graphics engine).
It all sounds like an excuse. I do not even understand it myself. Like people do not care if I can make an 80s engine from just driver APIs (GL/Vulkan/Metal/whatever) because it still looks like 80s stuff. This is direly disheartening. And time to make modern ones grows exponentially compared to my current living expenses because I do not have enough money to sustain for more than 6 months.
I think the key is to realize and accept that some projects are now so complicated and large that no single person can build it from scratch.
The Unreal engine (for example) is built by a large team of individuals working full time over many years. No single human can start from scratch and build Unreal 5.
Same goes for leading edge AI, space rockets, Linux, AAA games, etc.
However what you can do is to work on things nobody has worked on before. A new type of programming language, an interesting new type of game etc. It is a lot harder to get started because you can’t simply target what has been done before. However you absolutely can make things that others find valuable. Indie game developers (for example) do this all the time. It is not easy but it is doable.
Comments
There are a lot of things I find exciting. For example, AI/CV/CG. The field is rapidly saturating, and everyone is coming here.
The problem is, despite knowing most of the background (and already forgetting most of it), there isn't substantial work that I can show to others. I've been here for 7 years now (academia). However, there isn't any output other than a few small toy projects. Every year, the compute requirement grows, and even after having compute, doing something without guidance is quite painful, lonely and unmotivating.
On the other hand, working on a graphics engine is fun; making CG stuff is fun but can't make it like big studios. The best I can do is graphics from the 80s. (Sure, coding an engine is hard and fun, but there is more than just an graphics engine).
It all sounds like an excuse. I do not even understand it myself. Like people do not care if I can make an 80s engine from just driver APIs (GL/Vulkan/Metal/whatever) because it still looks like 80s stuff. This is direly disheartening. And time to make modern ones grows exponentially compared to my current living expenses because I do not have enough money to sustain for more than 6 months.
I think the key is to realize and accept that some projects are now so complicated and large that no single person can build it from scratch.
The Unreal engine (for example) is built by a large team of individuals working full time over many years. No single human can start from scratch and build Unreal 5.
Same goes for leading edge AI, space rockets, Linux, AAA games, etc.
However what you can do is to work on things nobody has worked on before. A new type of programming language, an interesting new type of game etc. It is a lot harder to get started because you can’t simply target what has been done before. However you absolutely can make things that others find valuable. Indie game developers (for example) do this all the time. It is not easy but it is doable.