URL List (4th edition)

Preface
http://www.gameenginebook.com
https://www.linkedin.com/in/jason-gregory-35669b1

Chapter 1
https://youtu.be/x8p19j8C6VI
https://youtu.be/SWzurBQ81CM
https://youtu.be/Go9rf9GmYpM
https://github.com/id-Software/Quake-2
http://udn.epicgames.com/Main/WebHome.html
https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-5-6-documentation
http://www.beyondunreal.com
https://www.windowscentral.com/xna-dead-long-live-xna
https://c4engine.com/
https://www.leadwerks.com/
http://www.heroengine.com/
http://en.wikipedia.org/wiki/List_of_game_engines
http://www.worldofleveldesign.com/categories/level_design_tutorials/recommended-game-engines.php
https://www.youtube.com/watch?v=3Zq1yo0lxOU
https://www.clickteam.com/clickteam-fusion-2-5
http://www.planetbravo.com
https://gamesalad.com/
http://scratch.mit.edu
http://www.ogre3d.org
https://developer.nvidia.com/physx-sdk
https://www.ode.org/
http://www.cs.unc.edu/geom/I_COLLIDE/index.html
http://www.cs.unc.edu/geom/V_COLLIDE/index.html

Chapter 2
http://git-scm.com/
https://www.perforce.com/products/helix-core
https://tortoisesvn.net/
https://www.visualstudio.com/downloads
https://en.cppreference.com/
https://learn.microsoft.com/en-us/visualstudio/debugger/debugger-feature-tour?view=vs-2022
https://learn.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects?view=vs-2022
http://en.wikipedia.org/wiki/Pareto_principle
https://software.intel.com/en-us/intel-vtune-amplifier-xe
http://www.ibm.com/developerworks/rational/library/957.html
http://en.wikipedia.org/wiki/List_of_performance_analysis_tool
https://www.unicomsi.com/products/purifyplus
http://en.wikipedia.org/wiki/Diff
http://www.prestosoft.com/edp_examdiff.asp
http://www.araxis.com
http://www.gnu.org/software/diffutils/diffutils.html
https://www.scootersoftware.com
http://en.wikipedia.org/wiki/3-way_merge
http://winmerge.org
http://www.perforce.com/perforce/products/merge.html
http://www.expertcomsoft.com/index.html

Chapter 3
http://en.wikipedia.org/wiki/Multiple_inheritance
http://en.wikipedia.org/wiki/Diamond_problem
http://en.cppreference.com/w/cpp/language/raii
www.iso.org
http://en.cppreference.com/w/cpp
https://isocpp.org/std
https://isocpp.org/files/papers/p0636r0.html
https://oleksandrkvl.github.io/2021/04/02/cpp-20-overview.html
https://learn.microsoft.com/en-us/shows/pure-virtual-cpp-2022/whats-new-in-cpp23
https://clang.llvm.org/cxx_status.html
http://www.joelonsoftware.com/articles/Wrong.html
http://www.joelonsoftware.com/items/2003/10/13.html
http://www.nedbatchelder.com/text/exceptions-vs-status.html
http://www.joelonsoftware.com/items/2003/10/15.html
http://www.pixelbeat.org/programming/gcc/static_assert.html
http://en.wikipedia.org/wiki/Significant_digits
http://en.cppreference.com/w/cpp/types/integer
http://www.cocoawithlove.com/2008/04/using-pointers-to-recast-in-c-is-bad.html
https://en.cppreference.com/w/cpp/language/ub
https://en.cppreference.com/w/cpp/numeric/bit_cast
http://en.wikipedia.org/wiki/Dynamic_memory_allocation
http://www.apple2scans.net/files/InsidetheIIe.pdf
http://6502.org/tutorials/
http://flint.cs.yale.edu/cs421/papers/x86-asm/asm.html
https://www.slideshare.net/timothy.hall/history-of-cpu-architecture
https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf
http://aturing.umcs.maine.edu/meadow/courses/cos335/Asm07-MachineLanguage.pdf
http://www.cs.virginia.edu/evans/cs216/guides/x86.html
https://en.wikibooks.org/wiki/X86_Disassembly/Functions_and_Stack_Frames
https://gabrieletolomei.wordpress.com/miscellanea/operating-systems/virtual-memory-paging-and-swapping
https://www.akkadia.org/drepper/cpumemory.pdf
https://ece752.ece.wisc.edu/lect11-cache-replacement.pdf

