I know that's how stb_truetype's renderer works, incidentally. Don't know if Freetype is the same, but I'd be mildly surprised to find it wasn't.
724 karma · joined November 18, 2010
I know that's how stb_truetype's renderer works, incidentally. Don't know if Freetype is the same, but I'd be mildly surprised to find it wasn't.
That article's a classic; definitely worth a read for anyone interested in graphics.
[1] http://twitter.com/#!/rygorous/status/190907866037760000If I were Bezos, I'd be particularly upset about what the writer puts into his mouth about the Gates Foundation and other charities - "Well, Bill Gates has already cured AIDS and malaria, so all that's left for me is to build a fuck-off huge clock!"
What he's saying by advocating tax raises is "I will pay more if I know that everyone else will also pay more." He's not interested in paying $XM to reduce the debt by $XM, but he would happily pay a personal cost of $XM if it meant reducing the debt by $XB.
(This is called "collective action," and it's also Groupon's business model.)
The compiler is written on top of the low-level system in Dan Liebgold's 2008 presentation: http://www.naughtydog.com/docs/Naughty-Dog-GDC08-Adventures-...
More or less, the sexps that define a state-script get run through a maze of Scheme macros - there's even a pretty decent expression language in there which is compiled to bytecode - and the result is big honking C++ structure which is fed to the Uncharted runtime and interpreted.
In particular, note all those wait-blah-blah calls; those are using call/cc to implement coroutines. Which is something you really really want in a game but which C++ of course doesn't have. (GOAL had native coroutines.)
It's also nice to be able to iterate on the language syntax without having to fool with BNF grammars and so on.
The fact that they require price control, as a condition of doing business, tells me that Amazon expects this policy to hurt developers.
I took the parent post to be suggesting linking JSON into the game and parsing on each load -- IMO, the separate-data-compiler approach is superior for large projects, as it speeds up loading by a couple orders of magnitude. That's what I was trying to say.
(On the other hand, linking the entire Common Lisp runtime into your game just to load text files is a terrible idea. Obviously JSON is better for runtime parsing, but I don't think that's what the author is doing.)
So, if you then ask what language the separate data compiler should be written in, it seems like Lisp is a nice approach since it has a nice native object format with a built-in parser. Presumably you could also write it in JavaScript or some other language with excellent JSON support (Ruby? I'm getting outside my expertise here) and get a similar benefit vis-a-vis not having to write a parser.
Edit: I'm betraying my C heritage by saying "linking the Common Lisp runtime." Does that make any sense at all? Assume I mean some viable method of shipping Lisp with the game and making external calls to it somehow. ;)
To speed things up, lots of games have this sort of external program that reads in a human-readable text format and outputs cooked binary files (with appropriate endianness and so forth) for the game runtime to consume. The fact that this utility is an external program means that there's not a reason not to use a nice language instead of a C library.
For a toy example like this, the advantage isn't obvious, but when you're consuming dozens or hundreds of megs of compiled text, it's indispensable.
Anyone know if it's online? I have a print copy, but I can't find anything with a quick Googling.
The hacker crowd is not necessarily obvious at first glance; even the best schools are full of "thirteenth graders" and disaffected professors. But rest assured it's there. (The local ACM chapter is often a good place to start looking.)
Applying doesn't cost much; don't be afraid to apply to MIT and Caltech. You might get in! The usual strategy is to apply to a couple "stretch schools," three or four you think you'll probably get into, and a "safety school." (Write the applications for your safety schools first - the essays get easier fast.)
Community college is a backup. Work towards selective schools for now - they have early application deadlines. Community college, on the other hand, you can wait until practically the day before school starts. They're always there if you need them. That's what they're for.
Finally, don't worry about money. That's what financial aid officers are for. If you get accepted, they'll figure out a way you can afford to attend.