fragmental / HabitRPGDesktop

A HabitRPG client built using the Unity Game Engine
0 stars 0 forks source link

Contributor Sound Off #1

Open fragmental opened 10 years ago

fragmental commented 10 years ago

If you are interested in helping with this project, send me a message, e-mail, or post a comment below.

Atomk commented 10 years ago

If you want I can help you with non-graphic stuff. I'm creating a C# client myself and I am learning a lot on how to use API. However I never used Unity, I don't know how much I will be useful.

fragmental commented 10 years ago

Hey @Omnomnobot Are you otomatonom?

fragmental commented 10 years ago

@Omnomnobot How is your client coming along? What parser have you been using? I've been doing most of the programming on my client so far, and I would really like to spend more time focusing on the graphics side, but there are still a lot of features missing.

Atomk commented 10 years ago

No, I'm CakeKnight if you meant the username on hRPG. I'm using Json.NET as parser, and I'm doing a chat client now, because the main stuff is quicky improving on the site and I can't do better at the moment. I tried your client and it is nice, maybe it lacks some "usability" more than features in my opinion, but I know it's only the first version and it's impressive you coded all that stuff alone.

fragmental commented 10 years ago

Oh. Hello. I know that features are missing, but what do you mean when you say it lacks usability?

fragmental commented 10 years ago

Occasionally I start feeling really generous(and maybe a little lazy) and I start thinking about releasing my code as open source, maybe even MIT/BSD type licensed. But then I think about the possibility of actually making money off the work that I do, for once, and it makes me second guess.

I mean, should I give a gift to the world, or make an attempt to provide for myself? It's a hefty decision.

Atomk commented 10 years ago

Sorry for the late response, by "usability" I mean that as a HabitRPG's site user I expect some features like, just to make an example, creating a task just pressing the Enter key. What will make users prefer your desktop up over the site? If you want to get some money you should give some advantages that the site lacks, in my opinion. You can ask for donations in your project page.

If you feel accountable and willing to take the challenge, you can try to make something awesome and sell it, make people pay for premium features, especially if you compile a mobile version too. like in the site. In the other hand, by opensourcing it you can get more people interested in the project and probably someone that could help you with programming/graphics. However you can opensource even a few file and keep the rest of the project private.

fragmental commented 10 years ago

Hey. How is your chat client coming along? Are you still interested in helping/collaborating? I've actually made a lot of progress. I've cleaned up some of the code, and implemented a lot of features.

I wrote up a short little agreement that people can sign, if they want to look at or help with the project.

There's currently a terrible ssl algorithm bug in the version of mono that unity is using that completely breaks the connection with habitrpg.com. It still works with a local unsecured server. I imagine it probably still works with a lot of the other ssl hash algorithms also, just not the one habitrpg.com is currently using. Right now, it seems like Unity won't fix the bug because it's not present in their next major release, Unity 5, which probably won't be out until sometime in 2015.

So, I'm trying to decide what to do next and what path to take in the future. I'd like to get a web version or the unity client working as a sort of demo, and I will probably have to connect that to a local server or upload that server to the web.

Atomk commented 10 years ago

Hey, glad to hear that your software is improved! While I was coding my client I found that Visual C# is really powerful but I can't develop a nice UI without external tools, so I decided to try to make something for Android. Actually I'm working on a client for party chat; it isn't fully functional but since I'm coding in Java for the first time I'm quite satisfied, when I'm done I think I'll open source it.

I'm not really an expert in network stuff but with my highly simplicistic client I never had connection problems, are you sure this bug is the main problem? Anyway, I am still interested in your project and I'd like to enhance my coding skills, if you think I could be useful just tell me what your project needs :)

fragmental commented 10 years ago

I think the uvwxy android client is gpl v3. https://bitbucket.org/uvwxy/android-habitrpg-client/src I think there's also some open source api stuff from magic micky https://github.com/fragmental/HabitRPGJavaAPI which looks like it's apache v2 licensed.

Unity engine's UI is a bit complicated, and there are dozens of replacements, but there's a new official one which is scheduled to come out with the next release. I suspect it should come within the next 4 months. I'm kind of excited by it, but I'm keeping that excitement in check. It could be the best thing ever or it could be a huge letdown.

