In this course, we will cover approximately 10-12 topics at a rate of one per week. I will give you 10% of your grade for each topic that you demonstrate strong knowledge in. As you are in your final year, I hope that you will apply these ideas in your capstone project so that you do not have to create separate demonstration programs. The goal is to make your capstone project stand out.
As each topic is worth 10%, you can choose how many of these ideas you want to implement. Therefore, you have the opportunity to choose your own grade by demonstrating strong knowledge in the number of topics that you select.
Topic 1 (max 10%): Memory Monitor
For full credit, keep track of all the heap allocations and deallocations by overloading
the new and delete operators and gather data.
Some ideas are, but not limited to, count the number of allocations and deallocations,
sum the amount mem allocated and subtrack the amount deallocated looking for memory leaks.
Can you give me some statistics about memory allocation and deallocation I can use
Example code: MemoryMonitor
Topic 2 video
Topic 2 (max 10%): Memory Management
Memory management in game programming is the process of allocating, freeing and managing memory efficiently to ensure the
proper execution of a game. This includes handling memory allocation for game assets such as textures, audio files,
and models, as well as managing memory used by the game engine and game objects. Effective memory management is crucial
for achieving optimal performance, avoiding crashes in large game productions. Common techniques used in game memory management
include pooling, garbage collection, distinct memory block allocations.
Example code improved: MemoryManager
To get full credit for this topic, put the memory management tecgniques discussed in class into an existing program
and demonstrate that you can control the use of memory over just using the OS.