Project Vague - A Sandbox MMO Adventure

Show a beta or the final version of your latest SmartFoxServer-based project.

Moderators: Lapo, Bax

User avatar
idlepeon
Posts: 18
Joined: 18 Oct 2018, 12:00

Project Vague - A Sandbox MMO Adventure

Postby idlepeon » 18 Oct 2018, 23:14

I'm very happy to share our current project with the SmartFox community. Project Vague is an on-going sandbox MMORPG created with Unity and SmartFox Server, and is currently available to play for free directly in your web-browser; no need to download a client!

Image

I have worked for over 8 years with both Unity and SmartFox Server as a freelance game developer and after several successful releases, I have decided to slowly but surely put together my dream project: a persistent world that I can share with gamers and that has the freedom to become anything the players want! We launched a Patreon page recently to help fund this project, but I will be investing my own time and money into this as much as possible over the coming months in an effort to get a full-fledged MMO framework in place and tested.

Everyone is free to create a temporary guest character and play around on the island that is currently a placeholder for what will be the game world itself. Guest players have a few limitations in that they cannot access the friends interface or create trades, but you'll still be able to check out the majority of features, including finding and looting random chest spawns, dancing with other players, equipping weapons and helmets, etc.

Image

I'm currently wrapping up work on the desktop client for Windows and hope to have that available as a download this coming weekend. For now, if you'd like to try out the demo, you can do so via the link below. I've provided a link to our brand-new Patreon page as well in the event anyone is interested in not only supporting this project, but having a say in the direction it takes in the future. Patrons get access to permanent characters, inventory, friends, and the [upcoming] player-trading system. The client itself is bare-bones insofar as artwork while I focus on network performance and ensuring our server-side code is free of bottle-necks; leaving plenty of time for voting on themes, art-style and more.

Thank you to everyone for your interest in our project! I'll be hanging out in the game (character name Idle Peon) periodically during the next few days so hopefully I'll run into a few of you.

Links temporarily removed - see most recent post for more info
Last edited by idlepeon on 25 Feb 2019, 02:34, edited 1 time in total.
User avatar
Lapo
Site Admin
Posts: 22999
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Project Vague - A Sandbox MMO Adventure

Postby Lapo » 19 Oct 2018, 08:47

Hi,
thanks for the submission. It looks like a pretty ambitious and promising project especially for a small team.

We tried the online demo and it works very well but we were a little puzzled as to how the controls work. Especially for the movement we couldn't figure out how to rotate/move the camera view around the character. Maybe it's still w.i.p?

It would be great if you had a small guide to the various commands and dialogue boxes available in the game.

In the future we'd like to feature your project in our blog with a detailed article/interview, if you're interested. We could talk about some of the technical choices employed in the client and server, and maybe provide some useful tips for those approaching a similar type of project.

Keep up the good work :)
Lapo
--
gotoAndPlay()
...addicted to flash games
User avatar
idlepeon
Posts: 18
Joined: 18 Oct 2018, 12:00

Re: Project Vague - A Sandbox MMO Adventure

Postby idlepeon » 19 Oct 2018, 13:21

Lapo, thank you so much for not only taking the time to try the demo but to provide feedback. I'm sorry to hear you had troubles with the controls, but I am definitely going to take your suggestion and create a panel that shows how things work as well as some tooltips for the various UI elements. I've outlined basic movement controls below for anyone else who may need it.

It is very much a work-in-progress and will be for quite some time, but that is sort-of the point of the project. Our goal is to include the players in the decision process of where we take the game, which is why we opted to start the Patreon campaign. We'll be polling players to get ideas on where we end up taking the game which is why I am focused on the core client-server transactions: for example, this inventory system can work for whatever genre the game ends up being, which is why so much of the client is still in a "prototype" phase.

We would be very interested in being featured on your blog in the future! We're planning on sharing the demo via more forums and social networking this weekend in the hopes of getting a decent number of players online simultaneously to see how things go, so I'm definitely going to focus on the guides you suggested before then.

Downloadable client will be coming for Windows very shortly - I finally fixed a bug that caused the client to hang and crash when leaving the game by simply closing the window, and I'll be testing standalone builds for Mac and Linux in the near future as well.

Thank you so much for trying the demo and providing feedback. I'll let everyone know when the client has been updated with more information on how things work. For now, here's a quick run-down:

Right-mouse button rotates the camera
WASD for movement
Holding both mouse buttons works the same as pressing W
Pressing Home will toggle auto-run on/off
F to interact with chests
Space to jump
Pressing Enter will send focus to the Chat Input (so you can press Enter, type a message, then press Enter to send and return to playing as normal)
User avatar
Lapo
Site Admin
Posts: 22999
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Project Vague - A Sandbox MMO Adventure

Postby Lapo » 19 Oct 2018, 15:16

Hi,
sure no problem. Keep us updated about the next release and we'll get back to you in a few weeks to talk about the article.

