Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HookRacer

A 2D speedrunning platformer built in Unreal Engine 5.6, starring a grappling-hook movement system layered on top of classic run/jump/inhale platforming.

🏆 盛り上がるで賞 (Most Exciting Award) — 24th UE5ぷちコン (24th UE5 Petit-Con)

Demo

HookRacer gameplay demo

English | 日本語


English

Overview

HookRacer is a fast-paced 2D racer where the player fires a grappling hook to swing, pull, and chain momentum through hazard-filled levels — competing against opponents for race position instead of just a clock. Classic Kirby-style abilities (inhale/spit, wheel dash) are repurposed as movement and combat tools for traversal speed rather than puzzle-solving.

Technology

  • Engine: Unreal Engine 5.6, C++ gameplay code with Blueprint-driven animation/VFX
  • Paper2D — sprite flipbook rendering and 2D collision for all characters and gameplay elements
  • PaperZD — animation state machines and blueprint-callable animation notifies driving character movement states (walk/run/hurt/wheel), VFX, and enemy behavior
  • Custom UCharacterMovementComponent subclass for the hook-swing/wheel-dash movement model

Gameplay Systems

  • Hook (AKSTongueTip) — a fired grapple point that detects hookable surfaces/objects and retracts the player toward it, the core traversal mechanic the game is named after
  • Wheel dash — an energy-metered roll state (EMovementState::Wheel) for short bursts of speed
  • Inhale / spit (IInhalable) — enemies and objects can be inhaled and fired back out as projectiles
  • Race position tracking — players are ranked live (CurrentRacePosition) against opponents rather than racing a bare timer
  • Level hazards & tools — breakable blocks, spikes (static & moving), kill zones, one-way platforms, moving platforms, explosive barrels, missile launch pads, and speed boosters
  • Checkpoints & goal flags for respawn and race-completion logic
  • AI enemies, including a dedicated wheel-based enemy archetype
  • UI/VFX — an off-screen indicator for tracking opponents/hazards outside the camera, plus a speed after-image effect

Repo Contents

This repository showcases the project's C++ gameplay source and configuration. Binary art/audio/level assets are excluded to keep the repo lightweight — the YouTube demo above shows the game in action.

Source/     C++ gameplay code (characters, movement, gameplay elements, UI, VFX)
Config/     Project configuration (input, engine defaults)

Game Design Document

Curious about the design intent behind the movement feel, level pacing, and art direction? See docs/GDD.md (English/日本語).


日本語

概要

HookRacerは、フックを発射してスイング・牽引しながら勢いをつなぎ、罠だらけのステージを駆け抜ける高速2Dレースアクションです。単なるタイムアタックではなく、他のレーサーと着順を競い合うのが特徴です。クラシックなカービィ風のアビリティ(吸い込み・吐き出し、ホイールダッシュ)を、パズル要素ではなく移動・戦闘のための高速化ツールとして再構築しています。

使用技術

  • エンジン: Unreal Engine 5.6。ゲームプレイはC++で実装し、アニメーションやVFXはBlueprintで制御
  • Paper2D — 全キャラクター・ギミックのスプライトフリップブック描画と2Dコリジョンに使用
  • PaperZD — キャラクターの移動状態(歩行/走行/被弾/ホイール)、VFX、敵の挙動を制御するアニメーションステートマシンとBlueprintから呼び出せるアニメーション通知に使用
  • フックスイング/ホイールダッシュの移動モデル用に、カスタムのUCharacterMovementComponentサブクラスを実装

ゲームプレイシステム

  • フックAKSTongueTip) — 発射したグラップルポイントがフック可能な地形・オブジェクトを検知し、プレイヤーを引き寄せる。ゲームタイトルの由来となったコア移動メカニクス
  • ホイールダッシュ — エネルギーゲージ制のロール状態(EMovementState::Wheel)による短時間の加速
  • 吸い込み・吐き出しIInhalable) — 敵やオブジェクトを吸い込み、弾として吐き出すことができる
  • 順位トラッキング — 単なるタイム計測ではなく、他のレーサーとのリアルタイムな順位(CurrentRacePosition)を管理
  • ステージギミック — 壊せるブロック、固定/移動式のトゲ、即死ゾーン、一方通行の足場、移動する足場、爆発樽、ミサイル発射台、スピードブースターなど
  • チェックポイントとゴールフラッグ — リスポーンとレース完了処理を担当
  • ホイール型の専用アーキタイプを含む敵AI
  • UI/VFX — 画面外の対戦相手や障害物を示すオフスクリーンインジケーター、およびスピード時の残像エフェクト

リポジトリの構成

このリポジトリではプロジェクトのC++ゲームプレイソースとプロジェクト設定を公開しています。リポジトリを軽量に保つため、アート・音声・レベルなどのバイナリアセットは含まれていません — 実際のプレイの様子は上記のYouTubeデモをご覧ください。

Source/     C++ゲームプレイコード(キャラクター、移動処理、ギミック、UI、VFX)
Config/     プロジェクト設定(入力、エンジンのデフォルト設定)

ゲームデザインドキュメント

移動の手触り、レベルのペース配分、アートの方向性など、設計意図に興味がある方は docs/GDD.md(English/日本語)をご覧ください。

About

UE5 2D Side-scrolling Action Racing Game

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages