Open h0lybyte opened 3 months ago
Deployment of the source code will be here.
We will have to create a cryptothrone.mdx
with more of the docs, game logic and things of that nature, but for this instance... just making sure that the project is up and running would make the most sense.
Afterwards we could at least make sure that the throne can be rendered and taken.
The color scheme that I will aim for is a wizzy black & yellow.
For the game engine, we will just use React + Phaser , keeping it simple and easy to manage.
We wont be building most of this anyway, this will be a dope side hobby project xD
This is the roadmap that I am following, CryptoThrone Roadmap.
Getting a playable but fun demo is the goal for now, I am going to try and get it running as fast as I can. Afterwards, I will wrap it in either Electron or Unity and release it as a Steam game.
Current zod structure for the itemdb
import { z } from 'zod';
const bonusesSchema = z.object({
armor: z.number().optional(),
intelligence: z.number().optional(),
health: z.number().optional(),
mana: z.number().optional(),
});
const IObjectSchema = z.object({
id: z.string(),
name: z.string(),
type: z.string(),
category: z.string().optional(),
description: z.string().optional(),
img: z.string().optional(),
bonuses: bonusesSchema.optional(),
durability: z.number().optional(),
weight: z.number().optional(),
equipped: z.boolean().optional(),
consumable: z.boolean().optional(),
effects: z.string().optional(),
stackable: z.boolean().optional(),
rarity: z.string().optional(),
levelRequirement: z.number().optional(),
price: z.number().optional(),
cooldown: z.number().optional(),
action: z.string().optional(),
craftingMaterials: z.array(z.string()).optional(),
});
Pixel image of each item in inventory will be 32px for now.
Should we use theo's uploadthing to store all our assets? This might make it easier for us to hold the copyrighted assets and also handle some of the edge cases when building out the game?
Let me know if this is something we could look into, Right now, its just a suggestion for the future.
Building out the NPC Engine right now, going to use dexie as a helper library and store all the data into a cache. The NPCDB will contain all our NPCs, moving a decent amount of that logic out of the game and into its own system.
The process then of creating a new NPC or updating an existing one can be done all outside of the core game.
Here is the base of the Dialogue system that I have right now:
export interface IDialogueObject {
id: string;
title: string;
message: string;
actions: IDialogueAction[];
options: IDialogueOption[];
}
Yet I am thinking we might want to include a style option too for the dialogue.
The z-index for the navigation seems to be a bit buggy , maybe we could push it up?
Core Concept/Theory CryptoThrone.com - King of the Hill App/Game is an innovative gaming application where players fight to hold and defend a throne. The core gameplay involves defending against waves of NPCs while other players build up their settlements and prepare to challenge the throne. The game draws inspiration from the Game of Thrones series, incorporating elements of strategy and tower defense games. The aim is to create a dynamic and competitive environment where players must balance offense and defense to become the ultimate ruler.
Alternative Ideas
Faction Wars: Instead of individual players, form factions that work together to defend or attack the throne.
Resource Management: Include a resource management aspect where players must gather resources to build defenses or upgrade their settlements.
Seasonal Events: Introduce seasonal events where the throne offers different challenges and rewards, encouraging players to adapt their strategies.
Player Alliances: Allow players to form temporary alliances to take down the current throne holder, adding a layer of political intrigue and strategy.
Alternative Examples/Sources
Game of Thrones: The political intrigue and battles for the Iron Throne can serve as inspiration for the throne battles.
Clash of Clans: This game’s mechanics of building and defending settlements could inspire the settlement-building aspect.
Plants vs. Zombies: The tower defense elements of this game can be a reference for designing the NPC waves.
Kingdom Rush: Another tower defense game that can provide inspiration for varied and engaging NPC attack waves.
Mount & Blade: The siege and defense mechanics in this game can serve as a reference for throne defense scenarios.
Additional Information