PDA

View Full Version : PSO Remake



Glader
Nov 29, 2014, 02:12 AM
This post was out of date and needed to be edited.

Join the project Discord at http://discord.psobb2.com for more up-to-date information about the project!

Vampy
Nov 29, 2014, 07:19 AM
You should try being a bit more active here just to get people to know you and get people comfortable enough to jump on board. This is a nice project but how can we be sure this work will not go fruitless.

Glader
Nov 29, 2014, 01:01 PM
You should try being a bit more active here just to get people to know you and get people comfortable enough to jump on board. This is a nice project but how can we be sure this work will not go fruitless.

Yes indeed, that's understandable. I've seen many posts like this in the past for various different games across various different boards that generally propose grandiose ideas and attempt to start a development team to work on something. I've found that those people in general don't really have a polished skill/skillset they can actually contribute to the team. Because of this they fail to recruit or attract competent developers and eventually doom the project. I, while still acknowledging I'm not industry material, feel this is a different case.

Especially so that a previous PSO project, while going solo, made considerable progress. I'll ramble on in detail about some of the technicals about it; feel free to skip this part if you're not interested. It was at the point where it was possible to register multiple gameservers on something like an Amazon cloud instance and have region subserver associated with these gameservers providing a simulation for the game itself. Ahead of that sat the main entry point to the entire serverside, a proxy/master server, that facilitated secure logins and had preventative measures for bypassing this step. These requests were forwarded to a server application, which could reside technically anywhere, that I call the auth server which handled the blocking intensive operations such as bcrypt compares and database writes/reads. Players were then served a gameserver/ship list upon successful login and would select one which would aquire them a one time use 64bit token which they'd need to claim the session on the server that the proxy created. After selecting a ship they were redirected to the character creation/selection screen. Understandably PSO might not have characters locked to a ship, like they are in PSO2 it seems, but the goal was a general MMO serverside and having a single central database for characters for n many gameservers seemed like it'd scale poorly. The customization and creation was based on an open source framework called UMA. I've thought about writing a slimmer version to work with just PSO but I've have to work closely with an artist to work out how this would all come together. Anyway, after getting in there were serverside actors, such as NPCs, would were loaded upon nearing them. This is because a naive implementation of interest management existed, I'm currently exploring a more efficient technique that I don't believe has been done. However, this will not benefit a PSO-like game as much and so a more simplistic algorithm may be chosen. The serverside actors could be removed, moved or modified while the server was running and changes would be reflected on the client, sort of like a hotfix. I guess I should also mention other players, with their customized characters, could enter the game as well and be seen moving smoothish-ly. A simple deadreckoning algorithm was applied. The game also included a launcher, written as a windows forms lol, and a patcher with wyUpdate. I plan to redo a launcher in either windows forms again or Qt with a RakNet based patcher. RakNet is now opensource and I may rip out the patcher code and pinvoke/work with it. I don't really wanna work in C++ and Mono exists... so it may just be a cross-platform windows form. Anyway, enough technical stuff.

I am active on the Unity3D game development forums, specifically the Multiplayer forums, where I attempt to provide help to others about networking as best I can. I've also initiated an open source project to compete with paid networking libraries as an alternative.

If anyone has a feeling or reason specifically why they feel it may be fruitless, and are interesting in collaborating, we could always discuss it. I've been in similar situations myself where I'd joined in on a collaboration only to realize it was in fact fruitless. However, those projects were handled much differently and I'd not make similar mistakes.

Chrysheight
Nov 29, 2014, 02:23 PM
Okay, first off. Having worked on a project similar to this in the past. Don't. As much as people would want to see it, Sega can and probably will shut it down, even if nonprofit. Second, while you have a base, doing just an HD remake isn't anything special. While we may not be able to change models right now, hi res textures are available for psobb. So, wasting your time there.

What I'm asking is what will you do different? What will you bring to this project that makes it worth while? Where do your technical and design risks fall? How big a team do you expect to have? How will you host the game servers? Where would the money come from? Will you pay out of your own pocket or risk Cease and Desist order because profit on copyright work?

Sure, I'm nosy, but I don't want to look forward to something that has no hope what so ever. I want a reason to have faith, but that is kind of broken with me towards projects like this.

qoxolg
Nov 29, 2014, 02:59 PM
I think what most of these projects usually lack are a good plan and proper software design. Making a proper piece of software isn't easy and a game is quite the complex piece of software.

For my profession I work as a business analyst and basically write down the software requirements/change specs so are IT supplier can design, build and test it. I am responsible from start to finish and have to make the decisions on a functional level. I also know som stuff about making a functional design / technical design. I am however not gonna contribute with these skills, maybe some advice.


I might be able to help with art. I don't wanna make stuff like models and textures though. More something like concept art and such would be cool with me. You can check my work in my thread here, or in the DA link in my signature.

Glader
Nov 29, 2014, 03:45 PM
Okay, first off. Having worked on a project similar to this in the past. Don't. As much as people would want to see it, Sega can and probably will shut it down, even if nonprofit.

It's very likely that if it ever got to a deployment stage that Sega would file a cease and desist order yes. There is no way around the legal side there. Arguments could be made for exemption under the DMCA for reverse engineering but that's unlikely to be the end of it even if successful.

Being noticed by Sega would imply a relative success either way. The codebase of the project will be written in such a way to be reusable and applicable to general multiplayer games. Many art assets they would have been created could be applied in general too; Sega cannot claim infringement on things such as trees, rocks, doors and etc.



What I'm asking is what will you do different? What will you bring to this project that makes it worth while?

Firstly, I'm not a designer in the sense of a game designer. While I can and will design an efficient serverside for the game I don't see it beneficial to, at the moment, discuss what sort of different designs will be delivered. I can however talk about things I think would be in the realm of possibility.


I believe several of the technical hurdles that existed in 1999 during development no longer exist today. It's very possible that a richer and tighter knit community and game could be produced. The bandwidth and computation power in todays age makes issues they encountered trivial. What this may mean a complete removal of the lobby and block system. Basing the location in which players socialize within Pioneer2 itself.
The bandwidth constraint of playing with 4 actors and NPCs, honestly I doubt these were controlled entirely by the server in the original game, no longer exists. It's very reasonable to think more open versions of the original four zones could exist such that various hunter parties could be participating in the zone; yes I'm aware PSO2 has a feature like this but I'm pretty sure we can agree that it's implemented in such a way that shattered immersion when players pop in and out of your game play seemingly phasing into your "universe" so to speak.
I think with hindsight a look at combat elements, what works and feels good and what doesn't could be made. Is spamming Ra-Foie fun? Maybe, maybe not. These are things I don't think discussing at this point would be beneficial though.


No, I don't think this could ever be World of Phantasy Star craft. That's a silly idea that is outside the scope of even large projects. I'm aware PSOBB has over the years had some modifications. Post-processing effects and increased texture quality, allowed only to the extent of which the underlying engine can handle, do not bring a game into the 21st century. A lot of that code, specifically the networking which was highly exploitable due to its reliance on the client, is over a decade dated.



Where do your technical and design risks fall?


I'm not familiar with accessing risk in design. However, a vast wealth of information since the inception of Phantasy Star Online has published academically related to MMOs/MOGs. Entire surveys of past and present architectures have been written with over a decade's worth of trial and error experience happening in the industry since PSO. I do not see much risk, I see less design risk than for the original PSO which it itself is an innovator; especially so considering that PSO exists and that the design of a remake of a game generally depends at least slightly upon its targeted game.



How big a team do you expect to have?


I have, can and do work alright solo. Generally it's the artistic things that set me back. I do not expect some general size. It's an ambitious project but this is not a company and there are no deadlines. I think in general it will be a fun experience that will provide a vast amount of knowledge overall. I've seen and contributed, thankfully I eventually learned to keep my work in a private repo, to a handful of online projects with large numbers of 'contributors'. One such being a project called AoA. This opened my eyes to the fact that more is not better, what a nightmare. I do not prefer numbers over friendly, passionate and competent developers. There is no desperation, people who are all of the above may be few and far between but a project is better for it with mostly.



How will you host the game servers? Where would the money come from? Will you pay out of your own pocket or risk Cease and Desist order because profit on copyright work?


This is a strictly non-profit work. Depending on how others feel I/we will likely open source it to. It will, essentially, have community ownership. Hosting is a moot topic for a serverside that isn't written, unless you consider the last one I've written. Hosting for developer testing only can be taken care of. As for the C and D, we can only hope that Sega sees the prospect of web and mobile gaming with the upcoming switch to plugin-less Unity play with WebGL. That there is grandiose though =).



I want a reason to have faith, but that is kind of broken with me towards projects like this.

Hmmm, well all I can say is it will be worked on. Whether I'm solo or not. If I'm solo you can expect it to be functional. If I'm with other developers you can expect it will be considerably functional and better looking. Artists are not given enough due credit for the contribution they make to a game I think. Players and people tend to judge a game graphically too, but this is beside the point.


I think what most of these projects usually lack are a good plan and proper software design. Making a proper piece of software isn't easy and a game is quite the complex piece of software.

For my profession I work as a business analyst and basically write down the software requirements/change specs so are IT supplier can design, build and test it. I am responsible from start to finish and have to make the decisions on a functional level. I also know som stuff about making a functional design / technical design.

I sadly do not have experience in this area. I too agree a game, especially anything involving multiplayer, tends to push complexity to the extreme. I find it quite interesting, I think a quote I read in a paper the other day summed it up nicely; (paraphrased) MMO/MOG/DVE's are currently pushing all known boundaries of computer science.



I might be able to help with art. I don't wanna make stuff like models and textures though. More something like concept art and such would be cool with me. You can check my work in my thread here, or in the DA link in my signature.

That's fine, I will not force someone to do something they aren't interested in doing. At the moment there isn't a mad rush to recruit people either. I feel planting this seed, so to speak, and cracking down with some hardwork after this week (finals week) will be best. My availability to program is very low due to this so gathering others who are interested and essentially telling them I'm busy would not be beneficial.

I cannot pretend to be competent in the realm of art. From what limited knowledge I have concept are can be essential in the overall modeling process, although much concept technically exists as PSO is already a well seasoned project itself. If you're interested we can speak eventually. There is no major rush at the moment though so when you have time, if you're interested in something, and I have time we could chat.

I should also state this should be a fun experience and endavour. I feel I have realistic expectations and am willing to hear arguments in favor of them being surreal too. We're not EA, we don't need to ship this title in one year. I think this could be a fun collaboration if treated the right way.

Edit:


I think what most of these projects usually lack are a good plan and proper software design.

When I write I try my best to write for resuability and decoupling. In the grand scheme it may or may not be fantastically designed but from the small selection I've encounted in a couple of other collabs I've worked in online I can say that it is at least better than that. We're talking code such as god classes and fully public classes and no consideration for scaling or future revisions. Oh the nightmare lol.

Chrysheight
Nov 29, 2014, 04:00 PM
You never answered my thing on cost. You said it would be nonprofit. Obviously it would need hosting for it. How would that work? Nothing is done for free.

Glader
Nov 29, 2014, 04:05 PM
You never answered my thing on cost. You said it would be nonprofit. Obviously it would need hosting for it. How would that work? Nothing is done for free.

You had a lot of questions that I tried to provide detailed answers too. I believe hosting to be a non-issue at this early stage. Having to worry about hosting, especially if what is cheap is not decent enough to sustain the playerbase, is a fantastic issue to have in the future. At the moment the only thing that matters is hosting in general for people developing and that I can reasonably provide.

If you must wring an answer from me, even though hosting would be difficult to legally do but let's suppose it was somehow legal, I would host probably from digital ocean. In fact, it's very likely I'll have about 100 bucks credit on there thanks to a Github program going on. The sort of scale this project will encounter does not warrant, at the moment, consideration for hosting. We don't need to procure a contract with a datacenter like AT&T and Blizzard. It's something that can be resolved in the future. In general I like the idea of Amazon's elasticity. Load balanacing for general mmos may benefit for the ability to dynamically launch an instance of register more instance servers or temporary auth servers, hashing is expensive >.<, is cool. But it's not really an issue at the moment.

Edit: I don't pick digital ocean just because I may have 100 dollars credit. It was recommended by another developer who I had the chance to speak to. He works on a project called Lifeless and it is a Unity3D multiplayer game. He recommended it for general testing deployment.

Chrysheight
Nov 29, 2014, 04:55 PM
There is no cheap hosting for dedicated servers. That's the thing.

Glader
Nov 29, 2014, 05:03 PM
There is no cheap hosting for dedicated servers. That's the thing.

Dedicated hosting is not a necessity during development which is not a short process, I have a machine which I could run 24/7 to host these server applications anyway. It does noting at the moment anyway. Even testing could be done on cloud-like services in future phases. I just do not see hosting as an issue at the moment. Maybe it's a problem but not one that warrants an immediate solution right now. We;re not talking millions of dollars anyway, we're talking like 30 bucks a month or an initial several thousand dollar purchase. It's nearly the last thing for a project like this to worry about and in the grand scheme of things, for a hobby/community/fan made project it's a small amount to pay. I had a hobby before that has easily soaked away that much. A physical machine purchase I wouldn't even consider a cost. I need one anyway with or without this project; it's just not an issue man I'm sorry.

Chrysheight
Nov 29, 2014, 09:40 PM
If you say so, but you'll find it more costly later on. But to each their own.

Glader
Nov 29, 2014, 10:04 PM
If you say so, but you'll find it more costly later on. But to each their own.

That may be but at the moment it is a non-issue. High quality hosting is costly. Low quality temporary hosting is not. A project/application of this nature does not need a fully functioning platform for deployment before development begins. A project of this scope may take longer than decisions of that nature would remain fresh too; as to say the data used to make a decision like that may drastically change by the time of its completion.

Time spent developing alone will far outweigh any hosting issue the project would run into. I think making a decision or coming to a solution for hosting would just be pseudo-progress for a project like this akin to how some other groups function (Ex. We need a name for our project, we need a website for our project) when the decision or solution doesn't actually contribute to the development. If I somehow had an answer and solution to your question, which I'm arguing isn't a major deal in my previous posts, development would not change course and the project would be not where near closer to being in the hands of players.

strikerhunter
Nov 29, 2014, 10:14 PM
I like the fact that you are picking up the project of remaking PSO even with amount of risk topping over the reward, not to mention the cost amount too.

What worries me most was when you responded to one of Saya's post about possible removal of the game with this:


Being noticed by Sega would imply a relative success either way.
True that you may be noticed by Sega but it will not be in a good way, or in worse case scenario a rememberable one.

Now, my question is "Would this be a full 100% remake or not?" (do not include change in visuals as a change)

Glader
Nov 29, 2014, 10:36 PM
I like the fact that you are picking up the project of remaking PSO even with amount of risk topping over the reward, not to mention the cost amount too.

What worries me most was when you responded to one of Saya's post about possible removal of the game with this:

True that you may be noticed by Sega but it will not be in a good way, or in worse case scenario a rememberable one.

Now, my question is "Would this be a full 100% remake or not?" (do not include change in visuals as a change)

Well I think the cost of a project like this is being hyped up a bit too much. Only successful and popular projects become costly to host. There is really only a time cost. I will be transparent as to why I'm rather willing to produce this; One: in general I study my field by practice and honestly there is no more entertaining way to work on a skill set, such as programming and networking, than with developing a game I believe. Two: I'm and have been passionate about PSO for a long time now. It's been a part of my life since about 2002. That's about over half my life so I think I owe it and the community that has been there a tribute such as this. Three: Any reasonably functional project of this scope can be valuable to reference in the future for a wide ranging variety of reasons and will be especially easy for anyone contributing to do since I'd like to push for open-source.

As for being noticed, it is a drawback that I put no smoke and mirrors around yes. Unlike other fan projects you may see around the internet that infringe on someone's IP I'm realistic to that fact. A best case scenario is, by some miracle, seeing a project such as this as beneficial as described earlier with the expansion of webased and mobile games. This would be odd though if those who end up wanting to collaborate, if anyone does at least, do agree to go open-source under a BSD/MIT license. A lot of legal mumbo jumbo would have to occur even if by some grace Sega took a non-negative interest. When I get some time I'll send out some emails that will likely be futile to inquire on what steps I could take, if any, to produce a fan project such as this within a legal domain but there are few hopes. This is a very complicated issue for which I have no fantastic answer for. Several private servers operate within an infringing domain and I believe I know under what protections they operate, really though it's up in the air on that.

I think the answer to your remake question is tough as if someone ends up collaborating with me it would be a group decision. I'm more on the side of the fence that thinks that if developers were afforded processing and computing power back in the day certain things would have been designed differently. A one-to-one remake wouldn't really be beneficial. I think many online aspects and features were limited to the constraints at the time. Trading, grouping, the lobby and block system, the party size limit and the general scale of the world were all limited by the factors of technology at the time. I think a good balance of innovation where it needed to be and leaving things that make PSO obviously the same would be important.

