Can anyone help me make a litle Halloween game?

Here are the AI created Blueprints for a Halloween game in UE5.7.

:bat: Game concept β€” Little Vampire

Style: Halloween cartoon platformer
Engine: Unreal Engine 5.7
Camera: Side-on 2.5D
Player: Small vampire sprite
Forms:

  • :vampire: Vampire β€” walks, jumps and explores
  • :bat: Bat β€” flies freely and can bite victims

Basic level loop

Start Level β†’ Explore β†’ Transform into Bat β†’ Fly β†’ Bite Victims β†’ Reach Bite Target β†’ Level Complete

For example:

Level 1: Bite 5 victims
Level 2: Bite 8 victims
Level 3: Bite 12 victims
Level 4: Bite 15 victims + avoid vampire hunters
Level 5: Bite 20 victims + Halloween boss


1. Create the project

Create:

Games β†’ Blank β†’ Blueprint

Recommended settings:

  • Blueprint
  • Desktop
  • Maximum Quality
  • Side Scroller-style camera
  • Starter Content optional

Create these folders:

Content
β”œβ”€β”€ Blueprints
β”‚   β”œβ”€β”€ Player
β”‚   β”œβ”€β”€ Enemies
β”‚   β”œβ”€β”€ Pickups
β”‚   β”œβ”€β”€ Levels
β”‚   └── UI
β”œβ”€β”€ Characters
β”œβ”€β”€ Animations
β”œβ”€β”€ Sprites
β”œβ”€β”€ Sounds
└── Materials

2. Player character

Create:

BP_VampireCharacter

Parent:

Character

Components:

BP_VampireCharacter
β”‚
β”œβ”€β”€ CapsuleComponent
β”œβ”€β”€ Sprite_Vampire
β”œβ”€β”€ Sprite_Bat
β”œβ”€β”€ SpringArm
β”‚   └── Camera
└── BiteCollision

For a 2D sprite game, you can use Paper 2D sprites.

If you’re using 3D characters with 2D-looking sprites, the same Blueprint logic works.


3. Player variables

Inside BP_VampireCharacter, create:

Boolean

IsBat

Default:

False

Integer

BiteCount

Default:

0

Integer

RequiredBites

Default:

5

Boolean

CanBite

Default:

True

Float

WalkSpeed

Example:

400

Float

BatSpeed

Example:

700

4. Vampire movement

For the vampire form, use normal platform movement.

Input

Create:

IA_Move

with:

A / Left Arrow
D / Right Arrow

Blueprint:

IA_Move
      β”‚
      β–Ό
Get Axis Value
      β”‚
      β–Ό
Add Movement Input
      β”‚
      └── World Direction = X

The vampire can therefore run left and right.


5. Jump

Create:

IA_Jump

Blueprint:

IA_Jump
   β”‚
   β–Ό
Branch
Condition = NOT IsBat
   β”‚
   β–Ό
Jump

So the vampire can jump normally.


6. Transform into a bat

Create:

IA_Transform

For example:

Space Bar

or perhaps:

B

Blueprint:

IA_Transform
       β”‚
       β–Ό
Branch
Condition = IsBat
    β”‚
    β”œβ”€β”€ False
    β”‚     β”‚
    β”‚     β–Ό
    β”‚   Become Bat
    β”‚
    └── True
          β”‚
          β–Ό
        Become Vampire

7. Become Bat Blueprint

Create a custom event:

BecomeBat

Blueprint:

BecomeBat
    β”‚
    β–Ό
Set IsBat = TRUE
    β”‚
    β–Ό
Set Character Movement Mode
    β”‚
    β–Ό
Flying
    β”‚
    β–Ό
Set Max Walk Speed
    β”‚
    β–Ό
Set Sprite_Vampire Visibility = FALSE
    β”‚
    β–Ό
Set Sprite_Bat Visibility = TRUE

Your bat now replaces the vampire.


8. Become Vampire

Create:

BecomeVampire

Blueprint:

BecomeVampire
       β”‚
       β–Ό
Set IsBat = FALSE
       β”‚
       β–Ό
Set Movement Mode = Walking
       β”‚
       β–Ό
Set Max Walk Speed = WalkSpeed
       β”‚
       β–Ό
Sprite Vampire = Visible
       β”‚
       β–Ό
Sprite Bat = Hidden

9. Bat flight

When IsBat == TRUE, the player should be able to fly in all directions.

A simple Blueprint approach:

IA_Move
   β”‚
   β–Ό
Branch
   β”‚
   β”œβ”€β”€ IsBat FALSE
   β”‚       β”‚
   β”‚       β–Ό
   β”‚   Add Movement Input
   β”‚
   └── IsBat TRUE
           β”‚
           β–Ό
      Add Movement Input
           β”‚
           β”œβ”€β”€ X direction
           β”‚
           └── Z direction

You can therefore fly:

← β†’ ↑ ↓

