Return to “Announcements”


Re: The End

Now that this project is dead and buried, and all forum discussion seems to have stopped, I felt like making what may very well end up being the last post here! ;-)

Not that I'm expecting anyone to read it, but I felt like pointing out there's nothing wrong with what Josh did in the end.

(*) Implement basic functionality in C for speed. Check.
(*) Use the fastest available scripting language (Lua) for the rest. Check.
(*) Use Lua cleverly to make sure it JITs properly, and so it doesn't need to use its crummy garbage collector. Check.

That's EXACTLY how a project such as this should be tackled. There's nothing wrong with making your own engine for a project such as this, where you don't need super realistic graphics, and where you really need a *lighter* engine than the commercial engines out there. It's in fact exactly the right approach!

The only thing Josh did wrong, was taking too long to figure out the right way to approach the project. He wasted YEARS on dead ends. First he implemented his own scripting language (an incredibly bad idea!). Then when he finally realized he wasn't going to get the speed he needed from it, he translated all of his scripting code to one of the *slowest* scripting languages in existence (Python), in the vain hope someone would make it run fast enough with a JIT (which is a seriously difficult proposition, because the nature of Python precludes a lot of optimizations and makes JITing it ridiculously hard to do well).

In short, Josh wasted too much time on dead ends that he could (and really should!) have known were dead ends from the beginning, if he had just taken a sober look at things and done some proper research before enthusiastically starting to write code.

It's no big secret that designing and implementing a FAST scripting language of your own is a major challenge, and will take many YEARS of effort all in itself. It's not a viable way to get a game done, so he should have just said NO! to this idea as soon as it popped into his head.

It's no big secret Python is a slow language that can't be JITted well either, he should have put in a day of googling to find the fastest scripting language from the beginning. There was never any need to even consider Python for this game engine, so that was even more time wasted on a guaranteed dead end.

Add to this all the happy experimentation with tooling, and inventing cool infrastructure to build even better tooling, and Josh was in trouble. Big trouble. The fact his vision for the actual game was vague and constantly morphing didn't help either, and so the project was doomed.

I'm just writing this to set the record straight in the end: there is absolutely nothing wrong with the way he eventually chose to do it, and the half-baked engine that resulted may turn out to be very useful for others once it is open sourced and finished. Josh struggled with making the right technical decisions for a long time, and would have been greatly helped by taking some advice from someone more experienced. He did figure it all out by himself in the end, he just ran out of time and money before getting very far on the actual game.

Re: The End

Monk, I don't say much lately, but I'm here pretty much every single day. And I read your post. Thanks (sincerely) for taking the time to comment.

I think you make some good points. But I believe the most difficult problem Josh wrestled with on this project was never technical.

And that's all I'll say here.

Re: The End

The Monk wrote:
Mon Apr 15, 2019 8:34 am
It's no big secret Python is a slow language that can't be JITted well either, he should have put in a day of googling to find the fastest scripting language from the beginning. There was never any need to even consider Python for this game engine, so that was even more time wasted on a guaranteed dead end.
I'd need to look back and find the post(s) where Josh introduced this approach to provide specific arguments, but your characterisation of that decision being virtually on a whim is way off the mark. Yes, it proved to be a bad decision; but from memory he had put a lot of time into investigating many different languages and possible approaches after deciding that his custom language was not going to do the job; and the choice of python (and IIRC a very particular version of python) came after a significant amount of investigation into features and performance characteristics.

I believe he made what seemed to him to be the right decision at the time, after a great deal more consideration than you are giving credit for.

Re: The End

This is the true tragedy of man:
When we were kids, we thought the world was all ours. We felt invincible. We did not pay too much heed to the warnings of our elders, they were just annoyingly yapping old fools.
What did they know? They were old, and they must have also been dumb.. they missed those solutions, that we, being the gifted prodigies, saw so clearly.
Then we smacked against the wall that should not have been there.

A few more walls later, we grew up and have younglings of our own now.
We tell them the very same things our elders have told us. Beware the walls, not so fast, you will hurt yourself.
We now know, that these were not the warnings of clueless fools, but the warnings of those who have bashed their heads against those very same walls before us.
Yet, our younglings are just like we were. Fearless, arrogant and without a clue. So they go and smack against the wall as well.

Josh, if you are reading this, I wish you the best. You are a talented guy, it is time to start developing that talent properly.
I sincerely hope, that you will find a job, where your talent can grow and be properly utilized.
I also hope, that you get over this failure and find it in yourself to embark on another project of your own.
Last, but not least, I hope that by then, you will have grown enough to make it succeed.

Re: The End

Hi all!
I haven't been here in ages, I hope all of you are doing awesome. Josh, I wish you well. It was a helluva fight, well fought. Go pick another one when you're ready.
Tal, sorry for bailing on REKT, it was a good backstory at least. :;
And to everyone who made this my go-to lurking spot for a few years, thanks for the good times! Y'all are a unique crowd of folks, keep it that way.

Not sayin' goodbye, just sayin', "So long!" [tips cap]
"We've been looking for the enemy for some time now. We've finally found him. We're surrounded. That simplifies things."
-Col. Lewis B. Puller, USMC

Online Now

Users browsing this forum: No registered users and 0 guests