As for the networking you can bet your bottom and top dollar that a more authoritative approach for the serverside will be taken. Bless the developers who originally created this technology beast ahead of its time but I feel they failed in assuring its security. I do not blame them much now a days, unimaginable networking hurdles likely existed in the year 1999 that I cannot even fathom today. It was likely the only way it could have been.

So, overall, I think there is considerable room to handle things differently which when the project gets there will be addressed. A project like this has the benefit of hindsight that the original developers did not. All and all a project such as this is in a good position to take advantage of this and produce a higher quality product, hopefully. It will remain to be seen how it all pans out but cautious optimism never hurts.

Chrysheight
Nov 29, 2014, 11:50 PM
As far as I'm concerned, if you make good progress, noticible stuff, I'm happy for you and will support it. I just can't throw my support behind something like this right now. Not trying to be stuck up or elitist in any way, shape, form, or fashion. Just I've been under the same scrutiny that I put you under. If things get done, so on so forth, I have no problem throwing support your way. Not to say I'm not hoping you get far, because I hope you do.

I will say this to anyone who would think this is a waste of time though, it's really not. You would think it is from a non-developer standpoint, but from a standpoint that Glader and I both would have as people who do work on stuff like this. Anything that is created between now and either C&D or completion is a learning experience we will walk away from with better knowledge and a better chance at things in the future.

The only reason I was being difficult is because I have done a project, not the same one but one extremely similar in premise, like this before. It ended terribly, even with most of the work done for us, even borrowing someone's IP (Intellectual Property for those who haven't figured that out.), we still failed because of stuff we just couldn't control. Though admittedly, that was probably 6-8 years back, it was the failed dream of teenagers. I just don't want to have hopes for another project that I'd really like to see take off and it not go anywhere.

And yes, I really would like to see this take off.

P.S. I do level design in my spare time. Shocking twist, I know. No, I'm not showing work because I don't like to push crap and my portfolio hasn't been updated in some time.

strikerhunter
Nov 30, 2014, 12:38 AM
Well I think the cost of a project like this is being hyped up a bit too much. Only successful and popular projects become costly to host. There is really only a time cost. I will be transparent as to why I'm rather willing to produce this; One: in general I study my field by practice and honestly there is no more entertaining way to work on a skill set, such as programming and networking, than with developing a game I believe. Two: I'm and have been passionate about PSO for a long time now. It's been a part of my life since about 2002. That's about over half my life so I think I owe it and the community that has been there a tribute such as this. Three: Any reasonably functional project of this scope can be valuable to reference in the future for a wide ranging variety of reasons and will be especially easy for anyone contributing to do since I'd like to push for open-source.

As for being noticed, it is a drawback that I put no smoke and mirrors around yes. Unlike other fan projects you may see around the internet that infringe on someone's IP I'm realistic to that fact. A best case scenario is, by some miracle, seeing a project such as this as beneficial as described earlier with the expansion of webased and mobile games. This would be odd though if those who end up wanting to collaborate, if anyone does at least, do agree to go open-source under a BSD/MIT license. A lot of legal mumbo jumbo would have to occur even if by some grace Sega took a non-negative interest. When I get some time I'll send out some emails that will likely be futile to inquire on what steps I could take, if any, to produce a fan project such as this within a legal domain but there are few hopes. This is a very complicated issue for which I have no fantastic answer for. Several private servers operate within an infringing domain and I believe I know under what protections they operate, really though it's up in the air on that.

I think the answer to your remake question is tough as if someone ends up collaborating with me it would be a group decision. I'm more on the side of the fence that thinks that if developers were afforded processing and computing power back in the day certain things would have been designed differently. A one-to-one remake wouldn't really be beneficial. I think many online aspects and features were limited to the constraints at the time. Trading, grouping, the lobby and block system, the party size limit and the general scale of the world were all limited by the factors of technology at the time. I think a good balance of innovation where it needed to be and leaving things that make PSO obviously the same would be important.

As for the networking you can bet your bottom and top dollar that a more authoritative approach for the serverside will be taken. Bless the developers who originally created this technology beast ahead of its time but I feel they failed in assuring its security. I do not blame them much now a days, unimaginable networking hurdles likely existed in the year 1999 that I cannot even fathom today. It was likely the only way it could have been.

So, overall, I think there is considerable room to handle things differently which when the project gets there will be addressed. A project like this has the benefit of hindsight that the original developers did not. All and all a project such as this is in a good position to take advantage of this and produce a higher quality product, hopefully. It will remain to be seen how it all pans out but cautious optimism never hurts.

Sounds promising and very ambitious. While I won't give physical support (because I hate accomplishing something just to have it thrown away or almost) I do fully support with the fact that you are this.

Glader
Nov 30, 2014, 12:44 AM
I completely understand, I myself would feel the same way. We're both realists and see a post like this all too often I'd imagine. Possible by someone who proposes some grand idea and seeks others to make it happen with no regard for his own contribution or anything else. In fact I'll be honest I've seen it happen with PSO before. As for not showing much that I too understand. Maybe it'd have been best to show some the functionality of the previous version I'd written, it's just not too pretty. It's just functional. I feel like that gets a similar if not less enthusiastic response.

In a couple of weeks when the semester ends I'll crunch down in getting some features pushed out and presentable and hopefully people can have a bit more faith then. Until then I don't expect much else, was just pretty satisfied with a titlescreen I did the other day and since I've some free time coming up thought I'd share it and hopefully restart the project. If I had done no previous work on a PSO project I'd certainty not have made this post.

A titlescreen is laughable in the overall scheme of the project but it was novel to me as I never delved into anything art related and it was a fun experience that acquainted me with Unity's shuriken system, albeit not programmatically which would have been more useful, but still none the less. It was also a great way to finally touch on the new built in UI for Unity3d in 4.6, although full use was obviously not been made. A major reason why a project like this could be open source. Because, let's be honest, no sane person wants to deal with builtin GUI pre 4.6.

Hopefully I'll have more to present soon. Maybe it was too soon to post this, who knows. Stay tuned though

Edit:


Sounds promising and very ambitious. While I won't give physical support (because I hate accomplishing something just to have it thrown away or almost) I do fully support with the fact that you are this.

Well, I hope not to let you or anyone down. It should be fun.

Chrysheight
Nov 30, 2014, 01:18 AM
If you can make a title screen, some cube movement across a couple computers, may like some functional stuff that you'd see in PSO. I'll dust off the model makers and start trying to fill in some art gaps as time permits. But I'd like to see a functioning base first. I'm not asking for anything right away. I know how busy people can be, work two jobs myself. Just whenever something I feel is concrete enough, I will lend effort. I make better levels than environmental art, but hell, good time to expand my horizon.

Glader
Nov 30, 2014, 01:34 AM
If you can make a title screen, some cube movement across a couple computers, may like some functional stuff that you'd see in PSO. I'll dust off the model makers and start trying to fill in some art gaps as time permits. But I'd like to see a functioning base first. I'm not asking for anything right away. I know how busy people can be, work two jobs myself. Just whenever something I feel is concrete enough, I will lend effort. I make better levels than environmental art, but hell, good time to expand my horizon.

Well, I can do one better than cubes lol. The last PSO project took advantage of the UMA framework. Theoritically one could map races with UMA and have fully dynamic character customization. The project only utilized the base models since I am in no way a modeler. But the programming was in place to support race swaps in the future, UMA is complicated though so I won't get into it atm. It's tough to recall but the movement was handled decently by the gameserver, broadcasting it from client to gameserver then to region server and to other interested clients (only clients nearby recieved the updates). I felt rather than enforce authoritative movement sanity checks on a simulating instance/region server would be better and more efficient.

Edit: But it did have runtime character customization. I have an old proof of concept application laying around I could link, I tried to convince a team I was on to switch to UMA. Probably was too complicated for them.

