
Vampire Survivors Template
A downloadable Template
🕹️ ENGLISH
Create your own Vampire Survivors-style game with this complete and modular template built in Godot 4!
This project includes:
- Auto-Attack System
- Enemy Waves (including circular patterns and elite enemies)
- Drops (points, chests, and food)
- Leveling & Weapon Upgrade System
- Optimized for high performance using
PhysicsServer2D
- Modular structure with Custom Resources
- Easy to add new weapons, characters, enemies, and more
⚙️ How it works:
The player automatically attacks using equipped weapons that fire at fixed intervals. Enemies spawn continuously in waves, including special elites. Defeating enemies drops loot, which grants points, healing, or weapon chests. With enough experience, the player can level up and gain new weapons or upgrades. All systems are designed to be easily extendable using Custom Resources.
🚀 Getting Started:
- Download and unzip the project folder
- Open it with Godot 4
- Run the project and start customizing!
🎨 Third-Party Assets Used:
- Sound Effects: RPG Essentials SFX Free by Leohpaz
- Sprites: 32 Rogues by Seth
📦 License:
Free for personal and commercial use. No credit required (but appreciated!).
❌ Redistribution or resale of the template itself is not allowed.
📞 Need Help?
- 📧 support@hvnsart.games
- 💬 Join our Discord!
🕹️ ESPAÑOL
¡Crea tu propio juego estilo Vampire Survivors con este template completo y modular hecho en Godot 4!
Este proyecto incluye:
- Sistema de Ataque Automático
- Oleadas de enemigos (con patrones circulares y enemigos élite)
- Drops (puntos, cofres y comida)
- Sistema de niveles y mejora de armas
- Optimizado para mantener un alto rendimiento con
PhysicsServer2D
- Estructura modular con Custom Resources
- Fácil de expandir con nuevas armas, personajes, enemigos, ¡y más!
⚙️ ¿Cómo funciona?
El jugador ataca automáticamente con las armas equipadas, las cuales disparan en intervalos fijos. Los enemigos aparecen continuamente en oleadas, incluyendo élites especiales. Al derrotarlos, dejan objetos que otorgan puntos, curación o cofres de armas. Al ganar suficiente experiencia, el jugador sube de nivel y puede mejorar o desbloquear nuevas armas. Todos los sistemas están diseñados para expandirse fácilmente usando Custom Resources.
🚀 Primeros Pasos:
- Descarga y descomprime la carpeta del proyecto
- Ábrelo con Godot 4
- Ejecuta el proyecto y ¡comienza a personalizar!
🎨 Assets de Terceros Utilizados:
- Efectos de sonido: RPG Essentials SFX Free por Leohpaz
- Sprites: 32 Rogues por Seth
📦 Licencia:
Uso libre para proyectos personales y comerciales. No requiere créditos (¡aunque se agradecen!).
❌ No está permitida la redistribución o reventa del template.
📞 ¿Necesitas ayuda?
- 📧 support@hvnsart.games
- 💬 Únete al Discord!
Updated | 3 days ago |
Status | Released |
Category | Assets |
Release date | 34 days ago |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | HVNSART Games |
Genre | Action |
Made with | Godot |
Tags | 2D, Asset Pack, Godot, Idle, Roguelike, sourcecode, Survivor-like, Project template, Top-Down |
Average session | A few minutes |
Languages | English, Spanish; Castilian, Spanish; Latin America |
Inputs | Keyboard, Mouse |
Links | Discord, YouTube, Twitter/X, Instagram, Homepage |
Purchase
In order to download this Template you must purchase it at or above the minimum price of $3.99 USD. You will get access to the following files:
Development log
- Browser Game Fixed27 days ago
- Bug Fixed - Trees collision not working well27 days ago
Comments
Log in with itch.io to leave a comment.
Good day, I've tested the new version.
The trees do have functioning collisions now, but they do not "wrap / loop" the way the background does the way it's currently implemented. They just appear on a new location based on a timer.
Can I suggest a 3x3 grid based wrapping system?
Many old 2D games used a technique where a small section of the map was reused and shifted to create the illusion of an endless world. I’m not sure if there’s an official name for it, but I often refer to it as a “3×3 shifting grid” or “wraparound tilemap” approach.
1. Divide Your Map into 9 Sections
Imagine a 3×3 grid of nine equally sized chunks or tiles. (TileMapLayers)
Whatever you want to call it.
2. Keep the Player in the Middle
The center tile always contains the player. The eight surrounding tiles border it on all sides.
3. Shift When Crossing Edges
As soon as the player steps from the center tile into, say, the eastern tile, re-label that eastern tile as the new “center.”
At the same time, reassign the far-west tile (no longer visible) to become the new eastern tile.
I'm pretty new to Godot and would love to see a complete survivor like in GDScript.
I don't mind paying again or a bit more to see a more complex version of this game with a system like that. (Maybe level select, character select, upgrades too?)
Hi, thank you very much for your comment! The solution you propose is a very good idea as well. Seeing that the asset has received good support, it wouldn't be a bad idea to launch an “extended version” of it applying what you mention.
I will post any news here.
I think the progression got messed up in the latest update (browser demo). I can no longer see the XP bar and the game just freezes when you hit the first rank up.
I am sorry and thank you very much for letting me know, it was something I overlooked when updating the game. The problem is now fixed and the game works as before.
Thanks, that was FAST!
Something wrong with the tree's. Some of them you can walk right through and others not. Seems like a bug/mistake? The same applies to enemies.
It is not a bug, it happens that the lower half of the tree has collision, while the other half at the top does not. This is to give a depth effect characteristic of top-down games.
You can easily change this by modifying the TileSet. Select the z-index option and change the values that are set in the tree to your preference.
I don't think that's the case. I have set the collision already on both tiles. It just doesn't work for some trees. i think it has to do with the Parallax2D, not sure though. I will join your discord so I can show you what I mean.
The problem has been solved. I also left you a message on discord.