Chapter 4
https://ieeexplore.ieee.org/document/7905495
https://learn.microsoft.com/en-us/windows/win32/memory/virtual-address-space
https://meltdownattack.com
https://wiki.osdev.org/Spinlock
https://learn.microsoft.com/en-us/windows/win32/procthread/fibers
https://en.wikipedia.org/wiki/Setcontext
https://www.boost.org/doc/libs/1_83_0/libs/fiber/doc/html/index.html
https://probablydance.com/2013/02/20/handmade-coroutines-for-windows/
https://www.cs.uic.edu/jbell/CourseNotes/OperatingSystems/4_Threads.html
https://learn.microsoft.com/en-us/windows/win32/procthread/process-and-thread-functions
https://www.youtube.com/watch?v=f6kdp27TYZs
https://www.cse.buffalo.edu/stevko/courses/cse486/spring13/lectures/26-consistency2.pdf
http://www.cs.cmu.edu/srini/15-446/S09/lectures/10-consistency.pdf
https://www.akkadia.org/drepper/futex.pdf
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2748.html
http://preshing.com/20120625/memory-ordering-at-compile-time/
http://preshing.com/20120710/memory-barriers-are-like-source-control-operations
https://learn.microsoft.com/en-us/archive/msdn-magazine/2015/february/compilers-what-every-programmer-should-know-about-compiler-optimizations
http://www.swedishcoding.com/2017/11/10/multi-core-programming-and-cache-coherency/
http://preshing.com/20120930/weak-vs-strong-memory-models/
https://bartoszmilewski.com/2008/11/05/who-ordered-memory-fences-on-an-x86
https://www.ibm.com/docs/en/aix/7.2?topic=reference-appendix-f-powerpc-instructions
https://developer.arm.com/documentation/dui0801/g/A64-Data-Transfer-Instructions
https://learn.microsoft.com/en-us/dotnet/standard/asynchronous-programming-patterns
https://winterbe.com/posts/2015/04/07/java8-concurrency-tutorial-thread-executor-examples
https://en.wikipedia.org/wiki/Seqlock
https://lwn.net/Articles/262464
https://www.gameenginebook.com
https://www.youtube.com/watch?v=c1gO9aB9nbs
https://www.youtube.com/watch?v=CmxkPChOcvw
https://www.cs.cmu.edu/410-s05/lectures/L31_LockFree.pdf
https://blog.linuxplumbersconf.org/2012/wp-content/uploads/2012/09/2012-lpc-scaling-concurrency-kit-albahra.pdf
http://cellperformance.beyond3d.com/articles/public/concurrency_rabit_hole.pdf
http://greenteapress.com/semaphores/LittleBookOfSemaphores.pdf
https://www.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.2011.01.02a.pdf
http://preshing.com/20120612/an-introduction-to-lock-free-programming/
https://www.mjmwired.net/kernel/Documentation/memory-barriers.txt
https://hpc.llnl.gov/sites/default/files/intelAVXintro.pdf
https://developer.nvidia.com/how-to-cuda-c-cpp
https://developer.nvidia.com/opencl
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-pguide
https://www.khronos.org/opengl/wiki/OpenGL_Shading_Language
https://www.techpowerup.com/gpu-specs/docs/amd-rdna-whitepaper.pdf

Chapter 5
http://graphics.ucsd.edu/courses/cse169_w05/CSE169_04.ppt
https://www.gamedeveloper.com/programming/rotating-objects-using-quaternions
http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm
http://number-none.com/product/Understanding_Slerp
https://youtu.be/b7OIbMCIfs4?si=2AvnXztQ1TDTTPKh
https://www.cs.tcd.ie/publications/tech-reports/reports.06/TCD-CS-2006-46.pdf
http://wscg.zcu.cz/wscg2012/short/A29-full.pdf
http://www.math.sci.hiroshima-u.ac.jp/m-mat/MT/SFMT/index.html
https://web.archive.org/web/20160125103112/http://stat.fsu.edu/pub/diehard/} \url{https://web.archive.org/web/20160125103112/
https://simul.iro.umontreal.ca/testu01/guideshorttestu01.pdf
https://www.stat.berkeley.edu/spector/s243/mother.c
http://www.agner.org/random
http://www.jstatsoft.org/v08/i14/paper
http://www.pcg-random.org/

Chapter 6
http://www.swedishcoding.com/2008/08/31/are-we-out-of-memory
https://www.geeksforgeeks.org/searching-algorithms
https://www.geeksforgeeks.org/sorting-algorithms
http://www.boost.org
http://www.boost.org/more/license_info.html
https://engineering.fb.com/2012/06/02/developer-tools/folly-the-facebook-open-source-library
https://github.com/facebook/folly
http://www.erdani.org
http://loki-lib.sourceforge.net
https://github.com/aappleby/smhasher
http://www.azillionmonkeys.com/qed/hash.html
http://stackoverflow.com/questions/1145217/why-should-hash-functions-use-a-prime-number-modulus
http://www.infognition.com/blog/2014/on_robin_hood_hashing.html
https://www.sebastiansylvan.com/post/robin-hood-hashing-should-be-your-default-hash-table-implementation/
https://medium.com/@arpitbhayani/copy-on-write-semantics-9538bbeb9f86
http://www.boost.org/doc/libs/1_57_0/libs/utility/doc/html/string_ref.html
http://www.joelonsoftware.com/articles/Unicode.html
http://icu-project.org/docs/papers/unicode_wchar_t.html
https://cplusplus.com/reference/cstring/strcmp
https://blog.codinghorror.com/was-the-windows-registry-a-good-idea/

Chapter 7
https://learn.microsoft.com/en-us/windows/win32/api/shlwapi
https://learn.microsoft.com/en-us/cpp/c-runtime-library/stream-i-o
https://learn.microsoft.com/en-us/cpp/c-runtime-library/low-level-i-o
http://www.zlib.net
http://zziplib.sourceforge.net
http://www.radgametools.com
https://stackoverflow.com/a/4178176/734069

