Vanguard of the Fallen - My EQ Based RPG Project

Blazin

Creative Title
<Nazi Janitors>
6,518
33,989
Trying to implement a follow command this week and it's killing me. I can't find an effective way to have a follow command client side and it just so not smooth for the client being server side. I think some advanced form of prediction could fix it but I that's beyond my talents right now. I"m going to shelve it for now and revisit. I can have the client receive the location of the follow target and apply a directional force and rotate to that location and then have a range check that is ticking down and when range its an acceptable distance it receives a new update and repeat. The issue with this is when it goes wrong due to lag or getting stuck etc. If it fails to ever reach the target it's just very easy to end up a buggy mess.

Server side I can use AI controlled nav pathing that works far better but again you just have that delayed process of having the server controlling your movement and it looks jerky on the client. I'm sure you guys have seen this in some games, so obviously even studios at times just say "whelp that's just the way it is"
 

Blazin

Creative Title
<Nazi Janitors>
6,518
33,989
Can anyone give me some advice on setting up a website, setting up webserver and database system to manage distribution, key registration and management? I have been out of this realm for too long and apparently a geo cities site isn't the right approach. Or do you guys know a poster here who this is their field? I obviously don't mind learning new things I just overwhelmed by the options and no first hand experience with them to make a decision.

Flask vs Django? for framework?
Apache for web server?

Database MySQL?

Any advice is appreciated.
 

Control

Ahn'Qiraj Raider
2,422
6,224
Can anyone give me some advice on setting up a website, setting up webserver and database system to manage distribution, key registration and management? I have been out of this realm for too long and apparently a geo cities site isn't the right approach. Or do you guys know a poster here who this is their field? I obviously don't mind learning new things I just overwhelmed by the options and no first hand experience with them to make a decision.

Flask vs Django? for framework?
Apache for web server?

Database MySQL?

Any advice is appreciated.
Unless you just to roll everything from scratch, you could just go with Wordpress. There are plugins for everything. Alternatively, since I imagine you'll want a forum, you could also go with Xenforo and use it's static/blog pages for the main page of the site. Sure, you could use newer/different things, but imo, this isn't the part of the project where the extra effort will matter (and will probably actually make it worse), especially for the intended users. How many "modern" / "community" sites do you use that are (functionally) better than this one?

For following, could you just use the same follow logic as NPC's, then just exit based on a distance check? EQ's follow would do all sorts of wonky stuff, but it was still useful.
 

Blazin

Creative Title
<Nazi Janitors>
6,518
33,989
Unless you just to roll everything from scratch, you could just go with Wordpress. There are plugins for everything. Alternatively, since I imagine you'll want a forum, you could also go with Xenforo and use it's static/blog pages for the main page of the site. Sure, you could use newer/different things, but imo, this isn't the part of the project where the extra effort will matter (and will probably actually make it worse), especially for the intended users. How many "modern" / "community" sites do you use that are (functionally) better than this one?

For following, could you just use the same follow logic as NPC's, then just exit based on a distance check? EQ's follow would do all sorts of wonky stuff, but it was still useful.
I don't care about the website as a media display at least not at this point. I just need a repository for people to download the game and for key validation.

As far as forum I know a guy with a nazi far right wing site that could probably help. Lightning Lord Rule Lightning Lord Rule

Yes I can use pathing that is server side movement control. It's probably what I'll end up doing even if it doesn't look great for clients.
 
  • 1Like
Reactions: 1 user

Palum

what Suineg set it to
24,217
35,575
I don't care about the website as a media display at least not at this point. I just need a repository for people to download the game and for key validation
Why do you need to validate keys exactly? Otherwise could just host a static site in S3 since you gotta distribute the files anyway. If you really want to do keys can use lambda to generate and distribute I would think.
 
  • 1Like
Reactions: 1 user

Blazin

Creative Title
<Nazi Janitors>
6,518
33,989
Why do you need to validate keys exactly? Otherwise could just host a static site in S3 since you gotta distribute the files anyway. If you really want to do keys can use lambda to generate and distribute I would think.
Just not sure I want to completely lose control of the games distribution the moment I hand it to a stranger. I want people playing the game , but that doesn't mean I want everyones first impression to be an early test I didn't intend to be released. Any other ideas to handle that?
 

