You have a brilliant top-down dungeon crawler idea. But every tutorial assumes platformers. Or you spend three days fighting gravity just to make a spaceship rotate properly. Sound familiar?
You have a brilliant top-down dungeon crawler idea. But every tutorial assumes platformers. Or you spend three days fighting gravity just to make a spaceship rotate properly. Sound familiar?
In traditional game engines, getting basic movement working is surprisingly painful. Unity requires you to understand Rigidbody2D components, velocity vectors, and FixedUpdate timing. Even "simple" 8-directional movement means writing code to normalize diagonal speeds so you do not zoom across the map.
CraftMyGame includes five pre-built movement styles that understand what kind of game you are making:
Top-Down — Full 8-directional movement with automatic diagonal speed normalization. No gravity fighting. Perfect for RPGs, twin-stick shooters, Zelda-style adventure games, and anything viewed from above.
Platformer — Left/right movement with physics-based jumping. Horizontal input only, gravity handles the rest. Mario-style side-scrollers, puzzle platformers, Metroidvanias.
Racing — Forward/backward momentum with responsive steering. Your vehicle accelerates in the direction it faces, turns feel natural. Top-down racers, driving games, tank controls.
Thrust — Asteroids-style rotation and forward thrust. Rotate with A/D, thrust with W/S, coast when you let go. Space shooters, ship combat, Asteroids clones, anything that should feel weightless.
Default — Traditional gravity behavior for custom setups or when you want full manual control.
Each style comes pre-configured with sensible defaults that feel good immediately. Then tweak speed, acceleration, rotation speed, and friction until your game feels exactly right.
Select "Top-Down" from a dropdown. Your character moves correctly in 30 seconds. The same setup in Unity? Expect an afternoon of tutorials, debugging, and Stack Overflow searches.
Your platformer feels floaty. Your racing game feels stiff. Your spaceship stops on a dime when it should coast. The problem is not your design—it is that most engines force you to understand physics forces, velocity damping, and acceleration curves before you can fix it.
CraftMyGame offers two physics methods that fundamentally change how your game feels:
Direct Velocity — Instant, arcade-perfect response. Press left, move left immediately. Release the button, stop immediately. Zero momentum, zero drift, pure responsiveness. This is how classic games like Mega Man and Castlevania feel—tight and precise. Perfect for precision platformers, bullet-hell shooters, and any game where split-second reactions matter.
Force-Based — Real physics with momentum, acceleration, and natural deceleration. Your racing car takes time to reach top speed and coasts when you lift off the gas. Your spaceship drifts when you cut engines, then slowly stops. This is how Gran Turismo or Asteroids feel—weighty and realistic.
Switch between them with one dropdown. No code changes. No physics degree. The same character can feel like a twitchy arcade hero or a heavy realistic tank depending on this single setting.
Your character moves too slow. Your car turns like a tank. Your spaceship stops too abruptly after you release thrust. These tiny details make or break how a game _feels_—but in traditional engines, adjusting them means guessing at Rigidbody drag values, experimenting with physics materials, and hoping you do not accidentally break something else.
CraftMyGame exposes the settings that actually matter in plain language:
Drag a slider. Watch your character move differently in real-time. Find the perfect feel through experimentation, not through calculating Vector2 velocities or tweaking mysterious PhysicsMaterial2D coefficients.
This is how professional game designers iterate on "game feel"—through rapid experimentation. CraftMyGame just removes the code between you and the result.
You drew a perfectly circular enemy. But its invisible rectangular hitbox means players keep dying from "hits" that clearly missed—and you get frustrated comments like "that did not even touch me!" Or your character snags on corners because the collision box extends beyond the visible sprite.
In traditional engines, fixing this means creating custom collision shapes, often by manually plotting polygon points or adjusting collider components. In CraftMyGame, you just pick the shape that matches your art:
Box — For square or rectangular sprites. Characters, crates, walls, platforms, doors, anything with straight edges.
Sphere — For circular sprites. Balls, round enemies, projectiles, coins, any entity where a circle makes more sense than a rectangle.
Pick the shape. Adjust the width and height as a percentage of your sprite size. Your hitbox now matches what players actually see on screen—no more "unfair" hits, no more corner-snagging.
Fair, predictable collisions make your game feel polished. Unfair hitboxes make players quit in frustration. This is a detail that matters more than most developers realize.
Not every object should bounce around when hit. Walls should be immovable. Moving platforms should push players but never get pushed themselves. Background decorations should not have collision at all.
Traditional engines require you to understand the difference between static and dynamic colliders, kinematic rigidbodies, and when to use triggers. CraftMyGame gives you three physics body types with clear purposes:
Dynamic — Full physics simulation. Affected by gravity, collisions, and forces. This is what players, enemies, projectiles, and physics objects should be. They move, they bounce, they interact with the world.
Kinematic — Movable by your game logic, but immune to physics forces. Moving platforms, elevators, scripted obstacles, boss attack patterns. They push dynamic objects out of the way but never get pushed back themselves.
Static — Completely immovable. Walls, floors, level boundaries. They participate in collision detection but never move, and they use zero physics processing power.
Plus fine-tune each dynamic body when you need more control:
Need a doorway that teleports players to a new area? A checkpoint that saves progress when crossed? A damage zone that hurts on contact? A pickup area that collects nearby coins?
In traditional engines, these require collision scripts—writing OnTriggerEnter callbacks, checking tags, managing state. It is the kind of boilerplate code that feels tedious even after you have done it a hundred times.
Trigger zones in CraftMyGame detect overlaps without physical blocking. Objects pass through freely, but the engine knows when something entered and can respond automatically.
Turn any collision shape into a trigger with one checkbox. Then use the built-in action system to define what happens—teleport the player, deal damage, spawn enemies, trigger dialogue, play a sound, anything. The trigger zone handles detection; your configured actions handle the response.
No collision scripts. No physics callbacks. No debugging why your trigger is not firing. Just check a box and choose what happens.
Most engines assume Earth-like gravity pulling everything straight down. That is great for platformers, but what if you are making a top-down dungeon crawler? A zero-gravity space game? A gravity-flipping puzzle platformer like VVVVVV?
In traditional engines, fighting the default gravity model is a constant battle. You set rigidbody gravity scale to zero, but then jumps break. You try custom gravity implementations, but now you are maintaining physics code.
CraftMyGame's gravity system gives you full control at the world level:
Set gravity once for your entire game. Your top-down RPG automatically has no gravity—characters move freely in all directions. Your platformer has realistic downward pull. Your experimental puzzle game has whatever physics rules you imagine.
The movement styles understand gravity too. Top-down mode ignores gravity regardless of world settings. Platformer mode respects it. You get the behavior you expect without fighting the engine.
When players get hit, they should _feel_ it. A good hit should push the player back, create visual feedback, make the damage feel impactful. A weapon swing that just subtracts health feels hollow.
But adding knockback traditionally means diving into physics impulses, calculating direction vectors from attacker to target, applying forces, and praying you did not accidentally launch players through walls or break your movement code.
CraftMyGame's knockback system handles the physics math:
- Enemies knock players backward on attack—automatic direction calculation - Explosions push all nearby objects away from the blast center - Adjustable force strength for light bumps, significant pushes, or massive launches - Directional control (always backward from attack, toward attack source, or custom)
Configure knockback strength directly on weapons, enemies, or environmental hazards. The engine calculates force direction, applies the impulse, and prevents physics glitches like infinite bouncing or wall clipping.
The difference between a game that feels punchy and one that feels flat often comes down to details like knockback. Make your combat feel impactful without becoming a physics programmer.
Projectiles that fly straight forward. Enemies that burst onto the screen from spawn points. Particles that scatter in all directions on impact. Loot that pops out of defeated enemies with satisfying physics.
In traditional engines, each of these requires spawn logic—instantiate the object, get the direction, apply initial velocity, maybe add some randomness. It is not difficult code, but it is code you write over and over.
Initial velocity lets you define how fast and in what direction entities move the instant they spawn:
- Set a fixed direction and speed for consistent projectiles - Inherit velocity from the spawning entity (a running player's thrown grenade keeps their momentum) - Use dynamic values for variable movement (random scatter, aimed shots, homing behavior)
Projectiles work out of the box. Spawn a fireball, define "forward at 500 units per second," and it flies. The weapon system handles firing direction. The physics system handles collision. You just configure the numbers.
Spawn effects, projectile behavior, and physics-based loot drops—all without writing spawn logic.