Page 1 of 1

How useless software can become the most useful thing you have ever created

Posted: 23 May 2019, 15:36
by ZeroHero
WARNING: Motivational speech - because why not! :)

If you have a few minutes I would like to share something with you.

Before you continue reading please keep in mind that this story is not only restricted to software developing but can be taken on board by artists as well as other professions.

For a while, I have wanted to let people know about my journey as a software developer and how it has changed my life.

In the 90's when 3D computer graphics was changing the landscape for games I became fascinated by the technology. I wanted to know how you could develop 3D graphics yourself. Keep in mind this was way before you could get your hands on games engines. I spent a lot of time learning programming and how to render graphics to the screen. Before I knew how the maths for 3D graphics worked I had manged to develop a little software that could render animated characters in 3D. I remember it was a big moment for me to be able to deform a 3D character on screen using my own algorithms. It was these kind of personal victories that made me carry on and made me want to achieve more.

I decided to get a degree in software developing but I also knew it had to be graphics related, otherwise I would be concerned that I would lose interest along the way. The only educations that offered these requirements were universities abroad, so I applied and against all odds I got accepted. I went to England and I finally learned how the maths worked in the software I had developed and I also learned new programming languages and a lot about good coding practice.

After I graduated and had landed myself a job in the games industry I realised that my passion for creating my own projects had not faded away. So I decided to create something that has always fascinated me, a proper 3D modelling, animation and rendering software. When I told my work colleagues they laughed and said it was pointless as there is much better software on the market that I could ever develop. That did not stop me because I would not develop this software for other people to use, I would develop it for me to use.

Years later I had managed to have developed something that worked. It was not groundbreaking by any means nor better than other software on the market but it worked the way it was supposed to. So far I have used it for modeling and texturing 3D objects and characters for small projects and I have also used it for rendering out some product images for a company and I got paid for it as well. However more importantly, I learned that when I presented this software at job interviews it became a game changer, the interviewers would stop asking me what I could bring to the table and would instead ask me when I could start working for them.

That was something I had never thought would come with it when I started working on the project. I had no idea of how much my 'useless' software could impress other people and open doors for job positions that never would have been offered to me otherwise. I have had people cheering out loud when I demonstrated the software. One place I was asked to demonstrate the software in groups until everybody in the company had seen it. I have had company owners asking if they could buy parts of the project or the entire project.

All this will give you confidence and you will start to appreciate your own craft.

At the moment I am working for an animation technology company with major clients from the games and film industry. I am still working on my project in my spare time as I still have new ideas of how to improve it and who knows maybe some day it will take on and be used in the industry but the success of the project has already been reached. I often get confronted by people who usually favour another 3D software and will often point out that I am wasting my time developing my own software, well little do they know.

The moral of the story is that if you make something that can impress other people, it doesn't matter if it is groundbreaking or not. People will look at you differently once you have finished and completed a project on your own. Sometimes all you need to do is to finish a project to impress people. All these 'useless' projects you have started and never finished, imagine if you actually had finished them and could show them to others, those projects would be worth more than gold for you as you will be surprised how much it can help you succeed in life.

Never give up!

Kind regards
Soren Klit Lambaek

Re: How useless software can become the most useful thing you have ever created

Posted: 25 May 2019, 13:21
Nice! Good job Søren! Totally agree it's an amazing kick ass portfolio project! For tools development. And others can learn from that.
Obviously people should focus their energy on the areas that interests them.

I also agree about the skeptics points about the software place in the big commercial market place. Which was never really the goal to compete in. Although I could see it as a small niche thing as a cheap 3dsmax alternative for hobbyists and smaller entities. But those might just for a cracked version or take the leap to Blender.
Currently the target group could be defined as lawful, 3dsmax conservative hobbyists on a small budget. Or something around the lines of that. ;)
But it doesn't take away they value it has created for you. In the sheer joy of creating it. And the portfolio value.

And recognizing the value that software houses would be interested in picking it up and develop it further. That might be the biggest future potential for the project?

How is the mobile version coming along? It is not a super crowded space on mobile. I could personally never live with 3D modeling on mobile. But for people out there in the big world, without the access to a desktop computer. It could play a useful role.

Anyway! Keep kicking ass and follow your hearts content with geeky projects! :)

Re: How useless software can become the most useful thing you have ever created

Posted: 26 May 2019, 12:39
by ZeroHero
The mobile version is coming along just fine. At the moment I got basic editing tools up running and can actually model something on screen. It is interesting and actually much fun to sit with a mobile phone and especially a tablet and model in 3D. It is weird how quickly I got used to modeling without mouse and keyboard.

Sometimes I compare it with playing games on a PC vs playing games on a games console. Yes, playing FPS games on a PC has it's benefits in terms of aiming accuracy etc. but the comfort that comes with playing on a console gives the player a very different gaming experience that cannot be ignored. I used to be a PC player only but have recently picked up the PS4 (Thanks to Red Dead Redemption 2) and I have realised how much fun it is to slouch in your couch and play using a game pad/controller rather than using keyboard and mouse. I definitely think there is a future for 3D modeling on tablets and mobile phones but it will never replace the PC and it really shouldn't. That's why my new version will be available for PC as well.

Another thing with my new version is that I get a great opportunity to correct some of the mistakes I did for the first version. The memory management will be much more efficient and should perform much faster. For example the subdivision for the new version will be so much faster, which will be very noticeable for the animation and skinning tools. Also, I will finally get the undo/redo features implemented properly, the importance of that feature was something I totally underestimated in the first version. Pretty much all the feedback I have received from users have mentioned the frustration of not being able to undo an action and I think the lack of that feature has single-handedly left a lot of users not wanting to use the software on a regular basis until this feature is in place.

On a more personal level the new version has also given me an opportunity to use the very latest version of C++. The language has changed so much over the years and it is so much easier to write clean and platform independent code using modern C++. Also, I have introduced unit testing for the new version which will allow me to develop much more stable code and will make it easier to maintain my code and add new features.