1
edit
m (→Programming & Open Source: remove broken links) |
Mall Ninja (talk | contribs) (Spent an hour going through and removing the dead links, updating a few, and adding a couple new ones. Is this project still active?) |
||
Line 7: | Line 7: | ||
= Programming & Open Source = | = Programming & Open Source = | ||
* [https://www.youtube.com/playlist?list=PLhMnuBfGeCDNgVzLPxF9o5UNKG1b-LFY9 The Structure and Interpretation of Computer Programs (UC Berkeley CS 61A)] | |||
* [https://www.youtube.com/playlist?list=PLgNUCz66KaWRSVzIeT_qB2yBgHocLmRWI Data Structures (UC Berkeley CS 61B)] | |||
* [http://nongnu.askapache.com/pgubook/ProgrammingGroundUp-1-0-booksize.pdf Programming from the ground up] (PDF) | * [http://nongnu.askapache.com/pgubook/ProgrammingGroundUp-1-0-booksize.pdf Programming from the ground up] (PDF) | ||
* [http://producingoss.com/ Producing OSS] | * [http://producingoss.com/ Producing OSS] | ||
Line 18: | Line 20: | ||
= Software Engineering = | = Software Engineering = | ||
* [https://www.youtube.com/playlist?list=PL_pbwdIyffslgxMVyXhnHiSn_EWTvx1G- Software Engineering Playlist] | |||
* [http://www.gotw.ca/publications/index.htm Guru of the Week] | * [http://www.gotw.ca/publications/index.htm Guru of the Week] | ||
* [http://www.gotw.ca/publications/concurrency-ddj.htm The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software] | * [http://www.gotw.ca/publications/concurrency-ddj.htm The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software] | ||
* [http://www.infoq.com/presentations/effective-api-design How to Design a Good API and Why it Matters] [http://lcsd05.cs.tamu.edu/slides/keynote.pdf] | * [http://www.infoq.com/presentations/effective-api-design How to Design a Good API and Why it Matters] [http://lcsd05.cs.tamu.edu/slides/keynote.pdf] | ||
* [http://decoy.iki.fi/texts/filefd/filefd A brief look at file format design] | * [http://decoy.iki.fi/texts/filefd/filefd A brief look at file format design] | ||
* http://arstechnica.com/articles/paedia/cpu/valve-multicore.ars | * http://arstechnica.com/articles/paedia/cpu/valve-multicore.ars | ||
== Scripting == | == Scripting == | ||
* [http://www.tcl.tk/doc/scripting.html Scripting: Higher Level Programming for the 21st Century] | * [http://www.tcl.tk/doc/scripting.html Scripting: Higher Level Programming for the 21st Century] | ||
* [http://www.osnews.com/story/7038/On_Scripting_Languages On Scripting Languages] | * [http://www.osnews.com/story/7038/On_Scripting_Languages On Scripting Languages] | ||
Line 37: | Line 37: | ||
* [http://www.slideshare.net/emartinez.romero/more-pointers-and-arrays Pointers and Arrays] | * [http://www.slideshare.net/emartinez.romero/more-pointers-and-arrays Pointers and Arrays] | ||
* [http://www.slideshare.net/udekel/introduction-to-pointers-and-memory-management-in-c Introduction to Pointers & Memory Managements] | * [http://www.slideshare.net/udekel/introduction-to-pointers-and-memory-management-in-c Introduction to Pointers & Memory Managements] | ||
* [http://andesengineering.com/OSG_ProducerArticles/RefPointers/RefPointers.html Using osg::ref_ptr] | * [http://andesengineering.com/OSG_ProducerArticles/RefPointers/RefPointers.html Using osg::ref_ptr] | ||
== Optimization == | == Optimization == | ||
* [http://www.agner.org/optimize/optimizing_cpp.pdf Optimizing C++] (http://www.agner.org/optimize/) | * [http://www.agner.org/optimize/optimizing_cpp.pdf Optimizing C++] (http://www.agner.org/optimize/) | ||
* [http://www.tantalon.com/pete/cppopt/main.htm C++ Optimization Strategies and Techniques] | * [http://www.tantalon.com/pete/cppopt/main.htm C++ Optimization Strategies and Techniques] | ||
Line 48: | Line 45: | ||
= Programming - Background knowledge = | = Programming - Background knowledge = | ||
* [ | * [https://www.youtube.com/playlist?list=PLoCMsyE1cvdWiqgyzwAz_uGLSHsuYZlMX Programming Abstraction in C++ (CS106B Stanford University)](~ 27 videos teaching programming and C++) | ||
== C++ Courses == | == C++ Courses == | ||
* http://www.learncpp.com/ | * http://www.learncpp.com/ | ||
* http://www.cprogramming.com/ | * http://www.cprogramming.com/ | ||
* http://www.cplusplus.com | * http://www.cplusplus.com | ||
* http://www.thefreecountry.com/documentation/onlinecpp.shtml | * http://www.thefreecountry.com/documentation/onlinecpp.shtml | ||
* http://www.cpp4u.com/ | * http://www.cpp4u.com/ | ||
* C++ related presentations: | * C++ related presentations: | ||
Line 66: | Line 59: | ||
* Youtube Contents: | * Youtube Contents: | ||
** [ | ** [https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb C++ (Yan Chernikov)] | ||
** [http://youtube.com/user/reconnetworks A number of introductory C++ Tutorials] | ** [http://youtube.com/user/reconnetworks A number of introductory C++ Tutorials] | ||
** [http://youtube.com/watch?v=mrvAqvtWYb4 Getting C++ Threads right] | ** [http://youtube.com/watch?v=mrvAqvtWYb4 Getting C++ Threads right] | ||
** [http://youtube.com/watch?v=3JUXPaovfzw Advanced Topics in Programming Languages Series: C++ Threads] | ** [http://youtube.com/watch?v=3JUXPaovfzw Advanced Topics in Programming Languages Series: C++ Threads] | ||
== C++ eBooks == | == C++ eBooks == | ||
* http://www.mycplus.com/c.asp?ID=15 | * http://www.mycplus.com/c.asp?ID=15 | ||
* [http://en.wikibooks.org/wiki/C%2B%2B C++ Wikibook] | * [http://en.wikibooks.org/wiki/C%2B%2B C++ Wikibook] | ||
* http://www.techbooksforfree.com/ccpp.shtml | * http://www.techbooksforfree.com/ccpp.shtml | ||
* [http://www.pragsoft.com/books/CppEssentials.pdf C++ Essentials] | |||
* [ | |||
== C++ References == | == C++ References == | ||
* [http://www.parashift.com/c%2B%2B-faq-lite/ C++ FAQ Lite] | * [http://www.parashift.com/c%2B%2B-faq-lite/ C++ FAQ Lite] | ||
* [http://yosefk.com/c++fqa/ C++ Frequently Questioned Answers] | * [http://yosefk.com/c++fqa/ C++ Frequently Questioned Answers] | ||
* http://www-h.eng.cam.ac.uk/help/tpl/languages/C++.html | * http://www-h.eng.cam.ac.uk/help/tpl/languages/C++.html | ||
* [http://www. | * [http://www.ericbrasseur.org/cppcen.html?i=1 C++ for C users] | ||
== C++/STL == | == C++/STL == | ||
* [ | * [https://www.youtube.com/playlist?list=PLZ9NgFYEMxp5oH3mrr4IlFBn03rjS-gN1 C++ Standard Template Library by Example] | ||
* http://www.yolinux.com/TUTORIALS/LinuxTutorialC++STL.html | * http://www.yolinux.com/TUTORIALS/LinuxTutorialC++STL.html | ||
* http://www.halpernwightsoftware.com/stdlib-scratch/quickref.html | * http://www.halpernwightsoftware.com/stdlib-scratch/quickref.html | ||
== Graphics Programming == | == Graphics Programming == | ||
* [ | * [https://www.gamedev.net/reference/articles/article1698.asp Graphics Programming Black Book] | ||
== Game Programming related == | == Game Programming related == | ||
* [http://www.gpwiki.org Game Programming Wiki] | * [http://www.gpwiki.org Game Programming Wiki] | ||
* | * [https://www.youtube.com/playlist?list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT Build a Game Engine in C++ (Yan Chernikov)] | ||
* | * [https://lazyfoo.net/tutorials/SDL/ Beginning Game Programming with C & Simple DirectMedia Layer] | ||
* http://www.gamedev.net/reference/list.asp?categoryid=45 | * http://www.gamedev.net/reference/list.asp?categoryid=45 | ||
== General [[OpenGL]] Resources == | == General [[OpenGL]] Resources == | ||
* [https://learnopengl.com Learn OpenGL Graphics Programming] | |||
* [https://www.glprogramming.com/red/ OpenGL Programming Guide (Red Book)] | |||
* [https://www.glprogramming.com/blue/ OpenGL Reference Manual (Blue Book)] | |||
* [http://www.falloutsoftware.com/tutorials/gl/gl8.htm OpenGL Light and Polygon Surface Tutorials] | * [http://www.falloutsoftware.com/tutorials/gl/gl8.htm OpenGL Light and Polygon Surface Tutorials] | ||
* http://en.wikibooks.org/wiki/Opengl | * http://en.wikibooks.org/wiki/Opengl | ||
* Youtube Introductions to OpenGL: | * Youtube Introductions to OpenGL: | ||
** [https://www.youtube.com/playlist?list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2 OpenGL (Yan Chernikov)] | |||
** [http://www.youtube.com/watch?v=apxdcHwBcZY Graphics Programming] | ** [http://www.youtube.com/watch?v=apxdcHwBcZY Graphics Programming] | ||
** [http://www.youtube.com/watch?v=lTN7bDyHrfE Graphics Programming Using OpenGL] | ** [http://www.youtube.com/watch?v=lTN7bDyHrfE Graphics Programming Using OpenGL] | ||
Line 149: | Line 113: | ||
* http://home.clara.net/iancgbell/maths/index.htm | * http://home.clara.net/iancgbell/maths/index.htm | ||
* [ | * [https://www.youtube.com/playlist?list=PLSMz_Hxrv-C2bh5UGOE8n3fYpviD9q2gx Linear Algebra] | ||
* [https://www.youtube.com/playlist?list=PLW3Zl3wyJwWNWsJIPZrmY19urkYHXOH3N Math for Game Developers] | |||
== OSG/[[OpenSceneGraph]] related == | == OSG/[[OpenSceneGraph]] related == | ||
* | * https://www.openscenegraph.com/index.php/documentation/getting-started | ||
* [https://joshuaburkholder.com/documents/OpenSceneGraph_2.0_Quick_Start_Guide.pdf OSG Quick Start Guide] | |||
* [ | |||
* http://thermalpixel.github.io/osg/2014/02/15/rtt-with-slave-cameras.html | * http://thermalpixel.github.io/osg/2014/02/15/rtt-with-slave-cameras.html | ||
* http://www.vis-sim.com/osg/osg_faq_1.htm | * http://www.vis-sim.com/osg/osg_faq_1.htm | ||
* http://andesengineering.com/OSG_ProducerArticles/RefPointers/RefPointers.html | * http://andesengineering.com/OSG_ProducerArticles/RefPointers/RefPointers.html | ||
* http://beefdev.blogspot.de/2012/01/render-to-texture-in-openscenegraph.html | * http://beefdev.blogspot.de/2012/01/render-to-texture-in-openscenegraph.html | ||
== Communities == | == Communities == | ||
(Forums, Newsgroups, Mailing Lists & Chat rooms) | (Forums, Newsgroups, Mailing Lists & Chat rooms) | ||
* | * https://www.gamedev.net/forums/ | ||
* https://www.reddit.com/r/gamedev/ | |||
* | * https://cboard.cprogramming.com/cplusplus-programming/ | ||
* | |||
= Networking = | = Networking = | ||
* [http://beej.us/guide/bgnet/ Beej's Guide to Network Programming] | * [http://beej.us/guide/bgnet/ Beej's Guide to Network Programming] | ||
* http://courses.cs.vt.edu/~cs4254/spring06/slides/IO_Multiplexing_4.pdf | * http://courses.cs.vt.edu/~cs4254/spring06/slides/IO_Multiplexing_4.pdf | ||
* http://irl.eecs.umich.edu/jamin/courses/eecs494/fall06/lectures/lecture9-socket.pdf | * http://irl.eecs.umich.edu/jamin/courses/eecs494/fall06/lectures/lecture9-socket.pdf | ||
* http://ece.ut.ac.ir/Classpages/S84/Network/unix/Npc13.ppt | * http://ece.ut.ac.ir/Classpages/S84/Network/unix/Npc13.ppt | ||
* | * [https://www.isi.edu/~hussain/TEACH/Spring2014/notes/Steven00a.pdf TCP/IP Illustrated, Volume 1] | ||
* [http://www.linuxhowtos.org/C_C++/socket.htm Sockets Tutorial] | * [http://www.linuxhowtos.org/C_C++/socket.htm Sockets Tutorial] | ||
== Unix Sockets == | == Unix Sockets == | ||
* [http://users.actcom.co.il/~choo/lupg/tutorials/internetworking/internet-theory.html Network Programming under Unix Systems] | * [http://users.actcom.co.il/~choo/lupg/tutorials/internetworking/internet-theory.html Network Programming under Unix Systems] | ||
* [http://www.kohala.com/start/unpv12e.html Unix Network Programming] | * [http://www.kohala.com/start/unpv12e.html Unix Network Programming] | ||
* [http://www. | * [http://www.catb.org/esr/writings/taoup/html/ The Art of Unix Programming (HTML)] | ||
* [ | * [https://nakamotoinstitute.org/static/docs/taoup.pdf The Art of Unix Programming (PDF)] | ||
== Windows Sockets == | == Windows Sockets == | ||
* [http://www.tangentsoft.net/wskfaq/ Windosck Programmer's FAQ] | * [http://www.tangentsoft.net/wskfaq/ Windosck Programmer's FAQ] | ||
== Protocol Design == | == Protocol Design == | ||
Line 208: | Line 152: | ||
== Multiplayer Design & Programming == | == Multiplayer Design & Programming == | ||
=== Basics === | === Basics === | ||
* [http://www.gamedev.net/reference/articles/article721.asp Introduction: Designing Multiplayer Games] | * [http://www.gamedev.net/reference/articles/article721.asp Introduction: Designing Multiplayer Games] | ||
* [http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/ UDP vs. TCP] | * [http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/ UDP vs. TCP] | ||
* [http://www.gamedev.net/reference/articles/article1138.asp Networking for Games 101] | * [http://www.gamedev.net/reference/articles/article1138.asp Networking for Games 101] | ||
* [http://gafferongames.com/networking-for-game-programmers/ Networking for game programmers] | * [http://gafferongames.com/networking-for-game-programmers/ Networking for game programmers] | ||
* [http://books.google.com/books?id=Zm8AtSWjLwkC&printsec=frontcover&source=gbs_summary_r&cad=0 Programming Multiplayer Games - ebook] | * [http://books.google.com/books?id=Zm8AtSWjLwkC&printsec=frontcover&source=gbs_summary_r&cad=0 Programming Multiplayer Games - ebook] | ||
=== State Management & Prediction === | === State Management & Prediction === | ||
* [http://www.gamedev.net/reference/articles/article914.asp Defeating Lag With Cubic Splines] | * [http://www.gamedev.net/reference/articles/article914.asp Defeating Lag With Cubic Splines] | ||
* [http://www.gamedev.net/reference/articles/article1948.asp Distributed Gaming] | * [http://www.gamedev.net/reference/articles/article1948.asp Distributed Gaming] | ||
* [http://www.gamedev.net/reference/articles/article876.asp Statistical Client Prediction] | * [http://www.gamedev.net/reference/articles/article876.asp Statistical Client Prediction] | ||
* [http://gafferongames.com/game-physics/networked-physics/ Networked Physics] | * [http://gafferongames.com/game-physics/networked-physics/ Networked Physics] | ||
=== Security === | === Security === | ||
Line 249: | Line 171: | ||
=== Libraries === | === Libraries === | ||
* | * https://wiki.ogre3d.org/Home | ||
edit