rather than being restricted to the ground.


10. Bat flight speed

When transforming:

Get Character Movement
        β”‚
        β–Ό
Set Max Fly Speed
        β”‚
        β–Ό
700

For a faster bat:

900

You could even make power-ups increase this.


11. Bite attack

Create an input:

IA_Bite

Keyboard:

E

When pressed:

IA_Bite
    β”‚
    β–Ό
Branch
Condition = IsBat
    β”‚
    β–Ό
Branch
Condition = CanBite
    β”‚
    β–Ό
Play Bite Animation
    β”‚
    β–Ό
BiteCollision β†’ Get Overlapping Actors

12. Bite collision

Create:

BiteCollision

Use a:

Sphere Collision

or:

Box Collision

Place it slightly in front of the bat’s mouth.

Example:

        BAT
       πŸ¦‡
        O
       /|\
         \
       [BITE]
          |
          |
       VICTIM

Set collision:

Collision Enabled = Query Only

13. Victim Blueprint

Create:

BP_Victim

Parent:

Character

Components:

Capsule
Sprite

Variables:

HasBeenBitten

Boolean:

False

14. Bite the victim

Inside the vampire:

BiteCollision
       β”‚
       β–Ό
Get Overlapping Actors
       β”‚
       β–Ό
For Each Loop
       β”‚
       β–Ό
Cast To BP_Victim
       β”‚
       β–Ό
Call Get Bitten

Inside BP_Victim, create:

GetBitten

Blueprint:

GetBitten
    β”‚
    β–Ό
Branch
HasBeenBitten?
    β”‚
    β”œβ”€β”€ TRUE
    β”‚      └── Do Nothing
    β”‚
    └── FALSE
           β”‚
           β–Ό
     Set HasBeenBitten = TRUE
           β”‚
           β–Ό
     Play Bite Reaction
           β”‚
           β–Ό
     Notify Vampire

This prevents the same victim from counting repeatedly.


15. Increase BiteCount

After successfully biting someone:

Victim GetBitten
       β”‚
       β–Ό
Get Player Character
       β”‚
       β–Ό
Cast BP_VampireCharacter
       β”‚
       β–Ό
BiteCount + 1
       β”‚
       β–Ό
Set BiteCount
       β”‚
       β–Ό
Update HUD
       β”‚
       β–Ό
Check Level Complete

16. Level completion

Create a custom event:

CheckLevelComplete

Blueprint:

CheckLevelComplete
        β”‚
        β–Ό
BiteCount >= RequiredBites?
        β”‚
     Branch
      /   \
    FALSE TRUE
            β”‚
            β–Ό
      Level Complete

The important comparison is:

BiteCount >= RequiredBites

So if the player needs 5 victims:

0 / 5
1 / 5
2 / 5
3 / 5
4 / 5
5 / 5

At 5:

LEVEL COMPLETE!

17. Level Complete Blueprint

Create:

BP_LevelManager

or put the logic in the Level Blueprint initially.

Create:

CompleteLevel

Blueprint:

CompleteLevel
      β”‚
      β–Ό
Disable Player Input
      β”‚
      β–Ό
Play Victory Animation
      β”‚
      β–Ό
Play Halloween Victory Music
      β”‚
      β–Ό
Delay 3 Seconds
      β”‚
      β–Ό
Open Level

For multiple levels:

Level_01
   ↓
Level_02
   ↓
Level_03
   ↓
Level_04
   ↓
Level_05

18. Halloween HUD

Create:

WBP_HUD

Put a small Halloween-style counter in the corner:

🩸 VICTIMS

   3 / 5

You can also display:

πŸ¦‡ BAT FORM

when flying.

Example:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 🩸 VICTIMS  3 / 5        β”‚
β”‚                          β”‚
β”‚        πŸŽƒ                β”‚
β”‚                          β”‚
β”‚                    πŸ¦‡    β”‚
β”‚                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

19. Updating the counter

In WBP_HUD, create a Text variable:

VictimCounter

Bind it to:

Get Player Character
        β”‚
        β–Ό
Cast BP_VampireCharacter
        β”‚
        β–Ό
BiteCount
        β”‚
        β–Ό
RequiredBites

Return:

BiteCount + " / " + RequiredBites

For example:

3 / 5

20. Vampire/Bat transformation effect

Make the transformation feel satisfying.

When:

BecomeBat

play:

Smoke Effect
+
Dark Magic Particles
+
Bat Sound

Then:

Vampire Sprite Hidden
Bat Sprite Visible

You could briefly display:

        ✦
      πŸ¦‡
   WHOOSH!

21. Victim reactions

Different victims can have different reactions.

Create an enum:

VictimType

Values:

Villager
Guard
Witch
PumpkinMan
Ghost
Skeleton

When bitten:

Villager

SCREAM!

Guard

"Hey!"

Witch

laugh / curse

Ghost

