kaetram / kaetram-open Goto Github PK
View Code? Open in Web Editor NEWKaetram 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
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
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 )
Cannot pick up items even when dropped. Downloaded develop release and tested found cannot pick up items. Also won't pick up when dropped. Major bug issue.
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.
Using the live server, Chromium Linux
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.
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
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
Steps to reproduce the behavior:
yarn
yarn build
Kaetram being built with exit code 0
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
Not Batterfly, Butterfly.
Steps to Reproduce
npm install
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
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:
Needed templates:
Issue templates go to .github
directory
Just some Possible Updates from playing Kaetram.
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.
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
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.
Possible to have pets in game follow you etc. Help in battle.
Other player interaction for example, add friend, trading, follow would be epic in future. Trading would possibly be a must.
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.
I suggest a complete revamp of inventory, character sheet, quests, guilds, and similar screens. mockups to follow in comments (and discord)
Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)
A clear and concise description of what the bug is.
Steps to reproduce the behavior:
A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
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
I noticed this bug tonight with healt flasks, the item is removed from the inventory but it doesn't heal as expected
Both the client and the server will have to be adapted to support multiple languages.
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).
Perhaps using one of pre-existing npm repositories would greatly speed up this process.
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.
This is the final task of pre-MVP phase, ideally, all developers need to test the gameplay, spot any imperfections and suggest improvements.
Currently, most of the types in the codebase are any
. Gradually we need to specify them.
Let players access Lakesworld, currently, there is nothing there.
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.
Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)
A clear and concise description of what the bug is.
Steps to reproduce the behavior:
A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
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.
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?
"Pickle": {
"id": 259,
"type": "armor",
"name": "Pickle Armour"
}
"WoodenBow": {
"id":87,
"type":"weaponarcher",
"attack":0,
"name":"Wooden Bow"
},
Checkboxes are nearly impossible to see if checked. Will upload mockup in comments for what they could be like, instead.
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.
Create a minimap for ease of exploration. This should be a issue to be implemented asap.
Hard to navigate without a minimap.
That will improve the application performance.
All regions in the map need to be accessible by players
Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)
A clear and concise description of what the bug is.
Steps to reproduce the behavior:
A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
The documentation gives the following steps to run the application:
npm install
npm start
which results in an error:
npm ERR! missing script: start
It is crucial to keep documentation up to date, especially Installing and Running one. Potential contributors may feel discouraged.
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..
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.
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.
Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)
A clear and concise description of what the bug is.
Steps to reproduce the behavior:
A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
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.
Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)
A clear and concise description of what the bug is.
Steps to reproduce the behavior:
A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
As we agreed, we want environment configuration compatible with most deployment services.
We need a pixel artist to manage and create graphical assets.
Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)
A clear and concise description of what the bug is.
Steps to reproduce the behavior:
A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
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.
[to be filled]
A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
Please, provide as much information as possible, Don't worry if some sections remind empty. Thank you for your support :-)
A clear and concise description of what the bug is.
Steps to reproduce the behavior:
My avatar should be able to exit from a certain cave in the game.
If applicable, add screenshots to help explain your problem.
I tried recreating it on a guest account, but it doesn't happen.
Add any other context about the problem here.
https://drive.google.com/file/d/1kXFalGyJbO5pfGY3X5Du29ibRF00wVb1/view?usp=sharing
Plugin for the offline support
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.
Create CONTRIBUTING.md
file linked with main README.md
.
Examples:
[ to be filled ]
When I stack more than 17 potions at bank it becomes inaccessible.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.