Southern New Hampshire University

GAM220: Game Programming II

A study guide to SNHU's GAM220, which builds on first-course programming with optimization, memory management and modular architecture.

Updated October 2026 · 5 min read

GAM220 at Southern New Hampshire University builds on the programming foundations from GAM110, which the catalog lists as the prerequisite. The description focuses on code fundamentals, optimization techniques and scalable software architecture.

Students learn to manage memory efficiently, write modular and maintainable code, and work within an integrated development environment. The leap from "it runs" to "it is well built" is what makes the course demanding.

Course at a Glance

ItemDetails
UniversitySouthern New Hampshire University (SNHU)
Code and titleGAM220 Game Programming II
Credits3
LevelUndergraduate
PrerequisiteGAM110 Game Programming I
Catalog noteTypically offered during spring terms (campus)
Typical workLarger coding assignments and refactoring tasks (general; check your syllabus)

What GAM220 Covers

Topic (from the catalog)What it means in practice
Code fundamentalsData types, logic and clean structure
Optimization techniquesFinding bottlenecks and reducing wasted work
Scalable architectureOrganizing code so it can grow without becoming tangled
Memory managementAllocating, using and releasing memory safely
Modular, maintainable codeSmall, focused units with clear responsibilities
Object-oriented designExtensibility and reuse through well-chosen classes
Debugging in an IDEBreakpoints, watches and step-through

Key Concepts Explained

Measure Before Optimizing

Optimizing guesses wastes time. Profile first, find the slowest part, change it and measure again.

Example: A scene slows down with many enemies. Profiling shows the distance check runs against every object each frame. Checking only nearby objects (for instance, by grid cell) cuts the work, and a second measurement confirms the gain.

Ownership of Memory

Every allocation needs a clear owner and a clear end of life. Leaks and dangling references are common in game code that creates and removes objects often.

Example: Bullets are created every shot. Reusing a pool of bullets rather than creating and deleting each one reduces allocations and avoids leaks.

Modularity

Give each class one job and keep dependencies few. A change to input handling should not require edits in the renderer.

Refactoring Checklist

Improving code without changing what it does is a skill in itself. Use a checklist so each pass has a purpose.

SmellLikely fixCheck afterwards
A function longer than a screenExtract smaller functions with clear namesSame output as before
Copied code in several placesMove to one shared function or base classAll callers still work
A class that knows about everythingSplit responsibilitiesFewer dependencies per class
Magic numbersName them as constantsValues are easy to tune

Typical Assignments and How to Approach Them

Assignment typeWhat it testsHow to approach it
Feature implementationApplying OOP to a specDesign classes first, then code
Optimization taskMeasured improvementRecord before and after figures
Memory exerciseSafe allocation and releaseDraw who owns each object
RefactoringMaintainabilityChange structure without changing behavior; retest

Reading a Profile Report

Optimization work is only convincing when it is measured. A short table of before and after figures makes the improvement visible and gives the marker something to check.

MeasureBeforeAfterWhat changed
Frame time (illustrative)Slow with many objectsSteadierDistance checks limited to nearby objects
Allocations per secondHighLowObject pool replaces create and delete
Update function lengthOne large functionSeveral focused functionsRefactoring for readability

Use your own recorded figures in assignments; the rows above only show the layout. Always say how you measured, on what machine and with how many objects, so the result can be repeated.

A Worked Example: Reusing Objects

Allocation costs add up when a game creates and destroys many short-lived objects. A simple pool shows several course themes at once: memory, performance and modular design.

Example: Instead of creating a new bullet each shot, the game creates 50 bullets at start-up and marks each active or inactive. Firing activates an inactive bullet and sets its position; when it leaves the screen it is marked inactive again. The pool class owns the bullets, so ownership is clear, and the game logic only asks the pool for one.

When you write about this in an assignment, state the problem it solves, how you measured the effect and what the trade-off is, such as fixed memory use.

Where Students Get Stuck

Study Tips for GAM220

How We Help with GAM220

Send the specification, code, error messages and the rubric. A programmer can explain concepts, review your design, and show worked examples you then apply yourself.

GradeEssays is independent and not affiliated with Southern New Hampshire University. Our work is a study and reference aid: use it to understand the method, then complete and submit your own work under SNHU's academic integrity policy. Orders are written from scratch, with free revisions within the scope of your original request and a full refund if late.

Improve Your Game Code Design

Share the assignment, code and rubric. We review structure, memory use and explain each improvement.

Start My GAM220 Help

Free revisions · Full refund if late · Written from scratch for your order

Frequently Asked Questions

What is the prerequisite for GAM220?

SNHU's catalog lists GAM110 Game Programming I.

How many credits is GAM220?

3 credits, at the undergraduate level.

Is memory management covered?

Yes, the catalog description includes managing memory efficiently.

When is GAM220 offered?

The campus entry notes it is typically offered in spring terms. Check the current schedule for online sections.

What makes code modular?

Each part has one clear job and few dependencies on others.

Can you check my architecture?

Yes. Send the code and spec and we review structure and explain improvements.