Code Monkey home page Code Monkey logo

kaetram / kaetram-open Goto Github PK

View Code? Open in Web Editor NEW
496.0 496.0 111.0 823.63 MB

Kaetram is an open-source 2D HTML5 MMORPG. It is an extended version of BrowserQuest (BQ).

Home Page: https://kaetram.com

License: Mozilla Public License 2.0

TypeScript 91.89% SCSS 3.40% Shell 0.01% Gherkin 0.09% GLSL 0.19% Astro 4.43%
2d 2d-game browserquest demo game game-2d game-development game-engine game-server gamedev html5 html5-canvas html5-game mmo multiplayer open-source rendering-engine taptapadventure tileset tilesheet

kaetram-open's People

Contributors

aarona2708 avatar asimogirl avatar bchip avatar brion-fuller avatar bsormagec avatar dependabot[bot] avatar frycz avatar haerinha avatar imgbotapp avatar kidd-buu avatar lemueldls avatar liamstevens111 avatar octoshrimpy avatar veradictus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kaetram-open's Issues

Several bugs listed below

When cutting trees some tress cut but the full tree stays there then eventually goes to a cut down sprite.

Some mobs spawn but are not attackable untill you kill a similar mob then the mob that wasn't attackable will start walking / roaming.

Can't move inventory or bank items on mobile can only move them on pc or computer.
( Drag element doesn't work on mobile )

Tested abilities the ability quick slot doesn't work abilities don't work ( not sure if it's ment to work )

[Bug] Some dungeons do not load NPCs

About

Quite a few dungeons do not seem to load properly. The dungeon itself comes up, but there are no characters, and after a minute or so the server logs out - I guess it's a time-out.

How to Reproduce

Using the live server, Chromium Linux

Screenshots

Screenshot from 2022-10-15 16-07-36

Environment

  • Device: Desktop
  • OS: Debian stable
  • Browser: Version 106.0.5249.91 (Official Build) built on Debian 11.5, running on Debian 11.5 (64-bit)
  • Kaetram Version: https://kaetram.com/

interface.css glitch in shop list

Line 484:

current code suggested
#shopContainer { #shopContainer {
position: absolute; overflow-y: scroll;
font-family: 'AdvoCut', sans-serif; position: absolute;
top: 8%; font-family: 'AdvoCut', sans-serif;
width: 85%; top: 8%;
height: 80%; width: 85%;
left: 8%; height: 80%;
} left: 8%;
}
Annotation 2020-04-20 193109 Annotation 2020-04-20 193110

Docs: Fill the project roadmap

Motivation

We need a consistent plan for future actions which will lead us to the goal of the project (the goal still needs to be defined). That will help us prioritize work.

Possible implementation

  • Establish the goal
  • Write down a list of features we want in the game and the codebase
  • Provide steps to take to implement needed features

The notes can be written down in the main readme file or in a separate dedicated page.
Once the steps are defined, dedicated issues will be created in the repository

[Bug] Failed to build because of vite-plugin-html

About

Hello, I'm currently trying to build Kaetram on a raspberry 4B (arm64). But it failed each time I launch yarn build with this output:

instrum@xxxxx:~/games/Kaetram-Open-develop $ yarn build
➤ YN0000: [@kaetram/client]: Process started
➤ YN0000: [@kaetram/hub]: Process started
➤ YN0000: [@kaetram/server]: Process started
➤ YN0000: [@kaetram/hub]: Process exited (exit code 0), completed in 38s 532ms
➤ YN0000: [@kaetram/client]: failed to load config from /home/instrum/games/Kaetram-Open-develop/packages/client/vite.config.ts
➤ YN0000: [@kaetram/client]: error during build:
➤ YN0000: [@kaetram/client]: /home/instrum/games/Kaetram-Open-develop/node_modules/vite-plugin-html/dist/index.cjs:125
➤ YN0000: [@kaetram/client]:       const proxy = viteConfig.server?.proxy ?? {};
➤ YN0000: [@kaetram/client]:                                       ^
➤ YN0000: [@kaetram/client]: 
➤ YN0000: [@kaetram/client]: SyntaxError: Unexpected token '.'
➤ YN0000: [@kaetram/client]:     at wrapSafe (internal/modules/cjs/loader.js:915:16)
➤ YN0000: [@kaetram/client]:     at Module._compile (internal/modules/cjs/loader.js:963:27)
➤ YN0000: [@kaetram/client]:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
➤ YN0000: [@kaetram/client]:     at Module.load (internal/modules/cjs/loader.js:863:32)
➤ YN0000: [@kaetram/client]:     at Function.Module._load (internal/modules/cjs/loader.js:708:14)
➤ YN0000: [@kaetram/client]:     at Module.require (internal/modules/cjs/loader.js:887:19)
➤ YN0000: [@kaetram/client]:     at require (internal/modules/cjs/helpers.js:74:18)
➤ YN0000: [@kaetram/client]:     at Object.<anonymous> (/home/instrum/games/Kaetram-Open-develop/packages/client/vite.config.ts:50:31)
➤ YN0000: [@kaetram/client]:     at Module._compile (internal/modules/cjs/loader.js:999:30)
➤ YN0000: [@kaetram/client]:     at Object.require.extensions.<computed> [as .ts] (/home/instrum/games/Kaetram-Open-develop/node_modules/vite/dist/node/chunks/dep-611778e0.js:61506:20)
➤ YN0000: [@kaetram/client]: Process exited (exit code 1), completed in 49s 776ms
➤ YN0000: [@kaetram/server]: Process exited (exit code 0), completed in 55s 276ms
➤ YN0000: Done in 55s 487ms

