• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Role Playing Game] Acolyte of Life

Indeed. If I had to restart from scratch I could probably make a minimally viable inventory system in an afternoon, but the more features you plan, the time required increases exponentially.
No doubt.

Warcraft also has a lot of silly limitations, and even more limitations when you want the system to be multiplayer compatible.
Haven't gone down the multiplayer route with any systems yet, but I know there are a lot of desyncs with frames.

The one you guys made looks amazing.
Thanks, it did take a lot of time and effort to get it going!
 
Another inventory, shop and crafting UI update this time. I felt the UI in the previous video was quite buggy and unfinished, and didn't showcase that much functionality. I have been working hard on removing all the bugs, and increasing the functionality to better showcase all the items, crafting stations, scrapping and whatnot.

What has been fixed and added:
  • Spinning wheel, smelting, and leatherworking crafting stations are now utilizable.
  • Smelting is learned by having the relevant ore in your inventory.
  • Resources are correctly returned to the inventory when scrapping equipment (not 100% of the items required to craft it are returned of course).
  • Scrapping equipped items is no longer possible due to the possibility of misclicking and accidentally scrapping your equipped items.
  • Improved "Not eligible" message when interacting with crafting stations (I managed to mess up the message in the video for some reason).
  • "Junk" category has been changed to "Tools", and tools will no longer appear in the "Resources" tab.
  • Buying tools will make them sold out at every vendor to avoid multiple tool items.
  • What vendor you sell various items to has been fixed, and is now category based (heavy armor can be sold to all blacksmiths, medium armor to all leatherworkers, and so on)
  • Several bugs related to crafting items with multiple ingredients has been fixed.

What still needs to be fixed:
  • Some items still aren't configured properly, but this is not a bug in the system itself, only in the way item variables are configured in the indexed list. Equipment slots of some items are incorrect, and will therefore equip to the wrong slots.
  • Recipes should be sold out everywhere when buying them, to avoid learning the same recipe twice.
  • Item stock needs to be adjusted.
  • Gold cost needs to be adjusted.
  • Scrap to learn amount needs to be changed so it's not all 5 for all items.
  • What vendor sells what item still needs tweaking.

When all the bugs are completely removed, and the system is 100% functional I will work on saving/loading all the equipped items between maps. Once that is done we will most probably start working on the quests. @Yours Truly has been taking a break from modding due to real life responsibilities, so the combat system is currently paused. As soon as he gets some spare time for modding, development will commence, and we'll be able to get a closed alpha release going.

See new and updated UI showcase below:


As always, get more frequent updates on our Discord channel: Join the Acolyte of Life Discord Server!
And subscribe to my Youtube channel to see videos as soon as they are released: https://www.youtube.com/channel/UCB0hXj7ZD1DVjh8hZMJjI4g
 
Last edited:
Level 17
Joined
Apr 13, 2008
Messages
1,597
Having a scrap button next to the equip button sounds dangerous.

I assume you are assigning equipment slots to an item via an integer ID? Like, integer 4 means houlder, 8 means main hand, etc.? That is error prone. I worked around this by also having a function that assigns them via a slot name. E.g. there is a function called AssignEquipmentSlotByName, which runs another function TranslateEquipmentSlotNameToID, then call the AssignEquipmentSlotById.
 
Having a scrap button next to the equip button sounds dangerous.
I know, it's a risk. Luckily it's not that expensive to re-craft the items, and all the ultimate items will return 100% of the ultimate ingredients when scrapped, so players can keep re-crafting them in case they accidentally scrap them (the only thing they lose are some common ingredients).

I assume you are assigning equipment slots to an item via an integer ID? Like, integer 4 means houlder, 8 means main hand, etc.? That is error prone.
How is it error prone? Except for assigning the wrong integers in the indexed list of course (like I already did), but assigning the correct integers to the correct items fixes this, and makes it fully functional.

E.g. there is a function called AssignEquipmentSlotByName, which runs another function TranslateEquipmentSlotNameToID, then call the AssignEquipmentSlotById.
The way I understand it, if doing it this way, is that every item in your indexed list will still need some kinds of identifier when it comes to slots. In your case I'm guessing it's a string, and then you check if the string text matches "head", "chest", "shoulder", etc and then assigns an ID that corresponds with the inventory slots, so you can easily loop through them? I fail to see how that's different tbh, since they both rely on a simple conditional check.
 
