Live data from Hacker News

Sadly, I must say goodbye to Leaf, my programming language

mortoray.com

61–70 of 132 posts

Re: Sadly, I must say goodbye to Leaf, my programming language

#61
It's a depressing feeling but the key point is that it's not motivating you any longer and motivation was the driving force of the project. When I face situations like that I usually raise the requirement bar up until it feels hard and fun again. So I suggest that instead of just doing what needs to be done with your project, invent a novel solution to the problem that is useful enough but most importantly - motivating you to do it

Re: Sadly, I must say goodbye to Leaf, my programming language

#62
post #26

Earlier quoted context omitted.

Games are still in need of a better language. I have some skepticism and hope for Jai. I really wish D as better C worked better in that realm, but it's missing a few crucial things. Rust asserts too much control over memory. I'm all ears for anything that's somewhere between C and C++ as an alternative to write games in. Most new languages just don't get the things right that C++ did, which is why despite it having…

> I really wish D as better C worked better in that realm, but it's missing a few crucial things. Such as? We are always looking for for things that get in the way of use.

Under "unavailable features" https://dlang.org/spec/betterc.html#consequences

3, 4, and 5 are all pretty sore points. 2 would be as well if it weren't extremely likely that for any game you create roll some sort of reflection system. It would be a sore spot for small projects.

3 - No access to classes and polymorphism is a bit of a downer. Although I'm a big believer of data-oriented design, I think there are still many cases where modelling things as objects is the best way to go, especially for things like scene actors and game objects.

4 - No built in threading (core.thread) puts a hamper on any sort of distributed updating or performance optimizations you'd want to do. I'd imagine the workaround is external multi-threaded dlls or something, but it sounds like a pain to manage and deal with in a workflow.

5 - No dynamic arrays. This container is used abundantly in game development. It shows up 5 or more times for every heap/stack/queue. This may not be an issue if you want to write a special memory environment and your own containers, which is common in game development, but not having access to a standard one certainly hurts when it comes to smaller projects or graphics programming experiments.

I may be somewhat off base here since what happened is that I read about those being missing and decided not to try it.

Another note is that a big thing I'm looking for is massively improved compile times, which is one of the biggest things Jai looks to have over C++ in addition to its compiler hooks and #run.

Re: Sadly, I must say goodbye to Leaf, my programming language

#63

What 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 don't agree. If I'm doing the boring parts of a project at work, at least I get paid for it. If I'm doing the boring parts of a side-project, where the only benefit to me is that it's fun, what's the point?

Re: Sadly, I must say goodbye to Leaf, my programming language

#64
post #19

I 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.…

Language Syndrome sounds like Engine Syndrome in hard mode. You want to write a game, so you start working on a game engine, only to realise that a game engine is a never-ending project and you'll never have spare energy to actually write the game. I fell prey to this a couple of times back in the day.

Both are examples of the push-down goal stack in action: http://wiki.c2.com/?PushDownGoalStack

Re: Sadly, I must say goodbye to Leaf, my programming language

#65

I want to do D, and it'll be easier to do A, B, C first. A turned out harder than expected; B had challenges, some seemly insurmountable, some merely incredibly tedious. C looks even worse. I'm exhausted, lost interest in D. But I "should" continue. I give up... a failure. All because A, B, C make D "easy".

”I give up... a failure”

You could also call it a partial success. Your A and B may help others write their C and D.

Also, hobbyists should have the motto “the journey is the reward”. If you had fun or learned doing A and B, it’s not a failure, even if all the learning was “if you want a D, it’s not worth it spending time writing a slightly better A and B”.

Re: Sadly, I must say goodbye to Leaf, my programming language

#66
post #41
post #30

Earlier quoted context omitted.

I started our my games development career as a low level programmer and moved to a lead programmer in the technology department and then founded a games studio where we wrote our own engine and released several games. 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. T…

> 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. Wouldn't that make you feel nervous ? To totally depend on unity's merit to ship a game when you cannot address blocker bugs yourself ?

Yes, but not unusual, as well as Unity we have similar blocks from MS, Sony, Oculus, Nintendo.

One good thing is that rather than us hitting lots of blocks with the hardware manufacturers with regards to the engine, Unity handles this instead and Unity is in a much better position to resolve issues due to their relationship with the hardware manufacturers but also the size of the dev team.

We still had several issues we had to deal directly with Sony/MS/Nintendo. Some issues they could resolve and others they could not (meaning we had to find elaborate workarounds or key changes to the game we didn't ideally want to make).

Re: Sadly, I must say goodbye to Leaf, my programming language

#67

Earlier quoted context omitted.

Might be considered as a less biased list of achievements (not that I'm saying that Walter Bright's list on his website is biased).

One's name is one's brand, and where practical I recommend that people buy yourname.com and own your brand, rather than relying on the vagaries of what others may say about you.

burn

Re: Sadly, I must say goodbye to Leaf, my programming language

#68

I 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.…

One of my motivations for writing a compiler was to get my game Empire to run faster. Wound up with a career writing compilers, not games.

Wow, I was not expecting this, but "Empire" was the name of the game I have been looking for for a few years. I even asked on Reddit about a year ago (https://www.reddit.com/r/tipofmytongue/comments/6wq2t1/tomtg...), but without any luck.

I played empire (in the classic text mode) together with my dad probably more than 20 years ago.

Thank you for the game (I have lots of fond memories playing this with my dad), and for reminding me what the name was!

Re: Sadly, I must say goodbye to Leaf, my programming language

#69

Earlier quoted context omitted.

Might be considered as a less biased list of achievements (not that I'm saying that Walter Bright's list on his website is biased).

One's name is one's brand, and where practical I recommend that people buy yourname.com and own your brand, rather than relying on the vagaries of what others may say about you.

Sure, it's fine to own your own brand–but personally (being blessed to not have a brand image), I tend to put more weight on what other people have to say about someone than what they say about themselves. Though, of course, it's often interesting to see what people tend to put on their personal pages; often what they're proud about differs significantly from what they're famous about.

Re: Sadly, I must say goodbye to Leaf, my programming language

#70

I want to do D, and it'll be easier to do A, B, C first. A turned out harder than expected; B had challenges, some seemly insurmountable, some merely incredibly tedious. C looks even worse. I'm exhausted, lost interest in D. But I "should" continue. I give up... a failure. All because A, B, C make D "easy".

Perhaps that did not come across in the article well. When I set out to do Leaf that was the goal of the work. It's wasn't a diversion to some other goals. Over time my priorities changed, and I was trying to force myself to follow Leaf to follow them.

Had I wanted to make a game from the start I would most certainly not have made a language first! That would be crazy. And that's my comments about sunk costs -- just because I have Leaf, it'd still be crazy to do this other projects in it.

Post reply on HN