ghostly scream

This gives the levels variety.


22. Don’t let the player bite the same victim twice

This is important.

Inside BP_Victim:

HasBeenBitten

Initially:

FALSE

On first bite:

FALSE
 ↓
TRUE

On subsequent bites:

TRUE
 ↓
Ignore

So:

Victim #1 β†’ +1
Victim #1 β†’ nothing
Victim #1 β†’ nothing

rather than allowing the player to farm one victim.


23. Optional vampire hunter enemies

You could add:

BP_VampireHunter

The hunter carries:

Crossbow

and fires projectiles at the bat.

The bat must dodge:

πŸ¦‡  ← arrow ← 🏹

If hit:

Health - 1

This gives the flying sections more challenge.


24. Level design

A typical level could look like:

             πŸŒ™
      πŸŽƒ             πŸ¦‡
                       \
                        \
        🏚️              πŸ‘¨
          \              |
           \         πŸ‘©  |
            \             |
             πŸͺ¦      πŸ‘¨   |
              \           |
───────────────┴───────────
      πŸ§›

The vampire starts on the ground.

He explores the level, finds victims, then:

SPACE
 ↓
πŸ§› β†’ πŸ¦‡

flies around the level and bites them.


25. Example Level 1

The Haunted Village

Required:

5 victims

Victims:

Villager
Villager
Witch
Villager
Ghost
Villager

The player needs any 5.

HUD:

🩸 0 / 5

After first bite:

🩸 1 / 5

After fifth:

🩸 5 / 5

Then:

LEVEL COMPLETE!

26. Level 2

The Graveyard

Required:

8 victims

New hazards:

  • Falling gravestones
  • Skeletons
  • Ghosts
  • Vampire hunters
  • Spikes

The bat can fly above many hazards, but hunters can still attack.


27. Level 3

The Haunted Castle

Required:

12 victims

Add:

  • Moving platforms
  • Locked doors
  • Secret rooms
  • Gargoyles
  • Witches
  • Skeleton guards

The vampire must switch between:

VAMPIRE
   ↕
BAT

to reach different areas.


28. Secret rooms

You can add hidden areas containing extra victims.

For example:

Normal route
     β”‚
     β–Ό
   Door
     β”‚
     β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Ί Main Hall
     β”‚
     └── Secret Passage
              β”‚
              β–Ό
        🩸🩸🩸
      3 victims

This rewards exploration.


29. Complete Blueprint architecture

I’d structure the project like this:

BP_VampireCharacter
β”‚
β”œβ”€β”€ Movement
β”‚
β”œβ”€β”€ Jump
β”‚
β”œβ”€β”€ Transform
β”‚   β”œβ”€β”€ BecomeBat
β”‚   └── BecomeVampire
β”‚
β”œβ”€β”€ Flight
β”‚
β”œβ”€β”€ Bite
β”‚
β”œβ”€β”€ BiteCount
β”‚
└── CheckLevelComplete


BP_Victim
β”‚
β”œβ”€β”€ Victim Type
β”œβ”€β”€ HasBeenBitten
β”œβ”€β”€ GetBitten
└── Death/Reaction


BP_VampireHunter
β”‚
β”œβ”€β”€ Detect Bat
β”œβ”€β”€ Aim
β”œβ”€β”€ Fire
└── Damage Player


BP_LevelManager
β”‚
β”œβ”€β”€ RequiredBites
β”œβ”€β”€ LevelComplete
β”œβ”€β”€ Victory
└── LoadNextLevel


WBP_HUD
β”‚
β”œβ”€β”€ Bite Counter
β”œβ”€β”€ Bat/Vampire Indicator
└── Level Message

:bat: The core Blueprint

The most important gameplay chain is essentially:

                PLAYER
                  β”‚
             Transform
                  β”‚
                  β–Ό
             πŸ¦‡ BAT FORM
                  β”‚
                  β–Ό
             Fly Around
                  β”‚
                  β–Ό
             Find Victim
                  β”‚
                  β–Ό
              Press E
                  β”‚
                  β–Ό
            Bite Collision
                  β”‚
                  β–Ό
          Cast BP_Victim
                  β”‚
                  β–Ό
          HasBeenBitten?
             /          \
           TRUE         FALSE
            β”‚             β”‚
          STOP            β–Ό
                     Set TRUE
                         β”‚
                         β–Ό
                  BiteCount + 1
                         β”‚
                         β–Ό
                  Update HUD
                         β”‚
                         β–Ό
             BiteCount >= Required?
                    /          \
                  NO            YES
                  β”‚              β”‚
                  β–Ό              β–Ό
             Continue       LEVEL CLEAR

This gives you a simple but expandable UE5.7 foundation. You can then add animations, sprite sheets, Halloween music, particle effects, bosses, power-ups, secret areas and increasingly difficult levels without having to rewrite the core system.

Can anyone help me to make it please?