Hacker Newsnew | past | comments | ask | show | jobs | submit | HeyChinaski's commentslogin

Salvatore is admirably proactive at garnering criticism for his project. He's also incredibly gracious when accepting it.


I made a very similar bot a few years ago. http://twitter.com/markovator


Now I feel bad for slowing up my current pet project by getting bogged down writing polygon collision detection when axis aligned bounding boxes would have done for prototyping. (I'm not as quick as Notch!)


To be fair, Notch did just spend a few years of his life thinking entirely in terms of axis-aligned boxes. ;-)


>> (I'm not as quick as Notch!)

You probably haven't been writing games as long, or written as many, or entered as many game contests/competitions as he has.

It'd probably take him a while to write a database or word processor since he likely doesn't have the domain knowledge and experience.


My understanding is that usually you want both because AABB is good for broad-phase because it's so quick then true polygon collision can be done in a narrow phase.


Absolutely.


Interesting. I've recently set aside a ThreeJS project. I'm not a math wiz but even with Three, you still need some idea about matricies, vectors and even quaternions. The way you're "supposed" to do collision detection with Three is with raycasting, so more fun with vectors and matricies. I thought I had scaled down enough other things for prototyping but perhaps there was more room than what I thought.


You might want to take a look at our product, PlayCanvas. We've tried to do all the maths for you, so you don't have to. :-)


Well, this can actually have a pretty significant effect on the feel of the game so depending on what kind of game you were prototyping, it might be worth it (though, your better off hardcoding a few cases of SAT than trying to get it working completely generally in a prototype).


How would one hard code SAT cases? Just curious I've got the general code working now.


In defence of the technique, the command table is quite succinct and arguably more readable at a glance than if there were a bunch of constants |ed together. I have no idea whether this was the original motivation though.


Yes. It is certainly more pithy.

ACTUALLY! It reminds me of a technique Bisqwit used when he made his emulator. He used strings to define the behavior of certain instructions, the strings were actually interpreted at compile time. Though I think this is a C++ specific trick.

http://www.youtube.com/watch?v=y71lli8MS8s

he brings in the instruction table at 1:30


I was quite surprised to see the tcl tests. I'm reserving judgement until I've tried writing one though.


To be fair, the tests in themselves are alright, but I'm not to familiar with tcl and have had problems with running them in a CI build with a lot of redis-servers being left behind. As the test are as far as I've seen basically integration tests it would be quite nice to have them in something like python to make them a bit more easy to handle.


Ah yes, I remember the interval sets article. The first post is a lot more in depth than mine. Both great links, thanks.


Yeah, it's a pretty shallow introduction. I'd like to write more articles on the Redis code. The sorted set skiplist stuff is really interesting.


The entire implementation of sorted sets is really interesting, with a dual implementation of ziplists and skiplists being used depending on the amount of elements in the list. I've been meaning to write bit more about Redis internals lately; maybe I'll start on that in my commute hours.

I've got a couple of general articles on adding a command and adding a datatype to Redis at http://starkiller.net, but I don't get too into existing code. I'd be interested in writing a bit more about the other data structures as well as the multiple strategies used for EXPIRE (which recently changed I believe).


Write: How to write custom C commands ?


Professor Power and Powerbot

http://www.ludumdare.com/compo/ludum-dare-27/?action=preview...

Terrible name I know. Platformer built in Javascript. No frameworks or libraries other than a sprinkling of jquery. SunVox for music, sound in bfxr, graphics in Inkscape.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: