• The Thread of Knowledge
    43 replies, posted
Just a shameless copy of what they did in Web Development, a thread for all your tutorials, resources, books, cheatsheets, and whatever you'd think it'd be useful. I'll try to update the OP as often as possible with what you contribute. [release]Please avoid 'Top 10 lists' and other things like that. They're mostly shitty anyways. Though, if you think it's worthy, feel free to post it. Try to look for trusted and reputable sources. Badly written articles that teach terrible practices are the majority - let's try to keep them off this thread. If you're linking to a book, try to post it's full name, author and release date. Cover pictures and Amazon links or similar are optional, personal reviews are more than welcome. If you're posting academic papers or similar, the same applies. Discussing the contributions is not only welcome, but really one of the most important aspects of this thread. Just try to be civil. If you disagree with someone, try to back your claims with sources.[/release] [img]http://anyhub.net/file/1mfY-resources.png[/img] [b]Game Programming[/b] [url="http://www-cs-students.stanford.edu/~amitp/game-programming/grids/"]Amit’s Thoughts on Grids[/url] [url=""http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation"]Polygonal Map Generation[/url] [url="http://www.tar.hu/gamealgorithms/"]Core Techniques and Algorithms in Game Programming[/url] [b]Networking[/b] [url="http://beej.us/guide/bgnet/"]Beej's Guide to Network Programming - Using Internet Sockets[/url] [b]Mathematics[/b] [url="http://freespace.virgin.net/hugo.elias/models/m_perlin.htm"]Perlin Noise[/url] [b]CheatSheets[/b] [url="http://web.eecs.utk.edu/~pham/ascii.html"]ASCII Table[/url] [img]http://anyhub.net/file/1mfX-libraries.png[/img] [b]Media[/b] [quote][b]SFML[/b] SFML is a free multimedia C++ API that provides you low and high level access to graphics, input, audio, etc. SFML also provides bindings for C, D, .Net, Ruby, Python [url]http://www.sfml-dev.org/index.php[/url][/quote] [quote][b]OpenTK[/b] The Open Toolkit is an advanced, low-level C# library that wraps OpenGL, OpenCL and OpenAL. It is suitable for games, scientific applications and any other project that requires 3d graphics, audio or compute functionality. [url]http://www.opentk.com/[/url][/quote] [quote][b]SDL[/b] Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. [url]http://www.libsdl.org/[/url][/quote] [b]Audio[/b] [quote][b]OpenAL[/b] OpenAL is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications. [url]http://connect.creativelabs.com/openal/default.aspx[/url][/quote] [quote][b]irrKlang[/b] irrKlang is a high level 2D and 3D cross platform (Windows, Mac OS X, Linux) sound engine and audio library which plays WAV, MP3, OGG, FLAC, MOD, XM, IT, S3M and more file formats, and is usable in C++ and all .NET languages (C#, VisualBasic.NET, etc). [url]http://www.ambiera.com/irrklang/[/url][/quote] [b]3D Engines[/b] [quote][b]Irrlicht[/b] The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer [url]http://irrlicht.sourceforge.net/[/url][/quote] [quote][b]Ogre3D[/b] What Is OGRE? OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. [url]http://www.ogre3d.org/[/url][/quote] [b]Networking[/b] [quote][b]Twisted[/b] Twisted is a networking engine written in Python, supporting numerous protocols. It contains a web server, numerous chat clients, chat servers, mail servers, and more. [url]http://twistedmatrix.com/trac/[/url][/quote] [img]http://anyhub.net/file/1mfW-books.png[/img] [b]C#[/b] Head First C#, Second Edition - O'Reilly - [url]http://oreilly.com/catalog/9781449380342/[/url] C# 4.0 in a Nutshell, Fourth Edition - O'Reilly - [url]http://oreilly.com/catalog/9780596800956/[/url] [quote]This book is not for learning. It is more of a reference book. Still great though.[/quote] Programming C# 4.0 - O'Reilly - [url]http://oreilly.com/catalog/9780596159832/[/url] [b]OpenGL[/b] OpenGL Superbible, 5th Edition - [url]http://www.amazon.com/OpenGL-SuperBible-Comprehensive-Tutorial-Reference/dp/0321712617/ref=sr_1_1?ie=UTF8&qid=1294077542&sr=8-1[/url] OpenGL Programming Guide, 7th Edition (Also known as the Red Book) - [url]http://www.amazon.fr/OpenGL-Programming-Guide-Official-Learning/dp/0321552628/ref=sr_1_1?ie=UTF8&s=english-books&qid=1294077783&sr=1-1[/url]
[url=http://www.amazon.com/OpenGL-SuperBible-Comprehensive-Tutorial-Reference/dp/0321712617/ref=sr_1_1?ie=UTF8&qid=1294077542&sr=8-1]OpenGL SuperBible, 5th edition[/url] is a good non-deprecated OGL book.
I'd love to see some books teaching you [i]just[/i] the basic principles of programming. I mean, every book I've seen assumes that you know how to handle data structures, pointers and such.
[QUOTE=VistaPOWA;27174889]I'd love to see some books teaching you [i]just[/i] the basic principles of programming. I mean, every book I've seen assumes that you know how to handle data structures, pointers and such.[/QUOTE] The Head First books from O'Reilly are pretty good for this. Well, they kinda assume you're a total retard at the beginning, but it's great a while after.
[QUOTE=PiXeN;27174903]The Head First books from O'Reilly are pretty good for this. Well, they kinda assume you're a total retard at the beginning, but it's great a while after.[/QUOTE] Thanks for the [b]head[/b]s up.
Network programming: [url]http://beej.us/guide/bgnet/[/url] Perlin noise: [url]http://freespace.virgin.net/hugo.elias/models/m_perlin.htm[/url] Good code for pseudo random seeded number generation (Found it somewhere, apparently its really quite good) [code] #define znew ((z=36969*(z&65535)+(z>>16))<<16) #define wnew ((w=18000*(w&65535)+(w>>16))&65535) #define IUNI (znew+wnew) #define UNI (znew+wnew)*2.328306e-10 static unsigned long z=362436069, w=521288629; void setseed(unsigned long i1,unsigned long i2){z=i1; w=i2;} [/code] Edit: Oh hai soda, nice to see you saw the thread
Some good ascii tables: [url]http://web.eecs.utk.edu/~pham/ascii.html[/url] Good site about UDP networking and alot of other game developing related articles: [url]http://gafferongames.com/[/url] nehe? opengl (c++) [url]http://nehe.gamedev.net/[/url] A really fast random function. (c++) [url]http://software.intel.com/en-us/articles/fast-random-number-generator-on-the-intel-pentiumr-4-processor/[/url]
[QUOTE=likesoursugar;27176887] nehe? opengl (c++) [url]http://nehe.gamedev.net/[/url][/QUOTE] :barf: Deprecated OpenGL 1 :(
[url]boost.org[/url] Because it's goddamn Boost.
[QUOTE=PiXeN;27177440]:barf: Deprecated OpenGL 1 :([/QUOTE] Still basic OGL...
C# in Depth by Jon Skeet is a really good book for those already experienced with C#
[QUOTE=likesoursugar;27179577]Still basic OGL...[/QUOTE] I'm hit the ground running with OpenGL on Android. It's all depreciated (OpenGL ES 1.0 == OpenGL 1.3, I think), and those tutorials helped me a lot
If you're ever looking to make some kind of network program using python, I suggest you look at twisted. [URL]http://twistedmatrix.com/trac/[/URL] I only recently discovered it and was amazed at how simple it is.
Good but rather old all-in-one book for various areas in game programming. Bless AtomiC0l. [url]http://redirectingat.com/?id=629X1198&xs=1&url=http%3A%2F%2Fwww.tar.hu%2Fgamealgorithms%2F&sref=http%3A%2F%2Fwww.facepunch.com%2Fthreads%2F1039595-Started-with-C-looking-for-good-practice-for-system-level-coding-and-whatnot%3Fp%3D26876598%26highlight%3Dhave%2Ba%2Bwinner%23post26876598[/url]
[URL="http://blackpawn.com/blog/?page_id=219"]Blackpawn.com[/URL] Click the top links, there are very accurate explanations for various things. f.e. [URL="http://www.blackpawn.com/texts/cellular/default.html"]Cellular textures[/URL] [URL="http://www.blackpawn.com/texts/tunnel/default.html"]Tunnels[/URL] Another great site: [URL]http://theinstructionlimit.com/[/URL]
[url=http://www.cpu-world.com/]Cpu-world.com[/url] Contains useful micro-controller architectures, pin outs, etc.
While NeHe uses deprecated ogl, I still think it's a useful resource since it teaches you about the ogl api in general. As long as you use a reference so you know what's deprecated and what's not, it should be fine.
[QUOTE=thomasfn;27214149]While [b]NeHe uses deprecated ogl, I still think it's a useful resource since it teaches you about the ogl api[/b] in general. As long as you use a reference so you know what's deprecated and what's not, it should be fine.[/QUOTE] [img]http://29.media.tumblr.com/tumblr_kw5wafVbFO1qzftyro1_250.gif[/img]
As far as I know the guys who made opengl didn't deprecate every single opengl command there is. It still teaches you how to actually use opengl, like how to create a gl window and how to bind opengl to it, all the stuff like glEnable and glDisable, stuff like loading textures into opengl. All these things are still ok, the main thing which is the problem is use of intermediate mode (glBegin and glEnd).
[QUOTE=thomasfn;27214864]As far as I know the guys who made opengl didn't deprecate every single opengl command there is. It still teaches you how to actually use opengl, like how to create a gl window and how to bind opengl to it, all the stuff like glEnable and glDisable, stuff like loading textures into opengl. The main thing is glStart and glEnd.[/QUOTE] glEnable() and glDisable() are probably the only methods that didn't got deprecated
[QUOTE=PiXeN;27215121]glStart() and glEnd() are probably the only methods that didn't got deprecated[/QUOTE] What? Those are two of the functions that needed to become deprecated the most.
Overv beat me to it :ninja:
Dat typo. Meant glEnable and glDisable
Edited my post, made it a bit more clear.
How can you forget [url]http://msdn.microsoft.com/en-us/library[/url] It's basically the first place to look for .NET stuff
[QUOTE=Shammah;27223862]How can you forget [url]http://msdn.microsoft.com/en-us/library[/url] It's basically the first place to look for .NET stuff[/QUOTE] Win32 too.
[url]http://stackoverflow.com/questions/9033/hidden-features-of-c[/url]
Honestly they should take down the nehe tutorials, they're just not applicable anymore.
OpenGL 1.1 has its use still I'm afraid. If you ever want to target a very old or terrible netbook with an intel or integrated video card from 2007 through 2009, you'll need to use it. That's not to say I support it, but if you want to reach the largest possible audience with something that uses OpenGL, using 1.1 is the best way to do it. (Assuming of course you have something decent to give them).
Some Calculus and Maths sheets, just in case someone needs them: [img_thumb]http://anyhub.net/file/1psT-1286912493483.gif[/img_thumb][img_thumb]http://anyhub.net/file/1psS-1286912444410.gif[/img_thumb][img_thumb]http://anyhub.net/file/1psR-1286912404853.gif[/img_thumb][img_thumb]http://anyhub.net/file/1psQ-1286912318923.gif[/img_thumb][img_thumb]http://anyhub.net/file/1psP-1286912275653.gif[/img_thumb][img_thumb]http://anyhub.net/file/1psO-1286912226455.gif[/img_thumb]
Sorry, you need to Log In to post a reply to this thread.