Palum

what Suineg set it to
24,217
35,575
Just not sure I want to completely lose control of the games distribution the moment I hand it to a stranger. I want people playing the game , but that doesn't mean I want everyones first impression to be an early test I didn't intend to be released. Any other ideas to handle that?

Other than F&F no, at some point you're building an auth server though. You can do old school cd key validation but then they can just give the same code with the executable out to anyone.
 

Blazin

Creative Title
<Nazi Janitors>
6,518
33,989
Other than F&F no, at some point you're building an auth server though. You can do old school cd key validation but then they can just give the same code with the executable out to anyone.
I trust the people here at least to the degree there is no one here I wouldn't love to try the game. It leaving this community I'm a little less inclined to want right now. My plan is hopefully get some people here playing a version in August. I don't need it to be a ton of people I just need more feedback on the first Tier before I start building out more incase I need to consider any significant reworks.
 
  • 1Like
Reactions: 1 user

Palum

what Suineg set it to
24,217
35,575
I trust the people here at least to the degree there is no one here I wouldn't love to try the game. It leaving this community I'm a little less inclined to want right now. My plan is hopefully get some people here playing a version in August. I don't need it to be a ton of people I just need more feedback on the first Tier before I start building out more incase I need to consider any significant reworks.
Right but what I'm saying is more like either you build an auth server to actually handle key redemption or it's just locking the front door while handing out enough keys they can just copy to give whomever access anyway. In that case just use a time based key in the installer or something, I'm sure there's got to be some open source TOTP libraries.
 

Control

Ahn'Qiraj Raider
2,422
6,224
Just add a big fat "Tech Demo: Version 0.1" to the main menu then
yell lets go GIF by Milwaukee Bucks
let go gtfo GIF
 

Blazin

Creative Title
<Nazi Janitors>
6,518
33,989
Right but what I'm saying is more like either you build an auth server to actually handle key redemption or it's just locking the front door while handing out enough keys they can just copy to give whomever access anyway. In that case just use a time based key in the installer or something, I'm sure there's got to be some open source TOTP libraries.
Thank you, I'm looking at the AWS Lambda now.
 
  • 1Like
Reactions: 1 user

Palum

what Suineg set it to
24,217
35,575
Thank you, I'm looking at the AWS Lambda now.
It's very handy with Python to not have to stand up a server, only tricky bit is setting up templates with all your esoteric libraries if you use stuff that isn't in their standard Linux distros
 

Seananigans

Honorary Shit-PhD
<Gold Donor>
12,565
30,870
Trying to implement a follow command this week and it's killing me. I can't find an effective way to have a follow command client side and it just so not smooth for the client being server side. I think some advanced form of prediction could fix it but I that's beyond my talents right now. I"m going to shelve it for now and revisit. I can have the client receive the location of the follow target and apply a directional force and rotate to that location and then have a range check that is ticking down and when range its an acceptable distance it receives a new update and repeat. The issue with this is when it goes wrong due to lag or getting stuck etc. If it fails to ever reach the target it's just very easy to end up a buggy mess.

Server side I can use AI controlled nav pathing that works far better but again you just have that delayed process of having the server controlling your movement and it looks jerky on the client. I'm sure you guys have seen this in some games, so obviously even studios at times just say "whelp that's just the way it is"

How often does the server know the x,y,z coordinate locations of players? The first thing that comes to mind is to store the last 10ish locations and have follow just direct the follower to the locations in order they were visited by the leader. You'd want it to stop before it reaches the 3rd most recent or whatever to create a follow distance. Obviously the 10 and 3 numbers depend on the answer to the "how often" question. But this is the solution that comes to my mind when trying to control for getting stuck. If you're literally following the path the leader successfully took you can't really get stuck.

Not sure how intensive that would be on server communication. A client could create and store this list on its own relatively easy and only transmit it to the server during the interval you're currently using for client updates. Dunno, I'm a retard and know nothing about multiplayer server type stuff.
 

Blazin

