Moonglade
User avatar
EU Gandling
donator Posts: 33
Likes: 23
Orc
Druid

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 ^^


You can find me @ www.twitch.tv/fr0sk1
User avatar
donator Posts: 2
Likes: 0
Alliance
Paladin

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
donator Posts: 54
Likes: 39
Undead
Mage

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
Stormwind
User avatar
donator Posts: 9
Likes: 12
Alliance
Paladin

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
donator Posts: 52
Likes: 45
Gnome
Rogue

Jalapeno wrote:
6 years 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:
6 years 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:
6 years 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:
6 years 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
donator Posts: 64
Likes: 104
Troll
Priest

Really nice, this is fun!

   Defuzed
"Ya got my attention."

Mulgore
User avatar
donator Posts: 45
Likes: 30
Tauren
Warrior

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
US Old Blanchy
donator Posts: 41
Likes: 28
Undead
Mage

@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
donator Posts: 20
Likes: 11
Orc
Rogue

will there be rp server

Stormwind
User avatar
donator Posts: 9
Likes: 12
Alliance
Paladin

@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
donator Posts: 19
Likes: 13
Troll
Hunter

I love this idea <3 so creative

   Defuzed
#NoChanges
Darnassus
User avatar
donator Posts: 1
Likes: 2
Night Elf
Rogue

Thank you from Germany for this wonderful game :)

   Defuzed Apozema
Orgrimmar
User avatar
donator Posts: 7
Likes: 4
Troll
Shaman

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

Silithus
User avatar
donator Posts: 52
Likes: 45
Gnome
Rogue

DeiWaiWanga wrote:
6 years 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
donator Posts: 52
Likes: 45
Gnome
Rogue

tedj wrote:
6 years 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
donator Posts: 2
Likes: 1
Orc
Hunter
6 years ago (Beta)
 •  Unread

Defuzed wrote:
6 years ago
tedj wrote:
6 years 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? ^^

Hunter Survival
User avatar
donator Posts: 2
Likes: 1
Orc
Hunter
6 years 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
Stormwind
User avatar
donator Posts: 9
Likes: 12
Alliance
Paladin
6 years 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
EU Gehennas
donator Posts: 33
Likes: 17
Undead
Mage
6 years ago (Beta)
 •  Unread

chumbawilly wrote:
6 years 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)
Create a request as a issue on Github since it seems important to improve performance.

Warrior Protection
User avatar
EU Hydraxian Waterlords
donator Posts: 1325
Likes: 2548
Orc
Warrior
5 years 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 Restoration
User avatar
OC Yojamba
donator Posts: 957
Likes: 764
Tauren
Druid
5 years ago (Beta)
 •  Unread

teebling wrote:
5 years 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!).

Lvl 60
Lvl 35
The Barrens
User avatar
donator Posts: 5
Likes: 4
Orc
Warrior
5 years 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.

Lok-tar Ogar!
Silverpine Forest
User avatar
OC Arugal
donator Posts: 124
Likes: 86
Undead
Warlock
5 years ago (Beta)
 •  Unread

oo just signed up, im an addict for text based games like this. used to have a few afk-ish ones that i would have open all day everyday, until they stopped being updated and i just got too bored of it

this one'll keep my attention for a while for sure though



Deadwind Pass
User avatar
US Grobbulus
donator Posts: 223
Likes: 121
Orc
Warrior
5 years ago (Beta)
 •  Unread

This is awesome! Something to play at work without being too obvious playing a private server lol

<Tyranny>
Herod - PvP
Silithus
User avatar
donator Posts: 52
Likes: 45
Gnome
Rogue
5 years ago (Beta)
 •  Unread

teebling wrote:
5 years 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.
I am currently working on it actually, but the majority of the work that I'm doing right now is based on nodejs and backend, which sadly not alot of hosts support so I'm struggling to get my update live... But the project hasn't been forgotten. When I get it live I have everything ready so you can create an account and log in to play the character you choose etc.
Lots of database work which is very new for me. Hopefullyy sometime in the summer vacation I'll get it love!