2,241 karma · joined August 31, 2009
http://bjg.io
He started out with a widows platform layer, which implements generic services (input, sound, rendering, memory allocation) to get the system boot strapped. Since then he's mostly been writing generic game code (player movement, world rendering, time management, etc) which consumes the abstracted services and is cleanly separated from his windows platform layer. He architected it in such a way that it can be easily ported to other platforms once they have a game (he's brought up the raspberry pie a bunch a possible target platform).
The other people doing the ports have ported the "lessons" to other platforms so that people who don't run windows can (mostly) follow along, they are just viewers of the stream.
As for language choice, it is mostly C, the only C++ feature he uses (and why he compiles with a C++ compiler) is function overloading.
I took the chance to write up my beginning experience playing with the language, trying my best not to look at the docs. You can find the write up here: http://bjg.io/learning-elixir/
There also seem to a bunch of existing resources for getting started:
- http://elixir-lang.org/getting_started/1.html
It's pretty much a set it and forget it mining.
http://www.elasticsearch.org/download/2012/12/07/0.20.1.html
I guess my hesitation was caused by the assumption that while windows before NT was all 16 bit / 32 bit hybrid; it's API's are still essentially the same which is what you would care about when re-platting an API.
However I will concede my argument like a true gentlemen, as I now realize the ABI is what we should care about. It is almost certainly different even if the API's haven't fluxed that much, and that is what a re-platt project would most care about.
- Windows 1.0 released November 1985 [1]
- NextStep 1.0 releaed September 1988 [2]
1. http://en.wikipedia.org/wiki/Windows_1.0 2. http://en.wikipedia.org/wiki/NeXTSTEP
http://www.microsoft.com/global/surface/en/us/renderingasset...
http://visualstudiogallery.msdn.microsoft.com/20cd93a2-c435-...