So I can promise you more functionality than cubes movements =P. As for a roadmap of the project, like I said before, some GladNet features (a net lib I've been working on) need to be finished up and then from there I think the good old proxy server auth server pair needs to be written up again with GladNet. That shouldn't take took long, I've done that far too many times. After that I'll re-implement some session logic from the last project, that'd be a pain to completely rewrite, for game servers. And at that point I'd be back at character customization, might roll my own slim version of UMA if I can figure out how to manipulate models at runtime. If not I'll go with UMA and hopefully a compotent modeler can work with me to produce UMA compatible races and slots and such for UMA based on PSO.

The features GladNet needs that are in limbo atm is an encryption API for registering encryption methods, that's half down atm working on diffiehellman exchange and the basic AES from .Net as a base default for people to use, and then I also promised an API for server launcher to server communication for managing servers at runtime through the launcher. I'll postpone working on a patching system I guess since finishing that would not seem like as much progress.

That should hopefully only be a week or less after finals are over. It'll be abit more than cubes I promise ^,^

Chrysheight
Nov 30, 2014, 08:44 AM
I'll look forward to it.

qoxolg
Nov 30, 2014, 02:48 PM
I am also looking forward to it. If I'd participate, I'd be in for the fun mostly and I don't care if the art I make will ever get any use, because I simply enjoy making art in the first place.

Actually I've been running around with the idea of making a mock up Phantasy Star alike game with a bunch of fans, more like making an own installment in the series, rather then recreating an existing game. The problem of that imo is that it most probably will never be 'better' then the original. I would also lower the chance of SEGA making it a legal issue, if you don't copy any copyrighted material. In the worst case you'd have the change a bunch of names.

Glader
Nov 30, 2014, 05:24 PM
I am also looking forward to it. If I'd participate, I'd be in for the fun mostly...

... chance of SEGA making it a legal issue, if you don't copy any copyrighted material...

Glad to hear it, while I study for finals and finish my final coursework for the semester I have been hypothesizing what could be done legally to prevent a project of this nature from being taken down. If you consider the serverside portion of the project it's easy to see that that source, depending on the implementation of instance servers, may be non-infringing. You can't exactly patent basic instance pooling systems and basic gameserver to instance and region architectures. If approached right the serverside should be non-infringing.

The client is a different matter. Would a game such as Phantasy Star Online with say World of Warcraft art-like models or other anime models such as a cheerier cartoony artstyle somehow infringe on PSO? I think not, the model of PSO has been redone various times since PSO. Games such as Diablo, Vindictus and such draw many parallels. I don't think mechanics in general in PSO are unique and could be infringed on. Especially so if they were improved upon.

This leads to the art issue. I believe the source distribution of a client, if done properly and with forethought of avoiding this issue, could be done. The main problem is art assets that will surely infringe on the Phantasy Star Online IP. Distribution of the client source, or the client, would be illegal for sure. Clever distribution of these assets would be needed to avoid tainting the distribution of the client and server with the infringing pieces.

Which does suck for artists yes but as with anything, code or otherwise, it could never hurt to have in the portfolio. Distribution of these assets in general may be legal. Painting a picture or creating a 3D model is not illegal afaik even if it's reproduction, though I don't really know art.

I think, in this convoluted way, the project if finished and in a form ready for distribution could be distributed legally and with a serverside hosted legally as well, which is the most important aspect because that is a central point of failure for the project as a whole.

Since I'll have some time before I can begin working feverishly on the project I will mail out some letters to Sega corporate requesting a non-profit license of the original PSO IP for use in a tribute. Unlikely they'd do so as it has no benefit for them but I can try.

Chrysheight
Nov 30, 2014, 05:53 PM
Well, there is this. It's on the Fair use of Copyrighted Materials.

http://copyright.lib.utexas.edu/copypol2.html

As with that, for artists, as long as we don't blatantly rip stuff from the game we should be fine. I'd say best method is hand creation. That's just me though.

Glader
Nov 30, 2014, 06:13 PM
Well, there is this. It's on the Fair use of Copyrighted Materials.

http://copyright.lib.utexas.edu/copypol2.html

As with that, for artists, as long as we don't blatantly rip stuff from the game we should be fine. I'd say best method is hand creation. That's just me though.

Yes, I would leave this issue to artists assuming we or any artist do collaborate. There is only one final exam that really matters so I may be able to get back to work sooner than I expected.

Glader
Dec 1, 2014, 09:04 PM
Warning: Long and rather complex post about Combat implementation. If this post was too complex to understand feel free to quote pieces and ask for clarification and I'll do so. Otherwise, what you can take away from this is that I believe I have a solution to handling a good majority of combat defined within PSO.

Hi again guys, still waiting for the day I can begin coding again, this Thursday, and boy do I have a lot to do. I really hope I can finish up some features of GladNet so I can move straight away into working on the PSO project.

I've had a tad bit of time to ponder how PSO combat could be emulated within Unity3D. My mind tends to wander when it comes to things I'm disinterested in, such as discrete math exams lol, so I found myself thinking about this for about an hour today and would like to share how I'd likely go about implementing PSO-like combat; assuming a one-to-one replica of combat is desired.

First and foremost the question is "Do we need a fully fledged serverside Physx 3.x simulation for the game logic". When it comes to developing a massive serverside it's imperative that scalability is taken into consideration. A pure C# application, having only what computation is minimally required, would generally be most efficient to use. Something I tend to see newbies do when it comes to writing servers for Unity3D games is that their entire severside generally consists of a single application, a Unity3D instance. This is horrible and could never hope to sustain any reasonable load of players. However, it makes a lot of sense for a serverside to potentially interop/Interact with a Unity3D instance.

The reasons for this are:


You're provided full Physx 3.x control; you don't have to implement some shoddy library to mock it and end up doing so poorly.
Developing the serverside will draw parallels to clientside development if both done within Unity3D.
Various key features already exist within Unity3D that would need to be emulated in a pure C# server anyway.


The reasons not for this:


A full Physx simulation beyond what is required for your game logic could be expensive.
Unity3D most definately will compute things internally, of which you've no control over, that will carry a computation cost.
The overhead of a Unity3D instance is much higher in but CPU usage and Ram usage than a barebones simulation in pure C# would be.


Now, this is not to say I'm arguing for a SINGLE Unity3D instance as the serverside, that would again be a HORRIBLE idea.

I'm just debating whether the key sections of the serverside, namely what would be known as a zone/region/instance server, should be handle within a Unity3D instance acting as a subserver to one of the various Gameservers.

Going forward, to reduce development time, bugs, sync issues between any mocking physics simulations and the Physx 3.x wrapper in UT5 and project complexity I'm going to assume that some pieces of the serverside can and will be handled within Unity3D. Very likely just a headless server instance.

So, at the moment melee combat and non-projectile spells seems like they'd be simple to implement. I'll outline the way in which I think combat with these mechanics could be achieved.

Firstly, swords, sabers and other melee weapons, regardless of whether they cleave or not, function in what I believe to be a similar fashion. Their contact with the NPC is determined based on distance and facing.

Suppose we have a player and a Booma, this will be done in 2D lol sorry.
[SPOILER-BOX]http://i.imgur.com/9S57YRp.png[/SPOILER-BOX]

At the moment, no facing is indicated. However, let us suppose he is wielding a saber. A rather short-range melee based weapon and that he is facing in the general direction of the Booma.

[SPOILER-BOX]http://i.imgur.com/rkP6qEt.png[/SPOILER-BOX]

It is agreeable that the player is facing in the general direction of the Booma. This information would be part of position update requests sent from the client, to the gameserver which then forwards them to the proper zone/region/instance server.

Now, the question is if he attacks how should we determine, authoritatively, if his hit lands on the Booma?

I propose a solution below that handles most melee and non-projectile based spells combat, it will get very technical:

Given a point Player.Pos, Player.Pos changes approximately 10 times a second. This is a result of a position change request from the client, timestamped, sent unreliably UDP sequenced. That means Player.Pos is reasonably up to date at all times assuming optimal connection.

Given a point Booma.Pos, Booma.Pos changes approximately n times a second where n would be determined by the NPC/AI handler/controller. These instructions produced may be sent and then deterministically calculated, in best case scenario, to the client. Otherwise a naive position broadcast would have to occur which would provide poor preformance. Anyway, so the Booma and the Player both have a position.

From that point an equipped object or casted spell has a defined range. To determine if the player can really hit the Booma, as it has requested, firstly determining if the global cooldown for the action has finished is important. This is akin to the unique delay weapons experience. Let's suppose a Saber has a distance of 5 units. We can RayCast from the player to the Booma. If Physx indicates that the raycast collided with the collider of the Booma then it's true that the player is within distance. This is essentially a highlevel abstracted comparision of whether a given displacement between two objects with position is sufficiently small enough.

This begs the question of facing though. If the player is facing the Booma like this:

[SPOILER-BOX]http://i.imgur.com/Z8ItFj4.png[/SPOILER-BOX]

Then the proximity check will pass however you don't want the player to be able to attack a Booma behind him. At least not with a saber.

So, the proposition to handle this is to define a maximum angle allowed between the player's facing direction and the raycast.

(Facing is black; Raycast is red)
[SPOILER-BOX]http://i.imgur.com/dvRgbKd.png[/SPOILER-BOX]

Angle a being the angle between the facing and the raycast, or direction the Booma is relative to the player. If the angle calculated is within the threshold defined for the melee weapon then we can finally say the Booma has been hit.

Hurray, a semi-functional implementation of a non-projectile instant attack oriented combat system. But wait, this simulation and computation makes a rash assumption and that assumption is that we're actually not experiencing any latency between the request to attack, the position of the Booma perceived on the client and the new position the Booma may have upon the arrival of the request.

Yikes, this adds a lot of complexity to the problem which can only be addressed, I think, by essentially rewinding Physics every request to attack and, through the use of timestamps and approximations based on latency, verifying that the client's request from the past was valid and thus should be applied. Certain aspects of PSO such as the temporary shutter of an NPC when it is hit astromnomically increases complexity of that issue, it's tough to explain but it would very likely be some of the most complex issues a project such as this could face code wise.

I have potential solutions for this, and so much more information about combat mechanics and their actual development implementation, but this post is already long enough.

SStrikerR
Dec 1, 2014, 09:40 PM
Despite originally entering college as a CS major, I have no skills to contribute to this whatsoever. However, I do offer my support and wish you the best. Despite me having no knowledge of the vast majority of what you're saying, this is really interesting to me. I'll be sure to check in every so often. Good luck.

Stealthcmc1974
Dec 1, 2014, 09:45 PM
Interesting ideas you have. And thus you already having issues to face when coding. Wish I knew anything about coding aside from my uber basic C++ skills from my single college course, because I'd love to help out with this otherwise.

I do have a few questions myself, namely from a disucssion I was having with a few other people on the PSO 15th anniversary thread.

How faithful is this remake supposed to be? I love it PSO just as much as the other players on here who got to enjoy this game in it's heyday, but if I wanted to go back and play it to experience the same mechanics, I can easily do that on the Ultima server. I'm not just talking aesthetic design, but gameplay as well. For example, will any improvements/changes be made to the combat system or will it remain mostly unchanged? My main issue with the original (as I said before) was the slow pacing of the combat and the poor camera control. I'm basically wondering if the way characters move and view the environment will remain the same, or be updated according to more modern-day standards.

Also, I may as well ask about classes. Do you plan on keeping the 12 classes, or adding more to them? (EX: HUmarl, RAnewearl). There's no reason for these classes not to exist, but I wonder if it would if there would be any issues implementing such classes as far as game balance goes.

Lastly: we've all seen seen various updates and changes to the Phantasy Star gameplay formula over the years. Are there any elements you are considering to put in/alter to this remake?

When it comes down to it, I don't know if a straight up-remake would cut it. I kind of hope this project ends up being more than that, but don't let me be the only voice. Plenty of other people, many more I'm sure more qualified than me, have their own ideas and opinions on how this project should develop. I wish you the best of luck in this endeavor. I won't keep my hopes up, but I'll keep an eye on this project anyhow.

Glader
Dec 1, 2014, 10:20 PM
Despite originally entering college as a CS major, I have no skills to contribute to this whatsoever. However, I do offer my support and wish you the best. Despite me having no knowledge of the vast majority of what you're saying, this is really interesting to me. I'll be sure to check in every so often. Good luck.

Well, if you find game development an interesting topic you can always study it independently. Nothing I've mentioned I've learned at my University. If I knew only what they taught me I'd still be writing console applications that take in keystrokes and save things to a file, very boring and pointless stuff.

And it is complicated, what I described above is a broken down version of PSO melee combat with the curtain pulled back. While not the most complicated topic it is also not the easiest. Especially so with the part at the end about rewinding physics, which will be difficult. That is essentially R&D from Quake in the past which some credit going to John Carmack. I've tried to apply those principles before but up until now I don't think I've been competent enough to do so. Hopefully that will change now =)



Interesting ideas you have. And thus you already having issues to face when coding. Wish I knew anything about coding aside from my uber basic C++ skills from my single college course, because I'd love to help out with this otherwise.

I too wish anyone who is passionate could contribute. Sadly a project such as this is an ode to complexity. An undertaking a team of developers in '98/99 took on and probably by the skin of their teeth pulled it off. Thankfully tools now adays help developers be more productive and such. It's more reasonable to pull off now. I can only give the same advice as above; you can study things independently from school. In fact, school will never teach you enough to do interesting things like this.



How faithful is this remake supposed to be?

I intend for the remake to be faithful to the original to the extent that is sane. Producing exploitable gameplay is obviously not in the scope of what I consider being faithful. My thoughts on this can be read somewhere in the many lines I've posted since the thread's start.



I love it PSO just as much as the other players on here who got to enjoy this game in it's heyday, but if I wanted to go back and play it to experience the same mechanics, I can easily do that on the Ultima server.

Private servers such as Ultima and others are essentially projects that have had the luxury of being worked on since 2002. When the original DC emulation and PC emulation began, far before PSOBB. Much work has gone in reverse engineering the serverside just to provide you with the experience. It's a high bar to set but what Ultima lacks is flexibility. They have no client source access and are thus only able to make extremely limited changes to the functionality of PSO as a whole since so much depends on the client itself.



I'm not just talking aesthetic design, but gameplay as well. For example, will any improvements/changes be made to the combat system or will it remain mostly unchanged? My main issue with the original (as I said before) was the slow pacing of the combat and the poor camera control. I'm basically wondering if the way characters move and view the environment will remain the same, or be updated according to more modern-day standards.

I'm personally exploring fresh new ideas, in the PSO spirit, that would be reasonably implementable. I could share them but there is no promise they'd ever be implemented so blabbering about ideas like that doesn't bring the bread home I think. I believe a more indepth support role could be explored for combat. PSO came out in an age before the holy trinity, in MMORPG gaming, was established. Once the project is mature enough it may be possible to produce content that requires a set group of roles to complete, maybe akin to a dungeon or raid, but that is a very complicated goal. I can not promise something like that is achievable and would depend very much on the size of the team once the project starts to take off.

Player and camera control for PSOBB was as poor as it was due to the fact that a majority of the codebase from the original DC, PC and GC versions was recycled. I see no reason other than nostalgia or possibly unique experience to provide the same control set and camera. Of course, things are always based on fun and feel so only time will tell what actually feels like PSO. It's very possible PSO wouldn't feel like PSO without these. I do intent to provide a more functional controller and camera. That's not too difficult.

Combat itself deserves some attention. Tech spam, monster's incredibly slow and seemingly stupid actions can be addressed. This would have to be addressed much later from now. Surely some trial and error will happen and, due to the nature of development in Unity, it will be reasonable to provide tests with people in the community to see how they like the feel of any changes.



Also, I may as well ask about classes. Do you plan on keeping the 12 classes, or adding more to them? (EX: HUmarl, RAnewearl). There's no reason for these classes not to exist, but I wonder if it would if there would be any issues implementing such classes as far as game balance goes.

My personal opinion is that roles should not be race-class combo locked. I never liked that but this may be a non-popular opinion. Addressing balance is not something that can be spoken about without the existence of the actual game itself, aside from PSOBB. Surely no developer wants to encourage or see every player playing a FOmar or something because it's the best. Who knows though.

As I said before a think a support role could be expanded upon. Giving value to playing with others more. Considerably reducing the ability for classes to solo would entice more party play and with more diverse roles there would be a much larger gap between players who play well as opposed to hose who do not. But again, the ideas I've bounced off people may or may not be implemented. I have thought about many things but now isn't the time to share those.



Lastly: we've all seen seen various updates and changes to the Phantasy Star gameplay formula over the years. Are there any elements you are considering to put in/alter to this remake?

You'll find in this thread I talk about reworking everything I believe to have been a result of technical limitations. I won't go into it, because you can find it, but at the least that will be considered. There are many things I'd consider but it is all dependent on development team size. If somehow 20 competent Unity3D developers with fair knowledge on networking and multiplayer games popped out of the wood work and offered to collaberate I could promise a much different feature set for sure. For example, in that scenario it'd be reasonable to see larger scale non-PSO features happening. Such as large-scale instance based raids that, unlike PSO2, don't seem like a face smash against the loot pinata. Or a fully fledged and balanced PvP system akin to World of Warcraft. But these are unrealistic if you consider that, at least at the moment, it is just me. I can do these things yes, well maybe... but it would add months or years of development time to produce in a polished state. So, until a team size is established I cannot speak to what sort of modernized elements you see in MOG/MMO/DVE's would be possible for this project.



When it comes down to it, I don't know if a straight up-remake would cut it. I kind of hope this project ends up being more than that, but don't let me be the only voice. Plenty of other people, many more I'm sure more qualified than me, have their own ideas and opinions on how this project should develop. I wish you the best of luck in this endeavor. I won't keep my hopes up, but I'll keep an eye on this project anyhow.


This is definitely not just a remake in the sense of a one-to-one remake. I'd consider the goal a remastering and improvement (hopefully). Hope to see you around the thread =)

Edit: I should note one area that will 100% be explored is the idea of a competitive single life server. Most often refereed to as a hardcore on some games. I think this could breathe some fresh air into the game play for sure. A competitive ladder may attract players. It's not overally complex to implement either which is neat. If I, or the team, actually finish the remaking of the original game it would be trivial to provide this feature.

Stealthcmc1974
Dec 1, 2014, 10:47 PM
This was defintely more of an answer than I was looking for, especially these bits:


I'm personally exploring fresh new ideas, in the PSO spirit, that would be reasonably implementable. I could share them but there is no promise they'd ever be implemented so blabbering about ideas like that doesn't bring the bread home I think. I believe a more indepth support role could be explored for combat. PSO came out in an age before the holy trinity, in MMORPG gaming, was established. Once the project is mature enough it may be possible to produce content that requires a set group of roles to complete, maybe akin to a dungeon or raid, but that is a very complicated goal. I can not promise something like that is achievable and would depend very much on the size of the team once the project starts to take off.

Player and camera control for PSOBB was as poor as it was due to the fact that a majority of the codebase from the original DC, PC and GC versions was recycled. I see no reason other than nostalgia or possibly unique experience to provide the same control set and camera. Of course, things are always based on fun and feel so only time will tell what actually feels like PSO. It's very possible PSO wouldn't feel like PSO without these. I do intent to provide a more functional controller and camera. That's not too difficult.

Combat itself deserves some attention. Tech spam, monster's incredibly slow and seemingly stupid actions can be addressed. This would have to be addressed much later from now. Surely some trial and error will happen and, due to the nature of development in Unity, it will be reasonable to provide tests with people in the community to see how they like the feel of any changes.

My personally opinion is that roles should not be race-class combo locked. I never liked that but this may be a non-popular opinion. Addressing balance is not something that can be spoken about without the existence of the actual game itself, aside from PSOBB. Surely no developer wants to encourage or see every player playing a FOmar or something because it's the best. Who knows though.

As I said before a think a support role could be expanded upon. Giving value to player with others more. Considerably reducing the ability for classes to solo would entice more party play and with more diverse roles there would be a much larger gap between players who play well as opposed to hose who do not. But again, the ideas I've bounced off people may or may not be implemented. I have thought about many things but now isn't the time to share those.


I did read through the whole thread, but I admit I kinda speed read it, so I may have missed some details where you were talking about the technical stuff, hence my seeming ignorant. Sorry about that.

But I wholly approve of your ideas. Unlocking the class-race thing, more modern controls, and more support on actual class roles would be lovely, not to mention raids and such. Obviously you are right in that this will be a massive undertaking.

I'm honestly considering doing some independent work to learn coding and such, for more than one reason, but this project would be good as any. (Don't quote me on that though, there's still the learning part to do obviously).

My reason for my strong interest in this project is not getting a remake to a beloved game of my childhood, but imaging what PSO would be like nowadays. I've been writing a fan story that takes characters through the many universe of Phantasy Star, but it starts at Phantasy Star Online. I've been having an interesting time trying to rationally explain in a scientific way, as well as address some other issues I had with PSO (Pioneer's 1 and 2 were city ships complete with skyscrapers and flying cars, but 30000 people each is a very low population for such a city, especially considering there were certainly more than 30000 people that played PSO as Hunters, which would only comprise a percentage of the total Pioneer 2 population realistically).

Again, good luck to your future endeavors, and should I develop and practice any sort of meaningful skills aside from concepts to this project once my classes end and I have free time, I would love to contribute to this.

Glader
Dec 1, 2014, 10:59 PM
^,^ thanks, it would be a massive undertaking. I generally fear discussion about features such as that because to other developers who view this they too will seem unrealistic goals. I try to be very careful, too many times I've seen projects claim absurdly complicated features will "totally be in the game." It looks poor from the outside looking in as a developer imo.

I do wish you luck too studying independently, it's hardwork and takes awhile to get to the point where you can do awesome things but as long as you don't give up you will get to that point.

PSO, without the technical limitation of the dreamcast, would be very different now. I think Pioneer 2 itself could be more vast and could entirely replace the block and lobby system itself. Thankfully in t he year 2014 this is a realistic goal while in 2000 I can imagine the bandwidth cost AND the computation cost of computing interest for those players in the city both exceeded the hardware and was likely an impossible concept.

I must go finish a lab now though so I won't be able to respond too much. I might work abit on this project tonight if I get time. It would only be work on the underlying networking library that I'm going to use, one I've written, that I'd be working on though. It needed a couple more features before I can start on PSO sadly.

Glader
Dec 2, 2014, 12:11 AM
For interested parties some of John Carmack's statements about the development of clientside prediction and physics rewind can be skimmed from his exchanges here:

http://fabiensanglard.net/quakeSource/johnc-log.aug.htm

More information on the authorative combat implemenation:

At the moment it's looking like I will be keeping a queue buffer of recent position and state information for NPCs and Players on the serverside so a timestamp based request can be made for an action such as an attack. This will allow pseudo-physics rewind approximations on a discrete level, continuous and smooth rewinds seem like they'd add too much computation overhead and may be overkill.

It's imperative that average latency between the given requesting client and the server is taken into account during the rewind. Supposing an average of 100ms for a player's request to hit the server and start processing then the request is essentially 100ms stale meaning it's likely the timestamp will be 100ms off and we'll have to rewind in the buffer somewhere around there to determine the result, you can imagine the complexity of the world simulation doubling at this point.

This also begs the question of how is it reasonable for realtime combat to take effectively 200ms to request and receive a response. The staleness of the request can be handled. Past player and npc states are buffered but the client has to predict these changes.

Obviously this can be hidden by animations, in fact now that I think about it the request to attack happens upon input and whenever the network queue is flushed... sadly GladNet leaves that completely up to the underlying Lidgren Library. The response isn't needed in realtime. If I swing a sword for immersion to not be affected I need to get a response from the server by the time the sword has cross the creature. I believe this can reasonably mask the delay caused by the authoritative input.

What about NPC attacks against the player? If using Unity's built in NavMesh and NavMeshAgent (no idea what I plan to use for pathing atm), even assuming fully perfect determinism that never strays even on state change somehow, the state change of an NPC, and thus pathing, will be 100ms off on the player's screen. I'm not really sure how prevent player's from being attacked by creatures that appear not to be completely in range. Keeping everything authoritative while preventing the simulation on the client from seeming unfair and broken is becoming complicated. I will have to figure out a solution to NPC's position being 100ms stale on the player's screen while a player himself may be in an attack range of an NPC and not know it because of this.

Thankfully I have time to come up with a solution until I face this problem.

Stealthcmc1974
Dec 2, 2014, 12:50 AM
Out of curiosity, have you asked around on the Unity forums about anyone interested in this project? And what version of Unity are you using (with or without assets from the asset store)?

Glader
Dec 2, 2014, 01:12 AM
Out of curiosity, have you asked around on the Unity forums about anyone interested in this project? And what version of Unity are you using (with or without assets from the asset store)?

Well, my impressions of the Unity3D collaberation forums is that it's rather a joke. I think projects MAY benefit from posting their after they've progressed. People are generally weary of multiplayer games. This game would not be well received since it technically infringes on someone's intellectual property. That is something I'll explore in the future, especially so if I'm still solo as I get deeper.

I use the latest version of Unity, I'm ambiguous about the version number for a reason though. It's best to, when you start a new project, to prepare for the latest version possible imo. I wouldn't start a project right now in Unreal Engine 3. That wouldn't make any sense since Unreal Engine 4 is very much alive. It would only make sense to stick with older versions if you are mid or near end of development.

As for the asset store. Previously to develop in Unity3D, and keep your sanity, you had to either write a couple things yourself or purchase them. NGUI was basically a requirement but with Unity 4.6 the builtin GUI has been replaced with a better event-driven GUI that is much easier to animate and decouple from game logic in general. An example of the ease of the new GUI check out the Youtube video on my first post. There are only 80 lines of code occurring there, for the outward honeycomb burst of white. If this was written in what people call OnGUI it'd probably be hundreds of lines and this is without any functionally yet. So many lines and animation would be... well I don't even think it'd be possible.

Also, Unity is great but its ability to serialize certain things to the editor can sometimes be lacking. Previous to the UnityEngine.Events namespace release, I think in 4.6, it was impossible to decouple code via Delegates, Action<>, Func<> easily. An asset I purchased allowed for serialization of these, as well as properties and interfaces and etc. It's a really great purchase and definately is nice to touch on interfaces in C# while in Unity which is rather tough to do well given the way it all works in there.

I'd like to avoid assets if possible. I've written my own networking library on top of Lidgren gen3 so I could avoid licensing costs for that as well as avoid being forced to close-source anything I work on networking related. There are a couple of things that can be done if I go open-source with the project AND use assets, which I'm sure any artist who parties up with me is going to LOVE to use:

SpeedTree
https://www.youtube.com/watch?v=fk1jOk7IxOA

and Substance painter
https://www.youtube.com/watch?v=1rwMCew2GEQ

All this must be taken into consideration. It's possible these products, tools and pieces might just not be pushed up with commits but that would mean components would be missing if someone tried to use the project. It's a tough call. There are closesourcd things I feel are required for high quality development, especially artwise, that may not allow for open-source or easy collaberation. I'm not 100% sure atm what will be happening in that department I guess.

Anyway, Unity 5 and Unity 4.6 make it much easier to avoid having to use closed sourced GUI frameworks and serialization assets, since unity has like a Delegate-like object that can now serialize to the editor.

Stealthcmc1974
Dec 2, 2014, 06:21 AM
Alrighty. I was wondering since if I was going to download Unity, I may as well use the version pertinent to the project.

Glader
Dec 2, 2014, 07:43 AM
Alrighty. I was wondering since if I was going to download Unity, I may as well use the version pertinent to the project.

Unity 4.6 would suffice to learn Unity in general, that would be fine to use imo.

Chrysheight
Dec 2, 2014, 09:53 PM
Speedtree is fantastic. I used to use it with Unreal. Plenty of tutorials on it. I do also recommend for any artists out there, check out the Quixel Suite. nDo, dDo, and Megascans are pleasing to use. Might set you back a bit at $100, but I promise it'll push your models to the next level if you know what you're doing. I also recommend any UI artists maybe check out Scaleform. Unsure if it works with Unity, but it's definitely pleasing to work with.

Glader
Dec 2, 2014, 10:19 PM
Hi again guys, Thursday is nearing thankfully and I'll soon have time to start coding up a storm.

This update is going to go over the issue of client-server simulation syncing/predicting; it's a difficult problem and potential implementation of the various Technique spells in Phantasy Star Online.

In the mean time I've been pondering how to solve the problem of getting the client to predict and display an accurate representation of the gameworld being simulated on the server. From what I've been reading Unity3D is not friendly to a setup such as this. I'm not sure if UT5 will be any better with this, it's not really a fantastic engine for rewinding a physics simulation since movement and collision are handled internally... although I guess I could try to rewrite this. That seems challenging. Anyway, that is certainly the hardest apsect of the project by far. Keeping everything seemingly in step will be tough, but if that is the worst a project can face I feel that it'll be fine.

Enough of that deary and complicated problem; let's get technique-ical!

Techniques seem to fall under 4 different categories:


Projectile
AoE/Aura
Melee (Yep, sorry to pull back the curtains but some techs functional almost like Melee)
Special


With the exception of two special spells they all generally follow this, and can be implemented simply. You may or may not be surprised to know what the most complex spell to implement is, I'll talk about that later.

Projectile

First, let's talk about projectile spells. Projectile weapons, which I briefly mentioned in the post about melee combat, are probably the most advanced combat mechanic in Phantasy Star Online in my opinion from a development standpoint. I'm not positive how I'd like to handle projects, I may handle them has delayed melee attacks or I may simulate that actual action of a projectile. It's generally best to fake mechanics such as this and provide the illusion instead though.

Projectile Techniques are as follows: Foie, Barta (with the exception that upon collision with an NPC it continues to project the full distance), Medgid.

While projectiles in general may be a small challenge to implement I can't imagine they'd be too much trouble in the grand scheme.

AoE/Aura

Let's talk about AoE/Aura spells, these are a bit more fun to talk about and I've already a plan for their implementation.

To explain how trivial some of these are, this documentation should be referenced. Honestly speaking to another programming today we joked about how easy it would be to write a single player version of PSO or write a version that just trusts the clients like Sega's version.

http://docs.unity3d.com/ScriptReference/Physics.SphereCast.html

Resta: It's a simple AoE/Aura spell that does a sphere cast, or radius check, outward to determine affected targets. Also targets self. Simple implementation in Unity (assuming I don't have to implement my own physics for the sync problem above)

Shifta/Deband: Just like resta, an outward sphere cast to determine hit targets including self.

(Edit: I've been told Anti can hit all 4 targets. I'd imagine it has a range but that wasn't mentioned in the post below I don't think)
Anti: I cannot recall if Anti was capable of casting on all targets nearby, if so just another basic sphere cast here including self.

RaFoie: This one is a little more interesting. RaFoie does use a sphere cast to determine hit targets but also does so from a given collier P where P is the collider of some targeted NPC. From that NPC an outward sphere cast is done to determine who is hit including collider P. RaFoie also has a component of distance associated with it of course too as it's a dual-component Technique. More complicated than the 3 above.

RaBarta/RaZonde: Another basic outward spherecast that targets all collided enemy colliders excluding self obviously.

(Edit: It's been pointed out to me that these debuff techs work like Shifta/Deband. My memory is obviously rusty lol)
Jellen/Zalure: Jellen and Zalure, I believe, function like RaFoie if I can recall correctly. They act in such a way that their travel time to the target is instance and a spherecast is done outward to determine affected targets including self.

Melee-like

That leads us melee-like spells. This may make you cringe to read a couple spells in PSO function like melee weapons I described on the last page of this thread. In fact, most are simplier as they only require a distance component.

Zonde: Zonde has a maximum distance associated with the spell, that's all it really has to it. Its travel time is instant and basically acts like a melee attack. Albeit with what seems like an absurd range.

Grants: Just like Zonde except it has a delay on which the spell actually hits. You could possibly classify Grants like a projectile, which projectile themselves could then be renamed to delayed actions, but Grants seem to function like both. It's a tough call but either way Grants only has a distance component, and a timer delay, associated with it.

GiBarta: GiBarta is the perfect example of a spell that functions like the melee system described on the previous page. GiBarta's components consist of a frontal cone cleave. Just like swords, they take into account facing and some distance component. The facing being used in conjunction with a defined maximum angle that essentially provides it with the cone feel of the spell.

Special

Well, at this point you may have some tears in your eyes because the Techniques you know and love have been shown to be nothing more than a set of cheap smoke and mirrors. Don't worry though, not all spells are just cheap smoke and mirrors. Some are Houdini level spells. I consider two spells to be in the special category with their complexity rivaling no other techniques.

GiZonde: I believe Gizonde works iteratively, it's one of the spells with linear time complexity. It could be implemented recursively but would provide no benefit really. Anyway, GiZonde basically combines the idea of a sphere cast on a target and foreach target in the spherecast that hasn't been affect by this GiZonde, cast Gizonde on it. This occurs until every possible target has been accounted for. This makes it seem like it's a giant spherecast but it's implementation is probably a bit more complex. Nothing that cannot be handled, the above implementation I describe should be good enough.

GiFoie: GiFoie is probably the most complex Technique hands down in the game. GiFoie creates a continous outward growing spherecast that ignores already collided NPCs after the first collisions. GiFoies affected area grows over time outward. It's interesting. It will likely be implemented as such. Just a growing spherecast overtime. With a max distance component and a duration component. Pretty simple otherwise BUT still one of the most complex spells.

GiZonde and GiFoie are probably the most complicated but still within reach to implement. Hope you enjoyed my breakdown of how these spells will likely be handled and implemented in the future.


Speedtree is fantastic. I used to use it with Unreal. Plenty of tutorials on it. I do also recommend for any artists out there, check out the Quixel Suite. nDo, dDo, and Megascans are pleasing to use. Might set you back a bit at $100, but I promise it'll push your models to the next level if you know what you're doing. I also recommend any UI artists maybe check out Scaleform. Unsure if it works with Unity, but it's definitely pleasing to work with.


Scaleform does have a Unity implementation but sets you back a 500 dollar license fee I believe. Scaleform is not needed thanks to the Unity 4.6 new builtin GUI. Worldspace GUI and animated GUI with rotation/swivel/etc is pretty easy to do now as can be seen with the titlescreen I made. That would have been impossible to do, at least reasonably, with OnGUI (the old GUI) and Scaleform would have been a help. But this is no longer needed.

Stealthcmc1974
Dec 2, 2014, 10:42 PM
What do you mean some TECHNICs work like melee attacks?! :wacko:

Jokes aside, your explanations make sense as to how the TECHNICs work, not something you'd think about until starting a project like this. If you're going to fake the projectile TECHs though, it'd still be cool to see NPCs actually flinch and perhaps even be pushed back by these TECHs anyway (looking at you Barta). Depending on where the projectile hits should also make the NPC flinch differently. (I realize this sounds like physics 101 but I enemy NPC's didn't have that many animations in response to flinches and such iirc so I figured I'd say it anyway).

On a side note, I can't help but feel that Light and dark techs in PSO are underrepresented in PSO compared to the other elements 9Unless you count Resta, Anti and Reverser as light). Any ideas on what TECHs, if any could be added?

Lastly, who specifically do you need to help you at this project at this stage? Artists to be sure, but what kind of coders? Guys who can do some of everything or do you want the team members to be a bit more specialized?

Glader
Dec 2, 2014, 10:57 PM
Lastly, who specifically do you need to help you at this project at this stage? Artists to be sure, but what kind of coders? Guys who can do some of everything or do you want the team members to be a bit more specialized?

Until I finish my underlying networking library, should be this week, I say finish but I really mean get into a truly usable state lol... Anyway, once that is done a bit of worked is needed to flesh out the serverside. Several pieces and ideas from the previous PSO serverside I wrote will need to be reincorporated or rewritten. This may take some time, maybe a week but hopefully less. At that point any collaborators will generally be beneficial.

At the moment only really art could be done sadly. A GUI/UI artist would be especially helpful in these initial stages to get up and running, in much quicker time, several interfaces. The GUI could be done well before the networking, as seen with the titlescreen, and just implement the actual logic later. That I think would be most useful. 3D modelers, one possibly willing to work with UMA or me to produce runtime manipulatable models for characters would be nice. I think as far as enviroments go for test purposes it'll be written to use a single instance of forest for testing. No over world or anything during initial development and no pool of instances etc. This would only be for ease of testing.

A tool oriented programmer could develop some applications. If no one else does I plan to cut out RakNet's Autopatcher and p/invoke, after studying interop because I'm new to it, and get a patching system up and running with GladNet. Externally a cross-plat launcher needed to be written in either QT or a Windows form that can function on Mono. Other dev tools could be written, possibly editor extensions for Unity, but it's just the dirty work.



If you're going to fake the projectile TECHs though, it'd still be cool to see NPCs actually flinch and perhaps even be pushed back by these TECHs anyway (looking at you Barta).

Physics based animations are different but possibly doable. The issue with apply collisions and movements based on casted spells is that it's more likely to push the basic physics simulation/prediction the client is doing out of sync with the server. This would meaning an ugly snapping correction is more likely. It's possible though, small polish features like that depend on the resulting size of the team again. Days can't be spent on stuff like that otherwise.



On a side note, I can't help but feel that Light and dark techs in PSO are underrepresented in PSO compared to the other elements 9Unless you count Resta, Anti and Reverser as light). Any ideas on what TECHs, if any could be added?


I've spoken abit about providing a more interesting, and important, support class. I haven't gone into too much detail about how I'd like to go about this. Some game changing designs would change and I don't want to talk about it because it may give some players a bad taste in their mouth atm if they read it. I'm not sure if I've mentioned it but I'd like to expand upon the healing toolset a support class may utilize giving them a HoT like tool, separate from Resta, and an absorption mechanic. Something akin to an effective health increase heal that may absord damage or just transfer it to the support user. Who knows, these things are far outside of what needs to be done at the moment. I've not thought too much about the Dark toolset but yes I agree Dark could benefit from an expanded set of Techniques supposing they fit a certain task.

Edit: As for your question of specialization when it comes to programming. A project of this scope requires several didn't specialties. Every programmer has his/her forte too. Anyone willing to collaborate can speak to me about that and I'd be able to talk about work that would generally be related to their forte so they could decide if it'd be interesting or a good fit.

SStrikerR
Dec 3, 2014, 01:30 AM
Anti can affect all 4 players. As for Jellen and Zalure, are you sure they work like rafoie? I was under the impression that they were treated as outward moving spheres, but that their starting point wasn't the first enemy targeted, which is what I think you were implying. I thought their start point was the player's location.

Glader
Dec 3, 2014, 01:41 AM
Anti can affect all 4 players. As for Jellen and Zalure, are you sure they work like rafoie? I was under the impression that they were treated as outward moving spheres, but that their starting point wasn't the first enemy targeted, which is what I think you were implying. I thought their start point was the player's location.

It has been a bit since I've gotten time to play PSO and I may be fuzzy on some of the specifics of the mechanics on how each Tech functions. Do the debuff Techs not affect a give radius of creatures around the first targeted or is it based on proximity to the actual player itself? If this is true I will make this update above, it's a good thing I'm not at the point of implementation or I might have gotten that wrong >.<.

Edit: I'm working tonight to get GladNet to the point where I can start working on PSO. I've decided to cut some work out due to what felt like feature creep. It really just needs refactoring, some stuff is UGGGGGLY haha, and the encryption API for custom encryption methods, and the default method, for per packet basis optional encryption. Everything else I've promise about GladNet can sit on the back burner for awhile.

A pic of my rush to develop lol
[SPOILER-BOX]http://i.imgur.com/Zrg8Cs1.png[/SPOILER-BOX]

Chrysheight
Dec 3, 2014, 10:38 AM
It's around the player. You also have some classes that got inherent boost to range. But no. Buffs/debuffs expand outward from player. It'd be a spherical expansion instead of spiral one like Gifoie.

This leads me to ask. Are you keeping all the systems how they are in PSO or improving them? Because some of the newer mechanics would be greatly appreciated. Like lock on, not slowing down around enemies, and maybe photon arts. The last one I don't necessarily care about. But lock on and not slowing down near enemys and traps would be really nice.

Stealthcmc1974
Dec 3, 2014, 12:04 PM
It's around the player. You also have some classes that got inherent boost to range. But no. Buffs/debuffs expand outward from player. It'd be a spherical expansion instead of spiral one like Gifoie.

This leads me to ask. Are you keeping all the systems how they are in PSO or improving them? Because some of the newer mechanics would be greatly appreciated. Like lock on, not slowing down around enemies, and maybe photon arts. The last one I don't necessarily care about. But lock on and not slowing down near enemys and traps would be really nice.

I just wonder though, if, say, Hunters get access to both PAs and TECHs, since they could use TECHs in PSO unless they were CAST, doesn't that interfere with balance of classes? I guess we could restrict what TECHs non-Force classes can use...

I'm all for other systems, like lock on and such. Also jumping. I like my jumping.

Glader
Dec 3, 2014, 12:24 PM
It's around the player. You also have some classes that got inherent boost to range. But no. Buffs/debuffs expand outward from player. It'd be a spherical expansion instead of spiral one like Gifoie.

This leads me to ask. Are you keeping all the systems how they are in PSO or improving them? Because some of the newer mechanics would be greatly appreciated. Like lock on, not slowing down around enemies, and maybe photon arts. The last one I don't necessarily care about. But lock on and not slowing down near enemys and traps would be really nice.

Okie dokie, I made a note on that page about the debuff techs. I'm not sure what will feel right at the moment. This would require iterations and playtesting to see what is best and what is just nostalgic. Lock on is possible but then it kind of reduces the techer's skill cap for placement and aiming I think for some spells. In fact, I'm not sure I really like the lockon mechanic as it was. Slowing down around enemies will probably go away, it's likely to get the physics sim on the severside out of sync with the clientside prediction.

As for Photon Arts, I do agree melee combat can be stale. It doesn't have a whole lot of depth but I don't know if abilities/photon arts would fit PSO. That's a PSU concept and I wasn't really a big PSU fan. I'll explore ways to keep melee combat interesting.


I just wonder though, if, say, Hunters get access to both PAs and TECHs, since they could use TECHs in PSO unless they were CAST, doesn't that interfere with balance of classes? I guess we could restrict what TECHs non-Force classes can use...

I'm all for other systems, like lock on and such. Also jumping. I like my jumping.

You can read above, I don't think PA would be a good fit. Other things could be done. When it gets to the point where we can mess around with things we can try stuff and see how it feels.

Stealthcmc1974
Dec 3, 2014, 12:32 PM
Okie dokie, I made a note on that page about the debuff techs. I'm not sure what will feel right at the moment. This would require iterations and playtesting to see what is best and what is just nostalgic. Lock on is possible but then it kind of reduces the techer's skill cap for placement and aiming I think for some spells. In fact, I'm not sure I really like the lockon mechanic as it was. Slowing down around enemies will probably go away, it's likely to get the physics sim on the severside out of sync with the clientside prediction.

As for Photon Arts, I do agree melee combat can be stale. It doesn't have a whole lot of depth but I don't know if abilities/photon arts would fit PSO. That's a PSU concept and I wasn't really a big PSU fan. I'll explore ways to keep melee combat interesting.


Well, until we can get to that point I'll just keep spitballing ideas. Perhaps not photon arts, but rather a dumbed down combo system ala MGR or DMC (I say dumbed down because PSO is primarily an MMO, not a hack and slash). After all, you combined light and heavy attacks with weapons in PSO, so who's to say we couldn't use this system along with movement for more intricate combos?

But seeing as how the GUI/UI is priority first, this can wait. Speaking of GUI/UI, what did you have in mind for that? Personally I think PSO2's UI in combat isn't half bad, but it is lacking a couple things for me (knowing your MAGs energy level before they can use a PB, stuff like that). Aside from the obvious Party status, subpallete, and radar what else do you think could be implemented into it?

Glader
Dec 3, 2014, 12:51 PM
Well, until we can get to that point I'll just keep spitballing ideas. Perhaps not photon arts, but rather a dumbed down combo system ala MGR or DMC (I say dumbed down because PSO is primarily an MMO, not a hack and slash). After all, you combined light and heavy attacks with weapons in PSO, so who's to say we couldn't use this system along with movement for more intricate combos?

But seeing as how the GUI/UI is priority first, this can wait. Speaking of GUI/UI, what did you have in mind for that? Personally I think PSO2's UI in combat isn't half bad, but it is lacking a couple things for me (knowing your MAGs energy level before they can use a PB, stuff like that). Aside from the obvious Party status, subpallete, and radar what else do you think could be implemented into it?

Yes, what works in a single player game can be considerably hard to implement in a networked setting. Single player games have the luxury of using information they have on screen to determine results. In a networked enviroment the complexity goes to the point where you have to async handle an action request, predcit the result and pass a message to a server which forwards it, handles it and sends a response back. Things that are trivial in single player become really hard to do in a multiplayer game.

I mentioned GUI/UI because it's the easiest thing to work on for me as a programmer while not also taking time away from writing the serverside and doesn't require things that currently don't exist to exist. I've not thought about UI enchancements too much. Possibly some information about creature health may benefit some players. I think it may be best to try to open up the UI/GUI to scripters so that people can built addons on top of the GUI. Potentially exposing some of Unity's GUI stuff and clientside information to write to a GUI through a scripting language. Who knows at the moment though.

Stealthcmc1974
Dec 3, 2014, 01:07 PM
Yes, what works in a single player game can be considerably hard to implement in a networked setting. Single player games have the luxury of using information they have on screen to determine results. In a networked enviroment the complexity goes to the point where you have to async handle an action request, predcit the result and pass a message to a server which forwards it, handles it and sends a response back. Things that are trivial in single player become really hard to do in a multiplayer game.

I mentioned GUI/UI because it's the easiest thing to work on for me as a programmer while not also taking time away from writing the serverside and doesn't require things that currently don't exist to exist. I've not thought about UI enchancements too much. Possibly some information about creature health may benefit some players. I think it may be best to try to open up the UI/GUI to scripters so that people can built addons on top of the GUI. Potentially exposing some of Unity's GUI stuff and clientside information to write to a GUI through a scripting language. Who knows at the moment though.

On the positive side, at least PSO (should) be still instanced so that limits how many users you have making their individual requests to the server in a combat area. It would be way more problematic if it was an open world I feel. Would you be implementing a way for solo players to not have to go through the server for combat requests and such (i.e. offline mode?) And I like your ideas about how to handle creating the GUI. Well, hopefully you'll have all the GladNet business sorted soon.

Glader
Dec 3, 2014, 01:14 PM
On the positive side, at least PSO (should) be still instanced so that limits how many users you have making their individual requests to the server in a combat area. It would be way more problematic if it was an open world I feel. Would you be implementing a way for solo players to not have to go through the server for combat requests and such (i.e. offline mode?) And I like your ideas about how to handle creating the GUI. Well, hopefully you'll have all the GladNet business sorted soon.

In lieu of studying I'm working on finishing the last feature GladNet needs to be ready. This feature will prevent packet forging for sensitive requests such as trading. Without this very senestive requests could be forged and then processed as if they were the user.

Sadly, it's not wise to have every server application be publicly facing and connected to. Instances will be connected to the gameserver and player's will be connected to these instances through the gameserver. They won't have a direct connection to instances so any request will be sent to the gameserver and then forwarded. As for message reduction, there is a concept called interest management which slightly mirrors what you're talking about. In an open world mmo it would be absolutely critical to handle this efficiently. In PSO not too much but will still be done of course.

It is not possible to create an offline mode where no server is verifying actions. It is too easy to cheat. Nothing can stop someone determined clientside.

Stealthcmc1974
Dec 3, 2014, 01:26 PM
In lieu of studying I'm working on finishing the last feature GladNet needs to be ready. This feature will prevent packet forging for sensitive requests such as trading. Without this very senestive requests could be forged and then processed as if they were the user.

Sadly, it's not wise to have every server application be publicly facing and connected to. Instances will be connected to the gameserver and player's will be connected to these instances through the gameserver. They won't have a direct connection to instances so any request will be sent to the gameserver and then forwarded. As for message reduction, there is a concept called interest management which slightly mirrors what you're talking about. In an open world mmo it would be absolutely critical to handle this efficiently. In PSO not too much but will still be done of course.

It is not possible to create an offline mode where no server is verifying actions. It is too easy to cheat. Nothing can stop someone determined clientside.

Too bad. I enjoyed Offline Mode on my Dreamcast. Oh well.

Chrysheight
Dec 3, 2014, 09:39 PM
Well the thing is, you can make Photon Arts viable. Make them like techs. Not a just something that uses PP and is melee. You know? Other than that, I agree no offline. You could also give a better combo system. Things I would like to see though is easier weapon switching and stuff ala PSU/PSO2. Incorporation of such features isn't a bad thing if done right.

Glader
Dec 3, 2014, 10:18 PM
Well the thing is, you can make Photon Arts viable. Make them like techs. Not a just something that uses PP and is melee. You know? Other than that, I agree no offline. You could also give a better combo system. Things I would like to see though is easier weapon switching and stuff ala PSU/PSO2. Incorporation of such features isn't a bad thing if done right.

Maybe, we'll have to see. Right now the game plan is to get general things working properly. Several thousands of lines of server code need to be written before any of most of what's been talked about in this thread can even start to be implemented. I mean, we're talking probably 20,000 lines plus need to be written. That might take me a month or something.

Stealthcmc1974
Dec 3, 2014, 10:37 PM
Maybe, we'll have to see. Right now the game plan is to get general things working properly. Several thousands of lines of server code need to be written before any of most of what's been talked about in this thread can even start to be implemented. I mean, we're talking probably 20,000 lines plus need to be written. That might take me a month or something.

A month solo. Hopefully you get some people to help you with that.

Glader
Dec 4, 2014, 12:18 AM
If I didn't need to sleep for a final exam tomorrow I'd be ready to start PSO as soon as I got home. Sometimes school gets in the way of so much learning and work /sigh.

Anyway, GladNet almost has its encryption API finished. This will allow users of the networking library to utilize either the default for secure message exchange or register their own custom method just like I allow for serializers. I feel like GladNet was experiencing feature creep. It doesn't need to do everything I thought it did. For now it's good enough to build a project around (after I finish it tomorrow).

For anyone actually interested in GladNet and not just the PSO project here is a link to the public repo for it Dev branch (Master is working dev is not) (https://github.com/HelloKitty/GladNet/tree/Dev) it's an opensource Unity3D networking library that will soon be relicensed to a BSD license; still free just a bit different.

Tomorrow you may expect, if things work out, I should be able to write the proxy server and auth server. That'll mean account creation and login. Nothing major and who knows, maybe I'll do more in one day. It'll be the first time GladNet has been used in production so the whole thing might collapse haha.

SStrikerR
Dec 4, 2014, 01:00 AM
The problem with PAs as they were implemented in PSU is that normal attacks were rarely used with them available. One piece of content shouldn't kill another, especially if they are designed together. I liked PSO's concept of weak yet accurate, strong yet inaccurate, and special attacks that were inaccurate as well, but could be very useful. I think that if combat flowed better and specials were overhauled, the system could potentially turn out better than PSU's.

Glader
Dec 4, 2014, 07:42 AM
The problem with PAs as they were implemented in PSU is that normal attacks were rarely used with them available. One piece of content shouldn't kill another, especially if they are designed together. I liked PSO's concept of weak yet accurate, strong yet inaccurate, and special attacks that were inaccurate as well, but could be very useful. I think that if combat flowed better and specials were overhauled, the system could potentially turn out better than PSU's.

Yes, we have the luxury of hindsight. I cannot say what will happen in terms of photon arts, I've never been too particular of them myself. They would increase development complexity though. PSU is a more complex game and I would definitely have to say you can't expect PAs if I'm alone. The PSO combat would keep me quite busy for a bit itself I'd imagine.

Chrysheight
Dec 4, 2014, 08:56 AM
The problem with PAs as they were implemented in PSU is that normal attacks were rarely used with them available. One piece of content shouldn't kill another, especially if they are designed together. I liked PSO's concept of weak yet accurate, strong yet inaccurate, and special attacks that were inaccurate as well, but could be very useful. I think that if combat flowed better and specials were overhauled, the system could potentially turn out better than PSU's.

I don't want them to be super strong. I want them more to increase how many hits one does against an enemy. I'd rather them be normal attack power in strength. Not how PSU or PSO2 does it. But I do agree. Combat does need to flow better for PSO.

Stealthcmc1974
Dec 4, 2014, 11:02 AM
I don't want them to be super strong. I want them more to increase how many hits one does against an enemy. I'd rather them be normal attack power in strength. Not how PSU or PSO2 does it. But I do agree. Combat does need to flow better for PSO.

That's actually a lot better of a system than what PSU or PSO2 does. Turn them more into utility based attacks vs beefed up ones. You use different PAs for different situations, but damage is more or less equal around the board. I like that.

Chrysheight
Dec 4, 2014, 12:01 PM
Exactly. Like how Sabers only hit one enemy at a time, say give it a special that hits multiple for reduced damage but a tiny bit of knock back. It allows for better positioning. Like say you have 3 booma and one FOmar. You get surrounded at low level or run out of TP, you are in bad spot. For less damage, use a PA that creates a bit of distance between them and you. Bam. You don't die as quick, you aren't OP. It works out, theoretically speaking.

Glader
Dec 4, 2014, 12:12 PM
Like I said earlier in the thread knockbacks are actually kind of difficult. If a creature is knocked back by another player, the request to knockback takes about 100ms to reach the server. The original player predicted the knockback to succeed so if it does his client will be in sync. However, by the time others get information about a knockback about 200ms will have passed and the other clients won't have predicted a knockback against other the enemy which means those clients have to step back in time and apply the knock back and resimulate what has happened since. This means you'll see a snapping motion back to where it should be. Animations of knockbacks won't be seen on both clients at the same time too. Maybe this could be avoided by having the first client not predict the knockback and wait instead for the server's response. This would cause snappy movements back, which may be hidden by careful animation, to where it should be after clients resimulation the past given a knock back at some time t - n where t Is the current time and n is how far in the past the knockback occurred. It's much more complicated than just knocking an object backwards and being done with it.


This could potentially be solved, maybe, but I feel like this will throw the client's predictions out of sync with the serverside. It's not possible for other clients to predict that a booma is about to be knocked back by another player so by the time that happens on their client they've already predicted ahead of that. It sounds messy, I'm not sure. I'm still trying to figure out how to keep the client and server physics simulation seemingly intact; this is a very delicate problem and at the moment I feel knockbacks will cause it to become even more complex. Things can be explored once the base is done of course.

Chrysheight
Dec 4, 2014, 12:26 PM
The thing is, you will always have snaps. You can't just assume all connections are the same. It's just minimizing those.

Stealthcmc1974
Dec 4, 2014, 02:06 PM
The thing is, you will always have snaps. You can't just assume all connections are the same. It's just minimizing those.

I concur. It's almost never going to be ideal sadly.

Chrysheight
Dec 4, 2014, 08:23 PM
Yeah, so you implement it best you can. You're going to have desyncs. Almost every online game does. What feature I'd like to see most, and this is at a coding level. If I'm going to DC. I don't want the game to sit there, pretend it's still online for the next 10 minutes, before I go to another area, it loads, then boom. DC.

Glader
Dec 4, 2014, 09:34 PM
Yeah, so you implement it best you can. You're going to have desyncs. Almost every online game does. What feature I'd like to see most, and this is at a coding level. If I'm going to DC. I don't want the game to sit there, pretend it's still online for the next 10 minutes, before I go to another area, it loads, then boom. DC.

GladNet is built in UDP, built Lidgren gen3 to be specific to provide higher level features and abstract away some of the more technical and tedious things. While Lidgren does internally have a heartbeat packet that helps emulate connections, UDP is connectionless, I'm not sure how long it takes for a client to become aware of a disconnection. You can't just disconnect after a couple of lost packets, you have to wait, and so it does take a minute to disconnect. However 10 minutes is unlikely, I'd think it couldn't go much longer than 15 seconds until it realizes it.

This logic is handled in here. Heartbeats are sent https://github.com/HelloKitty/GladNet/blob/master/Dependancies/Modified%20Lidgren%20gen3/Lidgren.Network/NetConnection.cs and if too much time has passed since a proper heartbeat it disconnects. This seems to be configurable on startup in a config object. So it's adjustable but GladNet doesn't currently expose that feature of Lidgren. Anyway, it shouldn't be 10 minutes so don't worry.

Edit: GladNet's encryption stuff is taking longer than I thought it would to finish. Going into test within Unity3D led me to realize the Mono project has no implementation of ECDiffieHellmanCng. Which means the whole default encryption for GladNet is broken because it's wrapped around that. =( might not get done what I thought I would tonight.

Chrysheight
Dec 5, 2014, 03:49 PM
No worries. I'm rebrushing up on my environmental art skills. Maybe I can be an asset as well.

Glader
Dec 5, 2014, 04:41 PM
No worries. I'm rebrushing up on my environmental art skills. Maybe I can be an asset as well.

Glad to hear it! Game development skills I think are the most fun to brush up on =). Unlike mathematics in general, or other things, you can actually produce something tangible that is both fun during creation and post creation; with the added bonus of other people generally being interested too.

As of 20 seconds ago I finally sent GladNet's first secure message. A little bit of cleaning up and making it a bit more user-friendly and I'll be able to start writing code specifically for the PSO project. Soooo, in like an hour. Here is a screenie of the maiden voyage of an encrypted message lol.

[SPOILER-BOX]http://i.imgur.com/sc58WQC.png[/SPOILER-BOX]

I'm quite excited to start working on PSO =).

As for environments related to PSO I found the most marvelous recreation of Forest I could ever imagine. It was made by an industry professional who I believe is an artist currently employed by Bungie. I've of course reached out to him but that's a pipe dream hehe. Here is his work http://www.joshmarkham.com/ps.html.

If you need any applications and are weary about the less than direct route of obtaining them let me know. UT5 has a much different artist workflow with the standard PBS and GI lighting. I've yet to get my hands on speedtree though but I've not exactly tried.

Chrysheight
Dec 5, 2014, 06:24 PM
Oh yeah, those were done in UDK, which is Unreal Engine 3. I seen those a while back. they are nice.

Glader
Dec 5, 2014, 06:40 PM
Oh yeah, those were done in UDK, which is Unreal Engine 3. I seen those a while back. they are nice.

From what I understand, aside from the terrain, it's not UDK-dependent. In fact, UT5 may be on par in terms of lighting out of the box too now so I think it's reasonable to view the work independent of the engine.

Here is a quote from the thread in which he was posting in during working on it "The walls of the terrain will be replace with sculpted rocks". While Unity's terrian tool does suck, it's been rumored an overhaul will be coming in 5.x, I think his scene would look very much the same if it had been done within Unity 5.

So do not feel Unity cannot achieve what you need ^,^

Chrysheight
Dec 5, 2014, 06:44 PM
No. The boxes and stuff were done in 3ds max. Just saying the engine used was UDK. I already know what Unity is capable of. I am unsure if I can make that quality of work though.

Glader
Dec 5, 2014, 06:50 PM
No. The boxes and stuff were done in 3ds max. Just saying the engine used was UDK. I already know what Unity is capable of. I am unsure if I can make that quality of work though.

Oh no of course I don't expect anyone to do something like that. If someone could they'd be working at Bungie with him. That sort of work would be best case scenario. I never expect best case scenario.

I think the bar should be set at slightly above that which is possible by modding PSOBB, which isn't much more than the default PSOBB really. I don't count those post processing effects mods with the bloom and reflections. Those are something that are easily achievable.

I think we should all aim to make something a bit more appealing than this is all.

[SPOILER-BOX]
http://img4.wikia.nocookie.net/__cb20141008210839/phantasystar/images/3/32/Forest_area.jpg
http://illuminus.phantasystaruniverse.jp/image/about/pso/field_ss_02_large.jpg
[/SPOILER-BOX]

I'm not an artist so I can't speak on behalf of the difficulty. In your opinion how challenging would it be to rival or slightly beat the sort of quality you can expect to see in PSOBB?

Also, if it helps anyone interesting in doing some art I had an old test of Forest 1 in Unity. It ripped from the original game files and the textures were applied by Landon Richie I believe, someone who had worked on an open source attempt at a PSO project. If I can find the project laying around, and if it'd be helpful, I can provide more useful controls. You can use shift/space to control height and the arrow keys to spin around. Not too useful if you'd need to really look at something closely though.

Forest 1 Unity3D Webplayer (https://dl.dropboxusercontent.com/u/222017790/TestClient/ForestTest.html)

Chrysheight
Dec 5, 2014, 08:21 PM
Hmm. I might rip the model from the game, rip out the trees and stuff, use speedtree, and make some modular stuff. If I remember right, Unity has water zones I can use for rivers, I should be able to import speedtree stuff. Might freshen up textures. Shadow maps would definitely have to be rebuilt and the model would definitely have to be smoother for ground. Are you implementing anything other than current PSO systems? It'd be helpful when I go to make some art for this.

I really don't like doing an art pass without having done a gameplay pass unless you're just wanting a concept picture.

Glader
Dec 5, 2014, 08:53 PM
Hmm. I might rip the model from the game, rip out the trees and stuff, use speedtree, and make some modular stuff. If I remember right, Unity has water zones I can use for rivers, I should be able to import speedtree stuff. Might freshen up textures. Shadow maps would definitely have to be rebuilt and the model would definitely have to be smoother for ground. Are you implementing anything other than current PSO systems? It'd be helpful when I go to make some art for this.

I really don't like doing an art pass without having done a gameplay pass unless you're just wanting a concept picture.

Edit: Take your time on the art if you're not feeling up to doing it until everything is further along. That is fine.

Do you have UT5? I'm pretty weary about using the original terrain. It'll be a really limiting factor in the future if we ever choose to go a more dynamic or procedural route. Unity provides some packages standard for water. It's pretty terrible to be honest, not that I could write much better at the moment, but I think I'll later explore this at a later point. It's probably far from my forte though.

At this point maybe we should form a skype group for this so we can both share what knowledge we have to help the process along. I'll do what I can code wise to help you produce Forest if that is your intent. However, do not expect to me write an unpacking tool. That's a bit challenging =P although research has already been done by someone else and I know there is a tool to unpack the models. I don't believe I have it though lol.

At the moment I have no plans, as a single programmer, to expand on anything at the moment. It was all just possible projections spoken about earlier.

Edit: I'm finishing up some stuff with GladNet, Server to Server encryption still needs to be tested atm, I know I've been saying that for a bit but work will start on the project specifically tonight. Likely the two server apps I mentioned the other night may be written.

Chrysheight
Dec 5, 2014, 08:58 PM
I do have skype. Shoot me a PM and we'll talk about that. UT5? I just downloaded current free Unity, 4.6. I'll have to find a model or created from scratch. Either or. I have to learn scale for unity though.

Glader
Dec 5, 2014, 09:04 PM
I do have skype. Shoot me a PM and we'll talk about that. UT5? I just downloaded current free Unity, 4.6. I'll have to find a model or created from scratch. Either or. I have to learn scale for unity though.

I sent you a pm. I can provide you with, what I believe to be, a 3DSMax compatible version of forest. I cannot find the tool with which it was unpacked with though atm. I'm sure it's around somewhere on my PC or on the internet. A lot of that stuff is tainted though. I'd avoid... I think it's Sodaboy's stuff? I can't recall.

Chrysheight
Dec 5, 2014, 09:10 PM
Yeah. I would appreciate that. I can remold and remaster it. Easier to do with actual files. I'll have to unpack a lot of them and fix them up.

Glader
Dec 11, 2014, 03:39 PM
Hi guys, Glader here. I recently uploaded a new progress video for the project. I'll be writing a couple servers tonight or tomorrow and the project will be entering a more serious phase this week as my last final was yesterday.

Feel free to watch, the titlescreen is nearly feature complete at this point with animations to boot. At the end I took on the challenge from someone to recreate the ChuChu fever frame as fast as I could, it was fun. Feel free to watch at https://www.youtube.com/watch?v=gGE_hSfqgyw

I'm working on getting an IndieDB up. Might not make it past authorization though. Anyway, stay tuned for likely some netcode/networking related updates soon. That is more forte, not this stuff, so it might be nice to get back into it. Although tinkering around with the other stuff was relaxing.

Feel free to contact me if you're interested in contribution.

Edit: We also have an IndieDB page now. View the first post in the thread to learn more.

Stealthcmc1974
Dec 13, 2014, 06:58 PM
nice stuff. go chu-chu rocket!

Anyhow, while I have no technical skills as of now, I'm going to be doing some Unity work over the winter break, as well try to improve my art skills. However I'm basically at square zero. Would emailing you still be fine?

EDIT: I'm also thinking of sharing this. I work on a gaming podcast (See Pixels Assemble thread in the off topic section). Would you be alright if I have this project as one of the topics for the show?

Glader
Dec 13, 2014, 09:46 PM
nice stuff. go chu-chu rocket!

Anyhow, while I have no technical skills as of now, I'm going to be doing some Unity work over the winter break, as well try to improve my art skills. However I'm basically at square zero. Would emailing you still be fine?

EDIT: I'm also thinking of sharing this. I work on a gaming podcast (See Pixels Assemble thread in the off topic section). Would you be alright if I have this project as one of the topics for the show?

I'm happy to see that there are people in the community who are interested in development and a PSO remake in general. However, I cannot pretend that a month of Unity and programming experience would be adequate for contributing to the development of a multi-application scalable serverside and client video game. I don't like to be negative and tend to avoid giving an answer like that but multiplayer games are some of the most difficult applications to write in general so it would be tough.

As for the art side I do not have an authority on that topic and cannot say what is possible. I'm a horrible artist so it's difficult for me to say much about other's work and I know very little about the process to model and develop textures, normal maps, uv maps, occulusion maps and etc. I really need to find like a 3rd party to consult when it comes to stuff like that. It's more likely you could make a contribution through art than programming if you've yet to program before.

With my limited art knowledge I made a news post on the indieDB site about what I felt would to required to contribute, you're free to read that. I think it's reasonable to have slightly better than PSOBB's visual fidelity as a target. Anything worse would be unacceptable seeing as how the art literally already exists. However, being a network programmer and not an artist it's tough to tell if that goal is reasonable.

You're free to talk about the project in anything or anywhere you'd like. Even if you decide to speak badly of it, I do not mind lol.

Just an update on progress again:


Fully functional Titlescreen (Looks nice too.)
A ProxyServer is now written to sit between the GameServer and AuthServer on initial connection.
AuthServer is written but not fully implemented.
Some client side networking has been done for login. (Except many components required for a true login do not yet exist so it's basic; if you want more information on that ask)
Database work still needs to be done. I'm not a database guy so I'm opting to use MS Entity Framework. Linq queries are neat imo.


The AuthServer should be fully fleshed out tonight. Until some web development happens, not my forte, it'll just register an account if it doesn't exist on login. Passwords will be bcrypted and this whole process will be multithreaded (GladNet SHOULD be threadsafe. We'll find out.).

Then after that I need to write a gameserver and handle sending down a "ship" list and handling requests to enter a ship. This requires some fancy session logic which should provide adequate security on transfering from the ProxyServer to the GameServer.

Although it'll be called the GameServer it will not actually service the game. Zone/Instance servers will. The GameServer will handle functionality that transcends a single game instance such as teams, instance creation, certain chat channels and maybe more. Depends on design. Not 100% sure yet.

I might make a roadmap and progress list on the front post later. People may be interested in being kept up to date.

Stealthcmc1974
Dec 13, 2014, 10:00 PM
Fair enough. Wasn't aiming for programming anyway. I guess I should have stated I'll majorly be doing Unity in the winter break, but also through the spring semester since I have a very light work load then.

Once I have my tools, I'm gonna experiment with UI stuff (namely the UI you'd see while in a quest to start). If I end up producing anything I feel is decent enough to contribute, I'll contact you.

Glader
Dec 13, 2014, 10:09 PM
Fair enough. Wasn't aiming for programming anyway. I guess I should have stated I'll majorly be doing Unity in the winter break, but also through the spring semester since I have a very light work load then.

Once I have my tools, I'm gonna experiment with UI stuff (namely the UI you'd see while in a quest to start). If I end up producing anything I feel is decent enough to contribute, I'll contact you.

Sounds great, if everything goes well by then the project should be far enough along to benefit from that. Hopefully by then a willing tool programmer pops up, a quest tool will definitely be needed for single writer the project would need much later from now. Would need to sorta be like the tool I made while at AoA, a code generation tool. If you need any help with something Unity related let me know ^,^

qoxolg
Dec 14, 2014, 04:52 AM
For the art part I can already give away that 3D modeling is not easy and still requires a lot of fundamental skills that you also need for drawing. Never mind texturing, UV mapping, rigging. For normal maps and such, I'd use something like Zbrush.

I haven't touched 3D in like 7 years and wasn't really great at it back then. If you really have problems finding a 3D guy, I could try to help making some assets if it would block anyone further progress, though I am not really interested in the art part if it's just a recreation of what already exists.


As for the database: Do you have some kind of design for it? You are definitely gonna have to document/model those kind of things if you wanna work together with others (yeah, I know programmers don't like to document :wacko: ). It's also near impossible to create a proper relational database looking at a bunch of tables alone. A good database design will save tons of time later on.

Glader
Dec 14, 2014, 05:39 AM
For the art part I can already give away that 3D modeling is not easy and still requires a lot of fundamental skills that you also need for drawing. Never mind texturing, UV mapping, rigging. For normal maps and such, I'd use something like Zbrush.

I haven't touched 3D in like 7 years and wasn't really great at it back then. If you really have problems finding a 3D guy, I could try to help making some assets if it would block anyone further progress, though I am not really interested in the art part if it's just a recreation of what already exists.


As for the database: Do you have some kind of design for it? You are definitely gonna have to document/model those kind of things if you wanna work together with others (yeah, I know programmers don't like to document :wacko: ). It's also near impossible to create a proper relational database looking at a bunch of tables alone. A good database design will save tons of time later on.

Well, so much code needs to be written before art is really relevant so it's no rush to find someone at the moment. Yea, 3D modeling seems pretty difficult. I'm hoping that the difficulty/complexity is reduced by having accessible 3D models of many of the needed objects already existing. There are loads of tools for unpacking that data from anything from DC to BB, written by some pretty clever people.

I'm trying to do what documentation I can in the current codebase, clientside, and I'll likely go through and fully document the current serverside once the Auth and Proxy server are mostly finished. As for actually writing external or supplemental documentation, eh that sounds like work lol. For the highly complex topics I will be writing papers on them, I've currently got one going on. Though may be more complex than the actual implementation of what it describes.

Databases... I have no formal or informal training when it comes to Databases. It's one of those topics I need to eventually bite the bullet and really study. As for right now I can't promise anything well designed or fancy, it's just not in my skillset. Thankfully persistence, and the need for a efficient database solution, will actually not rear its head until much later I think. The current design of the serverside puts anything database related completely off any game or instance servers so it should be easy to replace any existing implementation with it being so decoupled.

Thankfully many things will come before database work will be imperative I think. Hopefully on the way there I get some time to study existing solutions, their implementation's and etc. The Trinitycore project on Github has a pretty large MySQL database that I may take a look at. Although, if it's anything like their codebase it may not be a great reference point. I may instead have to shift through things on the internet.

For now I must sleep, I didn't get as much code in today as I wanted. I spent most of my coding time fixing bugs in GladNet and thinking about how I wanted to handle some things serverside. This time around I'm really really trying to keep code quality up as high as I can. I've gone through like 9 revisions of an MMO serverside from scratch and they all tend to become sloppy further in. Trying to avoid that this time.

Glader
Dec 15, 2014, 12:53 AM
Being that I've written, and performance tested, like every way under the sun in the past I decided to revisit the idea of handling packets. The last way I handled them was with an array of delegate that pointed to a Handler object's handle method which downcasted and called the bound delegate in the Handler instance. It was complex, convoluted, had what probably looked like arcane magic reflection code behind it, and required you to use only static methods for performance reasons. Needles to say it removed switch cases but it didn't feel any better.

This time I've decided that on the serverside, which currently targets the .Net 4.5 runtime, and could target 4.0 because I don't think anything in 4.5 specific atm, will use dynamic typing.

I'm religiously against dynamic typing and have explored for the past year many alternatives to this. However, after all this time I've come to the conclusion there are two elegant options that exist for >= .Net 4.0 runtime. Either static polymorphic binding or dynamic typing. The first is fastest but requires the removal of assembly boundaries to achieve this. That's a no go for such a complicated multi-application project that requires hiding of code from some applications (Ex. The client shouldn't know about server code for many reasons).

If you're as against dynamic typing as me then you'll be happy to know this will be decoupled from the actual handling of the packets. It will be trivial in the future, if for some unimaginable reason dynamic typing is crippling our server, to swap in switch case downcasting (ew). 99.99% of time spent handling a packet will not be the time spent for either the runtime to dispatch it to the proper overload or its straight up invocation. It's not as big a deal as it seems.

Unity3D operates on some sort of funky custom subset of 3.5 .Net (Mono) so dynamic typing will not be possible for the client or the instance servers.

Here are some preformance benchmarks:

http://puu.sh/dvk29/4a79258606.png

I feel I've spent a lot of time on design and thought hard about future implications of current decisions. It appears to be affecting productivity so I'll try to step it up and get things moving into faster gear.

qoxolg
Dec 15, 2014, 12:11 PM
I think your technical design is fine, but what about functional design? Had any thoughts about that? Or is that not your thing? From a functional point of view, games are still quite complex and for the sake of being flexible with making additions in the future, a proper functional drain is a must from my experience with monster size applications at work. Even when remaking an application, a lot of stuff that seems obvious, actually isn't and will become a pain later on.

In IT fixing afterwards is manyfold more expensive then fixing upfront, up to a factor of x20 when you make a mistake in the software requirements.

Glader
Dec 15, 2014, 02:24 PM
I think your technical design is fine, but what about functional design? Had any thoughts about that? Or is that not your thing? From a functional point of view, games are still quite complex and for the sake of being flexible with making additions in the future, a proper functional drain is a must from my experience with monster size applications at work. Even when remaking an application, a lot of stuff that seems obvious, actually isn't and will become a pain later on.

In IT fixing afterwards is manyfold more expensive then fixing upfront, up to a factor of x20 when you make a mistake in the software requirements.

If you mean this http://en.wikipedia.org/wiki/Functional_design then I think about it every keystroke. The majority of the clientside code is completely decoupled. Alot of the currently existing code is single use components that lend themselves well to delegates. Unity in >= 4.6 allows for serializing delegate-like objects to the editor.

The serverside is more of a challenge. Currently client objects need to be paired with an authserver with the lowest current load to authenticate with. I think a simple Func<AuthServer> (I wish I could go for straight up Func<Peer> but a client connection needs the RSA public key off the AuthServer so the child type is likely needed. Maybe write an interface instead, may be better who knows) would do fine injected into the constructor. But then the issue is these come from a peer factory and get spit out as their base type. I don't think a factory should inject this stuff because then it has to know about it. But once the factory is done the child type is no longer known. This is the cross roads I'm at, if I can solve this it might be easy to provide what connection objects require with low coupling.

Things get more complicated when you need to route packets to other subservers coming from the client. Some sort of routing service might work but it'd literally have to know about every single connection object. Who knows right now. I'm giving it my best so hopefully it'll end up being some friendly to maintain code.

Edit: I'll be exploring DI and IoC containers for solving this problem. It's about time I learn and then apply those principles anyway. GladNet suffers likely for a lack of it; unit tests don't exist because they'd be complex to write.

qoxolg
Dec 15, 2014, 04:22 PM
Thats still mostly technical design. Functional design is more about the decoupling of functionality. Functionality is quite broad. How will quests work? How can you design it so it will be simple to add new quests or add completely new types of quests, without having to write a single extra line of code. How will you design the technique system so it will be easy to maybe add new types of techs later on, without having to write extra code. How will you make unique weapons possible, like spread needle? what will you store in which tables/objects?


A good design usually allows a lot of flexibility. Will a quest be a single record in a single table in the database, or will you split it in a quest, script, reward, where the reward has a relation to the difficulty? rewards are also coupled to types, like meseta, or weapons? How will je implement the drop system? Is that information in the item itself? or is it a relation to a section ID, difficulty, enemy? etc. etc. etc. There are many ways to solve things in software. Usually the ones that are easy at first, will be the biggest pain later on when you want to change things.

Its kind off the object orientation for functionality of the software. Small function together will form larger composite functions, those composite functions together will form an even more complex function.

Glader
Dec 15, 2014, 04:51 PM
Thats still mostly technical design. Functional design is more about the decoupling of functionality. Functionality is quite broad. How will quests work? How can you design it so it will be simple to add new quests or add completely new types of quests, without having to write a single extra line of code. How will you design the technique system so it will be easy to maybe add new types of techs later on, without having to write extra code. How will you make unique weapons possible, like spread needle? what will you store in which tables/objects?


A good design usually allows a lot of flexibility. Will a quest be a single record in a single table in the database, or will you split it in a quest, script, reward, where the reward has a relation to the difficulty? rewards are also coupled to types, like meseta, or weapons? How will je implement the drop system? Is that information in the item itself? or is it a relation to a section ID, difficulty, enemy? etc. etc. etc. There are many ways to solve things in software. Usually the ones that are easy at first, will be the biggest pain later on when you want to change things.

Its kind off the object orientation for functionality of the software. Small function together will form larger composite functions, those composite functions together will form an even more complex function.

For example, quests, previously for another project I worked on a quest tool that auto-generated code based on what writers decided to implement. It was not fully completed though. The tool generated child classes to a base Quest class that would then be added to the project and instances of these quests would be requested via some factory or something. This allowed for the generation of simple quests similar to what was available in WoW pre-Cata. This however differs greately from the long winded and complicated quests of Phantasy Star Online. I'm not sure a code generation tool like that would lend itself to producing such quests.

A Phantasy Star Online quest is more akin to a level of say a Halo campaign. I think it's difficult to fully encapsulate the process in a auto-generated form. I don't see any benefit for storing quest information in a relational table so I don't think they'll be contained within the Database. Especially since the instance server is likely to handle quest event while the gameserver is likely to track them. I don't see a point to the gameserver querying a database for quest information. I think a lazy loaded approach to quests from another format is warranted.

Techniques are, as I described in a previous post, very physics oriented. Their implementation and their resulting effects will be handled by instance servers. A gameserver will contain state information but will have no idea that a Zonde just killed a Booma, unless for some reason it's deemed required. A Gamserver will only know that a object of ActorType.NPC with UniqueID: n took x amount of damage. These messages are reliable and deterministic but I may not let gameservers handle deaths. Instances may be required to tell a gameserver. I really want gameservers to only have barebone knowledge of what's going on in instances. Anyway, adding a technique that fits in description of the early would be easy.

Example: Barta-like grants could be implemented easily. Using events it'd be easy to combine the two. Barta would be based on a linear projectile with a width component. On collision with an ICombatable or something you queue up a delayed action, the grants portion. Boom you have a linear barta-like grants. Without any code written. Add it's definition to some sort of spell managing object or something, not 100% sure how that'll be handled, and it's ready to work serverside. Would just required a client send the proper tech request with the given code assigned to that tech.

You have a lot of quests about design that I could probably spend hours right now hypothesizing and talking about. A instance of the game may be injected with IDropProvider's that created elsewhere based on difficulty or something. Seems like it'd be beneficial to store in a database but the issue is a lookup would have to go instance -> gameserver -> database server -> database -> databaseserver -> gameserver -> instance server. All happening async. Complex for sure. Best to have drops handled in a properitary format that can be generated with designer friendly tools and GUI. Then lazy load that informate on demand for the given instance via the IDropProvider or something. Who knows. I do not have the entire design for a massive MMO serverside perfectly worked out in my head. Can anyone really? Anything I come up with may not work in practice.

Stealthcmc1974
Dec 15, 2014, 05:38 PM
After reading all of that, sounds like you might appreciate another networking guy to work with.

Glader
Dec 15, 2014, 06:29 PM
After reading all of that, sounds like you might appreciate another networking guy to work with.

It wouldn't hurt, it's a massive project. It would take forever to write it all alone. It wouldn't be too beneficial at the moment though as we'd just be stepping on eachother's toes. In a week once things are more established it could be very beneficial. There are other areas that are programming related though that may be better suited for working on atm especially since I do not expect more than a couple to even approach me.

edit: It took a good chunk of time but I think I fully understand the benefits of DI, it seems I already applied it loosely, and IoC. The 'Ah-ha' moment culimated in the watching of Jon Skeet, eternal master of all that is .Net, implement a simple IoC container implementation https://www.youtube.com/watch?v=cfvTfU5RK8Q. Seeing how it worked let me understand how to use it and why to use it. Still not 100% how I'm going to utilize it. I might go with the factory pattern for alot of key objects and distribute the required IoC containers to the factories to get dependancies out of via the application's entry point (For GladNet application's this is OnStartup()). Maybe that's a good idea and maybe it's not. Still not sure how to resolve issues with dependencies further down the line as obviously other objects will be needed. I feel more and more like this serverside is turning into a famous semi-open source MMO framework based around Photon Server SDK by CJR Gaming. Anyway, off to keep studying it and then apply and rewrite the server this way. I'm really liking what this can do for the serverside.

Glader
Dec 18, 2014, 11:45 PM
Hi guys, I wanted to let you know that the project is still alive and well. I've taken it upon myself to move closer to what would be considered industry standard in terms of development. I've acquired some unit testing tools, NCrunch and NUnit, and have been developing accordingly to be as testable as possible. I estimate that the unit tests have saved me days or development time so far.

The main goal of each line of code I write is to be absolutely maintainable. I wish I'd known some of what I know now when I wrote GladNet as it's not as testable and maintainable as one would hope. However, this project is very different. I continuously have unit tests running in the background with NCrunch providing me invaluable realtime code feedback. This of course can only be as good as the code is testable so much effort has been put into TDD.

DI and IoC principles are in full swing as well. The project utilizes AutoFac which is an IoC container framework. It's currently mostly used within the connection factory classes used to resolve the dependencies each connection requires. Things are quite decoupled and functionality can be changed on a dime. It's not unrealistic to say "Hey, I don't want an AuthServer anymore. I want it to authenticate on the proxyserver." Not a single line of code would actually have to change in the client or the class that represents the client on the serverside. This is of course only the beginning too.

To provide some metrics I've written about 2950 lines of code the past couples days. This of course excludes any comments, braces, whitespace or using statements. Not a great metric for anything but at the very least it should imply that things are moving at a breakneck pace. Overall, if you include GladNet, the project is sitting at about 11,000 lines of code. However 2500 of those lines are a statically linked diffiehellman implementation. It's some of the best, decoupled and maintainable code I've ever written in my life. I'd have to say it's some quality code.

Here are some the VS metrics:

GladNet
The launcher and loader are very small temporary applications. Their metrics don't really matter as they'll be replaced by more functional solutions.
That INSANE clycomatic complexity comes from the statically linked diffiehellman implementation that I DID NOT write.
http://puu.sh/dAEEz/313052c4d5.png

The ServerSide
Ignore any of the projects named test. Those are just projecs containing unit tests. Also, I'm working on code coverage. It's a difficult task to do with networking code though. GladNet needs some changes to be able to mock an connection for more meaningful testing. I also need a more elegant solution to packet handling so that handling is better testable.
http://puu.sh/dAEKs/d35c612d4e.png

Client
http://puu.sh/dAEQu/38bb89aeff.png

I'll continue to work rigorously on serverside functionality. I will not shirk design or maintainability. Once again, anyone interested please contact me =). This isn't like those other fan projects that are a total joke who spend a whole year without even writing a login system or something.

Glader
Dec 23, 2014, 03:12 AM
Server code is coming along dandy. I'm really digging the design. Resolving dependencies just got really complex though but it's not an issue. I started to collaborate with someone who has contributed to the PSO community in the past.

Stay tuned

Glader
Jan 16, 2015, 02:42 AM
Just a quick update on the first post. Myself and others have been working diligently on a promotional demo that we'll be releasing very soon.

We hope this will generate some interest for the project to gather talented and much needed artists. It will undoubtly prove we can bring your artwork to life within a PSO universe. Feel free to check it out on the front page. I even left a teaser for you guys on the first post =)

qoxolg
Jan 16, 2015, 04:33 PM
Looks great man! You captured the mood perfectly fine. Exactly the mood I felt when I first entered forest, 14 years ago. Is this still mostly with the original models/textures? The trees and foliage seem new?

Hope you will find some good artists. I will se if I can help if you really can't find anyone. Would be sad if this project would crash because of a lack of artists.

Stealthcmc1974
Jan 16, 2015, 06:15 PM
If there is anything I can say about, it looks really bright. I mean I guess thats the way it was when I look back at the original, but looking at it now... idk, the saturation seems a bit much. Maybe its just something caused by putting the preview clip into those formats. Hopefully its just that. Otherwise, looks great! I'm getting a good PSO vibe already.

Glader
Jan 16, 2015, 07:14 PM
Looks great man! You captured the mood perfectly fine. Exactly the mood I felt when I first entered forest, 14 years ago. Is this still mostly with the original models/textures? The trees and foliage seem new?

Hope you will find some good artists. I will se if I can help if you really can't find anyone. Would be sad if this project would crash because of a lack of artists.

I'm glad it was able to capture the original's spirit =)

We used what we needed and changed what we could. The terrain itself is based on the original. The way we were able to convert Forest 1's map into a Unity3D terrain was a neat process lol. I think it'll be alright, this demo should be a smash hit.


If there is anything I can say about, it looks really bright. I mean I guess thats the way it was when I look back at the original, but looking at it now... idk, the saturation seems a bit much. Maybe its just something caused by putting the preview clip into those formats. Hopefully its just that. Otherwise, looks great! I'm getting a good PSO vibe already.

That clip is a bit old. The tree's are less bright and many of the plants have had their materials changed to reduce their brightness as well and darken their color. We'll be making adjustments like that shortly before we release since it's not a major development issue atm. Glad it has the PSO vibe, I'll take a look at what everything looks like with lower saturation in color on the terrain.

Jaspaller
Jan 31, 2015, 05:24 AM
I've been watching this thread for the past month or so. Thumbs up on the progress. I can't help out with coding but I would love to help out with testing should you need testers.

I don't really care to see photon arts in this remake, but it's all up to you as the coder of course. Good luck with the project though, I'll be keeping an eye on this.

Maelfyn
Apr 7, 2015, 09:13 PM
Just make something really similar, but don't infringe any IP. It's a battle you won't win. Game developers do that all the time.

yoshiblue
Aug 28, 2015, 08:11 PM
I wonder this has been shaping up?

SuperCentipede
Oct 6, 2015, 11:20 PM
Just make something really similar, but don't infringe any IP. It's a battle you won't win. Game developers do that all the time.

That's kind of what I said in their post about the Demo. I said they should make a spiritual successor instead.

Glader
Nov 3, 2015, 09:47 PM
I wonder this has been shaping up?

It has been shaping up slow but steady. We released the shoddily made promo as well as an analytic build for a Caves 01 level design which can be found in a thread linked on the first post of this thread.

Basically, here is what has been going on. I've decided to rewrite the networking library which our original servers were based on. We were a decent chunk along on networking before we diverted attention to a promo. Within that gap of time I learned a considerable amount, since I'm rather fresh to programming, and realized I had no choice but to rewrite GladNet, our netlib for the project. The repo for this can be found here: https://github.com/HelloKitty/GladNet2.0 (ignore the sparse readme for now)

The main goals for GladNet2 is to not only write highly testable and mockable code but to test at the varying levels. GladNet2 currently has 180+ test cases and thus far can be deployed on either Windows or Linux. On top of this GladNet will retain the original feature sets, though less emphasis on custom serialization and encryption, and will in general will be of higher code quality, more extensible and resistant to regressions in future revisions. On top of this GladNet2 will allow for increased productivity on serverside development due in part to its testability; allowing mocks that can let you easily write integration tests, or help you write unit tests that depend on the networking layer. On top of that GladNet2 will have a far more documented source, as it does currently compared to GladNet1, and several supporting design docs explaining header structure, flow and design decisions made. I do not generally write these beforehand. Possibly I'll do so for the rewrite of our server applications. This will be my first attempt at doing so, better later than never.

Additionally we will be making a foray into writing testable code for Unity3D. Some talk about the design of doing so was recently had in our Skype conversation. This will allow us to become engine-agnostic (still tied to C# though) and better maintain our codebase which will, assuming we succeed, inevitably grow to a considerable scale since this project is not simple.

The reason for the emphasis on testability is our goal is to not just remake Phantasy Star Online but to also open it up to the community for extension. Maintenance and regression prevention will become key should the project succeed so naturally we'd like it to be simple for a newbie to potentially make a change and and not break existing functionality.

After the last failure I'm taking this project as seriously as I can, to the best of my effort, trying my best to develop something that not only works but that works in a well designed fashion that can last for a long time to come. It's very possible in another year I'll discover my faults and realize that I did not have what it takes to make this a possibility, like I seem to do every 6 months, but this time I'm pretty confident this can be done right.

As for what you can expect, in a long-ish while from now you can expect a networked character customization demo that includes a launcher and patcher and a patching server to boot. The importance of this is our plan is to incrementally add features on top of what already exists. We're aiming to write clean production ready code, no more quick hacks, and will slowly increment features until we've a playable game. By putting out a patcher as soon as possible we open up the possibility for delivering these builds to you for anyone willing to test them and provide feedback.

For a more short-term update, aside from GladNet2, last night I started the level design for Forest again. It's not finished but I think it's going in a better direction so far.

Original: http://imgur.com/X21ette
Current: http://imgur.com/ps1fesi

This project is not and never has been dead. Kion, Pol and myself are putting forth our best effort when we can find the time to make this a reality and as always we're looking to expand our team with other like-minded and competent developers.

We are in need of (bear with me, I'm a programmer so the terminology may be a bit off):

3D Modelers: Generally we're in need of 3D modelers capable of organic modeling some of the original foliage that made Phantasy Star Online unique. Additionally we need some modelers capable of remodeling some of the core assets. We can and will provide original models and textures that can be used as reference.

Texture Artists: The original textures are definitely import to emulate though none of us currently have the ability to produce quality textures for the project. We have to work with what we can find and sometimes that doesn't fit into the unique artstyle of Phantasy Star Online. Experience in DDO or Substance is a huge plus but not required.

Programmers: If you've experience in Unity or are just a C# guru we're looking for you. If you like to talk design and think towards the future when writing code you're a perfect fit. If you don't mind writing unit tests and documenting your source then definitely consider offering your skillset. For non-Unity programmers the serverside, with the exception of a small portion, is in pure C#. Don't hesitate if you don't know Unity3D. The only true requirement is advanced C#.

Level Designers: I'm not great so it'd be fantastic if someone better than myself took over level design. Understanding concepts of occlusion culling, use of Unity materials and constraints for Desktop games is a must. Experience in Unity is a must.

Various other unmentioned Game Development roles: Do you make music? Do you make concept art? Do you maybe do something else I didn't think of? We're more than happy to welcome anyone with a tangible development skillset. I only asked for the bare minimum above but we'd be happy for skilled people with a passion for Phantasy Star Online contribute what they feel a remake would need.


For everyone else thank you for the support and patience. There is a high chance this project will fail, and to be honest you could say we did and are rebuilding currently, but we will continue anyway. We've regeared to the long-term and plan to stay that way.

Glader
Nov 14, 2015, 01:30 AM
Made a video of the Forest 01 level design: https://www.youtube.com/watch?v=iV6skAtkGrQ

It's mostly done. I'm a programmer so I feel I've taken it as far as I can for now. We're looking for 3D modelers though who might want to contribute and remake some of the original assets.

I plan to return to developing GladNet2 and various other libraries and tools that will be needed for the longterm success of the project. I hope we'll have something exciting to post about in a couple months.

Glader
Nov 27, 2015, 03:07 AM
Made a Windows build of the Forest 01 design. If you don't have a semi-beefy computer I'd not recommend downloading it. No in-game quality settings to adjust, sorry. I'm busy working on Testity and school work. The project overall is still slowly moving forward.

https://mega.nz/#!CBxFDIYC!nuTaqio3hLKdswxHkTVp5vvh3xWYhNYjrmk48IQ VS0I

If you wanna just watch the video it's still up on Youtube: https://www.youtube.com/watch?v=iV6skAtkGrQ

qoxolg
Nov 27, 2015, 08:13 AM
Looks great! I'll try to give it a run later today. I hope a GTX970 is sufficient.

Zorafim
Nov 27, 2015, 09:57 AM
That looks absolutely gorgeous.

Glader
Nov 27, 2015, 12:15 PM
Looks great! I'll try to give it a run later today. I hope a GTX970 is sufficient.


You should be fine. A GTX 970 is vastly superior to my video card. The only issue is there is stuttering, even though the frame rate is above 60, and I don't know why. The stuttering isn't poor preformance and I'll look back into it in the future.


That looks absolutely gorgeous.

Thanks =)

Glader
Jan 10, 2016, 03:59 AM
Hi guys, I've been working on Testity which is a custom build process for games projects in .Net. It currently uses code generation techniques to allow for the creation of unit testing and dependency injection friendly components. You can find this WIP in this repo: https://github.com/HelloKitty/Testity

In a more cool announcement we recently teamed up with a talented artist named Meleemaru! He just joined us and already we've something really cool to show you that he has created. He did the modeling, texturing and animation for this amazing piece. The video may be laggy but I assure you his art is worth sitting through it. Check out the Youtube video here: https://www.youtube.com/watch?v=1X9sJUwy9Qk

yoshiblue
Jan 10, 2016, 07:05 AM
Got to admit, I like how you can read the words off the small door screens. That's pretty cool.

Glader
Apr 4, 2016, 01:44 PM
State of the Project March 2016 video update: https://www.youtube.com/watch?v=STenkKA090g

Read the first post of this thread for some information about the video and previous happenings.

Picture of the old promo code running on-top of the new Forest

[SPOILER-BOX]http://i.imgur.com/DHf41op.jpg[/SPOILER-BOX]

Myobi
May 19, 2016, 06:00 AM
Glad to see the project is still being worked on. If you need help with your GUI please feel free to send me a message :)

Glader
Jun 25, 2016, 02:27 AM
Hey guys, I updated the front page with some information about the project. Including a public Trello I created tonight: https://trello.com/b/PCcyUU6l/pso-remake-main for people to follow along with the project. We've also moved to Slack and have teamed up with another artist! Watch out for his first contribution on my Youtube channel sometime next week: https://www.youtube.com/user/hcflowen/videos

We're still looking for more talented developers. Read the first post for more information. Follow the various Github Orgs and Repos I posted on that page too if you're a developer interested in contributing or poking around in the work done so far. Almost everything is open-source except for the Unity3D scenes themselves. Even the Unity3D client code is public as we compile it externally and import DLLs.

I look forward to bringing more interesting news in the future.


Glad to see the project is still being worked on. If you need help with your GUI please feel free to send me a message :)

Hi, we still have the same UI artist who built the Promo UI but he's definitely burdened with building and maintaining the exporter tool for PSO:ES. If you have a portfolio feel free to message it to me. I'm very picky though since Pol has created AMAZING UI elements so far.

Meleemaru
Jun 30, 2016, 05:02 AM
Hey fellow PSO-fans, here's an update from one of the 3D-Artists of the project:

Stills:
http://puu.sh/pLaOU/fb353afeff.jpg
http://i.imgur.com/FUlu2J3.png

Animated:

https://embed.gyazo.com/8e1239ca5ea42f9617cd664f9a9f93c6.mp4

So we got the Booma-Family (completely animated) and the Poison/Nar-Lily (also completely animated) here. I think they turned out pretty well, very close to the original, with some minor changes here and there. It was a bit complicated to texture the Booma, as i needed to add some "fake" contrast since the old textures had shadows/light worked into the texture. Kinda fun to emulate the old texture style PSO had. Right now i'm working on the famous Rag Rappy. The goal (for me) is to have all Forest Monsters finished by the end of the next two months, because i got a lot of time on my hands in this timeframe. So for now you can expect more frequent updates. We also found another PSO-fan and 3D-Artist that is working on mechanical things (laser fences, switches, etc), he too is creating some awesome stuff right now! :)

Little "request":
I'm not too experienced when it comes to making animations. To be honest, the PSO animations weren't the best either, so remaking animations of most monsters isn't too problematic. But once we get to more complex things (Bosses, Quadrupedal enemies, Player weapon animations...) it'll take a lot of effort and time for me to get the animations right. I can't say how problematic it will be, but i can say that it will take a lot of time for me to make those animations because i simply lack routine. If you guys know someone that can create good animations (and rig models maybe), spread the word about this project! :D

Meleemaru
Jul 9, 2016, 11:06 AM
http://i.imgur.com/CdJpP9V.png

More pictures: http://imgur.com/a/swiVH

So, i've finished the Rappies and the Mothmants+Monest. Both were more work than expected, the textures took a lot of time while the modeling itself wasn't a big deal. I kinda need to emulate the old PSO look and find the balance between the old look and "next gen" graphics. I think they all turned out well, maybe things look a bit more western, but i think that's normal since the shaders are more realistic. We use PBE textures btw. I already animated them, maybe i'll post some animated stuff in the next update. Things always look better in motion. :D

Next up are the Wolves and the Hildebear, which i hopefully have reworked by the end of the month. After that i plan to redo either the Dragon, the Dragon boss-area, the Guild-Counter-Room of Pioneer 2 (for testing/showcase purposes mainly) or something else that happens to be needed for the Forest. If all of the above is done i will start working on the Caves monsters. I will start to rework some MAGs inbetween, in no real order. Our other Artist is working on the forest assets while i focus on organic modeling for now.

We're still looking for people that'd like to contribute. If you think you can help in any way, write /u/Glader_OGS a message about it. :)
See ya, space cowboys! :D

