Rampant Games hosts game industry essays, best known for 'The Black Triangle', about early progress that looks unimpressive but proves a lot of hidden work.
HN links it for the black triangle concept, and commenters use it to describe foundational work that shows little but is necessary.
Advantage for a beautiful demo. If I'm going to actually build real
applications in this way, I don't need to run my development environment
on someone else's website.
The key benefit of having an in-browser implementation of something like Clojurescript isn't:
"I can run my dev environment on the web."
it's:
"There IS no dev environment."
Look at how absolutely trivial and frictionless it is to get started with LessCSS[1], and compare it to the morass of libraries, source file locations, command-line invocations, and extra compilation steps that Clojurescript requires[2].
You can introduce someone to LessCSS and have them working with it in five minutes. No cross-platform problems, no installation, no figuring out how to automatically compile code when it changes, or anything else like that.
Once you need the extra speed, sure, have a command line tool to precompile everything to vanilla JS. LessCSS has this exactly. Heck, sure, maybe even run it through the Closure compiler if you want crazy speed. But don't optimize the development process for huge apps at the expense of small ones, because even if you only care about those huge apps (which would be a mistake -- there are some really cool small apps out there) you need people writing smaller stuff first to learn how to use Clojurescript, create libraries for it, convince others to use it, and so on.
Before anyone screams at me that I'm caring too much about that filthy concept of "easy", let me…
This seems like such a fun challenge. I just completed my first Ludum Dare Jam with a friend (72 hour gamejam), and we both learned a lot. Right from the start we had to manage a "72-hour TODO" list and a "Maybe we'll enjoy this game enough to take it past the weekend TODO" list. And things kept being moved from one list to the other.
I think the most important take-away for me was how important careful planning is right at the start. As we got closer and closer to the deadline, the code got nastier and nastier. But I made sure we spent several hours just planning our design before even touching any code, and that the foundation was solid. It wasn't until the final 6 hours or so that we had other entities animating on the screen. But by then everything just came together, and filling the game with more content and additional levels was a breeze. Need to add a complex feature? Great! We've already planned for it, and it takes 2 lines of code.
There's a short little blog entry I read years and years ago that I still remember, called "Black Triangles" which is similar. About developing a game for the original Playstation, and spending over a month to just get a black triangle rendering on screen. http://rampantgames.com/blog/?p=7745
We actually have decided to take our little game past the weekend, so maybe this will become our first One-Game-A-Month Game.
Indeed, it's a black triangle[0]
> [T]he black triangle was a pioneer. It wasn’t just that we’d managed to get a triangle onto the screen. That could be done in about a day. It was the journey the triangle had taken to get up on the screen. It had passed through our new modeling tools, through two different intermediate converter programs, had been loaded up as a complete database, and been rendered through a fairly complex scene hierarchy, fully textured and lit (though there were no lights, so the triangle came out looking black). The black triangle demonstrated that the foundation was finally complete the core of a fairly complex system was completed, and we were now ready to put it to work doing cool stuff. By the end of the day, we had complete models on the screen, manipulating them with the controllers. Within a week, we had an environment to move the model through.
[0] http://rampantgames.com/blog/?p=7745
That reminds me of this story, from developing for the Playstation:
>In the main engineering room, there was a whoop and cry of success.
>Our company financial controller and acting HR lady, Jen, came in to see what incredible things the engineers and artists had come up with. Everyone was staring at a television set hooked up to a development box for the Sony Playstation. There, on the screen, against a single-color background, was a black triangle.
>“It’s a black triangle,” she said in an amused but sarcastic voice. One of the engine programmers tried to explain, but she shook her head and went back to her office. I could almost hear her thoughts… “We’ve got ten months to deliver two games to Sony, and they are cheering over a black triangle? THAT took them nearly a month to develop?”
https://rampantgames.com/blog/?p=7745
Indeed. That single triangle likely is way closer to a million triangles than to zero triangles. https://rampantgames.com/blog/?p=7745:
“Afterwards, we came to refer to certain types of accomplishments as “black triangles.” These are important accomplishments that take a lot of effort to achieve, but upon completion you don’t have much to show for it only that more work can now proceed. It takes someone who really knows the guts of what you are doing to appreciate a black triangle.”
You can imagine "1 + 1 = 2" not as an important question in this context, but rather a proof of concept for the system they devised. It's a bit like the story about a "black triangle" [0]: a rather useless model passed through a rendering pipeline to produce a result any OpenGL novice can scramble in a couple dozen lines, but showing that the whole pipeline does, indeed, actually work as intended.
[0] https://rampantgames.com/blog/?p=7745