Game Developer
Gameplay programming questions
188 questions on Gameplay programming for game developers, easiest first.
Easy 54
- Frame-rate independent movementeasy
- Faster diagonal movementeasy
- Basic game loopeasy
- Checking if the player is groundedeasy
- Awake or Start firsteasy
- Input actions instead of keyseasy
- What deltaTime iseasy
- Button drifts on other screenseasy
- Shared stats for many enemieseasy
- Sound with no directioneasy
- Per-frame code in Unrealeasy
- Variable and fixed timestepseasy
- Jump pressed just before landingeasy
- Jumping just after leaving a ledgeeasy
- Why games pool objectseasy
- Decoupling achievements from combateasy
- A flying, swimming, shooting enemyeasy
- Enemy with patrol, chase and attackeasy
- What to put in a save fileeasy
- Shortest path on a plain grideasy
- Heuristic for four-way movementeasy
- Do two boxes overlap?easy
- Camera snaps to the playereasy
- Everything is a singletoneasy
- Undo in a level editoreasy
- What a 60 Hz server tick meanseasy
- Managing menu, play and pauseeasy
- Pause menu animations frozeneasy
- Health logic for many object typeseasy
- Designers tuning enemy statseasy
- Reading a weighted loot rolleasy
- Hitboxes and hurtboxeseasy
- Game freezes when loading a leveleasy
- Letting players rebind keyseasy
- Implementing a 5-second cooldowneasy
- Hitscan weaponseasy
- Guard patrol routeeasy
- Damage after armoureasy
- Chance of at least one dropeasy
- Client-server or peer-to-peereasy
- Ping and one-way delayeasy
- Clicking pause also fires a shoteasy
- Health regenerated in 3.2 secondseasy
- Respawning in front of enemieseasy
- Order inside one frameeasy
- Counting kills for an achievementeasy
- Adding Easy, Normal and Hardeasy
- What a checkpoint storeseasy
- Seeing why AI behaves oddlyeasy
- Translating UI texteasy
- GameMode is null on clientseasy
- Buttons do not respond to clickseasy
- Footsteps cut each other offeasy
- Building a HUD in Unrealeasy
Medium 73
- Fixed timestep with an accumulatormedium
- Enemy pathfindingmedium
- Messy player codemedium
- Behaviour tree selectormedium
- A* heuristic that overestimatesmedium
- Memory keeps growing with Addressablesmedium
- Server RPC is ignoredmedium
- OnRep not running on the hostmedium
- Why fast games use UDPmedium
- Old save files break after a patchmedium
- Sharing a generated levelmedium
- Spiky random terrainmedium
- Textures use too much memory on mobilemedium
- Timer text slows the whole HUDmedium
- A* with h = 0medium
- Octile distance on a gridmedium
- Navmesh or grid for open 3D levelsmedium
- Zig-zag paths on a navmeshmedium
- AI that weighs many optionsmedium
- AI that plans steps to a goalmedium
- Sequence node behaviourmedium
- Sharing data between AI tasksmedium
- Is the player inside the view cone?medium
- State machine with too many transitionsmedium
- Event handler fires the same eventmedium
- Save file corrupted by a crashmedium
- Players edit coins in the savemedium
- When to autosavemedium
- Particle effects change the level layoutmedium
- Character drifts with the stick releasedmedium
- Delay from snapshot interpolationmedium
- Sending only what changedmedium
- Which messages need reliabilitymedium
- Bandwidth for a 64-player matchmedium
- Cloud save from two devicesmedium
- Match ends when the host leavesmedium
- Choosing a server modelmedium
- Time between ticks at 128 Hzmedium
- Lost input packetsmedium
- Why others look slightly behindmedium
- Sending only nearby playersmedium
- All agents re-path every framemedium
- Agent overshoots its targetmedium
- Boids flocking rulesmedium
- Where are enemies strongestmedium
- Each enemy checks every other unitmedium
- Scripted sequence as a coroutinemedium
- Destroyed UI still receives eventsmedium
- Critical hits come in streaksmedium
- Same power-up three times in a rowmedium
- Generating organic cavesmedium
- Dungeon with non-overlapping roomsmedium
- Recording a replay cheaplymedium
- Replays differ at different frame ratesmedium
- Branching dialogue structuremedium
- Tracking quest progressmedium
- Picking up 30 arrows with max stack 20medium
- Making UI motion feel naturalmedium
- Camera shake that stacks badlymedium
- Hits feel weakmedium
- Aim assist on a controllermedium
- Players behind strict NATmedium
- Networking a turn-based card gamemedium
- NPC stuck walking into a cornermedium
- AI aim is perfect and unfunmedium
- Responsive or realistic movementmedium
- Finding a lockstep desync earlymedium
- Texture format for mobilemedium
- Replicated health never updatesmedium
- Driving a car uses different keysmedium
- Pause menu still moves the playermedium
- Load and store actions on mobilemedium
- mediump in mobile shadersmedium
Hard 61
- Responsive movement with an authoritative serverhard
- Hits that looked right but missedhard
- Lockstep desynchard
- Choppy remote playershard
- Game slows to a crawl after a hitchhard
- How rollback netcode workshard
- Bandwidth grows with player counthard
- Client reports its own damagehard
- Main menu loads the whole gamehard
- Alpha-tested foliage on mobilehard
- Friends cannot join a hosted gamehard
- Agents bump into each otherhard
- Free gems from fake purchaseshard
- Estimating server time on a clienthard
- Blending between physics stateshard
- Cross-platform lockstep RTShard
- Correcting a predicted playerhard
- Matching server updates to inputshard
- Server receives inputs in burstshard
- Shot behind a wallhard
- Detecting speed hackshard
- Checking collisions among 5,000 objectshard
- Pathing for 2,000 units to one goalhard
- Long paths on a huge maphard
- Why ECS iteration is fasthard
- Handle points to a reused slothard
- Progress lost when switching appshard
- Bullets skip through thin enemieshard
- Clustered objects in a spatial structurehard
- Biased card shufflehard
- A* explores a wide area on open mapshard
- Faster A* on uniform-cost gridshard
- Extrapolated car goes off trackhard
- Precision of 16-bit positionshard
- Compressing rotationshard
- Not enough bandwidth for all entitieshard
- Stopping wallhackshard
- Input delay in rollback netcodehard
- Elo expected scorehard
- Damage applied after the death checkhard
- Saving links between objectshard
- Many short-lived allocations per framehard
- Stiff springs explodehard
- Rendering while the simulation updateshard
- Honest players get rubber-bandedhard
- Players pop in and out at the edgehard
- AI cannot jump a gaphard
- AI finishes a patrol before reactinghard
- Rollback is too slowhard
- Servers for peak playershard
- Older client reads a newer savehard
- Updating 100,000 particles fasterhard
- Desync from a hash sethard
- Far actors still use bandwidthhard
- Clients disconnect under loadhard
- Size of a 2K ASTC 6x6 texturehard
- Multicast called on a clienthard
- Spawned pickup invisible to othershard
- Sprint rubber-bands onlinehard
- Dedicated server wastes CPU on effectshard
- Phone gets slower after 10 minuteshard