the-crazyball / anomalousspace Goto Github PK
View Code? Open in Web Editor NEWProcedurally generated universe with an emphasis on survival and story.
Home Page: https://www.anomalousspace.io
License: GNU Affero General Public License v3.0
Procedurally generated universe with an emphasis on survival and story.
Home Page: https://www.anomalousspace.io
License: GNU Affero General Public License v3.0
Make use of mining lasers and randomize mined quantity based on laser level.
Ability to create factions. Specifics to be determined. ie: what will be the advantages/benefits of being in a faction.
Show on the map your colonized sectors/planets with a color spanning a the sector region.
Also have the ability to change the color in settings.
The color will only be visible to the owner of the sectors/planets, other will see a standard perhaps grey color that it's colonized by someone else.
Command to view all colonies that span different sectors/galaxies.
Proper storage in database of the asteroids mined. Store asteroid rocks and dust, with a random chance of some other mineral.
When a new player starts, after they start with the start command, it's not clear what to do, until we have the first tutorial missions in place which will guide players and show them how the game plays, we need to add buttons on the last message, to scan, map, jump to get them started.
When colonizing, currently only adds the owner, need to increase the colony size on the planet, currently stays at 0.
The plan is when first colonization is done, increase colony size to 1. Later this will will increase when supplying the planet with resources from asteroids, minerals etc... the more colonies, the more efficient it is at refining raw material for later upgrades.
Have the user be able to change the prefix to their own prefix, independent global server prefix. This is partly done, just need a command to change it and store.
Add a ship command to view ship details.
For later, but look at upgrading to v14 of Discord.js. Significant breaking changes. Documention on changes from v13 to v14 https://discordjs.guide/additional-info/changes-in-v14.html
Tracking issue for:
At the moment all discovered planets have Torsium, Plutonium, Uranium, Rock with a randomized amount per planet. Need to change this to depending on the planet type some resources are more abundant than others and some resources may not exist. This will add a better experience to exploration and planet conquering.
All logging is at the command line level. Need to get the logging somewhere else online where it is accessible. Papertrail and Winston? Open to other free/low cost alternatives.
Past bots I would use a specific channel on a Discord Server or MongoDB. Perhaps this might still be the solution long term.
Have the ability to upgrade modules when they are equipped. This will solve the cargo hold upgrade issue. Will also be easier to upgrade modules with less steps.
Simplify the client requester to be more generic instead of writing a function for every new command. This should be also done on the server side routes.
Now that galaxy boundaries are added with warp/jump we need to implement that in the map and jump commands
Only show sectors in the commands that you can reach, example when you are at the boundary of the galaxy and open map, you can still see the sectors outside the boundary this will cause confusion.
It's either we don't show them at all or make the fade and still show the hex. To be tested.
When you scan a sector that has a stellar object (sun) and no astronomical objects, the scan reports there was nothing of interest found. This is a bug, it should have found something. ;)
Add ability for player to turn off notification (DM) in settings. Currently only have the Mining notification, but need to make it expandable to others in the future.
Proper documentation for all the code. At the moment it's not really easy to follow what each function, object, types, modules, classes, etc... does. Use JSDoc formatting. Example:
/**
* [someFunction description]
* @param {[type]} arg1 [description]
* @param {[type]} arg2 [description]
* @return {[type]} [description]
*/
const someFunction = function (arg1, arg2) {
// Do something...
};
Additional useful tags like @todo, @deprecated, @license, and so on can be used.
It should costs resources/credits to colonize. Specifics to be discussed determined.
Elemperor got this error when using the jump command.
Cannot read properties of undefined (reading 'class')
Stack Trace:
TypeError: Cannot read properties of undefined (reading 'class')
at Object.exports.run (/home/cabox/workspace/starx/client/discord/commands/jump.js:20:48)
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async module.exports (/home/cabox/workspace/starx/client/discord/events/messageCreate.js:110:9)
Change the ships to use modules for better ship customization. Example: Starter ship 'Explorer'
Modules Max: 6
Modules: Shields, Sensors, Lasers (Mining), Jump Drive, Warp Drive, AMC (Anti Matter Collector)
These will be interchangeable.
When setting a new prefix, prevent only spaces to be accepted.
At the moment the default prefix "!s" is disabled when someone changes to a custom one for their own profile. This should not happen, need to make sure the default "!s" is always accessible even when a custom one is set.
Add and admin button in help for server admins to set server specific settings.
Add asteroid belts in a system. Add as a planetaryObject type. There should be a random 1-3 asteroid belts in a system for the moment.
Change the scan, system commands accordingly to show the total asteroids from the belts.
Mining would just randomly pick from the asteroid belts that have asteroids.
The colonies will error out exceeding character limit when hitting roughly 50 colonies. Need to add paging just like the scan command. Thanks to AdotHam#3465 for the report.
Have a routine server side that replenishes the asteroids fields discovered and mined.
Add artifact finding on random worlds. The artifacts will be used to unlock portals to travel between sectors/galaxies.
Ideally when you start the game for the first time, you will have an artifact found through a mission from the tutorial.
A bug was introduced when checking for galaxy boundary. Do not save coordinates before check.
Finish the leaderboard command, add:
There should be paging and filters added to the embed.
Filter should select the stats you'd like to see with paging.
Example, when a mining cooldown is completed, send a DM to the user that mining can resume.
Add dark matter collector to ship and add dark matter when jump around in sectors.
Dark matter is used for the warp drives to travel longer distances.
Check for galaxy boundary when using jump. Just like the warp.
Add a cargo command to view ship cargo details.
Add missions functionality. Random event missions and tutorial missions.
Limit the amount of characters when changing a ship name.
Prevent warp command from warping outside the boundaries of the galaxy. It doesn't check the max sectors of the galaxy at the moment.
Add mining lasers to ship command
Add the ability to enter parameters for the colonize command instead of the interaction way.
example: .colonize {planet name}
After doing a jump, add a button to the resulting message to scan sector if the sector wasn't scanned before. This will facilitate the scanning of a sector much faster and easier.
Multiple files, especially on the client side, feature overly nested code, like sector.js
Modularizing this should be a priority, as it makes further development easier
Ba able to colonize planets, sets ownership to the player.
When using the jump and map commands, some sectors (Worm Holes, Black Holes) don't show as an anomaly on the map.
When unequipping the power module, you can still use other modules that need power. Need to fix.
The prefix when using just a letter is case sensitive, should be case in-sensitive.
Add paging to the cargo command, similar to the scan command. Cargo could be quite long.
Might be worth adding a max cargo quantity...
Change the models and mining function to use/have quantity instead of amount and add name of cargo item.
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.