How to Reproduce

Steps to reproduce the behavior:

  1. Download the archive of the git repo (i can't git clone because of a strange behavior of my bandwidth using git)
  2. Unzip and go to the directory created
  3. Execute yarn
  4. Execute yarn build

Expected behavior

Kaetram being built with exit code 0

Environment

  • Device: Raspberry PI 4B
  • OS: Debian GNU/Linux 11 (bullseye) aarch64
  • Browser: NA
  • Kaetram Version 1.3.1 (as written in package.json)

Additional context

This is the full procedure:

instrum@xxxxx:~/games/Kaetram-Open-develop $ yarn rebuild
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed in 0s 828ms
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed in 1s 996ms
➤ YN0000: ┌ Link step
➤ YN0007: │ kaetram@workspace:. must be built because it never has been before or the last one failed
➤ YN0007: │ esbuild@npm:0.14.27 must be built because it never has been before or the last one failed
➤ YN0007: │ esbuild@npm:0.14.34 must be built because it never has been before or the last one failed
➤ YN0007: │ core-js@npm:3.21.1 must be built because it never has been before or the last one failed
➤ YN0007: │ pngquant-bin@npm:6.0.0 must be built because it never has been before or the last one failed
➤ YN0000: └ Completed in 4s 907ms
➤ YN0000: Done in 8s 491ms
instrum@xxxxx:~/games/Kaetram-Open-develop $ yarn build
➤ YN0000: [@kaetram/client]: Process started
➤ YN0000: [@kaetram/hub]: Process started
➤ YN0000: [@kaetram/server]: Process started
➤ YN0000: [@kaetram/hub]: Process exited (exit code 0), completed in 38s 532ms
➤ YN0000: [@kaetram/client]: failed to load config from /home/instrum/games/Kaetram-Open-develop/packages/client/vite.config.ts
➤ YN0000: [@kaetram/client]: error during build:
➤ YN0000: [@kaetram/client]: /home/instrum/games/Kaetram-Open-develop/node_modules/vite-plugin-html/dist/index.cjs:125
➤ YN0000: [@kaetram/client]:       const proxy = viteConfig.server?.proxy ?? {};
➤ YN0000: [@kaetram/client]:                                       ^
➤ YN0000: [@kaetram/client]: 
➤ YN0000: [@kaetram/client]: SyntaxError: Unexpected token '.'
➤ YN0000: [@kaetram/client]:     at wrapSafe (internal/modules/cjs/loader.js:915:16)
➤ YN0000: [@kaetram/client]:     at Module._compile (internal/modules/cjs/loader.js:963:27)
➤ YN0000: [@kaetram/client]:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
➤ YN0000: [@kaetram/client]:     at Module.load (internal/modules/cjs/loader.js:863:32)
➤ YN0000: [@kaetram/client]:     at Function.Module._load (internal/modules/cjs/loader.js:708:14)
➤ YN0000: [@kaetram/client]:     at Module.require (internal/modules/cjs/loader.js:887:19)
➤ YN0000: [@kaetram/client]:     at require (internal/modules/cjs/helpers.js:74:18)
➤ YN0000: [@kaetram/client]:     at Object.<anonymous> (/home/instrum/games/Kaetram-Open-develop/packages/client/vite.config.ts:50:31)
➤ YN0000: [@kaetram/client]:     at Module._compile (internal/modules/cjs/loader.js:999:30)
➤ YN0000: [@kaetram/client]:     at Object.require.extensions.<computed> [as .ts] (/home/instrum/games/Kaetram-Open-develop/node_modules/vite/dist/node/chunks/dep-611778e0.js:61506:20)
➤ YN0000: [@kaetram/client]: Process exited (exit code 1), completed in 49s 776ms
➤ YN0000: [@kaetram/server]: Process exited (exit code 0), completed in 55s 276ms
➤ YN0000: Done in 55s 487ms

I already reinstalled yarn, re-cloned Kaetram, deleted cache and node_modules and reinstalled packages with yarn... But I don't really know yarn and I don't understand the issue... Thanks a lot for your help.

yarn & node version:

instrum@xxxxx:~/games/Kaetram-Open-develop $ node --version
v12.22.5
instrum@xxxxx:~/games/Kaetram-Open-develop $ yarn --version
3.2.0

Typescript compilation and semantic errors

Steps to Reproduce

  1. Clone fresh copy of repository
  2. Run npm install
  3. Run npm run build

Output

client/ts/app.ts(18,13): error TS2304: Cannot find name 'Config'.
client/ts/app.ts(238,16): error TS2339: Property 'install' does not exist on type 'Window & typeof globalThis'.
...
[13:56:47] Plumber found unhandled error:
 GulpUglifyError: unable to minify JavaScript
Caused by: SyntaxError: Unexpected token: keyword «const»
File: /Kaetram-Next/dist/config.js
Line: 3

Docs: Provide features and issues templates

Motivation

We want a consistent way of reporting features and issues by users.

By providing the templates, the reporters will know what information they need to provide, the contributors will be able to understand the reported problem and apply a solution.

When a reporter clicks New Issue button they should see a list similar to this one:

image

Possible implementation

Needed templates:

  • bug report
  • feature request
  • pull request

Issue templates go to .github directory

Some Possible Updates

Just some Possible Updates from playing Kaetram.

  1. I've found the map really large on mobile devices especially when tapping to move, maybe adding 1x mobile movement control on left side for up down left right movement will help assist game play. Still use top to kill etc.

  2. More sounds, for example. Cutting trees. Attacking mobs via axe, sword, bow etc. & more sound areas. I find I walk I to a sound area then keep walking into no sound areas

  3. Drag and drop for not just inventory but also stores & banks. Especially bank so you can adjust bank to your own items. Needs to be available on both pc & mobile.

  4. Possible to have pets in game follow you etc. Help in battle.

  5. Other player interaction for example, add friend, trading, follow would be epic in future. Trading would possibly be a must.

  6. A better chatting system, where you can have world, friends, pm, etc as a chatlog filter.

All of this would make the game much more enjoyable to have continue playtime. Would be great to add this in the roadmap of development.

Cheers.

[Feature] character info UI revamp

  • N, lvl, Ex do not have any convention for what they stand for or lower-case vs upper-case letters.
  • the 5 slots below do not have any hover text or explanation to what they do. This could be used as an entry point for parts of the game, by giving the player a rough knowledge of what could go there, and letting them know what to look for.

Screenshot_20211211_204502


I suggest a complete revamp of inventory, character sheet, quests, guilds, and similar screens. mockups to follow in comments (and discord)

[Bug]help please I’m stuck it’s says I got no clipped into a area and I can get out and I have progress on that account so please help

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

Propose testing strategy

About

We need a solid solution for validating changes before they do to the development or production environments.

In addition to unit tests run by every developer locally, we need an external environment for running all checks - build, tests, etc

Game: Multi-language Support

About

Both the client and the server will have to be adapted to support multiple languages.

Possible implementation

A simple format is to just have a JSON file that contains all of the in-game texts, and we access that (similar to an i18n module).

Alternative implementation

Perhaps using one of pre-existing npm repositories would greatly speed up this process.

[Feature] turn to face direction if can't walk

As it stands, if you walk up to the side of a tile that has collision, and then attempt to walk towards the collision block, the character does nothing. From a user perspective, it looks like the game ate the input.

I suggest the character turn in the direction of the walk attempt. It already happens when interacting with object tiles like trees or enemies.

Test gameplay balance

About

This is the final task of pre-MVP phase, ideally, all developers need to test the gameplay, spot any imperfections and suggest improvements.

Finish Lakesworld

About

Let players access Lakesworld, currently, there is nothing there.

shops item list is reset after each server restart

As the item list for shops are stored in a json file (shops.json), this list reset at each restart of the server. if the item list was stored on mongoDb it could be set accordingly to its last state.

I and some of my friends keep getting kicked and it says we were cheating,for example when I tried to go to the place with ants and warp i got kicked(this is over 20 people)[Bug]

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

[Feature] Separate world notifiications and chat

The reason for the separation is twofold:

  1. When the world sends you a notification (can't cut tree, don't have axe) it opens up the entire chatbox log, when only a small message needed to be conveyed to the player.
  2. When someone sends a chat message it opens up a large visual "box" in the middle of the screen, which clutters the view, specially if there is a large font set or long chat log.

I suggest moving chat to the bottom left, as per most games' chat location, and letting world notifications either appear in-game nearby the cause of notification (can't chop tree, appear near tree) or at the top of the screen.