Creative Title
<Nazi Janitors>
6,518
33,989
How often does the server know the x,y,z coordinate locations of players? The first thing that comes to mind is to store the last 10ish locations and have follow just direct the follower to the locations in order they were visited by the leader. You'd want it to stop before it reaches the 3rd most recent or whatever to create a follow distance. Obviously the 10 and 3 numbers depend on the answer to the "how often" question. But this is the solution that comes to my mind when trying to control for getting stuck. If you're literally following the path the leader successfully took you can't really get stuck.

Not sure how intensive that would be on server communication. A client could create and store this list on its own relatively easy and only transmit it to the server during the interval you're currently using for client updates. Dunno, I'm a retard and know nothing about multiplayer server type stuff.
That can be done , it’s not really the issue , there is no move to location client side I can only apply force in a direction. I’ll play with it again next week and maybe post a video of what it looks like .
 

Blazin

Creative Title
<Nazi Janitors>
6,518
33,989
This weeks update:

V0.04A Highlights:
Added the Paladin Class - This class has gone through some changes over the month and why I delayed it. I originally intended to have a cleric class but I have decided that I need to address the solo functionality issue and am using this class to do that. My design intention is for them to fit well in a group but be less of a tank than a warrior, less of a healer than a Shaman, while doing moderate damage. Key differences will be they have the most liberal equipment restrictions being able to use two handed Warden weapons as well as warrior 1Handers with a shield so players can adapt to the situation they are using the character in. It's a class that should work well for two people wanting to play together as the Paladin can be the tank/Healer and then combo well with Warden/Rogue/Wizard.

Added a Defensive Target - I was hesitant on this feature, some believe myself included at times that it makes things too easy. In a game with a larger scope/team, like a full MMO I think I would argue against it but again the theme of this week is the reality of designing around the more likely outcomes as far as the people playing solo/duo/4man. Classes like the shaman play much smoother with this change in, and in a target based game reducing the need for rapid target changes is helpful on the development side to delivering a smooth experience.

This weeks Playable race is Trolls (Next week is Half elf and Dwarf hopefully)



Was able to play some 4 man for a few hours yesterday in the first dungeon and it was enjoyable, would love to ramp of the difficulty but it's also a level 8 dungeon and the game is just easier with a full team and I'm not going to bring it to the point of making the duo and solo experience suffer to improve it. I plan at higher levels to have content that is meant to challenge a full group but I don't think that is necessary so early on in the game.

Lots of Bug fixes and refinements added the first rez ability so coding for that was a little more involved, I have created zone lines even though they are needed from an architectural standpoint I want them to exist as a strategy option for players to work around rather than introduce tether type mechanics. Been a little issue getting NPC behavior set right when the player zones as they aren't actually zoning but I think I have it squashed finally.
 
  • 2Like
Reactions: 1 users

Hateyou

Not Great, Not Terrible
<Bronze Donator>
16,415
42,639
Defensive target is an awesome feature, one of my favorite things from Vanguard. Doing combos that buff or heal your defensive target made playing the Disciple and Blood Mage so much fun.
 
  • 2Like
Reactions: 1 users

Blazin

Creative Title
<Nazi Janitors>
6,518
33,989
Defensive target is an awesome feature, one of my favorite things from Vanguard. Doing combos that buff or heal your defensive target made playing the Disciple and Blood Mage so much fun.
Yeah there was no arguing that this change made the Shaman more fun to play and it's interesting if tanking as Paly timing your heals to use them as a taunt work around.

It makes development of abilities that have effects on your teammates/self and NPC a lot cleaner. Paly has a line of spells that is a pretty straightforward nuke your target , heal your def target that feels good in combat managing.
 

Tmac

Adventurer
<Gold Donor>
9,627
16,382
I don't care about the website as a media display at least not at this point. I just need a repository for people to download the game and for key validation.

As far as forum I know a guy with a nazi far right wing site that could probably help. Lightning Lord Rule Lightning Lord Rule

Yes I can use pathing that is server side movement control. It's probably what I'll end up doing even if it doesn't look great for clients.

People could download the client from your github. You could link it from the header in your forum or a top sticky thread.