Reddit thread link: https://www.reddit.com/r/PSO/comments/4ryc3o/pso_remake_rappys_and_more_edition/

qoxolg
Jul 11, 2016, 12:41 PM
Very impressive how it is shaping up!

Zorafim
Jul 11, 2016, 01:09 PM
I agree. I didn't think this would get this far.

yoshiblue
Jul 11, 2016, 06:42 PM
Those Boomas look really decked out now. Rappy's look scary too. Though I will miss their cuter appearance, this is looking great.

Meleemaru
Jul 12, 2016, 06:52 PM
Thanks for the replies. :)

@Yoshiblue
I really try my best to match the old PSO style, but it will look more "western" eventually. That's due to many factors, but mostly because the shaders/textures we use and that i rather go with "make it a bit more realistic"-approach instead of "a bit cuter/cooler/japanese"-approach. And another factor is that i heavily look at concept art and EPIII card illustrations when redesigning things. I want everything to have a consistent look.
But with the Rappy, you're probably right, it could've been a tad cuter. I might try to change that later down the road (it's mainly the eye-shape/size/position i'd need to finetune a bit to achieve a cuter look i guess).

Sacrificial
Jul 13, 2016, 07:33 PM
I actually prefer this Rappy look. Looks way more like something you would encounter in the wild.