Chapter 8
https://www.gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine
http://www.swedishcoding.com/2015/03/08/gdc-2015-presentation-parallelizing-the-naughty-dog-engine

Chapter 9
http://druid.caughq.org/presentations/turbo/Wiimote-Hacking.pdf
https://www.mathworks.com/discovery/low-pass-filter.html
https://partner.steamgames.com/doc/features/steam_controller/Overview

Chapter 10
http://redis.io

Chapter 11
https://www.uperfectmonitor.com/blogs/portable-monitor/differences-between-color-gamut-srgb-ntsc-adobe-rgb-dci-p3
https://en.wikipedia.org/wiki/HSL_and_HSV
http://www.anyhere.com/gward/papers/jgtpap1.pdf
http://en.wikipedia.org/wiki/Bezier_surface
http://en.wikipedia.org/wiki/Nurbs
https://graphics.pixar.com/opensubdiv/docs/subdivision_surfaces.html
https://www.fxguide.com/fxfeatured/pixars-opensubdiv-v2-a-detailed-look/
https://www.gamedeveloper.com/programming/building-your-own-subdivision-surfaces
https://www.gamedeveloper.com/programming/subdivision-surface-theory
http://research.microsoft.com/en-us/um/people/hoppe/pm.pdf
https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/visibility-problem-depth-buffer-depth-interpolation.html
https://www.sunshine2k.de/coding/java/TriangleRasterization/TriangleRasterization.html
https://learn.microsoft.com/en-us/windows/win32/direct3d9/scissor-test
https://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf
http://mynameismjp.wordpress.com/2012/10/24/msaa-overview
http://alvyray.com/Memos/CG/Microsoft/6_pixel.pdf
https://www.intel.com/content/dam/develop/external/us/en/documents/z-shape-arm-785403.pdf
http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf
http://www.iryoku.com/smaa/
https://www.khronos.org/opengl/wiki/S3_Texture_Compression
https://en.wikipedia.org/wiki/S3_Texture_Compression
https://fileadmin.cs.lth.se/cs/Education/EDAN35/lectures/L8-texcomp.pdf
https://aras-p.info/blog/2020/12/08/Texture-Compression-in-2020
https://learn.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct3d-11-devices-downlevel-intro
https://microsoft.github.io/DirectX-Specs/d3d/archive/D3D11_3_FunctionalSpec.htm
http://www.joshbarczak.com/blog/?p=667
https://learn.microsoft.com/en-us/windows/win32/direct3d12/conservative-rasterization
https://microsoft.github.io/DirectX-Specs/d3d/Raytracing.html
https://nvpro-samples.github.io/vk_raytracing_tutorial_KHR
https://developer.nvidia.com/blog/best-practices-using-nvidia-rtx-ray-tracing
https://gpuopen.com/learn/mesh_shaders/mesh_shaders-from_vertex_shader_to_mesh_shader/
https://developer.nvidia.com/blog/introduction-turing-mesh-shaders/
https://devblogs.microsoft.com/directx/coming-to-directx-12-mesh-shaders-and-amplification-shaders-reinventing-the-geometry-pipeline/
https://learn.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct3d-11-resources-textures-intro
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl
http://www.gamedev.net/reference/articles/article657.asp
https://advances.realtimerendering.com/s2021/Karis_Nanite_SIGGRAPH_Advances_2021_final.pdf
https://research.nvidia.com/sites/default/files/pubs/2011-08_High-Performance-Software-Rasterization/laine2011hpg_paper.pdf

Chapter 12
https://unity.com/blog/engine-platform/5-common-lightmapping-problems-and-tips-to-help-you-fix-them
https://cs.dartmouth.edu/wjarosz/publications/dissertation
https://www.cs.cornell.edu/courses/cs6630/2012sp/notes/02radiom.pdf
https://www.cs.princeton.edu/courses/archive/fall06/cos526/lectures/radiometry.pdf
https://pressbooks.online.ucf.edu/osuniversityphysics2/chapter/energy-carried-by-electromagnetic-waves
https://en.wikipedia.org/wiki/Saturation_arithmetic
https://surfaceoptics.com/bsdf-brdf-and-btdf-a-review-of-measurement-approaches
https://www.mauriciopoppe.com/notes/computer-graphics/surface-shading/flat-shading
https://developer.arm.com/documentation/102109/0100/Light-probes
https://electronicmeteor.wordpress.com/2011/12/26/applying-ssao-to-scenes
https://alextardif.com/SSAO.html
http://http.developer.nvidia.com/GPUGems/gpugems_ch16.html
http://web4.cs.ucl.ac.uk/staff/j.kautz/publications/prtSIG02.pdf
https://learn.microsoft.com/en-us/windows/win32/direct3d9/precomputed-radiance-transfer
https://www.slideshare.net/ozlael/deferred-rendering-in-killzone-2
https://diaryofagraphicsprogrammer.blogspot.com/2018/03/triangle-visibility-buffer.html
https://gdcvault.com/play/1679/(200)-Insomniac-Games-s-Secrets
https://gamedevcoder.wordpress.com/2011/04/11/light-pre-pass-vs-deferred-renderer-part-1
https://www.3dgep.com/forward-plus
https://en.wikipedia.org/wiki/Radiosity_(computer_graphics)
https://graphics.stanford.edu/courses/cs348b-03/papers/veach-chapter9.pdf
https://graphics.stanford.edu/papers/metro/metro.pdf
https://www.youtube.com/watch?v=ReMEbjQy4a8
https://github.com/NVIDIA-RTX/NRD
https://www.amd.com/en/products/graphics/technologies/fidelityfx.html
https://disneyanimation.com/publications/machine-learning-denoising-in-feature-film-production
https://graphics.pixar.com/library/MLDenoising2018/paper.pdf
https://renderman.pixar.com/stories/making-waves
https://iblog.ridge-i.com/entry/2022/12/22/143950
https://arxiv.org/abs/1912.13171
https://raytracing.github.io/books/RayTracingInOneWeekend.html
https://www.freetype.org/
https://devblogs.microsoft.com/pix/introduction/

