Undercity
User avatar
Posts: 31
Likes: 23
Undead 31 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

Killed Nefarian as a 30 mage haha. Btw, the icon for Mortal Strike is actually the icon for Shockwave from WotLK. Just pointing out things i notice hehe ^^

Image
You can find me @ www.twitch.tv/fr0sk1
User avatar
Posts: 3
Likes: 0
Alliance Paladin 3 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

Hey Defuzed, This project is great! Are the quest on the side working or am I doing something wrong? I have killed bandits but they don't seem to update the quest.

Tirisfal Glades
User avatar
Posts: 49
Likes: 35
49 posts
Undead
Mage
Undead Mage 49 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

Very impressive :) I'm playing it while at work. I'll probably need this even when classic is out to curb the withdrawal at work haha

   woodqawk
Image
Stormwind
User avatar
Posts: 9
Likes: 12
9 posts
Alliance
Paladin
Alliance Paladin 9 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

Yo @Defuzed ! Great job uploading to Github. Now we can start.

So, *pulls sleeves back*, below are the things you should focus on next. Mind you they are not "picky" or "nitpicking", these are excellent foundations that will help you tremendously in the future - they are transferrable knowledge/skills that you can apply to any other coding project, web or not.

(They are also in order of importance, but I couldn't use ordered list with {list=1} since the CSS broke, @teebling pluhz fix)

  • Continous Integration/Deployment (CI/CD)
This is the process of automating your deployment to your live site.
There are many options here and they depend on where are you currently hosting the site, etc.

The biggest pros in favor are:
  • Removing human error - helps preventing mistakes from developers, like missing files, or forgetting to upload something
  • Reducing the developer time/interruption - automating the process means less work for you, the main dev

Ideally with CI/CD, when a pull request is created by anyone against the master branch, it will, in order:
  • Automatically trigger the process to build whatever needs to be built - in this project's case, there is no build process yet
  • Run whatever tests are created - none here either
  • Do any extra steps depending on project
  • Once accepted and merged, take all the files from the repository's master branch (Github in this case) and upload them to wherever you host the site

Usually it will run all steps except the last upon creation of the Pull Request and if any of them fails at any point, it will prevent you from merging - which prevents the last step. With CI/CD, in theory, you shouldn't need to even leave Github ever again.

  • Organised Code
I want to start by saying your code is already very readable. That is the best first step to organised code!
The next step would be to modularize your code into small bits, which by the way, I see you've started too (with Creature), so great job again!

The biggest reason for this would be that it's just easier to contribute, maintain, read, and compare code when it's separated into smaller chunks. I generally try to not have any JS file larger than some 200 lines.

You might feel like it's adding "bloatedness" with too many folders and files, but really it will just be more organised and easier to use, especially with open source and external contributers.

  • Code Format/Styling/Rules
For me, having been team leader on quite a few projects, this is one of the most important standards to apply.

No one codes the same - that is fact and not argument. So when you have multiple people working on the same project, you are bound to clash different code styles. Here's an example of completely different bits of the same JavaScript function:

Code: Select all

function Foo_hello() {
  console.log("bar");
}

const fooHello = () => console.log('bar')
Can you spot all the differences? I'll note them:
  • Normal function, vs arrow line function - function vs () =>
  • Function name starting with a capital, vs normal
  • Function name being underscore based, vs camel case
  • Using double quotes for strings, vs single quotes
  • Finishing with semi-colon, vs nothing

As you can see, it can vastly change. And that creates readability problems, which itself creates low-productivity/annoyance problems.
So, the solution is to force a use case that the team (or project lead) decides on and everybody must follow those standards.

And now you'd say "But people will forget", so I'll refer you to the first point: CI/CD. There are many tools to force these code standards, either during CI/CD or actually in your editor (like ESLint, or Prettier) that work with most editors and automatically change your code when you save a file. This way you can code however you want, but it will be instantly transformed to the standards of the project.

I feel like this is already going long, so I'll stop the teaching for today! Now, there are some actions you can take towards these first teachings:
  • Tell us where your current site is hosted, and we can see if together we can automate this process for CI/CD
  • Start separating your code a bit - I'll do a pull request in a bit with an example of a good structure
  • Leave code styling for later, as we'll need CI/CD and some processes to automate this

In the next lesson, *laughs in teacher* we'll be learning about the advantages of a good Readme.md file, correct settings for your Github repository, and we'll take a look at improving your developer experience/speed with Editor plugins that will make your life so much easier!

The lesson after we'll see how to "modernize" your project so that you can make better use of external tools - like the code standards, "npm" and more, how to use said tools, and how to start up your own javascript backend!

   teebling Vanilj Cram neofrag
Silithus
User avatar
Posts: 52
Likes: 45
Gnome Rogue 52 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

Jalapeno wrote:
3 months ago
Killed Nefarian as a 30 mage haha. Btw, the icon for Mortal Strike is actually the icon for Shockwave from WotLK. Just pointing out things i notice hehe ^^
Yea mage is a bit overtuned, next update should fix them being overpowered, for mortal strike i simply don't have the icon so shockwave was the closest i could get.
woodqawk wrote:
3 months ago
Hey Defuzed, This project is great! Are the quest on the side working or am I doing something wrong? I have killed bandits but they don't seem to update the quest.
Quest isn't working yet. They will be added in a future update.
Default wrote:
3 months ago
Very impressive :) I'm playing it while at work. I'll probably need this even when classic is out to curb the withdrawal at work haha
Thanks a lot haha. This project is to keep my mind off the agonising pain of waiting for classic!
tedj wrote:
3 months ago
I feel like this is already going long, so I'll stop the teaching for today! Now, there are some actions you can take towards these first teachings:
  • Tell us where your current site is hosted, and we can see if together we can automate this process for CI/CD
  • Start separating your code a bit - I'll do a pull request in a bit with an example of a good structure
  • Leave code styling for later, as we'll need CI/CD and some processes to automate this