qoxolg
Jul 14, 2016, 08:28 AM
The original PSO was made in a time when SEGA was still internationally focused. Heck PSO's original trailer (yeah THAT one) they even promoted that the player population is the entire population of the world (1000 beats a day, etc, etc)

PSO still had this very distinctive graphical style that all SEGA games had since the SEGA Saturn era. The forest area always reminded me of the first level of NiGHTS. Very bright and saturated colors. PSU in comparison looked super dull. So, yeah, make sure you don't filter colors to much and I am sure you will be capture the original style while also usin more modern lighting systems and textures.

Meleemaru
Jul 24, 2016, 04:23 PM
Update time!

https://psoremake.files.wordpress.com/2016/07/psormbanner.png?w=920&h=579&crop=1

Hey guys, I set up a wordpress to keep better track of the posts for myself. Also it's easier to format than a reddit post i guess, but hey, maybe i'm just lazy. I think I will post updates every 2 weeks here, seems like a good shedule to me. :)

In addition to the blogpost: Next on the list is the Forest Level Remake (geometry + textures) and the dragon. Our other 3D artist mentioned in the blogpost will work on other Forest assets, probably the teleporter or boxes. In between: MAGs, Weapons, other stuff. I will post some videos in the next update, or maybe make the whole update a video.


https://psoremake.wordpress.com/2016/07/24/pso-remake-forest-monster-edition/

Vashyron
Sep 18, 2016, 08:30 AM
I haven't logged in PSOW for like 2 years, but I finally did here to tell you how amazing this looks and is shaping up.

I can't wait to see more progress.

qoxolg
Sep 18, 2016, 12:36 PM
I agree this looks fantastic!

Keilyn
Nov 6, 2016, 04:13 PM
I will be blunt here:

First, I like your work and your attempt at recreating a game you love. I was a fan of the original PSO.

That being said, I will get down to my bluntness with some experience working with video game modding, Modelling, Texturing, and Programming (Have several completed projects as a mapper under my name)....

Recreating an original game seems nice at first until you realize the truth of one thing... The original game already exists! This means trying to recreate an original game to enhance the graphics, revive it, and make it more free to mod does not change the fact that its a recreation. All of this would be great and amazing if you could push a button, ask for that Hyperbolic Time Chamber from Dragonball Z, stay there for five years (which would be five days our time) and there you go... you have your game..

But life is not like that.
Time moves forward...not backwards.
There are four open source projects I have been part of. Three of these projects were completed and they revolved around the same theme... "Take an old game and recreate it" all in the sparetime of people....

In fact, there was a company...
ID Software (who makes Quake)
who's fanbase bitched and complained to make a Quake 3 Multiplayer Revision...
and that is EXACTLY what they did in Quake 4 Multiplayer...
and that did not survive...

