Integrantes: Antonio Cícero, Bruno Spadinger, Felipe Rese, Mel Raposeiras e Luiz Paulo.
Descrição do projeto: Virus Battle é um jogo em C++ com SFML baseado em batalhas por turnos entre equipes de vírus. O jogador deve administrar sua equipe, escolher movimentos, usar itens, comprar recursos em uma loja e avançar por estágios contra oponentes controlados pelo computador.
Problema, objetivos e motivação: O problema tratado é a criação de uma experiência simples de estratégia e gerenciamento de recursos com tema de segurança digital. A motivação para a escolha do tema vem da possibilidade de representar conceitos familiares da computação, como vírus, defesa, ataque, backup e criptografia, dentro de uma mecânica de jogo acessível. Os principais objetivos são estruturar o sistema com classes bem definidas, implementar batalhas por turnos, organizar inventário e loja, além de preparar a base do código para documentação técnica com Doxygen.
📌 don't forget to add to the PATH environment variable!
cmake -B build -G "MinGW Makefiles" && cmake --build build && ./build/bin/main.exeSFML Module Flags
| Flag | Values | Default | Description |
|---|---|---|---|
-DSFML_USE_AUDIO |
ON/OFF |
ON |
Include audio module |
-DSFML_USE_NETWORK |
ON/OFF |
OFF |
Include network module |
-DSHOW_CONSOLE |
ON/OFF |
OFF |
Show terminal window (debug) |
CMake Built-in Flags
| Flag | Values | Default | Description |
|---|---|---|---|
-DCMAKE_BUILD_TYPE |
Debug / Release |
Debug |
Build type |
-G |
"MinGW Makefiles" | Auto-detected | Build system generator |
- Main Menu
- Hub
- 💥 Battles
- ℹ️ Critter Playstyles and Type Strategy
- 🐎 Trojan
- 🪱 Worm
- 🔒 Ransom
- 🥊 Strategy Tips
- 🛒 Store
- 🎒 Inventory
- 💡 General Tips
NETCritters is a turn-based battle game where you manage a team of digital critters, fight enemy threats, buy useful items, and grow stronger after each win.
- PLAY starts the game and opens your team hub.
- OPTIONS lets you change your player name and adjust audio.
- EXIT closes the game.
In Options, type a new player name, press SET, then confirm the change. Use the sliders to adjust background music and sound effects. Press Esc to return to the main menu.
The Hub is your main base.
- Hover over your critters to inspect their stats and moves.
- Select BATTLE to start the next fight.
- Select STORE to buy items.
- Select INVENTORY to view and use your items.
- Press Esc to return to the main menu.
-
Battles are turn-based. On your turn, choose one of your available moves.
-
Each critter has:
- ❤️ HP: health points. If HP reaches zero, the critter faints.
- 🥊 Attack: affects damage dealt.
- 🛡️ Defense: affects damage received.
- 🎲 Accuracy: affects the chance of landing moves.
- Moveset: the available attacks or actions.
Defeat the enemy team to win the battle. Winning gives progress, rewards, and may help your critters grow stronger.
NETCritters uses a rock-paper-scissors style effectiveness triangle:
- Trojan beats Ransom
- Ransom beats Worm
- Worm beats Trojan
When a critter attacks a type it is strong against, it deals bonus damage. Try to switch or choose matchups around this triangle instead of only using your strongest-looking move.
Playstyle: defensive bruiser / tank.
Trojan is the safest critter when you need stability. It has strong defensive tools and can survive pressure while still dealing reliable damage.
Good for:
- Fighting Ransom enemies.
- Absorbing heavy hits.
- Using defense boosts before trading damage.
- Playing slowly and safely.
Watch out for:
- Worm, which has type advantage against Trojan.
- Long fights where Worm has time to build momentum.
Playstyle: scaling swarm / sustain fighter.
Worm starts modest, but becomes more dangerous the longer it stays active. Its replication-style moves help it build pressure over time, and it can recover with healing.
Good for:
- Fighting Trojan enemies.
- Long battles.
- Building up swarm damage.
- Recovering and staying alive through pressure.
Watch out for:
- Ransom, which can burst Worm down before it scales.
- Taking too much damage early before Worm has momentum.
Playstyle: glass cannon / burst attacker.
Ransom hits hard but is fragile. It wants to deal big damage quickly before the enemy can stabilize. It is best used aggressively, especially when it has the type advantage.
Good for:
- Fighting Worm enemies.
- Fast knockouts.
- High-pressure damage turns.
- Punishing enemies before they can heal or scale.
Watch out for:
- Trojan, which has type advantage against Ransom.
- Taking direct hits, because Ransom is not built to tank.
- Use Trojan when you need defense or when facing Ransom.
- Use Worm when you expect a long fight or when facing Trojan.
- Use Ransom when you need fast damage or when facing Worm.
- Do not leave a critter in a bad matchup for too long.
- Strong moves matter, but type advantage and timing matter more.
- A safe defensive turn can be better than rushing damage into a bad matchup.
The Store lets you spend crypto on useful items.
- Click an item to buy it.
- Confirm the purchase in the popup.
- You need enough crypto and inventory space.
- Press Esc to leave the store.
The Inventory stores your items.
Items can heal, restore, or improve your team depending on their effect. Some items can also be used during battle.
- Check critter stats before battle.
- Use items when your team is low on HP.
- Keep an eye on accuracy: strong moves are not useful if they miss.
- Visit the store after earning crypto.
- If a battle goes badly, use your inventory or switch tactics.