The host is one.com, my code is kind of split up in different stages depending on what i learned that week, i try to update all of it as much as i can but it gets abit heavy to update the same code over and over, and since i've been learning a lot of object oriented programming the last 2 weeks it's a lot of rewriting code which im doing right now.

As said this is still a school project i use for applying the things i learn everyday.

Alterac Valley
User avatar
Bnet:

solidlobster


Posts: 64
Likes: 104
Troll Priest 64 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

Really nice, this is fun!

   Defuzed
"Ya got my attention."

ImageImage
Mulgore
User avatar
Posts: 38
Likes: 25
38 posts
Tauren
Warrior
Tauren Warrior 38 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

Hey @Defuzed,

I've created a pull request on github. Small fix. It was my first pull request ever. I just wanted to test it and see how it works!

Still a small fix though ;)
Look into it when you have time.

Cheers

Arathi Highlands
User avatar
Posts: 40
Likes: 28
Horde Warrior 40 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

@Defuzed just figured you might want to know about this, the 1k needles Basilisk can cast Stone Gaze and it turns your health into NaN, which I can't tell if that makes me invincible or just makes it so that you cannot tell what your health is lol.

Also, if Mortal Strike is going to have a cooldown, can we get a tooltip that at least SAYS what that cooldown is?

User avatar
Posts: 20
Likes: 11
20 posts
Orc
Rogue
Orc Rogue 20 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

will there be rp server

Stormwind
User avatar
Posts: 9
Likes: 12
9 posts
Alliance
Paladin
Alliance Paladin 9 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

@Defuzed I've left you a PR as well with some code refactoring. I've basically only refactored a function to show you how you should code in JS good standards and how to create a class with a constructor in JS too. I've left comments on all edits so you can run them one by one.

   Selexin
Duskwood
User avatar
Discord:

Lasse#0107


Posts: 19
Likes: 13
Troll Hunter 19 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

I love this idea <3 so creative

   Defuzed
#NoChanges
Darnassus
User avatar
Posts: 1
Likes: 2
Night Elf Rogue 1 post
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

Thank you from Germany for this wonderful game :)

   Defuzed Apozema
Orgrimmar
User avatar
Posts: 7
Likes: 4
Troll Shaman 7 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

I am trying to play this on my cellphonr but i dont get the whole screen... :cry:

Silithus
User avatar
Posts: 52
Likes: 45
Gnome Rogue 52 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

DeiWaiWanga wrote:
3 months ago
I am trying to play this on my cellphonr but i dont get the whole screen... :cry:
It sadly doesn't work on phone yet... I'm working on making it work for phone atm.

   DeiWaiWanga Disto
Silithus
User avatar
Posts: 52
Likes: 45
Gnome Rogue 52 posts
3 months ago (Pre-release)
3 months ago (Pre-release)
 •  Unread

tedj wrote:
3 months ago
@Defuzed I've left you a PR as well with some code refactoring. I've basically only refactored a function to show you how you should code in JS good standards and how to create a class with a constructor in JS too. I've left comments on all edits so you can run them one by one.
I'll go look it through as soon as I can!

Hunter Survival
User avatar
Posts: 2
Likes: 1
Orc Hunter 2 posts
3 months ago (Beta)
3 months ago (Beta)
 •  Unread

Defuzed wrote:
3 months ago
tedj wrote:
3 months ago
@Defuzed I've left you a PR as well with some code refactoring. I've basically only refactored a function to show you how you should code in JS good standards and how to create a class with a constructor in JS too. I've left comments on all edits so you can run them one by one.
I'll go look it through as soon as I can!
on the Mobile Phone its little bit Cuttet u see at the Start no Warrior or Hunter only Mage Rogue Druid Paladin and the Other Class is Outside and with Desktop Version doesnt Work :)


I have a Question, i play this Game too, but sometimes my Charakter is delete and i need play again from start now? Gives here no Cloud Save or how Work it?