However, I will tell you what survived...
There was a group of players who wanted to revive one of their favorite MMOs.
Of course, reviving such a game would take a ton of work.
However, they got the people to do it and a point came when they were given a "cease and desist" order.

Depressed, and Confused... thinking their revival was doomed.
They did something totally different!

They launched their own independent company and since they used a game engine that is licensed out and not owned by the company that sent the 'cease and desist' order, they actually said "Fine! We will stop" and the following week they changed their plan to revive the game and chose to create an all new game (using the same assets they made from scratch) and change everything for themselves.

This caused a community filled with people who liked the original game, who were fed up about the original game's problems in-game and lack of customer support to seek out this group and help them out a bit.

You see, people didn't just want a clone of a game that they liked
They wanted a BETTER GAME, not just the same game with the same bullshit, under the same group of people...

The group gained success and now they are in mmorpg.com about to release their game.

Their developers even said
"If you wish to challenge a company, don't waste time cloning their game... because they can pull the plug at anytime and have as much right to it without putting in any work as you do. Challenge them by making your own game that plays in a similar style, but is better!"

You can complete Phantasy Star Online 1 Remake...
and sure, you might attract a few people away from private servers etc...
Hell, you might have me playing as well to try things out for the fun of it all..

But in the end I know a clone is just a clone
fantastic or not..
So will everyone else...