Chapter 13
https://dl.acm.org/doi/10.1145/1450579.1450621
http://www.chrishecker.com/Real-time_Motion_Retargeting_to_Highly_Varied_User-Created_Morphologies
https://observablehq.com/@infowantstobeseen/barycentric-coordinates
https://ianthehenry.com/posts/delaunay
https://motion.cs.illinois.edu/RoboticSystems/InverseKinematics.html
http://number-none.com/product/ScalarQuantization/index.html
https://nfrechette.github.io/2016/12/19/anim_compression_signal_processing
https://dl.acm.org/doi/10.1145/566654.566605
https://dl.acm.org/doi/10.1145/1882261.1866160
https://www.youtube.com/watch?v=KSTn3ePDt50
https://www.gdcvault.com/play/1023280/Motion-Matching-and-The-Road
https://www.gdcvault.com/play/1027118/Motion-Matching-in-The-Last
https://dev.epicgames.com/documentation/en-us/unreal-engine/motion-matching-in-unreal-engine
https://assetstore.unity.com/packages/tools/animation/motion-matching-for-unity-145624

Chapter 14
https://github.com/bulletphysics/bullet3
https://developer.nvidia.com/physx-sdk//2
http://www.havok.com
http://www.adrianboeing.com/pal/index.html
https://www.pixelux.com/DMMengine.html
http://en.wikipedia.org/wiki/Shape
https://www.cuemath.com/algebra/intersection-of-sets
https://www.cuemath.com/geometry/convex-shapes-functions
http://en.wikipedia.org/wiki/Analytic_geometry
https://dyn4j.org/2010/01/sat
https://www.gamedeveloper.com/programming/when-two-hearts-collide-axis-aligned-bounding-boxes
http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=2083
http://realtimecollisiondetection.net/pubs/SIGGRAPH04_Ericson_the_GJK_algorithm.ppt
www.laas.fr/nic/MOVIE/Workshop/Slides/Gino.vander.Bergen.ppt
http://mollyrocket.com/849
https://www.baeldung.com/ddd-double-dispatch
http://gamedevs.org/uploads/continuous-collision-detection-and-physics.pdf
https://haug.codes/blog/locally-perfect-hashing
https://leanrada.com/notes/sweep-and-prune
http://chrishecker.com/Rigid_Body_Dynamics
https://ode.org/slides/parc/dynamics.pdf
http://en.wikipedia.org/wiki/Numerical_ordinary_differential_equations
https://www.gorillasun.de/blog/euler-and-verlet-integration-for-particle-physics/
https://gafferongames.com/post/physics_in_3d
http://www-2.cs.cmu.edu/baraff/sigcourse/notesd1.pdf
http://chrishecker.com/images/e/e7/Gdmphys3.pdf
https://engineeringstatics.org/Chapter_04-couples.html
http://udn.epicgames.com/Three/PhysicalMaterialSystem.html