Very nice design indeed. Do you use Reforged UI Designer or working currently without it?
I use a mix of that and free writing code. It certainly speeds things up, but stuff like status bars, sprite frames, and some other things are made 100% without RUID. With that said, RUID saves so much time so not using it would be crazy (the frame coordinates specifically is so easy with RUID).
 
Level 22
Joined
Jun 11, 2017
Messages
641
I use a mix of that and free writing code. It certainly speeds things up, but stuff like status bars, sprite frames, and some other things are made 100% without RUID. With that said, RUID saves so much time so not using it would be crazy (the frame coordinates specifically is so easy with RUID).
I got you. I'm myself enjoy RUID, however using same approach. Yeah, my design mostly uses ingame assets and not so complex as yours, but I like how now we can provide users more customizable interface :D
 
I got you. I'm myself enjoy RUID, however using same approach. Yeah, my design mostly uses ingame assets and not so complex as yours, but I like how now we can provide users more customizable interface :D
Nice! Do post a link or some screenshots of your UI if you don't mind. Yeah RUID is great, and is definitely a springboard to getting a deeper understanding of frames in general, and how to make proper UI.
 
Level 22
Joined
Jun 11, 2017
Messages
641
Nice! Do post a link or some screenshots of your UI if you don't mind. Yeah RUID is great, and is definitely a springboard to getting a deeper understanding of frames in general, and how to make proper UI.
Well, here goes nothing:
1700864605539.png
1700864640520.png

1700864689175.png


It's mostly quick-designed in RUID, then completed from scratch by myself. Simply, not great, but serve their purpose.
 
Starting the new year with working on the save/load function for the inventory. With approximately 400 variables that needs to be saved in two different instances, and loaded in two different instances, we're looking at a total of 1600 variables that needs individual saving/loading. The saving function is done, so only the loading remains. As soon as I have verified that saving/loading items works I'll start implementing the complete collection of item handling systems into the actual campaign file. Although labor-intensive, we have some interesting times ahead.
 
Long time with no updates. I've been busy as of late, but looking forward to finalizing the UI systems soon. In the meantime we have been in contact with @Goblioc regarding 7 commissioned loading screens. One of those is now done, while 2 more are in the works. I present to you, the loading screen intended for the monastery map:
Screenshot_1.png
 
The inventory, crafting, and shop systems have been implemented in all maps. This means that all items saves and loads correctly across all maps when you transition. Finally being done with this feels good, to say the least.

We still need to configure what shops sells what items, item stock, making a restock system, more crafting stations, more shops and whatnot, but the core functionality of the systems are already implemented, so adding more to it is easy.

As for what major plans we have going forward, it's to start making quests, cutscenes, implementing the combat system, and other things to polish existing features.

I'll be posting a small video showcase soon-ish, showing the items and how they save between maps.
 

deepstrasz

Map Reviewer
Level 69
Joined
Jun 4, 2009
Messages
18,848
Yet another fantastic loading screen painting from the wondrous @Goblioc, this time for the City (eastern capital) map:

watermarked_city.png


The loading screens are using parts of logos we designed for some of the custom world's factions. These emblems were further edited and drawn by @Wildfire:
monastery-logo-loadingscreen.png
monastery_flagRes.png

city-logo-loadingscreen.png
easterncapitallogoRes.png
We wanted a better representative one for the city but there was no proper place to put it on the painting and the sails are very distant and the whole image didn't look fine so it had to be simplified.

Meanwhile, @FeelsGoodMan almost got crippling depression from the bugs encountered with the item systems along with the save-load and map transition system.
@Yours Truly's fighting bugs too in and for the combat system.

But do not fret. Things are going forwards, not past the cliff edge into the ravine, but towards a working campaign.
 
Last edited:

deepstrasz

Map Reviewer
Level 69
Joined
Jun 4, 2009
Messages
18,848
In this DevUp we're showcasing the sellers/vendors in each map.
A little legend to understand some things better:
  • Vihratala - vihreä (Fi for green) + capitală (Ro for capital). This is the eastern part of the world's capital (video; loading screen).
  • Saenrinne - sat (Ro for village) + mäenrinne (Fi for hillside). The monastery village west of Vihratala (video; loading screen).
  • The snowy mountains zone is in the west or rather northwest part of the world (video).
  • Even though the island is located a bit to the southwest, it is not part of the southern continental area.
  • Sadly, there will be no southern (deserts lands) world part in this installment. Perhaps in a sequel/prequel (very low chance).
  • Name - Kastevra ("kaste" meaning "dew" in Finnish and "vara" meaning "spring" in Romanian)
  • Ethnicity - eastern
  • Role - monastery alchemist
  • Brief description - Kastevra is an odd saenrinnen woman whose knack has saved many.
Monastery Alchemist.png




  • Name - Syadantar ("sydän" meaning "heart" in Finnish and "țară" meaning "land" in Romanian)
  • Ethnicity - eastern
  • Role - monastery blacksmith
  • Vestimentation - Syadantar is a kind but stern old masterful saenrinnen blacksmith who would make great armours given the tools and items he requires.
Monastery Blacksmith.png




  • Name - Lorejassa (from the Romanian floare for flower + Finnish etuajassa for early)
  • Ethnicity - eastern
  • Role - monastery florist
  • Brief description - Lorejassa is a delightful innocent colourfully dressed saenrinnen woman who seems to know every plant, especially flower, in the realm if not the known world.
Monastery Florist.png



  • Name - Vuotrian ("vuori" meaning "mountain" in Finnish and "vânt" meaning "wind" in Romanian)
  • Ethnicity - eastern
  • Role - monastery general goods vendor
  • Brief description - Vuotrian is a nice older saenrinnen lady whose hearty utterances usually make everyone's days brighter.
Monaster General Goods.png




  • Name - Apiurinko (Finnish Aurinko for sunshine + Romanian Pui for chick or cub)
  • Ethnicity - eastern
  • Role - monastery innkeeper
  • Brief description - Apiurinko is a jolly hospitable saenrinnen woman who started her own business after working from an early age in various fields.
Monastery Inn.png




  • Name - Jokziambe (Romanian Zâmbet for smile + Finnish Joki for river)
  • Ethnicity - eastern
  • Role - monastery rarities trader
  • Brief description - Jokziambe is a charming rich vihratalan treasure hunter who, fed up with the aglomeration and noise in the capital, moved to Saenrinne village and as youth got farther, so did the adventures diminish, hiring others to find things for his collection.
Monastery Rarities.png

  • Name - Ashidmadi (Persian Mahshid for Moonlight, Hebrew Adi for Ornament/Jewel)
  • Ethnicity - southern
  • Role - city alchemist
  • Brief description - Ashidmadi came from the vast desertlands, to the northeast pursuing interests considered bad practice in the south and to escape societal restrictions.
City Alchemist.png




  • Name - Vihorjar ("järvi" meaning "lake" in Finnish and "horă" meaning "dance" in Romanian)
  • Ethnicity - eastern
  • Role - city blacksmith
  • Brief description - Vihorjar is a vihratalan veteran warrior as well as a talented but proud blacksmith.
City Blacksmith.png




  • Name - Vedrenpela (Veden (Finnish for water) + Perla (Romanian for pearl)
  • Ethnicity - eastern
  • Role - city market fish vendor
  • Brief description - Vedrenpela is a modest vihratalan person from the slums, making a daily living by selling fish which she also helps catch.
City Fish Girl.png




  • Name - Visalbatal (Finnish Talvi for winter + Romanian Sălbatic for wild)
  • Ethnicity - eastern
  • Role - city general goods vendor
  • Brief description - Visalbatal is a hardworking vihratalan of humble origins who dreams of making a difference one day, maybe even becoming the mayor of Vihratala.
City General Goods.png




  • Name - Trazahti (Finnish Tähti for peace + Romanian Răză for beam)
  • Ethnicity - eastern
  • Role - city herbalist
  • Brief description - A bit of an old vihratalan dandy, Trazahti is passionate about plants in every shape and colour they come. One can't seem to find either him or his disciple, Ashidmadi, apart from each other for too long.
City Florist.png




  • Name - Javenzarna (Järven (Finnish for lake) + Zână (Romanian for fairy)
  • Ethnicity - eastern
  • Role - city innkeeper
  • Brief description - Javenzarna, an older wealthy vihratalan hostess hoping to extend her family's business in more parts of the capital and even outside.
City Inn.png




  • Name - Ariundrago ("aurinko" meaning "sun" in Finnish and "drăguț" meaning "cute" in Romanian)
  • Ethnicity - eastern
  • Role - city jeweler
  • Brief description - Ariundrago is an eccentric, astute and affluent vihratalan woman continuing her late father's work when no other siblings wanted or could, renouncing the will of becoming a sculptor.
City Jeweller.png




  • Name - Roshyafin (Persian Roshan for Bright, Hebrew Yofi for Beauty)
  • Ethnicity - southern
  • Role - city leatherworker
  • Brief description - A southerner born and raised in the eastern capital, Roshyafin is also an experienced hunter and exquisite leatherworker.
City Leatherworker.png




  • Name - Merpilai ("meri" meaning "sea" in Finnish and "plai" meaning "plain" in Romanian)
  • Ethnicity - eastern
  • Role - city market meat vendor
  • Brief description - A tough young girl, former orphan vagabond, Merpilai has but one bilateral path ahead: to show the rich that her peers deserve better and prove to the latter they are not weak.
City Meat Shop.png




  • Name - Lusmitea (Lumi (Finnish for snow) + Stea (Romanian for star)
  • Ethnicity - eastern
  • Role - city market potion vendor
  • Brief description - A pompous adult saenrinnen woman, Lusmitea boasts knowledge of healing concoction brewing and procurement of various ailment curing elixirs.
City Market Potions.png




  • Name - Tavasluma (Taivas (Finnish for sky) + Lumină (Romanian for light)
  • Ethnicity - eastern
  • Role - city tailor
  • Brief description - A very cheerful older vihratalan woman, Tavasluma is known as the most precious tailor in the realm.
City Tailor.png




  • Name - Shirinazel (Persian Elnaz for Beautiful, Hebrew Shiri for Song)
  • Ethnicity - southern
  • Role - city market vegetable seller
  • Brief description - Shirinazel is a big, loud, persistent deserts man lauding his merchandise and gently taking passing people by the hand straight unto his wares.
city_vegetables.png




  • Name - Yelhaem (Persian Elham for Inspiration, Hebrew Yael for Ibex)
  • Ethnicity - southern
  • Role - city market wine vendor
  • Brief description - Yelhaem is a refined alluring adult southern lands woman and accomplished exotic vintner.
City Wine.png

  • Name - Draiochar ("draíocht" in Irish meaning "magic" and "hár" in Icelandic meaning "hair")
  • Ethnicity - western
  • Role - mountain blacksmith
  • Brief description - Draiochar is a strong western woman who would rather use her hammer bashing the eastern occupiers rather than polishing protective equipment and honing blades.
Mountain Blacksmith.png




  • Name - Djokulln ("dún" in Irish meaning "fort" and "jökull" in Icelandic meaning "glacier")
  • Ethnicity - western
  • Role - mountain innkeeper
  • Brief description - Djokulln is an intimidating but friendly mountain snow lands man renting a room for anyone, including green lands easterners but for the proper price.
Mountain Inn.png

  • Name - Brayerndon (from prayer in English + abandonner in French meaning to abandon)
  • Ethnicity - eastern
  • Role - pirate arms dealer
  • Brief description - Brayerndon is an erstwhile saenrinnen monk turned pirate who specializes in weapons and explosives.
Island Arms.png




  • Name - Merewon ("wonder" in English and "mer" in French meaning "sea")
  • Ethnicity - southern
  • Role - pirate trader
  • Brief description - Merewon is a libertine woman from the southern deserts who joined the pirate league in search of true freedom.
Island Dealer.png

The characters were designed by @FeelsGoodMan using World of Warcraft assets. Most of the names were made in the image of the original ones but aided and randomized by ChatGPT.
 
Last edited:
Top