[Documentation] Port Change To 80 or 443

Is there a way to change the default Port to 80 non ssl or 443 ssl from 9000?

I've tried in vite.config but still stays on 9000 port.

Also would be great to add in .env additional ssl cert directory for SSL.

Please let me know?

[Feature] Smol UI legibility and discoverability

Checkboxes are nearly impossible to see if checked. Will upload mockup in comments for what they could be like, instead.

Screenshot_20211211_203550


Hovering over the buttons on the bottom right of the screen should provide styled alt-text for the keyboard shortcuts that already exist.


Custom cursor could be hidden if mouse is not within world area, like when inside inventory.

[Feature] minimap

Create a minimap for ease of exploration. This should be a issue to be implemented asap.

Hard to navigate without a minimap.

[Bug]many ladders and pathways do not let me enter

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

Feature: Update client to webpack

Webpack has a few advantages over tools like require. You have full control of bundling resources and how to manage parts of the bundle. It will help keep modules isolated (avoid global variables). It can be used to also minimize assets like pictures/audio/etc..

Move client to Typescript

About

We want consistent technology used in all packages.

Moving the client to Typescript is a huge chunk of work. Let's start with renaming all files to ts, making all types as any and setting up transpilation. That will be a good starting point for further refactoring to Typescript.

[Bug] floating NPC chat bubbles do not attempt to overflow the screen