http://fogbugz.unity3d.com/default.asp?602783_4ddsl9l014uuvquo This is the bug report with unity. The bug isn't present in Unity 5, because they are using a newer version of mono. But unity 5 probably won't be out until sometime next year. I did get a response just today from Unity bug reporting that they will show the issue to their developers to see if it could be resolved before 5.0 is released, so that's something. The exact response was "I'll send this issue to our developers for resolution. At the time we cannot say when the fix will be available to the public."

So, I'm kind of stuck trying to decide what to do next. I'd like to get the application running in 100% offline mode, for the obvious reasons, but also because I think it will greatly improve performance(since the app won't be subject to network latency). I could try to learn to read habitrpg's code, or I could try to write a new application from scratch. With the bug preventing it from communicating with habitrpg, I could setup a separate server that it could work with, though it might have to be insecure. I could also try to get some sort of online version of my client working as a demo.

I could also abandon the project for a while and work on something completely different until the ssl algorithm bug is resolved.

On Wed, Jun 4, 2014 at 3:37 AM, Omnomnobot notifications@github.com wrote:

Hey, glad to hear that your software is improved! While I was coding my client I found that Visual C# is really powerful but I can't develop a nice UI without external tools, so I decided to try to make something for Android. Actually I'm working on a client for party chat; it isn't fully functional but since I'm coding in Java for the first time I'm quite satisfied, when I'm done I think I'll open source it.

I'm not really an expert in network stuff but with my highly simplicistic client I never had connection problems, are you sure this bug is the main problem? Anyway, I am still interested in your project and I'd like to enhance my coding skills, if you think I could be useful just tell me what your project needs :)

— Reply to this email directly or view it on GitHub https://github.com/fragmental/HabitRPGDesktop/issues/1#issuecomment-45065550 .

fragmental commented 10 years ago

Ultimately, I’d like to create a system with more game-type elements. One simple way to do this would be to have animations, sound effects, and/or special effects trigger at the same time as other events. I have a test of this right now. The character smiles when you do a positive task, frowns when you do a negative task, and jumps when you level up. It’s kind of underwhelming, honestly, but it’s just a start and a lot more could be done. Getting it implemented was a lot of work, but most of that was just the learning process(learning that a lot of things that I thought unity, 3ds max or maya supported are not supported, and a lot of my work could not be used.) I’m sure it would take less time to do the same in the future.

I have three different ideas for other game-like elements. I call these game events, build events, and story events. I would ultimately like to create a system where the user could create these events themselves and then package them together and share them with others.

All of the systems would be triggered according to a win-lose state which could be a certain percentage of dailies, could be set in code, or could be configurable. There could also be a neutral state between a win-lose state to add a third state.

  1. game events - A turn-based game where the player can make an action in the game, if they achieve a win-state. Actions could also be triggered automatically according to the win-lose state.
  2. Build events - A visual representation of a 3d object or world that is built up on a win-state.
  3. story events - A story driven system where the story either moves forward linearly for each win-state, or two different outcomes are chosen depending on the win/lose state, or chosen by the player during win-state.

Of the 3 event systems I think text based story events might be the most accessible for users to create and share, though text is less visual. A popular text based story could have visual and auditory elements added later.

On Wed, Jun 4, 2014 at 9:34 PM, Stewart Martin stewartjmartin@gmail.com wrote:

I think the uvwxy android client is gpl v3. https://bitbucket.org/uvwxy/android-habitrpg-client/src I think there's also some open source api stuff from magic micky https://github.com/fragmental/HabitRPGJavaAPI which looks like it's apache v2 licensed.

Unity engine's UI is a bit complicated, and there are dozens of replacements, but there's a new official one which is scheduled to come out with the next release. I suspect it should come within the next 4 months. I'm kind of excited by it, but I'm keeping that excitement in check. It could be the best thing ever or it could be a huge letdown.