Chapter 15
https://ledgernote.com/columns/mixing-mastering/fletcher-munson-curve
https://www.sfu.ca/sonic-studio-webdav/handbook/Sound_Propagation.html
http://sengpielaudio.com/calculator-air.htm
https://ethanwiner.com/audiophoolery.html
http://www.uaudio.com/blog/the-basics-of-reverb
https://upload.wikimedia.org/wikipedia/commons/c/c9/Dopplereffectsourcemovingrightatmach0.7.gif
http://www.math.wisc.edu/angenent/Free-Lecture-Notes/freecomplexnumbers.pdf
https://www.cs.cmu.edu/afs/andrew/scs/cs/15-463/2001/pub/www/notes/fourier/fourier.pdf
https://www.youtube.com/watch?v=RdYHljZi7ys
https://hilelectronic.com/understanding-amplifier-circuits
https://learn.microsoft.com/en-us/windows/win32/medfound/about-the-windows-media-codecs
https://www.minidisc.wiki/technology/atrac/aes
http://en.wikipedia.org/wiki/Digital_audio_format
http://www.edepot.com/playstation3.html/PS3_Audio
https://www.waves.com/ambisonics-explained-guide-for-sound-engineers
http://www.rs-met.com/documents/tutorials/PanRules.pdf
https://ftp.funet.fi/pub/sci/audio/jwest-thesis/Chap_3/Chap_3_IID_Based_Panning_Methods.html
https://aaltodoc.aalto.fi/server/api/core/bitstreams/56505cbd-1e32-45a7-ace8-3a76b09d7b9b/content
http://www.davidgriesinger.com/pan_laws.pdf
https://www-sop.inria.fr/reves/Nicolas.Tsingos/publis/presence03.pdf
http://software.intel.com/en-us/articles/interactive-geometric-sound-propagation-and-rendering
https://gdcvault.com/play/1015492/Real-time-Sound-Propagation-in
http://ixbtlabs.com/articles2/sound-technology
https://home.cs.colorado.edu/ralex/courses/csci4448/documents/GameEngineAnatomy101.pdf
https://blogs.zynaptiq.com/bernsee/time-pitch-overview/
http://en.wikipedia.org/wiki/Mixing_console
http://en.wikipedia.org/wiki/Sample_rate_conversion
http://en.wikipedia.org/wiki/Dynamic_range_compression
https://learn.microsoft.com/en-us/windows-hardware/drivers/audio/universal-audio-architecture
http://www.alsa-project.org/main/index.php/Main_Page
https://www.qnx.com/developers/docs/6.4.1/neutrino/audio/architecture.html
https://www.openal.org
https://www.fmod.com
https://www.audiokinetic.com/en/wwise/overview
https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Engine/Components/UAudioComponent
http://gamma.cs.unc.edu/research/sound
http://gamma.cs.unc.edu/AUDIO_MATERIAL
http://www.cs.cornell.edu/projects/sound
https://ccrma.stanford.edu/bilbao/booktop/node14.html
http://www.vocaltractlab.de
http://downloads.bungie.net/presentations/gdc02_jaime_griesemer.ppt
http://www.gdcvault.com/play/1015317/AI-driven-Dynamic-Dialog-through

Chapter 16
https://staffwww.dcs.shef.ac.uk/people/s.maddock/publications/BinSubaihEtal2007_CS0705.pdf
http://en.wikipedia.org/wiki/Object_model

Chapter 17
http://www.gamasutra.com/features/gdcarchive/2002/rob_fermier.ppt
http://www.drizzle.com/scottb/gdc/game-objects.ppt
http://www.gamasutra.com/features/gdcarchive/2003/Duran_Alex.ppt
http://www.gamasutra.com/features/gdcarchive/2003/Chatelaine_Jeremy.ppt
http://chrishecker.com/images/6/6f/ObjSys.ppt
http://www.json.org
https://www.boost.org/doc/libs/develop/libs/smart_ptr/doc/html/smart_ptr.html
http://cellperformance.beyond3d.com/articles/public/concurrency_rabit_hole.pdf//2
https://www.lua.org/about.html
https://www.python.org/
https://realpython.com/duck-typing-python
https://www.compuphase.com/pawn/pawn.htm
https://opensource.org/license/zlib
https://ds.heavengames.com/library/dstk/skrit
https://www.panda3d.org

Chapter 18
https://www.wowza.com/blog/video-codecs-encoding
https://www.radgametools.com/bnkmain.htm
https://www.gamedeveloper.com/programming/behavior-trees-for-ai-how-they-work
https://dev.epicgames.com/community/learning/tutorials/qzZ2/unreal-engine-behavior-tree-theory

URL List (1st edition)

1.4.1. First-Person Shooters (FPS)
http://en.wikipedia.org/­wiki/­First-person_­shoot­er

1.4.2. Platformers and Other Third-Person Games
http://en.wikipedia.org/­wiki/­Platformer

1.4.3. Fighting Games
http://en.wikipedia.org/­wiki/­Fighting_­game

1.4.4. Racing Games
http://en.wikipedia.org/­wiki/­Racing_­game

1.4.5. Real-Time Strategy (RTS)
http://en.wikipedia.org/­wiki/­Real-time_­strategy

1.4.6. Massively Multiplayer Online Games (MMOG)
http://en.wikipedia.org/­wiki/­MMOG

1.5.1. The Quake Family of Engines
http://www.idsoftware.com/­bus­iness/­tech­down­loads

1.5.2. The Unreal Family of Engines
http://udn.epicgames.com
http://www.beyondunreal.com

1.5.5. Other Commercial Engines
http://www.terathon.com
http://www.terathon.com/­wiki/­index.php?­title=­Main_­Page

1.5.7. Open Source Engines
http://cg.cs.tu-berlin.de/­~ki/­engines.html

1.6. Runtime Engine Architecture
http://www.ogre3d.org

1.6.10. Collision and Physics
http://www.ode.org
http://www.cs.unc.edu/­~geom/­I_­COLLIDE/­index.html
http://www.cs.unc.edu/­~geom/­V_­COLLIDE/­index.html
http://www.cs.unc.edu/­~geom/­OBB/­OBBT.html

2.1. Version Control
http://git-scm.com/

