Author of the article here. This implementation of A* was me playing around. It is definitely not optimized for either Ruby or Crystal It was merely a chunk of Ruby code that I had lying around. You are right about the unsorted queue being a hack around Array, but it was part of another experiment of using a "Fast Stack"[1] for the A* algorithm. It allowed me to swap in other Queue implementations easily.
The point of the article was merely "How much work does it take to port Ruby to Crystal" The performance differences were just fun to see, not the intent.
If I get time, maybe I'll run this through jRuby+Truffle as a comparison, that would be interesting to see.
I think it's important to keep in mind that the OP is a consultant not a developer at a product company. I'm sure they end up working with external development teams that can't simply be dismissed (or fired), but must be worked with for the good of the customer.
Simply saying "bad management" or "bad hire" takes too narrow a view on software development. The OP is a developer trying to get work done with the team, not a manager with authority over the others.
I like your idea here. I think the downside of this approach is you must scale your random data points by a scaling factor to get them in a known range.
The downside of Simplex noise is that anything greater than 2D is patented: http://en.wikipedia.org/wiki/Simplex_noise There is another project called OpenSimplex that has similar results.
(Author here): One approach is to use multiple layers of noise configured with different parameters. By joining multiple layers you can give the appearance of things like ocean, flatlands, and mountains.
Also, cannot recommend Amit Patel's stuff enough. That guy is a fountain of knowledge for all things gamedev.
Supporting some sort of JIT in Ruby is a long time coming. Glad to hear it!
I wonder how this "soft typing" would affect things like method_missing magic and the like. Would it be an optional runtime option to enforce the implicit interface?
Good points. Makers need to make and use their creativity ( http://spin.atomicobject.com/2012/04/08/do-what-you-love/ ). We cannot just be butts in seats. The 501 guys seem to want to just be a cog in a machine, but that is not enough for me. I think other makers would agree.
Having worked in both of these situations, I completely agree with this post. Even with the adoption of "Corporate Agile", our large teams were not able to get near the efficiency of a smaller 4-6 man team.
I think another point to look at would be the level of scrutiny that goes into hiring another member of a dev team of 5-20. A 100 dev team is usually hiring by resume via HR with less focus on culture fit and in-depth technical knowledge.
The point of the article was merely "How much work does it take to port Ruby to Crystal" The performance differences were just fun to see, not the intent.
If I get time, maybe I'll run this through jRuby+Truffle as a comparison, that would be interesting to see.
[1] https://github.com/SteveRabin/JPSPlusWithGoalBounding