http://fogbugz.unity3d.com/default.asp?602783_4ddsl9l014uuvquo This is the bug report with unity. The bug isn't present in Unity 5, because they are using a newer version of mono. But unity 5 probably won't be out until sometime next year. I did get a response just today from Unity bug reporting that they will show the issue to their developers to see if it could be resolved before 5.0 is released, so that's something. The exact response was "I'll send this issue to our developers for resolution. At the time we cannot say when the fix will be available to the public."

So, I'm kind of stuck trying to decide what to do next. I'd like to get the application running in 100% offline mode, for the obvious reasons, but also because I think it will greatly improve performance(since the app won't be subject to network latency). I could try to learn to read habitrpg's code, or I could try to write a new application from scratch. With the bug preventing it from communicating with habitrpg, I could setup a separate server that it could work with, though it might have to be insecure. I could also try to get some sort of online version of my client working as a demo.

I could also abandon the project for a while and work on something completely different until the ssl algorithm bug is resolved.

On Wed, Jun 4, 2014 at 3:37 AM, Omnomnobot notifications@github.com wrote:

Hey, glad to hear that your software is improved! While I was coding my client I found that Visual C# is really powerful but I can't develop a nice UI without external tools, so I decided to try to make something for Android. Actually I'm working on a client for party chat; it isn't fully functional but since I'm coding in Java for the first time I'm quite satisfied, when I'm done I think I'll open source it.

I'm not really an expert in network stuff but with my highly simplicistic client I never had connection problems, are you sure this bug is the main problem? Anyway, I am still interested in your project and I'd like to enhance my coding skills, if you think I could be useful just tell me what your project needs :)

— Reply to this email directly or view it on GitHub https://github.com/fragmental/HabitRPGDesktop/issues/1#issuecomment-45065550 .

fragmental commented 10 years ago

I apologize for wall-o-texts.

fragmental commented 10 years ago

Would you like to have a google hangout? Or skype? Or perhaps communicate through instant messenger of phone or something similiar? I'd like to have some sort of meeting before I give you access to the code. We could also share ideas.

Atomk commented 10 years ago

Wow, you wrote a lot of things. I start with the skype thing: unfortunately I am not a native English speaker (I'm Italian) and it would be a little difficult for me to have a vocal conversation. Anyway, I understand that trusting a foreign guy is not immediate, even if I just want to help. This isn't the best period for me to get into new projects but I'll set up a Google account so we can discuss the whole thing privately.

Atomk commented 10 years ago

To workaround the bug you could use an external library for the authentication, update Mono manually or use a different C# method to connect to the server. For instance, in my first client attempt I solved a similar issue with this --> http://stackoverflow.com/questions/560804/how-do-i-use-webrequest-to-access-an-ssl-encrypted-site-using-https

fragmental commented 10 years ago

Unity has a WWW class. After reading your post, I decided to try it. It does work, but it only has post and get. It doesn't have put and delete, which would leave the program severely crippled with the current habitrpg api.

I wouldn't know where to begin to manually update Unity's version of mono, or to create an external library for authentication. The AcceptAllCertifications thing looks promising.

I'd prefer to have some kind of meeting beforehand, but since there could be a bit of a language barrier we could just chat through some kind of instant messenger. If you can get me your e-mail, I can send you the legal agreement to sign, through docracy. I tried to make it relatively friendly, while still protecting the project. I didn't want to just protect my code, but any code that anyone contributes, while still leaving it open to later be open sourced or commercialized. I'm not as much concerned about problems that could happen now as problems that could happen in the future, like someone saying that they own the code that they contributed and I have to either remove it, or pay them lots of money. Or someone taking the code and doing something evil with it. I hope the agreement will discourage that.

https://plus.google.com/+StewartMartin/ this is me.

On Sat, Jun 7, 2014 at 4:40 PM, Omnomnobot notifications@github.com wrote:

To workaround the bug you could use an external library for the authentication, update Mono manually or use a different C# method to connect to the server. For instance, in my first client attempt I solved a similar issue with this --> http://stackoverflow.com/questions/560804/how-do-i-use-webrequest-to-access-an-ssl-encrypted-site-using-https

— Reply to this email directly or view it on GitHub https://github.com/fragmental/HabitRPGDesktop/issues/1#issuecomment-45421926 .