Search Unity

Revery Online: A Top-Down Fantasy MMORPG

Discussion in 'Works In Progress - Archive' started by eatsleepindie, Oct 15, 2014.

?

How important is non-instanced player housing to you?

Poll closed Oct 29, 2014.
  1. Very important! I want my own housing plot that exists in the Realm.

    90.0%
  2. Either way. I could live with or without it

    10.0%
  3. Pointless. Spend your time on more important things like PvP and crafting.

    0 vote(s)
    0.0%
  1. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Summary:
    Revery Online is a work-in-progress fantasy MMORPG created using Unity3D and SmartFox Server 2X. Rather than centering itself in combat, Revery aims to spotlight player interaction and creating a sense of community where crafting, guilds, and other aspects hold as much as weight as the combat. With player housing, guild halls, PvP arenas and much more planned and prototyped, Revery is sure to deliver a variety of ways to take part in the community and to aid this troubled Realm in its quest for peace.




    The idea is to provide players with a fantasy world to escape into and offer them choices and quests that don't just increase armor and attack stats, but allows them to hone their trade, explore the realm, hunt for treasure or cleanse a dungeon of skeleton hoards. Players can train to yield any weapon in the game, regardless of class or faction. Players can specialize in a single profession or become a jack-of-all-trades, creating their own weapons, armor and potions as they quest across the vast landscapes of Revery.



    Player housing system

    When they are done adventuring for the day, each Reverian can kick back and recover in the comforts of their own customizable home. With complete control over the layout and style of their furniture, players have the chance to constantly update their own piece of the realm with housing items looted from corpses, treasure chests, or received as rewards for heroic deeds. Most housing plots are rented, so as players progress through the different zones of the Realm, they can rest assured that their most prized possessions are always within walking distance.

    Whether you like rescuing innocent townsfolk from evil creatures, or prefer to explore vast landscapes while harvesting natural resources, Revery has a place for you to call your own... literally.

    The story:
    Coming soon!


    Screenshot of the prototype attack-system

    Current State:
    I am solo-ing this project, so as you can imagine I've been pretty busy. Basically, all prototype work is complete (the majority of videos/screens are from this prototype) and I am rebuilding the entire project from the ground up with my main focus being performance while maintaining the original look and feel. So far, the new system is exceeding my expectations by a lot, and I am running at 150+ FPS on my desktop and 45-60 FPS on tablets (I have not optimized for tabets at all yet, just PC), and I'm confident I can squeeze even more out of it, which will give me room to expand without killing framerates completely.

    The game is a fully functioning MMO at the heart of it. It uses an Area of Interest that "surrounds" the player and is slightly larger than the cameras maximum viewport. As the player travels the realm, the world itself is loaded and unloaded as they traverse from terrain to terrain, loading lightmaps, trees, walkable areas, etc. from the server in real-time and creating them on the client without so much as a hiccup (demo video of this setup is in the works). As players enter and leave one anothers AOI, they are streamed as well and their animations synced across all affected clients in the AOI. And like the NPC towns, player housing plots, enemies and harvestable resources, they are unloaded as they exit the AOI.

    Player data and their corresponding class (although there is currently only 1 class), weapons, items, inventory, position in the world, friends, etc. are all loaded when they connect and are updated periodically on the server to ensure that disconnects, etc. do not result in inaccurate data. Players houses, the furniture contained within, and the inventory items contained within the furniture are all loaded from the server whenever needed as well. All of these systems are tied together, which allows the following example to be an everyday occurrence:

    You and three friends group up to complete a boss quest. During the quest, an enemy drops a rare bookcase loot item. You win the roll and the next time you enter your home, you open up your item bag and drag the bookcase onto the floor. You are then free to rotate and position the item wherever you like. While you're at it, you place a few of the potions you picked up into the bookcase to make some room in your bag. Five minutes later, you and your friends meet up at the guild house to discuss the next adventure over some ale and feast on tales of previous quests you've shared.


    An inventory bag dedicated to the player-housing furniture and props you loot
    A true MMORPG:
    Revery is a true MMORPG, in that I can technically make the world as large as I want and performance for the client will never change. Its only limitation in player-base is delegated by the servers limitations on performance. The world is persistent and was designed with both expansion packs and altering existing landscapes for future updates (think WoW's Cataclysm). It is capable of maintaining thousands and thousands of different items, enemies, etc., and I've put a lot of thought and work into creating a system that allows me to produce updates at a reasonable rate (considering I'm solo-ing an MMO). It is tested on multiple platforms, including Windows Standalone, Linux Standalone, Mac Standalone, Android, and Windows 8 Store. I would like to include iOS in that list, but from what I've read on the forums, iOS can cause a lot of frustration and I've already got quite a bit on my plate... so iOS will have to wait it out. I have also programmed some of the player interactions to be used with a controller, so there is potential to port to consoles as well.



    Very early prototype of the starting area

    Short-term Goals:
    Over the next few months I will be taking all of my prototype work and incorporating it into the new project setup. As of this writing, I am putting finishing touches on the system responsible for loading/unloading the landscapes as the player travels. This is meant to tie directly into the already-working system that loads items & enemies into the world using the same techniques. Once that is completed, I will be free to work on the realm section by section, taking each new terrain cell and making it available to stream.

    From there I plan to tie the attack system in. The prototype worked really well, and integration into the new system has gone very smooth. In fact, player attacks are being routed through the authoritative server already, which will allow for anti-cheat codes on the server-end in the future. From there, I'll be expanding on the player housing system, using the new landscape loading setup to do the same with player-run towns. The basics for customization are already working in the prototype as well... the only thing missing are the constraints that limit what objects can be placed where (ie. collision testing with walls, etc.).

    I also need to reanimate any characters that already exist in the game. Most of the Asset Store items come in FBX format, which means I cannot open/edit the animations in Blender (my preferred modeling software). Not a huge problem, as I know my way around Blender pretty well, but it will be a time-consuming process.

    Last but not least, I'd like to have a crafting system in place before the demo is released to the public, although it's not as important. The basic functionality and concepts are in place, and right now the sytem is simmering in the back of my mind as I work and hope to have that "eureka!" moment.



    Screen showing some key UI elements

    Long-term goals:
    Honestly, one of the reasons I love working on this game is that I have built it with the ability to scale its size as I need. There is a ton of room for new features, and while I have a HUGE list of things I could do, the list of things I am definitely doing long-term is pretty short at this point.

    Here's what I know:
    - If you're caught cheating, enjoy playing on the server dedicated to hosting cheaters. I have no problem running a small second server to keep like-minded players together.

    - No subscriptions. No ads. Buy the game, play the game as much as you like. If you want to continue past your current max level, then you can buy the expansion pack. If not, keep doing what you're doing... it's totally up to you.

    - API. I absolutely love API's. I intend to create an xml based API in the distant future, to give players access to their characters data via authentication. This is just something I'm keeping in mind at this point, but with the way my data is structured, it would not be difficult to parse into XML and serve it.

    - Starting Area: It is my hope and intention to keep the starter area filled with assets from the Asset Store. I am playing around with the idea of linking to the artists profile/website in the item description of the game, and would like to get some artists thoughts on this concept. I wouldn't be implementing this for quite some time, but again, there is potential there.

    - Festivals: I have a whole notebooks worth of ideas for community festivals for players to take part in. If you enjoy role-playing parties and meeting new players, then you're not going to want to miss these.



    Early work on a field of "Mutated" flowers

    What I'm hoping to get from this thread:
    As far as feedback, I'm looking for general opinions on the basic concepts and also the overall quality from the Unity community. I understand that it's not easy to give feedback without a demo, but I have completed all of my prototype work and am now rebuilding the game from a fresh Unity project setup. My focus this time around is mostly performance while maintaining the general look and feel of the original prototype (and also switching from nGUI to the new Unity GUI system). This community as a whole has been paramount in my success in this and other projects I've worked on, and I would be absolutely grateful to receive feedback during these first stages of rebuilding. My apologies if this seems a bit early (considering there is no demo), but my goal is provide the best demo I can, and since I've recently started from a blank project file, it's a good time to get a feel of what other Unity developers like/don't like. Don't worry though, you'll be able to critique the gameplay soon enough.

    There are a few things that I am wrestling with as far as development, so if anyone can provide any help in these areas I would be very grateful:
    1. Player Housing: I've put a lot of time into designing a system that allows players to have houses that are not instanced, but rather are located in the actual world via rentable/purchasable plots. The prototype is working, but this will require a lot more work than if I went with instanced houses. I know I would personally prefer to have a house in the world that my friends can walk up to, but am curious how others feel about this, since the majority of MMO's use instanced housing. Is it worth the work, or is this unnecessary and the game would be better off if I focused my time elsewhere?
    2. Free players: My idea so far is to have a large area for new players to try out the game. This demo will include quests, crafting and also a demonstration of how player housing works via a timed housing-plot made available to them. Players who have purchased the game will be able to meet up with new friends there, but players will not be allowed to move beyond the starter area without first purchasing the game. Thoughts/concerns on this setup?
    3. PvP: I have arenas planned for the distant future. In-world pvp is absolutely a possibility, but I'm not sure it fits into the theme of the game correctly. I've planned and programmed for factions, but am not sure I want to divide the realm like this. If factions are used, they will not come into play until after the starting area is completed, which gives me free reign to work on the starter area without them; but if I'm going to do PvP outside of arenas, I definitely want factions. Would the lack of non-arena PvP kill the game for you?
    4. Trade: Using the same system that allows for housing, I could allow for "flea-markets" rather than an auction house. Basically, the idea is that you can either hire an NPC to run a booth for you or you could setup a table before you log out to sell your goods for the next x hours. What I'm trying to do is avoid 200 players standing in a room surrounding a single NPC auctioneer, while providing a unique experience. I can see how a flea-market setup could feel tedious though, so I'm open to suggestions since this won't be added for quite a while. To reiterate, I'm not stuck on removing auction houses or using flea markets... player trade is pretty much up in the air in-so-far as how it will be interacted with.
    5. Registrations: I've been holding off on a registration system at the website until my prototype work was completed. I feel like it could be time to start getting some interested people registered and building a list of emails I can send alpha keys out to when the demo is ready. Demo is scheduled to go live either before or shortly after the new year, depending on how long it takes me to get everything put back together. Is it too early to be sending a newsletter out to emails every other week with an update? My concern being that when the demo releases, not enough people will know about it to populate the server with any real numbers, which isn't what you want with an MMO. I'm just curious if anyone has anything to offer in-so-far as advice in the area. I'm not hoping to get thousands when I launch the demo, but would absolutely like to have a few hundred or so emails (preferably from game developers) that I can notify to hopefully get them to try it out. I've also played around with doing an invitation only setup, where when a player gets an invite they then have 3 invites that they can send out, etc. The idea there being that it gives me a slowed down registration rate, and considering the size of my team (1), a slower registration rate would be nice to work around for me, but may not be as good for the current players. I've developed several working games, quite a few of them cross-platform, but I've never released an online game to the public before. I have over a decades experience running social networks and very complex web applications, so working with the public and running servers solo is not foreign to me what-so-ever... my concern is mostly about the timing of collecting registrations and when/what is acceptable/expected.
    I will be updating this first post from time-to-time, and will be adding to the thread as a whole on a regular basis. If you prefer Twitter, you can follow me and/or the game via the links provided below. My plan is to post updates here as my prototype work is slowly but surely integrated into this new version of the game and to highlight the games features as I do so. My first update is in the works, which showcases the loading/unloading of Realm objects and landscapes as the player moves around the world.



    This entire terrain cell (excluding water & the stone monument) is setup to stream from the server and weighs in at less than 1MB

    Final Note: 99.9% of the visual assets you see in the screenshots have been assembled from items available in the Asset Store. I may be working solo, but this game would be capsules moving around on untextured grass if it wasn't for the amazing artists that make their work available for purchase/download. I'll be listing links to each of the items used in the near future, but there are ALOT of them, so it's going to take some time. Once my work takes me beyond the starting area, I will begin adding my own 3D and texture assets to create the surrounding realm.

    Official website*: http://www.reveryonline.com
    Official Twitter: http://twitter.com/reveryonline
    My twitter: http://twitter.com/eatsleepindie

    *currently using my twitter feed to populate content
     
    Last edited: Nov 8, 2014
    laurelhach likes this.
  2. TheRealFuzz

    TheRealFuzz

    Joined:
    Jul 17, 2012
    Posts:
    308
    I'm actually really interested in this and would be glad to test it when ever the time comes and give feedback. I don't have time at the moment to give a lot of feedback but I'll try in the next few days.
     
  3. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Thank you for your interest. I'm looking forward to getting some players on the server to help test.. with any luck it'll come sooner than I've planned. I'll be sure to post in this thread when I get ready to finish up the registration system
     
  4. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    I'd love to also help test this, it looks very nice.

    Good job man!
     
  5. Savvon

    Savvon

    Joined:
    Mar 29, 2014
    Posts:
    18
    I love isometric games and right now the market is good for a top down MMO. Great timing on your part!

    I love the set housing option. One thing you might want to keep mindful of is most people will probably want to use their houses as shops, especially people who get the good locations. I think it would be cool to have a cheaper housing option, apartments. Put them a little outside the city with less options. This will ensure that everyone will have a place to call home. The size of the houses are great as well. It looks like we can pack a lot of stuff in them.

    I personally am not interested in PvP in this type of game. I would rather see some sort of co-op arenas where you can level up and by items for the arena. Something like a 'mob-arena' that you would see on a Minecraft server or maybe even a hunger games or CTF if you want to go PvP.

    The game feels very positive and will be following its development. Let me know if you need a playtester.
     
  6. Whiteleaf

    Whiteleaf

    Joined:
    Jul 1, 2014
    Posts:
    728
    This looks great! I love RPG games, especially ones like this!
     
  7. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    I like the idea of a shop outside the home; kind of reminds me of playing Ultima Online back in the day. I played around with the idea of apartments, and although building houses up saves a lot of space, in a top-down environment tall buildings get in the way quickly, and I don't want buildings that constantly extend below and above the viewport. Granted I could hide them, but they still feel very much in the way.

    As far as how much of the Realm each house would take up, I've come up with the idea of everyone starting with a tent instead of a house. The tent would basically be a very small, but portable, house that they could take with them. Using WoW as a reference, instead of returning to town every hour with a Hearthstone, you could plop down your tent every hour and store some things, etc. Those who have either earned/purchased a house would then have an actual plot that is static in the Realm and would be theirs to call home.

    Using pop-up tents not only helps with the issue of eating up way too many housing plots too quickly, but also makes an actual house part of the rewards system... maybe you can buy a house at level 10. That way, players who play the game for a few days and lose interest would not be clogging up the housing system but would still get a sense of how the system works, which is pretty important to me, even for guest players.

    Thoughts anyone?
     
    Savvon likes this.
  8. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    Honestly I think you've hit the nail on the head right there. The reward of the ability to buy a house after playing a certain amount of time would be both efficient and would entice the player to be more involved. So the tents are a perfect idea.

    Just out of curiosity, how many housing plots were you looking to store?
     
  9. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    As far as data, I can basically store as many as I want due to the servers architecture. As far as the game, I think 1 house for each player active in the last 30-60 days would be efficient.

    Since my system only ever loads about a 1/4 square mile of terrain and an 1/8 square mile for objects (like houses) surrounding the players current position as they move, I can get away with an enormous amount of housing plots... as long as there is enough land to place the houses on without a ton of clutter.

    I can create new terrains to add housing plots incredibly quickly using this system I've built, but I don't want 50% of the Realm to be eaten up by player-housing. So, I can have 20,000 houses, but I'd need the world itself to be large enough to contain them... sort of a player:square-mile ratio that I'm trying to maintain in order to keep from spreading players way too thin.

    I really think the tents will absolutely solve my problems as well as adding a new rewards system to play with. This setup gives me more freedom to place housing plots where I think they should go rather than place a ton in the hopes that there will be enough for everyone. An algorithm on the server could easily help me predict how many housing plots I may need two weeks from now by taking into account things like registration rates, how quickly players are leveling, etc.

    If nothing else, it solves the issue of a swarm of level 3 players leaving the starting area and buying up all the housing plots in the first town that everyone comes to. I'll have ample opportunities to send players in different directions by the time they hit level 10.

    Actually, as I'm writing this, I think perhaps the system should go: start with a tent, rent a house at level 10, buy one at level 20. Since players will be moving from town to town at a much faster rate during the lower levels, it expands on the reward system and also leaves houses in these lower level areas empty for newcomers, since players will most likely rent a new house when they move from the level 10 to level 14 area (for example).

    Thank you everyone for your input so far, this is exactly what I was hoping for. Sometimes it can get very difficult to think outside of the box you've conceived/programmed without some help. :D
     
  10. Christian-Tucker

    Christian-Tucker

    Joined:
    Aug 18, 2013
    Posts:
    376
    I believe that a decent way to help with this would to use a tax system as-well, this is implemented in the 3D MMO ArcheAge that was just released in the NA and it has been working out quite well for them. They require a weekly tax to be paid, the tax is based on location and type / size of house. If you don't pay your taxes you lose your house, it gets destroyed, and people can build where you once where. Granted this doesn't mean you can't build another house. It just means that there's no longer a house there. This will also remove housing from inactive players.
     
  11. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Thanks so much for that info, I'll definitely look into ArcheAge when I get time to see how they implemented. The tax system seems like a great idea, almost like the system they used in Ultima Online way back when I played; they've replaced the timer that degrades the house over time to use in-game currency instead. Brilliant!
     
  12. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Quick update:

    Here's a video showing how the terrains are streamed, loaded, lightmapped, and how little it affects game-play and frame rates*. Not my best video work but I'm sick as a dog today so I'm stuck working on the laptop...


    *Loading times have been exaggerated for effect
     
  13. Peter Ples

    Peter Ples

    Joined:
    Mar 12, 2013
    Posts:
    237
    I love the style of this! And the music is great!
     
  14. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Update #1

    It's been a hectic two days, but I've finally got my final pipeline in place for creating streamable landscapes & lightmaps:



    There are currently only two objects in this screen that are casting realtime shadows: the player, and the loot chest. Every other object and shadow, including terrain, trees, textures, rocks, etc are being streamed from the server at runtime and pieced together and lightmapped. There was a lot of trial and error in getting the lighting right with this new setup, so I feel like I can do better with a few adjustments, but the important part for me at this stage is that I can replicate the results with any new terrain and easily upload it to the server for streaming. This allows me to work on the entire realm piece by piece with confidence that everything will fit together in the end. Needless to say, this a huge weight off my shoulders this morning :D

    With a huge sigh of relief, I can now say that I will be able to build onto this Realm with relative ease. I just sculpt and paint my terrains, place my trees and rocks with the Unity Terrain system, bake my lightmaps, pack everything in a bundle and upload it to the server. This pipeline was very important to me because I am working solo, and I need my process to be as streamlined as possible. The fact that I can essentially whip up a Unity Terrain in a few minutes and add it to the already existing landscape in Revery is going to save me a ton of time in the long-run, and the way things are lightmapped is going to save the game itself a lot of rendering. Check mate.

    I'll be spending some time this afternoon adding more details to the existing terrains and adding some surrounding landscapes to further test how streamlined this process is. If all goes well, I've just saved future me a lot of time.
     
    Last edited: Oct 29, 2014
    theANMATOR2b and laurelhach like this.
  15. GraphXCreations

    GraphXCreations

    Joined:
    Jul 6, 2014
    Posts:
    121
    it is looking good,

    check your pm, i sent you a message a couple of days ago.

    keep up the good work.
     
  16. GraphXCreations

    GraphXCreations

    Joined:
    Jul 6, 2014
    Posts:
    121
    I guess is a no, since i havent heard back from you since i sent you the pm 7 days ago.

    ohh well, good luck bro.
     
  17. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    I honestly don't know how to respond to this. I can tell you that during those 7 days you have been waiting, I've found time to work on my game twice, both for pretty short periods of time. The rest of my time has been divided between some personal issues, my daughter, and the ridiculous amount of hours I work to support my family.

    These are exactly the types of posts on this thread I was hoping to avoid. While I appreciate your offer to help, I don't need help on someone else's terms, so I will have to decline your offer.

    For future reference to anyone hoping to help me with this project:

    I work A LOT. I spend A LOT of time with my daughter. I spend time working on my game when I get the chance. When all three of the former have been fulfilled, I then take to the forums and will respond to your inquiries. My apologies if this seems a bit blunt, but if you're planning on offering me your help, especially if that offer has a time limit, then please save us both the trouble and everyone else the hassle of having to read our conversations in a thread that was intended to draw feedback on a work-in-progress video game.

    Likewise, if you have anything to say regarding the tone of this particular post, PLEASE do so via a PM. This thread is not for discussing my attitude, your opinions on me personally (or anyone else), or anything else beyond Revery Online. I'm really just looking for people who love to do what I do to leave me comments on my work, so I can better myself as a gamedev and make this game better for anyone who plays it. That's it.

    Thank you.
     
    Wacky-Moose and theANMATOR2b like this.
  18. Peter Ples

    Peter Ples

    Joined:
    Mar 12, 2013
    Posts:
    237
  19. jonkuze

    jonkuze

    Joined:
    Aug 19, 2012
    Posts:
    1,709
    Seems like an awesome project! I'd love to alpha/beta test it when your ready! I happen to be working on a Open World MOBA style game. So I might be able to help with some tips or share my experience with some things here and there, or simply give you feedback about the gameplay. I can relate to your situation also as I'm a dad, have daughter, wife, family to support now working a day job again after 2 years of being Full-Time Indie, hoping to get back to Full-Time indie eventually, but in the meantime working hard on all fronts to manage a successful balanced lifestyle between family, work, and a dream of making it with game development. Feel free to add me to Skype (jonmalave).
     
    theANMATOR2b likes this.
  20. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Update # 2

    In the interest of getting this thread back on topic, I've got a few small updates to share. Haven't had a whole lot of time to sit and actually work on the project itself, but I've spent a lot of time with my notebook, which ended up saving me a ton of time when it came to implementation.

    It's a bit odd to look at in hindsight, but I had prototyped myself into a box without even knowing it. After wasting time trying to cram my first town (known as Squires Rest) into the starter area, I realized I was trying to fit a square peg into a round whole. The original prototype level had it's own shape, design & flow to it, but it is one that was painfully slow for the end user. Most players have experience with games of this type, and if they don't, most features are pretty easy to pick up. So, I've decided to drastically truncate my starter area, and rather than slow-walk the player through the controls, the first things they will experience as a player will be focused on story and the game mechanics.



    One of the small encampments that new players will come across.

    My new plan is to make Squires Rest the first town that players come to after completing the starting area, which will give new players a defined spot to meet up with existing players who have moved on past the starting area. My goal is to ease the player into the mmo itself, making the world appear to be instanced until they've collected their starter weapons & armor and have completed a small chain of quests. At that point, the other mmo players who have been hidden will be added to their screen, allowing them to interact with others without the added confusion of learning the game as well.

    A very small but significant addition is that the server now keeps track of where I am, to the tune that if I drop my internet mid-stride, the server still knows exactly where I was, what I was wearing, etc. etc. It's a small change, but has really improved my efficiency while developing/debugging, since every time I push play now I am right where I left off.

    Last but not least, I've been swapping the UI Layout to the new Unity Beta UI system. I'm blown away at how easy this new system is to use, and while I realize part of that is due to my experience with nGUI, a big part of it is absolutely great design on Unity's part. It was literally almost too easy to recreate my UI, which is why so much is done in the short time I've gotten to work. Inventory bags load my items dynamically, and the system now bring up an item information window when I hover (not all data is accurate yet, but the base functionality is there). I cannot swap items between slots in my bag yet, but I've already got that planned out on paper and considering how everything else has gone, I don't think it will take me long at all. The xp bar is fully functional as well, but what is most significant to me with this new setup is that everything is using inheritance and prefabs to the point that I can add new inventory slots by modifying a single variable... and anything that saves me time is pretty crucial.


    A few sections of the UI layout have been converted to Unity's Beta system.
    My short term to-do list:
    • Convert NPC's to MMO items like the enemies, so they load only when they are within the players AOI. I will also be scripting them to have preset options for clothing, face, etc. so each NPC will have its own distinct look.
    • Rebuild the login UI with the new Unity Beta setup. At this point, being able to easily login as multiple players from multiple accounts is pretty crucial.
    • Build the NPC conversation system.
    • Rework the layout for the entire starting area, starting with moving Squires Rest beyond it's borders and replacing it with small encampments of NPC's
    • Fix a lot of small bugs/nuances that don't necessarily hinder gameplay, but consistently remind me that I'm playing a video game.
     
  21. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    I'd be happy to have you when it comes time for testing! I will definitely add you on Skype as soon as I am on there again. Thanks for your input and I look forward to a chat with a fellow dad/gamedev in the near future.
     
    jonkuze likes this.
  22. Peter Ples

    Peter Ples

    Joined:
    Mar 12, 2013
    Posts:
    237
    I'd help test too! Pming email - no time limit on my offer har har har.
     
    jonkuze likes this.
  23. steelersfan252

    steelersfan252

    Joined:
    Dec 23, 2010
    Posts:
    217
    I just sent a email to info@reveryonline

    This game looks amazing, and I would love to beta test your game. I cant believe your doing this solo, this looks like a work that would come from a million developers.
     
  24. steelersfan252

    steelersfan252

    Joined:
    Dec 23, 2010
    Posts:
    217
    I posted a beta test link on my website, I have gotten a few hundred people, that are willing to beta test your game
     
  25. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
    Are you using a filter on your camera to feel like a motion blur or something? I like it. I have indie effects but take alot of fps...
     
  26. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    First, I'm going to be a bit blunt, but please don't take offense.

    Do not offer access keys to my game on your website without asking me first. You are absolutely collecting email addresses under false pretenses using my copyright-protected content to do so. Please, take down the beta-signup as soon as possible.

    That being said, I sincerely appreciate your enthusiasm and I really do appreciate you going out of your way to promote my game; but there is a right way and a wrong way to go about it. I never even had time to respond to your message (I've been very sick lately) and when I came back to the cyber world Beta keys were being given away for a game that is absolutely at least a year away from Beta-testing. I'm shooting for Pre-Alpha testing during or right after the holiday season, and my goal is to literally start with a dozen or so keys, and they're about all taken at this point.

    I will be adding more information on what is going to happen when in the future, but please, if you want to help me collect testers, at least wait for a response from me before doing so. I can take time in the future to make some widgets that reside on your site and collect beta-key registrations, but this is data that I absolutely need to have control over, not someone else.

    So, in summary, thank you so much for your enthusiasm, but please take down your beta-key sign up and give me the time to discuss how this can be setup in the future. Thank you.
     
    jonkuze likes this.
  27. steelersfan252

    steelersfan252

    Joined:
    Dec 23, 2010
    Posts:
    217
    I ended up with around 3,000. I have removed it and deleted all the email address's. Maybe we can work together some day then.

    Edit: So a question I have is how are you funding this game? Are you using it from pocket, or are you getting it from a donation fund?
     
  28. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Thank you for deleting the emails.

    I am funding this completely out of pocket. I have no intention of taking any money from anyone until I have something worth selling. My focus is on getting the game ready for a dozen or so people to sign in with me once in a while to help me break it, because I'm one guy and I can't possibly think of all the ways that everyone is going to try this or do that. The absolute last thing I want is for the game to get too big too quickly, which is why I have planned out my access-key system to the letter. If the game were at the point where I needed more people to play it than were volunteering, I would have a registration system live on the website.

    There will come a day when me, the server, and the programming are all ready for a wave of players, if that's what happens; but that day is still far away.
     
  29. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
    What filter for camera are you using it?
     
  30. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Unity Pro's 'BloomAndFlares (3.5, Deprecated)'
     
  31. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Update #3

    I am still slowly recovering from my illness, but I'm finding more and more time to work on Revery each day. This time around I'll be focusing on the new UI setup. I recently changed from using nGUI to using Unity's 4.6 Beta system. I was hesitant to switch to a system that was still in testing, but I am so glad I opted to go for it.

    The new Unity UI is incredible. It's very intuitive, but beyond that it makes the GUI elements crisp and clear; so much so that I wasn't sure I liked it or not at first. Now that I've been using it a while and can see the difference between the old UI and the new one, I'm all for the latter.



    New UI System courtesy of Unity 4.6 Beta

    It's a pretty standard MMO setup with a few changes. To the left and the right of the XP counter are the slots for main-hand and off-hand weapons, which correspond to left and right mouse buttons. Below are 9 hot-key slots: the first 3 are your most often used spells; the second set of two are for high-powered spells with long cool-downs; the last 4 are for runes. I'll cover all of this more in depth via a future post, mostly because there are still some things I need to decide on.

    In the lower right corner you have Inventory Bag slots. Rather than carry multiple bags cluttered with various types of items, each bag has a specific purpose and takes specific contents. As of right now I've done work on a bag dedicated to furniture props for player housing, and then there is the main bag which takes pretty much every item that doesn't go into a separate bag. The two bags I have not completed yet are for crafting items and quest items.

    Underneath the bags are 6 hot-key slots for potions and other consumables. By default they are mapped to numbers 1-6; the number of slots available to you is dependent on your level.

    The thing I am most excited about is that these hot-key slots and inventory slots are all being loaded at run-time via the server. For example, the first treasure chest currently contains a healing potion and a lousy sword. To add another item, I simply add a database record and the server does the rest. Eventually I will be building myself an admin system that makes the creation/updating of items even easier, but for now this works pretty slick.

    The video below shows the inventory system work done at the moment, minus a bit of back-end work I've done since then. As I walk up to the treasure chest a GUI prompt gives me the option to open it. As of right now it does not position itself over the chest; I still need to learn how to do this with the new UI system. As I press the open key, a request is sent to the server, which checks to make sure someone else is not already rummaging through the chest. If it's available to open, it's contents are then sent to the client and the loot window opens. This setup keeps bots from scanning incoming data to check what items are in what containers or on what enemies... the client never knows until the player is checked for permission to get that data, and only sends it once it verifies the request to loot that single container.



    Quick video showing how containers and corpses will be looted

    * For the record, I pause momentarily when I reach the chest to let you see the prompt... there is basically no lag as of now, especially since my development server is only about 8 feet away. Don't want you to think that you have to wait 8 seconds every time you open a treasure chest.

    Next, I plan to add scripts to allow the player to drag items from the loot window into their item bag, as well as add a "loot all" button to the window itself. After that, functionality will be added so that I can drag items from my bag onto my character screen to equip them. This was done in my original prototype, down to loading the model for the item (in this case the sword) on my character, so using a more optimized version of these scripts should make the process pretty smooth.

    I hope to have more to show soon. Thank you everyone for your interest so far, it's really motivating me to get this ready for Pre-Alpha.
     
  32. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Update #4:

    The last two weeks I have been trying to squeeze some development time in whenever I can, and slowly but surely it has paid off. Along with all the work I put into the MMO's framework beforehand, things are really starting to come together in the realm of Revery.

    This update has quite a few things added. Mainly, players can now attack enemies, earning them XP which eventually levels them up, which then allows them to increase their attributes to become a stronger player. Animations and movements are completely synced across clients, meaning if there are 5 people in the same area, all 5 clients are showing all of the other 4 players correctly and in real-time. I've gone as far as to introduce moments of simulated lag on the server, and for the most part everything works as expected. There are a few bugs, but they are all client-side bugs, meaning that the servers data is getting misinterpreted; the important part for me is that the server is always right... clients come second.


    Gameplay video showing how players can now use loot to kill server-controlled enemies

    In the above video, I start out as a standard first-time guest player. For the sake of development and testing (when that time comes), players are simply greeted with a treasure chest with some loot. After grabbing the loot, the player comes across their first enemies. They wield the sword they looted previously and begin killing plants. After 2 kills (again, for the sake of quick testing) the player levels up. They are awarded 2 skill points each level; the reason the player has 4 points to spend after their first level up is that that players will get to add x number of skill points to customize their attributes when first creating their character... I don't have a character creation screen yet, and the server knows I should have spent them already so it lets my client know they are there.

    You'll see that as the player increases their attributes, certain stats are affected. You can see that the players HP is directly tied to their 'Constitution'; their MP to their 'Wisdom'; and their AC to their 'Dexterity'. What you don't see is that the players 'Strength' is directly tied to the damage they deal. What happens when the player makes an attack request is that the server calculates the damage based off the players attributes (and eventually weapons) and then passes that number to the enemy. The enemies own attributes are taken into account, lessening the blow depending on its own stats. Once this final number is calculated, the necessary data is sent to all clients in the area, with data being sent purely on a need-to-know basis (ie. when sending out data, the server sends out data in the following way: [data] attacker > [data] playersInGroup > [data] playersInArea).


    Still playing around with different particle effects for when players level up.


    I am not dead-set on my attributes at this point, but so far I do like them and have plans for each. So whether their names change, everything changes, or I continue with this setup is undecided, but what is important is that my server scripts make changing it all pretty simple.

    I have tested this system with several different enemy models, and it works so well that I'll probably be going on an Asset Store shopping spree after the holidays. As of this moment, the server treats all enemies the same (ie. level, HP, etc.) but a little database work will change that. Beyond that, the next steps will be to make the plants attack the player back and move. I have server-side scripts outlined for handling the enemies movement, but it's not going to be easy and I'm not sure when I'll get the chance to really sit down and get some serious game development done. Hopefully soon, but until then, I'm going to continue to chip away at implementing the attack system little by little. I'll be taking weapon damage into account and hopefully have some cool spells to show off for the next update.
     
  33. Peter Ples

    Peter Ples

    Joined:
    Mar 12, 2013
    Posts:
    237
  34. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Been very busy with work lately trying to meet a holiday deadline for my client, which hasn't left me a whole lot of time to work on Revery. At the very least, I try to knock a few small things out each day when I get a few minutes. After picking up a few items in the Asset Store, I got inspired to get my idea for a login system working.

    My goal with the intro/login sequence is to get the player ready for the game... something to take them from the real world to the Realm of Revery. Suffice it to say at this point that there is a book that is very central to the story, and I got inspired to create a sequence that shows the player discovering this book in a hidden cave, the book comes to life, and then carries the player into the realm to play the game.

    Looked good on paper, and I didn't have the time to program anything overly complicated, so I went ahead and scripted a prototype of my login sequence. I started with the book, knowing that if a wrench was going to be thrown into my plans, chances are it was going to be with the page-flipping mechanic. It took a lot of little adjustments, but my first version of the login screen animation was ready after a short while:


    First draft of my animated book for use as the login screen

    With that done and working for the most part, I moved on to creating some scenery to surround the book. After several tossed-out versions, I landed on this (courtesy of another purchase in the asset store and a few hours of tweaking):


    First draft of my animated book for use as the login screen


    Keeping things short and to the point, add a few more hours work and a camera path setup stretched over the course of 5 days, and here is the final version of the login sequence:



    There are still a couple of clipping and other issues, but for the most part I'm pretty happy with the results. The only thing animated in the scene is the cover of the book opening up; every thing else is handled real-time with scripting. I'll be tweaking things here and there along the way, but for the most part this will be the setup for Alpha testing. I have not added the prompt for it yet, but there is already an option to click/press a key to skip the sequence.

    I'm biting at the bit to get some free time to really tackle the items left on my list to get prepped for the first rounds of live testing. I'm confident that I can make an early 2015 date to start sending out Alpha keys; whether that will be early January or late February is still an unknown. I have decided to exclude housing in the first round of testing, opting for a more polished version of the more basic rpg elements first. I will be getting a detailed schedule posted here in the coming weeks.

    Hope to have more to share soon. Thanks again to everyone for your interest and feedback!
     
  35. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    After several weeks of being buried in work, I am happy to say that not only have I turned my attention back to Revery, but it is now listed on IndieDB.com!




    Take a look at http://www.indiedb.com/games/reveryonline and be sure to Track the Page so you can stay up to date on all our future posts.
     
    jonkuze likes this.
  36. jonkuze

    jonkuze

    Joined:
    Aug 19, 2012
    Posts:
    1,709
    Looking Good! Can't wait to Alpha Test this Game! ^_^
     
  37. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355
    Thank you! I am very excited to get this game live and get to the first rounds of testing. I'm getting a little bit more done every day, and I swear I can see the light!
     
    jonkuze likes this.
  38. GarretPolk

    GarretPolk

    Joined:
    May 26, 2013
    Posts:
    49
    I love the UI. Did you buy an Asset for that or craft your own?
     
  39. eatsleepindie

    eatsleepindie

    Joined:
    Aug 3, 2012
    Posts:
    355