|
|
|
Fun & useful weblinks
Here’s a list of assorted links. Some are useful, some are fun and the rest are, well, there. These are simply links I’ve personally found intresting at some point. Some of them may contain weird material.
Webgames
Webcomics
Friends
Coding
Programming languages
C/C++
Information about sequence points and why they are important to every C/C++ coder.
-
Visual Studio specific pseudo registers help debugging a lot (for instance seeing what the last GetLastError() value is or placing a breakpoint that only one thread will trigger).
Some good guidelines into the usage of volatile qualifiers in C/C++ code and how it can subtly be used wrong.
-
-
Functional language for the .NET runtime which is like ocaml. Some ocaml programs compile directly on F# and the language extensions are for easier .NET interoperation. Has an excellent Visual Studio plugin, which gives you intellisense (autocomplete, syntax coloring etc) and static code & compile time type checking.
-
Flying Frog Consultancy limited has some F# examples (for example a simple DirectX example, a raytracer and a sudoku solver).
The hubFS contains F# forums and F# related news + information.
-
-
-
-
-
Pygame is a set of python modules to ease games development. Runs on top of SDL, portable and runs on many operating systems.
PyOpenGL has OpenGL bindings for python programs.
Psyco is a JIT like compiler for python programs. It gives unmodified python programs 2-100x speedup benefits.
-
-
-
Lispbox is a handy all-in-one package. It contains emacs, swine, lisp etc in one standalone package; just unpack and go. This package is referred to by the Practical Common Lisp book.
-
-
-
-
Other languages
BitC is a low level well typed C-like programming language (in the lisp syntax), compiles to C code so it’s portable.
Graphics
3D engines
-
Wild magic 3D engine. Contains lots of code snippets for various things, including collisions and physics
Physics
Collision detection
XenoCollide is a generic convex shape collision detection algorithm based on Minkowski Portal Refinement. The site has an abstract on the 2D version of the algorithm and on the forums you can find a working 3D collision sample with source code and an open license.
-
Computational fluid dynamics (game oriented)
Nintendo DS & DS homebrew
devkitPro is an open source development toolset (compilers, linkers etc) for Nintendo DS, GBA, PSP and GameCube.
The PAlib is an optional tools library for the DS, making basic application development easier ( PAlib wiki).
Great tutorial into homebrew Nintendo DS programming.
Comprehensive and low-level but good specification about GBA/NDS.
Algorithms and data structures
-
Buckytrees are simple spatial structures with O(N*log N) search times. They are good in that they don’t require any spatial indices (ie. the structure is implicit). Useful in boundary queries and raytracing (for example).
-
Low level stuff
Bit Twiddling Hacks. Small code snippets to twiddle bits. Intresting stuff like getting the abs of an integer without branches, checking if an integer is in a power of 2 etc. ( local copy, taken on 16.10.2006)
Lots of color space conversion formulaes. Lots of them (XYZ, RGB, CMY, CMYK, Hunter-lab to say a few).
Resources for software optimization for Intel and AMD processors. Includes advice for C++ and assembly (+ some chat about timings and other low level stuff).
-
-
-
-
Memory management stuff
TSLF (Two-Level Segregate Fit) is a small (code and overhead wise) memory allocator, useful for embedded environments. There is also a public domain implementation found here.
DLmalloc (Douglas Lea’s malloc) is considered to be one of the best memory allocators for general use. The site has a description on the algorithm as well as public domain source code.
google-perftools contains a really fast, multi-threaded malloc() implementation and some cool performance analysis tools. Released under the BSD license. Contains C++ STL hooks, TCMalloc, heap-checker, heap-profiler and cpu-profiler. Works at least in Windows and Linux.
Mathematics
Essential maths for game programmers. Good references, tutorials and articles.
-
-
Parsing (text, binaries etc) and compilers
The GOLD Parsing System is a free LALR parser generator for creating own programming/scripting languages. The generator generates parsing files which can then be read by the parser engine (many implemented in many different programming languages). Also contains nifty GUI tools.
Link Grammar is a free syntactic English language parser (written in C).
-
-
-
Interesting talks, papers and books
-
-
-
Flow-based programming (FBP) is a programming paradigm where the program is described as network of processes which exchange data through predefined connections. There is a good book on FBP here (1st edition is online, 2nd edition is for sale).
-
Programming competitions
-
Ludum Dare hosts 48h game coding competitions every now and then (LD48). I’ve participated a few times and it’s great fun for a weekend.
72 hour game development competition.
4k intros and other code size optimization stuff
The in4k wiki contains loads of information about 4k intros and small coding tips and tricks.
aulds blog contains tons of interesting things on size optimization, graphics and other subjects.
Iñigo quilez has a page which has a cool framework (bunch of small intros with sources) for 1k/4k intros.
Generic programming sites
DevMaster.net contains lots of articles, pictures of the day, 3D engine databases and whatnot.
-
Intresting and useful software + links
Texture synthesizer for GIMP. Creates “more” of any given texture. Useful for making tileable textures and removing areas from existing images.
Blender is a free open source ( GPL) 3D modeller. The user interface is a bit different from some of the commercial modellers (3DS MAX and Maya) but I hear once you get used to it, it’s really good (and hey, free).
GIMP (or GNU Image Manipulation Program) is a free ( GPL) alternative to Adobe Photoshop and the like. The UI takes some getting used to, but it gets the job done.
-
Useful Unicode conversion website that allows easy transformation between ASCII, UTF-8, UTF-16 and various url/hex/decimal encodings.
Useless, but weird & fun projects
You're in control of this toilet experiment. Some MIT students bolt sensors to a mens urinary and create a game with it.
The dragon illusion is a simple dragon folded from a sheet of paper but when you look at it, it seems to always look at you. A pure optical illusion but quite cool nonetheless.
Multitouch stuff
reacTable is a project to create a table that creates music. You can place different objects (sound generators etc) on top of it and a camera underneath detects the objects location and orientation. They include their scientific papers and open sourced software on the site as well.
-
Another instruction for a multitouch table. This one doesn’t use FTIR (it has the IR light behind the screen) so it’s a bit simpler to build.
Origami
Robert J. Lang has “solved” the domain of origami using mathematícs. This allows for far greater complexity in origami art and has other fields (anything where you need to pack a planar object compactly, like space telescopes and airbags). The main website is this and he holds a talks about it in TED.
|
|
|
|
|