I wonder if Rust could become used as a standard library for other languages in the future. It seems well fitted for this role due to it's safety, relatively easy ffi, and speed next to languages with similarly large standard libraries.
I believe rust can compile down to a shared object and thus trivially used via any CFFI. Sure you lose the expressivness of the rust language APIs but that's a nightmare for interop anyways.
Sadly, I must say goodbye to Leaf, my programming language
21–30 of 132 posts
Re: Sadly, I must say goodbye to Leaf, my programming language
#22I had a similar thought process (but luckily without spending time implementing something). I want to write a game. I thought, "None of the current languages works quite the way I want. I know! I'll write a language specifically for my game and just keep implementing the bits I need". Then I thought, "Wait. If I do that, I'll spend 90% of my time writing a language and 10% of my time writing a game". So I was saved.…
I hit a similar roadblock for a long time, always spending time writing low level graphics utilities (which I do rather enjoy) but never getting around to writing a game. If you find yourself in a similar situation and want to get around it I would suggest trying unity, which I was hesitant to do since: 1. It felt like giving up and cheating, and 2. I don't like how unity interfaces with the developer, since I mostly…
Re: Sadly, I must say goodbye to Leaf, my programming language
#23Re: Sadly, I must say goodbye to Leaf, my programming language
#24What he is experiencing is the reality of most people's lives. The boredom and drudgery of doing the hard yards every day. Most people do not have the luxury of doing what is interesting to them. It is a case of just having to knuckle down and complete what has been started. From my personal perspective, it's nice to have side projects that are interesting and learning exercises. The reality is that if these side pro…
Yes and no. Sometimes it's not about the destination but about experiencing the journey. From the post it seems like the author extracted the value they wanted to extract over the years. Knowing when to give up is difficult, especially when you've sunk a lot of cost into the project and feel like you have to finish it. The thing is, you don't have to and it's perfectly acceptable to put it on hold indefinitely. In th…
However, when one starts a project and says "look at me and the fabulous stuff I am doing" then it does not show them in a good light when they give up because they are now in the drudge work.
In a public situation, they are essentially saying that they are not worth their hire when the normal drudge work starts. I can understand stepping back from a project for all sorts of reasons, except for the reason that it is hard work to continue because drudgery.
Most of the work that most of us have to do is not exciting, not learning new things, not even interesting. It is just drudgery that needs to be done to get to the eventual goal that we started with. This is life.
The thing is that even drudgery work can be viewed in a very positive light if we continue to see it as essential for the final goal we started with. We will see the need for it and we work willingly towards the completion of it for the purpose of what we will achieve in the end.
The journey is a part of the destination and it is an essential part of the whole process. A journey without a destination and a destination without a journey are both meaningless without the other. Both are the two sides of each other.
Re: Sadly, I must say goodbye to Leaf, my programming language
#25Earlier quoted context omitted.
I hit a similar roadblock for a long time, always spending time writing low level graphics utilities (which I do rather enjoy) but never getting around to writing a game. If you find yourself in a similar situation and want to get around it I would suggest trying unity, which I was hesitant to do since: 1. It felt like giving up and cheating, and 2. I don't like how unity interfaces with the developer, since I mostly…
Re the second point did you manage to get around this? Played with it a bit and it felt almost like flash back in the day where you could eschew the timeline and do everything programmatically. In the end ran into a problem where I wanted to move the universe around the player and couldn’t get the particle engine to cope..
For very specific effects like universe turning, you have to do a lot of code work in a niche area, but it's still quicker than building a particle engine from scratch. Sometimes you can cheat the effect in shaders or camera tranform manipulation. Or skip the effect altogether if the volume of custom code is not worth it and you are prioritizing shipping. Ask yourself, does it make or break your game?
Re: Sadly, I must say goodbye to Leaf, my programming language
#26I had a similar thought process (but luckily without spending time implementing something). I want to write a game. I thought, "None of the current languages works quite the way I want. I know! I'll write a language specifically for my game and just keep implementing the bits I need". Then I thought, "Wait. If I do that, I'll spend 90% of my time writing a language and 10% of my time writing a game". So I was saved.…
Most new languages just don't get the things right that C++ did, which is why despite it having a ton of deficiencies when it comes to game development, it's still what everyone in AAA is using. Companies in AAA spend so much money on software to even just somewhat improve places where C++ has gaping flaws. A better language should have been developed by now and I don't even want to think about how much money C++ has cost the industry as a whole, even just purely on iteration speed.
Re: Sadly, I must say goodbye to Leaf, my programming language
#27What he is experiencing is the reality of most people's lives. The boredom and drudgery of doing the hard yards every day. Most people do not have the luxury of doing what is interesting to them. It is a case of just having to knuckle down and complete what has been started. From my personal perspective, it's nice to have side projects that are interesting and learning exercises. The reality is that if these side pro…
This post seems to be just a collection of generalities judging the way that someone else has chosen to spend his time. You seem both to be saying that he shouldn't have started and that, since he started, he shouldn't stop. Well, presumably the author once got some value out of the effort, so that it was worth starting; and found that he was now no longer getting enough value out of it, so that it was worth stopping…
If he had said he was stopping due to life commitments or family situations, etc, then these kinds of things take priority, as they should. No problems or issues should arise from that. But he has stated that he is giving up because it now involves doing the hard yards to complete the project - this does not show him in a good light.
In essence, he is saying that once something has become non-interesting in whatever way, then he will give up and move onto something else that will hold his interest. In other words, he is committed to a course of action only when it holds his focus, but that he will happily drop it when it becomes hard work.
I really don't think that he was intentionally going out to say that he is undependable. This is what he has said though.
Re: Sadly, I must say goodbye to Leaf, my programming language
#28I wonder if Rust could become used as a standard library for other languages in the future. It seems well fitted for this role due to it's safety, relatively easy ffi, and speed next to languages with similarly large standard libraries.
I believe rust can compile down to a shared object and thus trivially used via any CFFI. Sure you lose the expressivness of the rust language APIs but that's a nightmare for interop anyways.
Re: Sadly, I must say goodbye to Leaf, my programming language
#29What he is experiencing is the reality of most people's lives. The boredom and drudgery of doing the hard yards every day. Most people do not have the luxury of doing what is interesting to them. It is a case of just having to knuckle down and complete what has been started. From my personal perspective, it's nice to have side projects that are interesting and learning exercises. The reality is that if these side pro…
I struggled with side projects that I never completed until I decided that I would never do a side project that can't be done in one or two afternoons. There are people out there that can chip away at a project over months or years and I think I just took a while to learn that I'm not one of them.
I have lots of side projects that I may live to see finished. However, any that I say I am working on get assigned time to move them forward - they may take years to complete, but they will be worked on over time.
From my perspective, he would have been better off saying that due to time constraints further work will be done when he is able to allocate time and leave it at that. There are plenty of projects that only get updated irregularly over years and can have years between updates. That's fine.
However, if you stop a public project because you just don't want to handle the hard work now involved, that becomes something different. You are making a public statement about your character which you probably weren't intending.
Re: Sadly, I must say goodbye to Leaf, my programming language
#30Earlier quoted context omitted.
I hit a similar roadblock for a long time, always spending time writing low level graphics utilities (which I do rather enjoy) but never getting around to writing a game. If you find yourself in a similar situation and want to get around it I would suggest trying unity, which I was hesitant to do since: 1. It felt like giving up and cheating, and 2. I don't like how unity interfaces with the developer, since I mostly…
Re the second point did you manage to get around this? Played with it a bit and it felt almost like flash back in the day where you could eschew the timeline and do everything programmatically. In the end ran into a problem where I wanted to move the universe around the player and couldn’t get the particle engine to cope..
My role meant I had to make the correct business decisions using my technological knowledge and as much as writing engines and technology ran through my blood, the right answer was to switch to Unity. The man cost of constantly writing all the technology we need and then maintain it was too great compared to the ever diminishing wins we got from it.
One scary part of this decision was then hiring Unity programmers and initially having these new hires knowing more about Unity than I did. I needed to make calls about what is possible, time frames, performance, meeting client requirements etc without being an expert of the most important part of our development process. Luckily we made the right hires and it didn't take so long until I had been converted to the Unity mindset. Initially I would always be saying "oh well I would normally tackle this in this way" and wanted to coerce Unity to work in a familiar way. But overtime this disappeared and I became increasingly interested in working out the best way to achieve things in the "Unity way" which ultimately returns much greater dividends.
The first game we released, called Bloody Zombies came out last year on Steam, Oculus, Xbox One, PS4 and Nintendo Switch. It can be played in VR (on supporting platforms) and non VR. It is multiplayer, both in the sense of multiple people on one machine (you can do things like 1 VR player and 3 TV players or 4 TV players) but also online multiplayer (where you can do one player per machine or any combinations say one tv player on one machine playing with 1 VR players and 2 tv players on another machine).
VR meant we had to maintain a constant frame rate (60 or 90 depending on platforms). We used stereoscopic rendering, offloaded graphics work to a special job system. We used custom shaders (the game is like a graphical novel so outline shaded characters) we have spherical fog, lightmaps, FXAA, colour post processing etc.
Online multiplayer meant a packet system, ability to establish connections, matchmake, a system for making parts of the game world communicate, handling so many error cases, etc.
For variety of platforms meant lots of variety on the rendering, controller input etc.
For Switch it meant the ability to play on Switches close to each other on a different protocol to online multiplayer.
I shudder to think how much time and effort this would have been without Unity. I suspect we would have needed several new hires working on platform specific tech, full time network engineers, at least one full time graphics dev, at least one full time audio dev, one full time physics dev, the list goes on. Instead we had 3 programmers (which includes me where my time was heavily comprised being a founder/MD/Tech Director/coffee maker) and whilst the other programmers were very good they had both only graduated a few years prior.
Did Unity solve everything? Absolutely not. We hit loads of huge problems with Unity. Without help of their engineers some problems we would never have been able to solve. We helped Unity fix lots of issues at their end. We found issues that could have been solved trivially without Unity. We felt the strain of waiting days for an answer to a mission critical Unity issue. But in the grand scheme, the pain was less than 10% of what we would have experienced doing it with our own engine.
My big worry was not doing "tech" anymore, but that simply isn't true. But instead of having to write loads of architecture and code to even be able to write the "real" tech, instead you can write the more interesting stuff. For shaders you just write the shaders, not the system for passing in shader constants and setting up vertex streams. Post effects is similar. Coming from a strong engine/Tech background has been massively helpful, whilst unity trained hires are amazing it has been really useful for our studio for me to be able to get into the lower level to add feature, fix stuff, debug stuff, etc.