2.1.3. Overview of Subversion and TortoiseSVN
http://code.google.com/

2.1.4. Setting up a Code Repository on Google
http://code.google.com/

2.1.5. Installing TortoiseSVN
http://tortoisesvn.tigris.org/
http://code.google.com/

2.2. Microsoft Visual Studio
http://www.microsoft.com/­express/­download/
http://msdn.microsoft.com/­en-us/­library/­52f3sw5c.aspx

2.3. Profiling Tools
http://en.wikipedia.org/­wiki/­Pareto_­principle
http://www.ibm.com/­developerworks/­rational/­library/­957.html

2.3.1. List of Profilers
http://en.wikipedia.org/­wiki/­List_­of_­perf­orm­ance_­ana­lysis_­tool
http://www-306.ibm.com/­software/­awd­tools/­purify
http://www.compuware.com/­products/­­dev­part­ner/­visualc.htm

2.5. Other Tools
http://en.wikipedia.org/­wiki/­Diff
http://www.prestosoft.com/­edp_­examdiff.asp
http://www.araxis.com
http://www.gnu.org/­software/­diffutils/­diff­utils­.html
http://en.wikipedia.org/­wiki/­3-way_­merge#­Three-way_­merge
http://winmerge.org
http://www.perforce.com/­perforce/­products/­merge.­html
http://www.expertcomsoft.com/­index.html

3.1.1.3. Inheritance
http://en.wikipedia.org/­wiki/­Multiple_­in­her­it­ance
http://en.wikipedia.org/­wiki/­Diamond_­problem

3.1.1.6. Design Patterns
http://www.joelonsoftware.com/­articles/­Wrong.­html

3.2.1.3. Fixed-Point Notation
http://en.wikipedia.org/­wiki/­Significant_­digits

3.2.1.6. Multi-Byte Values and Endianness
http://cocoawithlove.com/­2008/­04/­using-point­ers-to-re­cast-in-c-is-bad.html

3.2.3.3. Dynamic Allocation Heap
http://en.wikipedia.org/­wiki/­Dynamic_­mem­ory_­allocation

3.3.3.2. Exceptions
http://www.joelonsoftware.com/­items/­2003/­10/­13.­html
http://www.nedbatchelder.com/­text/­ex­cep­tions-vs-status.­html
http://www.joelonsoftware.com/­items/­2003/­10/­15.html

3.3.3.3. Assertions
http://www.wholesalealgorithms.com/­blog9

4.2.2. Left-Handed vs. Right-Handed Coordinate Systems
http://en.wikipedia.org/­wiki/­Pseudovector

4.4. Quaternions
http://graphics.ucsd.edu/­courses/­cse­169_­w05/­CSE­169_­04.­ppt

4.4.4. Quaternion-Matrix Equivalence
http://www.gamasutra.com/­view/­feature/­3278/­rot­at­ing_­obj­ects_­using_­quat­ern­ions.­php
http://www.euclideanspace.com/­maths/­geom­etry/­rot­a­tions/­conv­ersions/­matrix­To­Quat­ernion/­index.­htm