if talking to an NPC and then walking away, the bubble will resize so that the entirety of the contents will remain readable. With a lot of text in one chat bubble, this can cause most of the edge of the screen (L or R) to be completely covered.

I suggest the chat bubbles remain the same size, and move out of view like everything else in the map, as the player moves away from it.

[Bug] entrance by hole to go to skeleton king that will not let me enter ( as well as other people)

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

Add more monsters with a variety of levels

About

Adding more monsters with a variety of levels on the map to make gameplay encouraging and involving at any level of the player.

Currently, there are no monsters (or very few) with levels of 40 and higher.

[Bug]many pathways like ladders or underground ladders and some holes like above ground do not work, like do not let me and other players

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

Move config to env files

About

As we agreed, we want environment configuration compatible with most deployment services.

[Bug]update needs to happen to fix bug issues of people getting kicked for "cheating"

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

Activate automatic checks for tests, lint and build

About

  • #62 temporarily disables test, lint and build as they cause issues with the incoming updates:

test because yarn logs an error on an empty command ("test": "").
lint because I've set it to eslint, and the server isn't factored for that yet.
build because the server fails with these new TypeScript rules set.

The checks need to be enabled ASAP.

  • Support for Node.js 10.x should be dropped as it won't be supported from 2021: https://nodejs.org/en/about/releases/.
    Dropping support means permanently removing the build check for that version so it can be handled in this issue on the fly.

How to Reproduce

[to be filled]

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • Device: [e.g. PC, Mac, iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Kaetram Version [e.g. 22]

Additional context

Add any other context about the problem here.

[Bug]Entrance/exit on the cave doesn't work

Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)

About

A clear and concise description of what the bug is.

How to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

My avatar should be able to exit from a certain cave in the game.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

Screenshot 2022-01-12 115710
I tried recreating it on a guest account, but it doesn't happen.

  • Device: [PC]
  • OS: [Windows 10]
  • Browser [Google Chrome Version 97.0.4692.71]
  • Kaetram Version [e.g. 22]

Additional context

Lolo.Mo.mp4

Add any other context about the problem here.
https://drive.google.com/file/d/1kXFalGyJbO5pfGY3X5Du29ibRF00wVb1/view?usp=sharing

Docs: Create contribution section

Motivation

Only with an involved community, it is possible to build meaningful software. Thereupon we need to provide clear contribution guidelines for software developers, graphic designers, testers and game players.

The guidelines need to be clear and encouraging, including the project goals and development rules.

Possible implementation

Create CONTRIBUTING.md file linked with main README.md.

Examples:

Contrubution guide structure

[ to be filled ]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.