Jump to content
Shadow72

The Lands of Evanar

Recommended Posts

For this competition I have decided to make a small scale mmorpg. I plan on adding stuff like quests, dailies, random bosses spawning around the map, an instanced dungeon, and much more. My goal for The Lands of Evanar is to make something fun that has tons of replay value. Here is a video of how the quests will work. Keep in mind it is still in the early stages of development.

 

 

The quest log allows you to have up to 10 quests at a time. With the quest log you can track the progress you are making on your quests, abandon a quest if its too difficult, or read some of the lore of Evanar that will be told through the questlines. I plan to keep this thread updated as I continue to work on it so stay tuned!

  • Like 4
  • Upvote 2

Share this post


Link to post
Share on other sites

very slick and inspiring 🙂

 

Share this post


Link to post
Share on other sites

I'm back with another update!

While it may seem that not much has changed, there is a bunch of backend changes that will help make creating quests a lot quicker and less of a headache. Lets first talk about the new dialogue menu you see. The base game dialogue system has a few problems with what I needed it for so I went and made my own. The dialogue system automatically knows what quests a npc can give out and what quests can be turned into that npc. It also allows you to complete quests and receive your quest rewards(unlike before). Another cool thing I made is a quest creation workflow. How it works is you enter all of the quest info into a spreadsheet and import it into Ylands. You then create a npc and set an npc id for it. Everything else is handled automatically. Kill quests are also handled automatically with no coding at all required. You just enter the mob id into the spreadsheet and it listens for the kill and gives credit towards the quest without you having to do anything but enter some data into a spreadsheet. Its really cool! This will really speed up the development time of making quests. Another thing I added was a level and xp system. Each level requires a different amount of Xp to level up and you can earn xp through quests(I plan on also adding getting xp from killing mobs soon after i create a level system for mobs). I already have a lot more ideas I want to add so I better get to work!

  • Like 5
  • Upvote 2

Share this post


Link to post
Share on other sites

This looks fantastic! Did the quest log come up automatically when you killed a panther?
That method for adding quests sounds really cool. How do you feel about making a short tutorial for how to use spreadsheets with Ylands, for those of us still learning? 🙏

  • Thanks 1

Share this post


Link to post
Share on other sites
Just now, ocnoglittle said:

This looks fantastic! Did the quest log come up automatically when you killed a panther?
That method for adding quests sounds really cool. How do you feel about making a short tutorial for how to use spreadsheets with Ylands, for those of us still learning? 🙏

Thank you. I opened the quest log myself by pressing L. When I get some time i'll definitely write up a guide on how to use the DataSets. At first they seem really complicated but once you dive into it you will find out it isn't nearly as complicated as you thought.

  • Like 1
  • Thanks 2

Share this post


Link to post
Share on other sites

Update #3

    The first thing I show off in the video is the new npc dialogue feature. Before npcs were only able to show and give quests, but now they are also able to show dialogue. Like the other stuff I've made you can edit the dialogue in a spreadsheet. You are also able to link multiple dialogues together to break up large paragraphs. Hitting the next button will show you the next dialogue in the sequence. There is also now an alert at the top of the screen when you accept a quest(I'm planning to use alerts like that for a lot of things.).

    But now lets get into mob system I created. Whenever a mob spawns it will automatically be set a level based on the data from the spreadsheet. That level is then used to set the mobs health, damage, and the amount of xp you get for killing it(If you noticed I got 14 xp from killing the lvl 3 and only 10 xp for killing the lvl 1). When calculating how much xp it will give you it takes in both your level and the mobs level. So your xp amount gets penalized for killing mobs below your level but rewarded for killing mobs above your level. It doesn't matter if the mob was spawned by game logic or spawned in the editor, it just works. I also went and added loot tables to mobs to allow them to drop whatever I wanted with varying drop chances. That is why you see them drop shovels and swords(at a 50% chance each). 

 

    I would also like to hear your guy's opinion on what combat style I should go for. I'm deciding between the base Ylands combat system and a class based spell system. The class based spell system sounds cool but I am worried that the clunkyness of the spell system is going to make it a nightmare to play.

  • Like 5

Share this post


Link to post
Share on other sites

This is very interesting and exciting to see. As someone who works with data analytics and interpretation, I'm very curious as far as how you linked a spreadsheet (I'm assuming it's excel?) to your ylands game, but I'm sure you would like to keep that confidential.

Share this post


Link to post
Share on other sites
1 minute ago, ocnoglittle said:

@Valour4Eva anyone can link a spreadsheet using this game logic:
https://community.bistudio.com/wiki/Ylands_Game_logic_-_Data_set

But I have never used it before, so have no idea how it works 😅

Oh neat! I'll have to check this out later. Thank you, and the game looks awesome so far shadow!! looking forward to seeing more!

  • Thanks 1

Share this post


Link to post
Share on other sites

Update #4

    The skill system in Ylands is really cool but I feel like the projectiles are lacking. It is hard to aim them and they feel very clunky when using, so I decided to remake the wheel and create my own projectile system. Creating the projectile system wasn't too hard but I ran into a issue of how I am going to make the projectile go to the intended target. So I created a tab targeting system! I thought it was going to be really easy to do but it ended up being a huge pain in the butt. How it works is you can press a key on your keyboard to cycle through nearby enemies you can attack. You then can cast a spell and it automatically goes to its intended target. There are still many things that need to be implemented with it like allowing you to target other players so if your a healer class you can heal them, but that will come soon. I am also making sure to optimize my scripts as I make them. So far with everything running the scripts only take 0.0 to 0.1ms to run with peaks of 0.7ms which is amazing considering the game shows only 1 frame every 16.7ms when playing at 60fps. 

5f1d7b7ef3cf79fb09706c155d8c14af.thumb.jpg.5b0ccbb277d971c44e7d3ebbccd4ea20.jpg

  • Like 5

Share this post


Link to post
Share on other sites

Update #5

    The first new thing you will notice in the video is the new interaction system. The big difference between the old system and the new system is now you can respond to what the npc is saying. This will allow me to tell the lore of the game in a natural way instead of just forcing text in front of the player. It also got a major ui overhaul so it now looks a lot better. The other thing I showed off in the video is the wizard class. Or more specifically the frost wizard. The frost wizard currently has 3/6 spells complete.

  1. Frostbolt - Shoots a bolt of ice at the target 
  2. Freeze - Freezes the target in place for 2 seconds
  3.  Ice Volley - Rains down ice at enemies dealing damage every second for 5 seconds  

At launch there will be 3 classes available with 2 specializations each. More information about the other classes and specializations will be announced later. Another thing I added that is a more behind the scenes thing is the threat system. Any time you deal damage to a mob you gain threat and the mob will attack the person with the highest threat. This is needed for when I add tank specializations into the game. 

  • Like 6

Share this post


Link to post
Share on other sites

Hmm, I like the way you put the camera in front of the NPC.... Nice idea👍

  • Thanks 1

Share this post


Link to post
Share on other sites

Quick Update

  • Armor now has stats
  • Added Pickup quest type
  • Added Talk To quest type
  • Added quest chains
  • Added a map
  • Updated quest log graphics
  • Optimized quest system
  • Like 3

Share this post


Link to post
Share on other sites

Update #6

In this update I added a welcome screen and a class selection screen. The class selection screen is just a placeholder for right now, but the welcome screen is close to being done. I also added the first implementation of the mount system. You will be able to earn mounts from either buying them from stable masters or getting them as a drop off of bosses. All you need to do to summon your mount is to use the "Summon Mount" skill. Other than that not too much has changed. I am planning to start working on the lvl 1-5 quest chains. Once they are done I will be hosting a dedicated server so everyone can try the beta. Note that all progress made on the Beta server will not transfer to live servers. 

  • Like 6
  • Upvote 2

Share this post


Link to post
Share on other sites