4.4.5.2. To SLERP or Not to SLERP (That's Still the Question)
http://number-none.com/­product/­Understanding%20Slerp,%20Then%20Not%20Using%20It/­index.html

4.7. Hardware-Accelerated SIMD Math
http://msdn.microsoft.com/­en-us/­library/­y0dh78ez.aspx

4.8.1. Linear Congruential Generators
http://www.math.sci.hiroshima-u.ac.jp/­~m-mat/­MT/­SFMT/­index.html

4.8.3. Mother-of-All and Xorshift
http://www.stat.fsu.edu/­pub/­diehard
http://en.wikipedia.org/­wiki/George_­Marsaglia
ftp://ftp.forth.org/­pub/­C/­mother.c
http://www.agner.org/­random
http://www.jstatsoft.org/­v08/­i14/­paper

5.2.1. Optimizing Dynamic Memory Allocation
http://www.swedishcoding.com/­2008/­08/­31/­are-we-out-of-memory

5.2.2. Memory Fragmentation
http://lyle.smu.edu/­~kocan/­7343/­fall05/­slides/­chapter08.ppt

5.2.3.1. Level 1 and Level 2 Caches
http://assemblyrequired.crashworks.org/­2008/­07/­08/­load-hit-stores-and-the-__­restrict-keyword

5.3.1. Container Operations
http://en.wikipedia.org/­wiki/­Search_­algorithm
http://en.wikipedia.org/­wiki/­Sorting_­algorithm

5.3.4. Building Custom Container Classes
http://www.boost.org
http://www.stlport.org
http://www.boost.org/­more/­license_­info.html
http://www.erdani.org
http://loki-lib.sourceforge.net

5.3.4.4. Dictionaries and Hash Tables
http://burtleburtle.net/­bob/­c/­lookup3.c
http://en.wikipedia.org/­wiki/­Cyclic_­redundancy_­check
http://en.wikipedia.org/­wiki/­MD5
http://www.azillionmonkeys.com/­qed/­hash.html

5.4.2. String Classes
http://en.wikipedia.org/­wiki/­Copy-on-write

5.4.4.1. Unicode
http://www.joelonsoftware.com/­articles/­Unicode.html
http://msdn2.microsoft.com/­en-us/­library/­kk6xf663(VS.80)

6.1.1.4. Path APIs
http://msdn2.microsoft.com/­en-us/­library/­bb773559(VS.85).aspx

6.1.2. Basic File I/O
http://msdn2.microsoft.com/­en-us/­library/­c565h7xx(VS.71).aspx
http://msdn2.microsoft.com/­en-us/­library/­40bbyw78(VS.71).aspx

6.2.1.3. Some Successful Resource Database Designs
http://msdn.microsoft.com/­en-us/­library/­bb203894.aspx

6.2.2.2. Resource File and Directory Organization
http://www.zlib.net
http://zziplib.sourceforge.net

6.2.2.3. Resource File Formats
http://www.radgametools.com

6.2.2.7. Memory Management for Resources
http://www.radgametools.com

6.2.2.9. Handling Cross-References between Resources
http://en.wikipedia.org/­wiki/­Plain_­Old_­Data_­Structures

7.6. Multiprocessor Game Loops
http://www.microsoftpost.com/­microsoft-download/­the-manycore-shift-white-paper
http://www.macresearch.org/­multicore_­eroding_­moores_­law

7.6.1.1. Xbox 360
http://www.hotchips.org/­archives/­hc17/­3_­Tue/­HC17.S8/­HC17.S8T4.pdf

7.6.1.2. PlayStation 3
http://www.blachford.info/­computer/­Cell/­Cell1_­v2.html

7.6.3. Fork and Join
http://msdn.microsoft.com/­en-us/­library/­ms682516(VS.85).aspx

7.7.3. Case Study: Quake II
http://www.idsoftware.com

8.3.5. 3D Orientation with the WiiMote or Sixaxis
http://druid.caughq.org/­presentations/­turbo/­Wiimote-Hacking.pdf

8.5.2. Dead Zone
http://en.wikipedia.org/­wiki/­Low-pass_­filter

10.1.1.1. Representations Used by High-End Rendering Packages
http://en.wikipedia.org/­wiki/­Bezier_­surface
http://en.wikipedia.org/­wiki/­Nurbs
http://www.gamasutra.com/­features/­20020715/­mollerhaines_­01.htm
http://www.gamasutra.com/­features/­20000411/­sharp_­pfv.htm

10.1. Foundations of Depth-Buffered Triangle Rasterization
http://research.microsoft.com/­en-us/­um/­people/­hoppe/­pm.pdf

10.1.2.5. Textures
http://en.wikipedia.org/­wiki/­S3_­Texture_­Compression

10.1.3.1. Local and Global Illumination Models
http://en.wikipedia.org/­wiki/­Rendering_­equation

10.1.3.2. The Phong Lighting Model
http://en.wikipedia.org/­wiki/­Blinn%E2%80%93Phong_­shading_­model

10.2.6.4. Further Reading
http://developer.nvidia.com/­object/­cg_­tutorial_­home.html

10.2.7.4. Scene Graphs
http://zgking.com:8080/­home/­donghui/­teaching/­slides/­geometry/­BSP2D.ppt
http://www.gamedev.net/­reference/­articles/­article657.asp

10.3.3.5. Subsurface Scattering
http://developer.nvidia.com/­GPUGems/­gpugems_­ch16.html

10.3.3.6. Precomputed Radiance Transfer (PRT)
http://web4.cs.ucl.ac.uk/­sta./­j.kautz/­publications/­prtSIG02.pdf
http://msdn.microsoft.com/­en-us/­library/­ee422144%28VS.85%29.aspx

10.3.4. Deferred Rendering
http://www.guerrilla-games.com/­publications/­dr_­kz2_­rsx_­dev07.pdf

11.4.1.3. Frame versus Sample
http://en.wikipedia.org/­wiki/­Sampling_­%28signal_­processing%29

11.4.4.1. Animation Retargeting
http://portal.acm.org/­citation.cfm?id=1450621
http://chrishecker.com/­Real-time_­Motion_­Retargeting_­to_­Highly_­Varied_­User-Created_­Morphologies

11.6.3.3. Triangular Two-Dimensional LERP Blending
http://en.wikipedia.org/­wiki/­Barycentric_­coordinates_­%28mathematics%29

11.6.3.4. Generalized Two-Dimensional LERP Blending
http://en.wikipedia.org/­wiki/­Delaunay_­triangulation

11.7.2. Inverse Kinematics
http://en.wikipedia.org/­wiki/­Inverse_­kinematics

11.8.2. Quantization
http://number-none.com/­product/­Scalar%20Quantization/­index.html
http://www.gdmag.com/­src/­jun02.zip

11.10.2.2. Example: Granny
http://www.radgametools.com/­granny.html

12.1.1. Things You Can Do with a Physics System
http://www.naturalmotion.com/­endorphin.htm

12.1.3.4. Other Impacts
http://www.gamedev.net/­community/­forums/­topic.asp?topic_­id=463024

12.2.1. I-Collide, SWIFT, V-Collide, and RAPID
http://www.cs.unc.edu/­~geom/­I_­COLLIDE/

12.2.2. ODE
http://www.ode.org

12.2.3. Bullet
http://code.google.com/­p/­bullet/
http://www.bulletphysics.com/­mediawiki-1.5.8/­index.php?title=Main_­Page

12.2.4. TrueAxis
http://trueaxis.com

12.2.5. PhysX
http://www.nvidia.com/­object/­nvidia_­physx.html

12.2.6. Havok
http://www.havok.com

12.2.7. Physics Abstraction Layer (PAL)
http://www.adrianboeing.com/­pal/­index.html

12.2.8. Digital Molecular Matter (DMM)
http://www.pixeluxentertainment.com

12.3.2.1. The Physics World
http://en.wikipedia.org/­wiki/­Shape

12.3.3.1. Intersection
http://en.wikipedia.org/­wiki/­Intersection_­(set_­theory)

12.3.3.3. Convexity
http://en.wikipedia.org/­wiki/­Convex

12.3.5. Collision Testing and Analytical Geometry
http://en.wikipedia.org/­wiki/­Analytic_­geometry

12.3.5.3. The Separating Axis Theorem
http://en.wikipedia.org/­wiki/­Separating_­axis_­theorem

12.3.5.4. AABB versus AABB
http://www.gamasutra.com/­features/­20000203/­lander_­01.htm

12.3.5.5. Detecting Convex Collisions: The GJK Algorithm
http://ieeexplore.ieee.org/­xpl/­freeabs_­all.jsp?&arnumber=2083
http://realtimecollisiondetection.net/­pubs/­SIGGRAPH04_­Ericson_­the_­GJK_­algorithm.ppt
http://mollyrocket.com/­849

12.3.5.6. Other Shape-Shape Combinations
http://en.wikipedia.org/­wiki/­Double_­dispatch

12.3.5.7. Detecting Collisions Between Moving Bodies
http://www.continuousphysics.com/­Bullet­Cont­inu­ous­Coll­ision­Det­ec­tion.pdf

12.3.6. Performance Optimizations
http://research.microsoft.com/­~hoppe/­perfecthash.pdf

12.3.6.3. Broad Phase, Midphase, and Narrow Phase
http://en.wikipedia.org/­wiki/­Sweep_­and_­prune

12.4.1. Some Foundations
http://chrishecker.com/­Rigid_­Body_­Dynamics
http://www.ode.org/­slides/­parc/­dynamics.pdf

12.4.4.3. Alternatives to Explicit Euler
http://en.wikipedia.org/­wiki/­Numerical_­ordinary_­differential_­equations
http://en.wikipedia.org/­wiki/­Verlet_­integration

12.4.6. Angular Dynamics in Three Dimensions
http://gafferongames.wordpress.com/­game-physics
http://www-2.cs.cmu.edu/­~bara./­sigcourse/­notesd1.pdf

12.4.7.2. Impulsive Collision Response
http://chrishecker.com/­images/­e/­e7/­Gdmphys3.pdf

12.4.9.3. Applying Torques
http://en.wikipedia.org/­wiki/­Couple_­(mechanics)

12.4.10.2.Variations between Engines
http://opende.sourceforge.net/­wiki/­index.php/Main_­Page

13. Introduction to Gameplay Systems
http://www.dcs.shef.ac.uk/­intranet/­research/­resmes/­CS0705.pdf

13.2.1. Game Object Models
http://en.wikipedia.org/­wiki/­Object_­model

14.2.2.5. Further Reading
http://www.gamasutra.com/­features/­gdcarchive/­2002/­rob_­fermier.ppt
http://www.drizzle.com/­~scottb/­gdc/­game-objects.ppt
http://www.gamasutra.com/­features/­gdcarchive/­2003/­Duran_­Alex.ppt
http://www.gamasutra.com/­features/­gdcarchive/­2003/­Chatelaine_­Jeremy.ppt
http://chrishecker.com/­images/­6/­6f/­ObjSys.ppt

14.5.2. Smart Pointers
http://www.boost.org/­doc/­libs/­1_­36_­0/­libs/­smart_­ptr/­smart_­ptr.htm

14.6.4.1. Parallelizing the Game Object Model Itself
http://www.erlang.org

14.8.3.3. Lua
http://www.lua.org/­about.html

14.8.3.4. Python
http://www.python.org
http://en.wikipedia.org/­wiki/­Duck_­typing

14.8.3.5. Pawn / Small / Small-C
http://www.compuphase.com/­pawn/­pawn.htm
http://www.opensource.org/­licenses/­zlib-license.php

14.8.4. Architectures for Scripting
http://www.drizzle.com/­~scottb/­gdc/­game-objects.ppt
http://ds.heavengames.com/­library/­dstk/­skrit/­skrit
http://www.panda3d.org

15.1.1. Audio
http://msdn.microsoft.com/­en-us/­library/­bb172329(VS.85).aspx

15.1.2. Movie Player
http://en.wikipedia.org/­wiki/­Video_­codec
http://www.radgametools.com/­bnkmain.htm

References
http://svnbook.red-bean.com