p.s. = ah the camera control was on the right-click! Having tested on a MBPro with a trackpad it didn't occur to me to try the right click :D
Lapo

--

gotoAndPlay()

...addicted to flash games
User avatar
idlepeon
Posts: 18
Joined: 18 Oct 2018, 12:00

Re: Project Vague - A Sandbox MMO Adventure

Postby idlepeon » 19 Oct 2018, 21:24

Just posted an update with a help section for controls and various fixes/improvements. I'll be adding left-mouse camera rotation soon, it was just conflicting with my inventory system and I haven't added the logic to prevent that yet.

I'll be finishing up the friends system soon but am not sure I can get the results I'm after using the buddy list, which is to add characters rather than users (so that character names are in place of account names and only those characters you've added get shown as online). I haven't done much with custom buddy variables in my time with SmartFox, but was hoping there's a way to store the relationship between account-and-character for just a single account's buddy list, but so far no luck.

Figured I'd get this stuff updated since it's going to take some time to get all these tooltips written.

Image
User avatar
Lapo
Site Admin
Posts: 22999
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Project Vague - A Sandbox MMO Adventure

Postby Lapo » 22 Oct 2018, 07:37

Thanks.
idlepeon wrote:I'll be finishing up the friends system soon but am not sure I can get the results I'm after using the buddy list, which is to add characters rather than users (so that character names are in place of account names and only those characters you've added get shown as online). I haven't done much with custom buddy variables in my time with SmartFox, but was hoping there's a way to store the relationship between account-and-character for just a single account's buddy list, but so far no luck.


Buddylists use the user name as the main "key" to identify one player from another (since usernames are unique in SFS), but they also support a "nickname" which is any custom name you choose for that player. Wouldn't this be useful for the "character name" in your game?

Cheers
Lapo

--

gotoAndPlay()

...addicted to flash games
User avatar
idlepeon
Posts: 18
Joined: 18 Oct 2018, 12:00

Re: Project Vague - A Sandbox MMO Adventure

Postby idlepeon » 22 Oct 2018, 16:46

Lapo wrote:
Buddylists use the user name as the main "key" to identify one player from another (since usernames are unique in SFS), but they also support a "nickname" which is any custom name you choose for that player. Wouldn't this be useful for the "character name" in your game?


Is the nickname unique for each individual user in the buddy list? For instance, can the nickname I set for user A be a different nickname than the one that somebody else sets for user A? I just haven't dug into the documentation on buddy lists too much yet but hope to sometime early next month.
User avatar
Lapo
Site Admin
Posts: 22999
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Project Vague - A Sandbox MMO Adventure

Postby Lapo » 22 Oct 2018, 17:08

No. It doesn't work like that because the nickname is a parameter chosen by User A anyways. It's just an alias, or another name to show buddies other than User A, but it's always univocal.

If understand it correctly you would like buddies of User A to assign him a different nickname, in their own buddy lists.
So I could name User A "SwordMaster" in my buddy list and someone else would name him "BananaBread" in his buddy list... is this what you're trying to accomplish?
Lapo

--

gotoAndPlay()

...addicted to flash games
User avatar
idlepeon
Posts: 18
Joined: 18 Oct 2018, 12:00

Re: Project Vague - A Sandbox MMO Adventure

Postby idlepeon » 22 Oct 2018, 17:19

Lapo wrote:No. It doesn't work like that because the nickname is a parameter chosen by User A anyways. It's just an alias, or another name to show buddies other than User A, but it's always univocal.

If understand it correctly you would like buddies of User A to assign him a different nickname, in their own buddy lists.
So I could name User A "SwordMaster" in my buddy list and someone else would name him "BananaBread" in his buddy list... is this what you're trying to accomplish?


Basically I need to be able to set a buddy list variable but do so on only a single buddy list, that way I can keep track of which characters from that users buddy list I have added. From there I can display that user as online or offline depending on which character they are logged in as currently; for instance, if I add user B who is currently playing character Z, if user B logs off and then back in as character Y, the buddy list will "show" him as online but the UI will display him as offline since character Z is not the one they are playing.

This seemed to be the easiest way to have buddys on a per-character config, but from what I understand of the buddy list system, it's not designed for this at all. If I update which character a user is playing, the int that represents the character gets updated for everyone who has that user on their list, and so I essentially lose that int which was representing the character I originally added.

Maybe there is a better way to accomplish this, but again, I've only really used the buddy list for its basic features in the past and haven't dug into the docs yet.
User avatar
idlepeon
Posts: 18
Joined: 18 Oct 2018, 12:00

Re: Project Vague - A Sandbox MMO Adventure

Postby idlepeon » 22 Oct 2018, 17:33

If I'm understanding your earlier post correctly, since the buddy lists main key is their name, I can just substitute the character name for the user name when I am adding the buddy? So when I add user A's character Z to my list, I just pass the string of "character Z name" instead of "user A" and everything will work as expected? If so, this is going to be much easier than I'd thought.
User avatar
Lapo
Site Admin
Posts: 22999
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Project Vague - A Sandbox MMO Adventure

Postby Lapo » 24 Oct 2018, 08:07

No, I don't think this will work.
In your system you've introduced a new variable, the "character", which I am not sure how it fits with a buddy List.

Basically I need to be able to set a buddy list variable but do so on only a single buddy list, that way I can keep track of which characters from that users buddy list I have added.

I don't think I follow this.
What is the relationship between user and character? Does a User have multiple characters? So it's a one-to-many relationship?
And how would

From there I can display that user as online or offline depending on which character they are logged in as currently;

Hmm... but there's a problem. In SmartFoxServer, usually, you login as a User, which is identified by a username and password.
In other words you don't have multiple accounts that represents different characters which in turn all represent a single User.

Sure, you could probably implement something like that, but still the server identifies Users by one parameter (id or name) and there's no built-in translation system that keeps track of "characters" representing a single User.

Hope this is clear.
Lapo

--

gotoAndPlay()

...addicted to flash games
User avatar
idlepeon
Posts: 18
Joined: 18 Oct 2018, 12:00

Re: Project Vague - A Sandbox MMO Adventure

Postby idlepeon » 24 Oct 2018, 20:58

Yes, my setup allows each account to have multiple characters. I think ultimately I'm going to go with moving my login system from using an account name/password to an email/password combination. That way sharing your account name with others doesn't jeopardize account security since it's no longer used for logins. So, my friends list would show whether your buddy is logged in as well as which character they are currently playing.

Honestly, the main reason I was leaning towards a character-centric buddy list was for the reason I mentioned above and I didn't want to require users to choose a nickname as my only means of keeping the account name secure. Good news is that once I make the switch to emails being used for logins then my friends system is pretty much done, and I can't complain about that. I'll need an email tied to each account for password recovery, t.o.s. updates, etc. anyway, so this seems like the best route.

Thank you so much for the clarifications and the help. More updates coming this weekend.
User avatar
idlepeon
Posts: 18
Joined: 18 Oct 2018, 12:00

Re: Project Vague - A Sandbox MMO Adventure

Postby idlepeon » 26 Oct 2018, 17:47

I've been working on the quest system in my spare time this past week and one thing became very obvious to me: I was wasting a lot of time bouncing between database tables to create relationships between quests, npcs, items, etc. Luckily for me I was a freelance web designer for almost a decade before making the switch to games, and so I whipped up an admin section on my local development server to aide me in managing things.

Image

It's not quite done enough for me to create a new quest the way I want - which would be to simply enter a name, description, etc. and the select which NPC is offering, which NPC you turn the quest into, and what is given to the player as a reward - but I'll hopefully get that wrapped up tonight. I'm using CFML, AJAX and jQuery to make this functional and the goal is to create a button that exports database tables for items, quests, npcs, etc. while leaving out tables for users and characters; this way I can quickly execute SQL dumps on the remote database without ever needing to worry about overwriting existing character and user data, and also without worrying about keeping this admin section secure (since it only exists on my local copy of the server).

Image

The grid features a search system making it incredibly easy for me to find the item I am looking for in what will ultimately be a very long list of items, and sorting for columns is in place and retains the database id of each item in the grid during sorting, allowing me to work quickly and get back to what matters: the MMO itself. This all ties directly into the REST API I am creating for item data, which is already being leveraged to populate the item info window when you hover over an item icon in-game.

Image

This is why I opted to build an MMO: it gives me the chance to always be making progress on this project while affording me the freedom to step away from C# and Java when I need a break and work in a completely different environment. I like building things and I'll never be done building them for this game, and that makes it the perfect project for me. I'm looking forward to finishing this admin system up tonight - at least enough for it to create its first quest - which will effectively transform all this data into a game world full of quests that need to be completed, the characters who need the tasks done, and the items they offer as a reward. When I'm done, a few clicks here and some text entered there will be all that is needed to add a quest to an NPC, and that is going to save me a ton of time in the long-run.
User avatar
Lapo
Site Admin
Posts: 22999
Joined: 21 Mar 2005, 09:50
Location: Italy

Re: Project Vague - A Sandbox MMO Adventure

Postby Lapo » 30 Oct 2018, 08:44

That's an interesting approach. Well done.
Is CFML related to Cold Fusion? I didn't even think it was around anymore... or maybe that's not it.

Cheers
Lapo

--

gotoAndPlay()

...addicted to flash games
User avatar
idlepeon
Posts: 18
Joined: 18 Oct 2018, 12:00

Re: Project Vague - A Sandbox MMO Adventure

Postby idlepeon » 02 Nov 2018, 20:57

It is. CFML = ColdFusion Markup Language. I built CF web applications as a freelancer for years so it's now my go-to when working with databases for sites. I abandoned Adobe's ColdFusion not long after they acquired Macromedia and have been using Lucee (formerly Railo) ever since.

Return to “The Gallery”

Who is online

Users browsing this forum: No registered users and 3 guests