Item Anvil: RPG-style modular items
Robert Christensen
$0.0
(no ratings)
Date |
Price |
---|---|
日期和时间 |
价钱($) |
06/27(2023) |
0.0 |
11/08(2024) |
0.0 |
Jump AssetStore
RPG-style items using modular properties. Drag-and-drop, designer-friendly.UI is currently set up for built-in render pipeline, but there are no custom materials or shaders. Conversion to other pipelines should be straightforward and painless.Item Anvil is a flexible and highly customizable RPG-style item ecosystem. It aims to be accessible and easy to understand, with an expressive scripting syntax and a drag-and-drop workflow built on ScriptableObjects.Just like GameObjects have component scripts, items gain functionality by adding properties. These can affect all items of that type (such as tuning damage for a sword) or only one item (such as enchantments).Examples:Metallurgy (try it!): A crafting minigame! Buy ores => smelt => alloy => sell for profit.Tea Shop (try it!): Shows a setup for shops, which could be owned by an NPC or player. Also, when brewing tea yourself, it's the same temperature as the water you used.Features:Pre-built UITooltipsShopsSort buttonCrafting recipesItems use assigned icon in Project browser and Asset PickerControl over max stack sizeGeneric inventories:Auto-expandingFixed-slotFully serializable using Unity's built-in toolsPer-instance properties (enchantments, temperature, aesthetic customizations, etc)Fuzzy filters and advanced queryingUnit testingCreating content is largely done through the Create Assets menu, filling out the relevant fields, and dragging and dropping. There is an included PDF that covers everything in more detail, including in-engine work.For scripting, the in-code documentation should be your first source, but here's a general overview:Item: The most fundamental building block, a concept: jug of water, sword, shield.ItemProperty: Adds functionality to an item: a sword is now a flaming sword; a shield blocks 75% damage.ItemStack: An instance of an item, made real. Can stack, if the item definition allows it.ItemInstanceProperty: A unique characteristic of this instance of the item, applied to an ItemStack. Examples include enchantments, durability, or active cooldowns.Inventory: An abstract class describing the most generic inventory possible. To attach one to a GameObject, use InventoryHolder.CondensingInventory: Expands and contracts as needed to fit all necessary items.FixedSlotInventory: Has a fixed number of slots. Attempting to add items while full will not affect the inventory and instead raise an error.CraftingRecipe: Turn one pile of items into another pile of items, within the same inventory.Transaction: Represents a trade, or moving items between inventories.I used AI to write unit tests using class outlines, which I then curated and tuned.This also helped me check that all type, function, and parameter names were intuitive.