Sooo cool! And how many quests are you planning for the competition? And will it get more updates after the competition? And are you planning some cool monetizations? 

Share this post


Link to post
Share on other sites
8 hours ago, Adam Snellgrove said:

Sooo cool! And how many quests are you planning for the competition? And will it get more updates after the competition? And are you planning some cool monetizations? 

Thank you! I am planning on having around 100 quests when it launches for the competition. With some of those quests being daily and weekly quests to keep players interested and coming back to play. After the competition I plan to keep updating it and adding new things. I will do it for as long as people are playing it and enjoying it. If the game ends up dying and nobody plays it I will probably move onto another project. As for monetization's I haven't really thought about it too much yet. All I know right now is that monetization's will never be P2W in The Lands of Evanar. Everything in the store will be cosmetics for things such as mounts or costumes or something. I am planning on doing monetization stuff last so I haven't really thought of what my plans are.

  • Like 1

Share this post


Link to post
Share on other sites

Awesome work on your MMORPG, I'm really digging the UI and the combat that you have produced. 

  • Thanks 1

Share this post


Link to post
Share on other sites

Update #7

    In this update I added the character system. The character system allows you to create multiple different characters to play as. So if you want to be a priest and a wizard you are able to. This system was very difficult to create due to the scale of data that would need to be handled and stored. It is about 90% finished right now, I just need to work out a few UI bugs that you probably saw in the video. For this update I want to dive into how I actually created this system incase if any of guys are looking to create the same thing.

    On the surface it seems to be a very simple thing to do, just add variables to the game storage for each character and call upon the right variable for the character the player is playing. Which is exactly what I am doing right now, but if every time you have to check something like if a player has finished a quest you would need a if statement to see which character the player is playing. Which really bloats your scripts and makes it a big pain in the butt to do anything with those variables. After a bit of trying things I finally found a way to greatly decrease the amount of repeated code needed to make the system. How it works is each player has a entity storage called "Character Info". When the player spawns and picks their character the storage is added to them and filled with all of the data from the game storage for that particular character. I can then manage all of my data like seeing if a quest is completed or what quest they are on by checking and updating the entity storage. I then have a function called "Save Player" that saves all of the data in the entity storage to the right character slot in the game storage. That way I am only checking and using those specific game storage variables in one spot instead of through-ought my entire game. The save player function is called when the player disconnects and every 30 seconds just incase the server crashes so there won't be too much of a rollback. The image below shows what my game storage variables look like.

6413416953550dc53f9a8211fc8afb0a.png.82dc958edbcacd941ccb16c6e4f33204.png

    After I got that up and working I started to try and figure out how I can save the players inventory and equipment to the game storage. You aren't able to save entities directly to the game storage so what I did was grabbed all of the data I needed from the item and then put all of it into a string and separated the data with ";". So it looked something like this: [Item Id];[Stack Count];[Color1 Red];[Color1 Green]... so on and so on. I can then put that string in an array and store that array in the game storage. When its time to give the character the saved inventory you just need to loop through the array and split the string on ";". You then can grab the items from the array by using the get tile. So index 0 would be the Item id, index 1 would be the stack count, so on and so on. You then can spawn the item and change all of the items properties to the ones that are stored in the array. This is so far the best way I have found to store entities in game storage.

    If you guys have any questions about anything from my game such as how I did something or just what I plan to implement in the game, feel free to ask me.

  • Like 6

Share this post


Link to post
Share on other sites

That is...AMAZING! Really cool solution to changing characters! Love it Shadow 🤩 And how's the game running so far with all the scripts you have in there at the moment?

 

Share this post


Link to post
Share on other sites
8 hours ago, Adam Snellgrove said:

That is...AMAZING! Really cool solution to changing characters! Love it Shadow 🤩 And how's the game running so far with all the scripts you have in there at the moment?

 

So far its running flawlessly. In the script monitor the scripts usually take under .3 ms to run and has peaks of about 1.5 ms, but that is from the saving time trigger which I will most likely optimize later on.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×