Best Pen and Paper Feeling with this :)

Bring u the game in German too? ^^

User avatar
Posts: 6
Likes: 4
Night Elf Priest 6 posts
3 months ago (Beta)
3 months ago (Beta)
 •  Unread

Jalapeno wrote:
3 months ago
Killed Nefarian as a 30 mage haha. Btw, the icon for Mortal Strike is actually the icon for Shockwave from WotLK. Just pointing out things i notice hehe ^^
Nice! I killed him as a level 1001!
Image

   Jalapeno
Hunter Survival
User avatar
Posts: 2
Likes: 1
Orc Hunter 2 posts
3 months ago (Beta)
3 months ago (Beta)
 •  Unread

i think its fake ^^ u have anything Change look so damn unreal for lvl 1001 need u more attribute 11 int? with 1001 lol, think is a big Fake and Manipulate

   Selexin
User avatar
Posts: 6
Likes: 4
Night Elf Priest 6 posts
3 months ago (Beta)
3 months ago (Beta)
 •  Unread

Apozema wrote:
3 months ago
i think its fake ^^ u have anything Change look so damn unreal for lvl 1001 need u more attribute 11 int? with 1001 lol, think is a big Fake and Manipulate
So it seems like the character data is held entirely client side(I assume in local storage). You can actually modify these values if you know what you're doing. Regardless, I think you missed in the screenshot that I have an obscene amount of talent points, which when I changed my level didnt really care about updating. Auto attack damage is a seperate variable that you can manually modify. See in the source code when leveling up that it's a flat increase. https://github.com/tobias1709/TextCraft ... x.js#L1705

It would be a lot more work to fake a silly screenshot than just modify the character values for a silly screenshot :)

Also, it's actually a fun project to the creator. Was just hackin around to better understand how everything works. Really impressive for such a new programmer :)

User avatar
Posts: 6
Likes: 4
Night Elf Priest 6 posts
3 months ago (Beta)
3 months ago (Beta)
 •  Unread

To the creator, do you ever clear the message dom when there's too many messages? If there's no mechanism for this, basically the longer someone plays, the more nodes in the dom the client will have, and it may stop being performant(not sure if browsers do something fancy with rendering offscreen nodes or not, but something to consider for sure)
Image

Stormwind
User avatar
Posts: 9
Likes: 12
9 posts
Alliance
Paladin
Alliance Paladin 9 posts
3 months ago (Beta)
3 months ago (Beta)
 •  Unread

@chumbawilly I think since this is kinda of his school project, so he doesn't have any cloud save or html optimization or so. I'd very much take him under my wing and teach, but I think maybe he doesn't have the time for it, since I've submited a PR some 5 days ago and he didn't have time to check it yet.

Blasted Lands
User avatar
Posts: 32
Likes: 17
32 posts
Undead
Mage
Undead Mage 32 posts
3 months ago (Beta)
3 months ago (Beta)
 •  Unread

chumbawilly wrote:
3 months ago
To the creator, do you ever clear the message dom when there's too many messages? If there's no mechanism for this, basically the longer someone plays, the more nodes in the dom the client will have, and it may stop being performant(not sure if browsers do something fancy with rendering offscreen nodes or not, but something to consider for sure)
Image
Create a request as a issue on Github since it seems important to improve performance.

Vani - Gehennas [PVP]
Warrior Protection
User avatar
Discord:

teebling#5444


Bnet:

Teeb#2674


Posts: 1153
Likes: 2184
525 posts
Orc
Warrior
Orc Warrior 525 posts
1 month ago (Beta)
1 month ago (Beta)
 •  Unread

Necroing this to ask @Defuzed and collaborators if any new progress has been made? This has to be the best Classic fan project I’ve seen yet.

   Rinkusan Selexin Disto
Druid Feral
User avatar
Guild:

<Goblin Rocket Fuel Rats>


Discord:

RyderSelexin#1527


Bnet:

RyderSelexin#1781


Posts: 757
Likes: 555
525 posts
Tauren
Druid
Tauren Druid 525 posts
1 month ago (Beta)
1 month ago (Beta)
 •  Unread

teebling wrote:
1 month ago
Necroing this to ask @Defuzed and collaborators if any new progress has been made? This has to be the best Classic fan project I’ve seen yet.
Agreed. I opened it on Tuesday to take a look and it did appear as if progress had stalled, this is definitely one of the best fan projects out there so I would love to see it keep growing (especially to help get through the next 60 days!).

ImageImage
The Barrens
User avatar
Bnet:

Disto #1927


Posts: 5
Likes: 4
5 posts
Orc
Warrior
Orc Warrior 5 posts
1 month ago (Beta)
1 month ago (Beta)
 •  Unread

This is some awesome work @Defuzed!

Looking forward to seeing where you go with it. Definitely a fun way to pass some time before Classic's release.

ImageImage
Lok-tar Ogar!
Similar topics
to 'TextCraft RPG'
Posts ViewsLast post