DEV Community

Cover image for Starcraft Next.js
Volodymyr Smoliak
Volodymyr Smoliak

Posted on

Starcraft Next.js

This is a submission for the Web Game Challenge, Build a Game: Alien Edition

What I Built

This is a turn-based game. Strategy. The player has three races to choose from. There is an opportunity to play together on the same device or against artificial intelligence. Artificial intelligence has four levels of complexity. The goal of the game is to bomb the enemy's base. Gameplay involves mining minerals, buying units for minerals, attacking enemy base or enemy workers to damage their economy. Each race has 10 units. During the game there is an opportunity to increase your level. There are only 4 levels. Each level adds the ability to buy new units and increase your mana by 1. For mana, we determine how many operations we can do in one turn. The operation can cost different amounts of mana. A unit has characteristics such as health, attack, mana, and cost.

Demo

This is a link to the game: https://starcraft-umber.vercel.app/
The source code for the game is available here: https://github.com/svovka83/starcraft

Journey

The game was developed on Next.JS. I wrote the logic using the zustand library. I used a postgres database. Prisma - for backend requests. The game can be saved and continued another time. The advantage of the game is its complete voice acting. The downside is only for PC users. Artificial intelligence makes its move depending on the player's move - so I do not guarantee an easy walk.

Have a nice game!

Image of Datadog

Master Mobile Monitoring for iOS Apps

Monitor your app’s health with real-time insights into crash-free rates, start times, and more. Optimize performance and prevent user churn by addressing critical issues like app hangs, and ANRs. Learn how to keep your iOS app running smoothly across all devices by downloading this eBook.

Get The eBook

Top comments (0)

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay