Show HN: I'm writing an MMORPG game for learning programming
229 points| blindpirate | 4 years ago |bytelegend.com
Please access it with PC, it's an HTML5 game: https://bytelegend.com/
I really want it to expand to more languages, but right now I've only finished Java part. I wonder if anyone can help me with other languages. Besides, I'm not a good game story designer, but I really really want it to be a game with a fantastic story. Any help will be appreciated.
[+] [-] cl0ckt0wer|4 years ago|reply
And the programmer NPC in the bar called me "a gay". At least it's an authentic MMORPG culture.
[+] [-] blindpirate|4 years ago|reply
[+] [-] davidweatherall|4 years ago|reply
I didn't find it intuitive when first landing on the site. I think I need to sign up first before I get a character that can walk around?
I think it would be cool if when landing on the site I'm given a character and can walk around like a signed in user, maybe forcing me to sign up if I want to leave newbie village.
[+] [-] 123pie123|4 years ago|reply
+1 to this
[+] [-] blindpirate|4 years ago|reply
[+] [-] fallat|4 years ago|reply
Hide the hints, add more art, maybe some more mechanics to hide the fact you're learning at first: I think this could be effective and a seller!
Makes me think web programming is the dark souls of programming (I mean Haskell is probably much closer but the sheer amount of what you need to learn for web is what makes that association in my mind - I know it isn't exactly right, as someone who has played all the Souls-like games from Fromsoft) lol.
[+] [-] lanternfish|4 years ago|reply
C is the Dark Souls of programming - ostensibly simple but with a bunch of unintuitive pitfalls and recommended optimizations. This maps C# and C++ onto DS2 and DS3 pretty well.
[+] [-] ozzmotik|4 years ago|reply
nb: i am homeless so my availability is somewhat sporadic since it's dependent on when I can charge my phone and such. but I got a laptop hiding out somewhere I just never use it out on the streets because it's a battery addict and drains that like an alcoholic does whiskey. also it's a 2006 dell xps m1701 so it's actually just a hefty beast.
but yeah. let me know if interested as well. email in bio etc
[+] [-] planetsprite|4 years ago|reply
[+] [-] blindpirate|4 years ago|reply
[+] [-] DrBoring|4 years ago|reply
Some feedback
The game is a bit visually-loud. It's overstimulating for me, I can't immediately figure out what I'm supposed to do to get playing. It took me a while to find the login button.
Perhaps a fix is a smaller field of view with pan and zoom? Take my advice with a grain of salt, I'm no game designer.
[+] [-] datalopers|4 years ago|reply
[+] [-] blindpirate|4 years ago|reply
I totally understand the copyright risk. The reason I use it was that I love RA2 so much - that's almost the only game I played when I was a child. I'm proud and happy to put the sprite into a game I design and write. If there's any issue from EA, I'd immediately roll them back, sadly.
[+] [-] suifbwish|4 years ago|reply
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] mentos|4 years ago|reply
I’ve always thought a cool course would be to teach programming with fun examples extending the game with new weapons , items, NPCs, etc
[+] [-] Tostino|4 years ago|reply
While working as a data analyst a few years later, I wanted to improve my programming skills. So as a side project I did a whole lot of work on a ground-up rewrite for a year or so...I had reimplemented: player and npc movement code, npc spawning, a basic AI system (attack, flee, loiter, travel), pathfinding, inventory and equipment slots working, item drops in the world and being able to pick them up, chat (direct and global), and probably a few more things I can't remember!
I was pretty uninterested in the actual Lineage2 gameplay at that point, so I was trying to get the basics working so I could implement a more interesting combat system / skill tree. The game engine had some extreme limitations on what you could actually control just from the server side, but I had a system working that repurposed a news bulletin UI that the engine had in-place to inject some custom HTML based UI's that I could send over from the server. So I was able to disable the existing skill tree UI and inject my replacement system that I was designing.
That project got put on hold when I decided to start my company in 2015. It was amazing for learning, because I was actually interested in it. As I got older, my interest in gaming and gamedev have both waned. No interest at all in going into that hyper competitive market!
[+] [-] dorianmariefr|4 years ago|reply
[+] [-] staticelf|4 years ago|reply
Interesting to see that you have chosen Kotlin for the client parts as well. I am assuming it's compiling kotlin to javascript?
What do you think of it so far?
It would be nice with an available option not to sign in with Github since it seems like the requested stuff like "act on your behalf" makes me not want to login.
It's too much of an hassle to create a new github just to play a game so that is unfortunately where you lost me.
[+] [-] blindpirate|4 years ago|reply
Yes, it's using Kotlin multiplatform, so I can write code once and use it at both frontend and backend.
Because the game highly depends on GitHub API and GitHub actions (when you submit code answer in the game, you are actually creating pull requests), using a GitHub account would be the best option.
[+] [-] ramesh31|4 years ago|reply
[+] [-] criley2|4 years ago|reply
[+] [-] pedrosorio|4 years ago|reply
- The progression seems to require going to Git island first which is not possible because I lack gold. It hints at going to the chest under the tree which says: "Ask a friend for an invitation code to open this chest". What friend? What does this mean?
- Even though I can't walk there, I seem to be able to click the challenges and do them (I guess this might not be intended, as it allows you to do things completely out of order). I did all of the challenges for "Java Reference and Value" and received only 2 stars on the second challenge. I suppose this means I did something wrong/sub-optimally, but I did not see any feedback on what that was. Did I miss it?
[+] [-] blindpirate|4 years ago|reply
The "invitation code box" is a fallback when people happen to use up their gold.
``` I'm learning programming in a game, come to JavaIsland coordinate (BJ, 94), open the chest with my invitation code 5ZwPT6OWwipmHRG, you and me can both get 500 gold. Join me at ByteLegend https://bytelegend.com ! ```
> Even though I can't walk there, I seem to be able to click the challenges and do them
It's intended. You can finish the challenge there, but you can only get a "key" but can't have the chest open immediately. You have to go close to the chest to use that key to open the chest. The intention is to allow people do challenges without going through the whole story. I'm not saying this is perfect, but this is what current it's designed.
> I did all of the challenges for "Java Reference and Value" and received only 2 stars on the second challenge. I suppose this means I did something wrong/sub-optimally, but I did not see any feedback on what that was.
When you do the challenge, you actually create a pull request on github. There's some comments in the pull request telling you what's the issue in you code. However, I shouldn't have told you this if this is a well-desgined game UI. Thanks for the feedback!
[+] [-] mftb|4 years ago|reply
[+] [-] xrd|4 years ago|reply
[+] [-] blindpirate|4 years ago|reply
[+] [-] gknoy|4 years ago|reply
[+] [-] blindpirate|4 years ago|reply
First of all, a GitHub app can only "act on your behalf" in the repository/organization where it's installed (which is only https://github.com/ByteLegendQuest). It has no permission to access any other resources outside.
When you finish the code challenges, you actually create a pull request on GitHub and trigger a GitHub action (which is opensource and you can examine the whole process). So "act on your behalf" means "invoke GitHub API to create pull request in github.com/ByteLegendQuest organization". The app won't and can't access any resources outside github.com/ByteLegendQuest organization.
I know the permission request looks a bit scary. But I'm an individual developer, using GitHub API/webhook/actions would be the easiest and cheapest solution for me.
[+] [-] Thaxll|4 years ago|reply
[+] [-] matt321|4 years ago|reply
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] productceo|4 years ago|reply
What was this part of experience like?
[+] [-] shmde|4 years ago|reply
[+] [-] bcrosby95|4 years ago|reply
[+] [-] blindpirate|4 years ago|reply