Once again.
Your work is great, and I love it.

The whole forum can flame me to pieces...
but I only care being flamed by people who actually know their shit in this area.

SuperCentipede
Nov 8, 2016, 05:07 AM
That's kind of what I said when this project got started.

I said that this would be better off as a spiritual successor to PSO than a copy of it. As well as avoiding legal issues with Sega, they could also make a tidy profit from it, as well as more creative control. Glader and the team have more to gain that way.

Vashyron
Nov 15, 2016, 07:54 PM
With Sega, legal issues should be fine as long as not making money out of it?

http://i.imgur.com/BGQYSpN.jpg

ScoobyDew
Nov 26, 2016, 10:46 PM
I haven't had time to read all 13 pages of text but what I've gathered from my experience on the PSO-World forums... PSO-World has the worst community of all the forums I've been to. Everyone is a naysayer. This is PSO, a SIXTEEN year old game. Any kind of content is worth pushing forward for. Content creators of PSO don't gain as much recognition as say TF2 creators. The fact that we do anything with this old game is fantastic to begin with. Don't go pushing down a guy who just wants to share his love for the game. Whether it fails or not at least he tried to do something big.

Look. Glader. If you want to go through with this go right ahead. I'm with you all the way and I've offered to help you with animations. I still haven't heard from melee but it's whatever I guess. I just wish you were more vocal in the PSO community.

MightyHarken
Dec 8, 2016, 03:15 PM
Still hoping on this thread.

SStrikerR
Dec 10, 2016, 02:38 AM
I hate to say it, but it looks like this project is dead. Or at least on hold for the foreseeable future. None of Glader's threads have been updated in a while, and his github account hasn't been active either. If it was a simple break or something along those lines, we would more than likely be informed about it. The silence is a classic sign that the project died, though.

yoshiblue
Dec 10, 2016, 09:22 AM
Aw, unfortunate. Well one can only hope its still alive, so here's to hoping.

Glader
Jan 10, 2017, 06:19 AM
Aw, unfortunate. Well one can only hope its still alive, so here's to hoping.

It is alive. I'll spare from the monotony of talking about internal invisible stuff that has been built. Visible progress takes awhile. Lots of interesting internal things have been implemented or improved but I'm in no way pretending I've been working on this PSO remake non-stop. Additionally I work on two other projects, one is a custom 3.3.5 reverse engineered World of Warcraft client that connects to private servers, and working with WoW packets has informed me on some recent networking decisions with PSO. Anyway, being in school and finding it often difficult to motivate myself working on the same thing all the time I can sometimes bounce around. My humanity sometimes causes me to waste some time playing a game every once in awhile too.

But I digress. Here is an update video. It's mostly a technical networking demo but it does have a nice visual appeal. If you're interested feel free to watch it.


https://www.youtube.com/watch?v=xUPWxS3fcw4



Look. Glader. If you want to go through with this go right ahead. I'm with you all the way and I've offered to help you with animations. I still haven't heard from melee but it's whatever I guess. I just wish you were more vocal in the PSO community.

Art is out of my department. I've left it up to Meleemaru and Evil. I'm only qualified to handle things related to networking, Unity3D or C#.


I hate to say it, but it looks like this project is dead.

Things have been slow but hopefully that update video is a pleasant surprise. We're not dead yet. We've been semi-dormant with Meleemaru leading the charge with his fantastic art. I've been split between internal/backend PSO stuff, World of Warcraft emulation with Trinitycore and reverse engineering a custom client you can see here https://www.youtube.com/watch?v=uXkQrapBslY . I've learned a lot working with WoW packets and have stolen some of the network design from World of Warcraft and integrated it with my work in the PSO remake. I move between a handful of projects so that I don't burn out. Otherwise if I work nonstop on the same thing I lose motivation.

Adriano
Jan 13, 2017, 02:25 PM
Grader posted a caves video on his YouTube channel if you guys care to see..
Not sure if I should post as it's his thread 😯..,
But it looks dope

http://www.youtube.com/watch?v=lMddBLCNIwY

Glader
Oct 16, 2017, 03:12 AM
Hi guys! Abit of an update, you can check the first post but I'll also quote it here. The tl;dr is that the project pivoted to a PSOBB custom client.


Hi guys, just a bit of an update for October 16th 2017. The project has recently pivoted, it is now a project for the creation of a custom Phantasy Star Online BlueBurst client. This client is being built to be compatible with PSOBB servers with a goal of full parity and interaction with other PSOBB clients. The good news is it already works! The project is relatively new, only started a week or two ago, and we've already got some decent progress.

I've been trying my best to put out daily development update videos on my youtube channel (https://www.youtube.com/user/hcflowen) and I've even created a playlist (https://www.youtube.com/playlist?list=PLkE4oWqa4Ty0NC7BT204ONzXNF0FlH_7x) that you can use to see and keep track of progress videos.

The announcement video:


https://www.youtube.com/watch?v=mBtZCHtKYOg&list=PLkE4oWqa4Ty0NC7BT204ONzXNF0FlH_7x

The work is also 100% open source, semi-documented and available on Github in various places:
https://github.com/HelloKitty/Booma.Proxy
https://github.com/HelloKitty/Booma.PSOBB.Client

The hope is this pivot will tap the resources of the greater PSO reverse engineering community, reduce the scope and complexity, increase the likelyhood of adoption, and lead to a better experience for more PSO community members overall. Stay tuned!

Glader
Sep 26, 2018, 11:51 AM
New update video, we went to Ragol!


https://www.youtube.com/watch?v=PwLFHMAMnwk

Series playlist: https://www.youtube.com/playlist?list=PLkE4oWqa4Ty0NC7BT204ONzXNF0FlH_7x

Glader
Jan 29, 2019, 11:13 PM
Looks like I forgot to keep this thread updated. I guess I'll post alittle bit each week until it's caught up.

Here is a video about BOXES:


https://www.youtube.com/watch?v=vwWQLEDBX6M

Dragwind
Jan 30, 2019, 09:39 AM
Looks like I forgot to keep this thread updated. I guess I'll post alittle bit each week until it's caught up.

Here is a video about BOXES:


https://www.youtube.com/watch?v=vwWQLEDBX6M

All progress updates are worth posting about :wink:

Glader
Jan 30, 2019, 07:12 PM
All progress updates are worth posting about :wink:

I have to slowly trickle out the content though, like I'm Blizzard Entertainment in 2018!

Glader
Feb 2, 2019, 06:50 PM
Here is another belated update video about doors and buttons:


https://www.youtube.com/watch?v=vY7grABbJCI

Glader
Feb 7, 2019, 09:15 PM
Here is a REALLY cool video showing A LOT of features. Most importantly, a new video showcasing work on Technique/Spell Casting packets!


https://www.youtube.com/watch?v=EHRnIn8951I

Glader
Feb 16, 2019, 10:01 PM
PSOBB combat packets demonstration. This is a video that ends an era. Thank you all.


https://www.youtube.com/watch?v=Q3QHVuY5wXU