Code Monkey home page Code Monkey logo

the-space-game-2's Introduction

linktr.ee/quatricise

the-space-game-2's People

Contributors

quatricise avatar

Stargazers

 avatar

Watchers

 avatar

the-space-game-2's Issues

Weapon design: Weapon and Item are not the same thing, items are simply objects that exist inside inventories and have properties

When you mount a weapon, it converts Item into Weapon, and it becomes a much more complex object.

I want weapons to have internal logic, so that adding a new weapon doesn't add anything to the Ship class.

Each weapon will receive mouse and keyboard input, and it will react according to its own logic.

Also, each weapon will exist both as an item and as a weapon, both identified by the SAME string, so "laser_weak" e.g.

Dialogue editor - exporter - JSON or javascript

There needs to be an exporter so that I can use the editor for BOTH visual design and actual structure of the dialogues themselves, without having to remake everything by hand once i have created the good design visually.

I reckon the best way about this is to tweak this on one single example of a conversation, and try to complicate it as much as I can, to stretch the limits of the system.

Dialogue editor - the responses feature is very crude

It's missing a few things:
ability to add rules pertaining to a certain response showing in the in-game list of available responses
some kind of onfinish handler once you pick this response - this should include the ability to change character stats and siding, exchange items, terminate the conversation, and include additional dialogue pertaining to any character involved in the conversation

world map - convert to storing info in JSON, add options to edit the map

just a few features -
move location by mouse and update its coordinates,
hide location from the map,
add new location from a template

i'm polarized about removing a location altogether, could be an issue, i think it's better just to be able to hide them, i want to keep them incase i want them back

Rotation is fucking bullshit

I need to standardize it

to get the correct vector for movement to a target you need:

atan2
vectorRotate()
vector.y *= -1

i have no fucking clue,
but its imperative that I write this down somewhere as a utility function or something

The way I store objects is terrible, there is the game.loc.objects[ ] and then there's all those different global arrays

Everytime you create an object, it gets put into a respective array inside its constructor, but the same object can also exist in game.loc.objects?? i dont fucking know, something needs to change

i think what has to be done is that objects will only exist within ONE context, that is - the location editor, or the game, and they will not be added to additional arrays, this should ensure the total separation between the loc. editor world, and the game world

Dialogue editor - database connection for storing text

The database connection could simply be used to store dialogue node id's, so that when creating a new node/response/socket/connection it is consulted with the database so it necessarily creates a unique ID for that item.

Items will not be stored in the database at all, just ID's, hmm, this is kinda broken, it obviously needs to be so that once an item is created, its ID will forever stay the same, so that references to that item don't break, so content (dialogue text, responses, stats, and item changes) needs to be tied to a specific node ID.

Add a collision solver

seriously, do something with that, watch that old tutorial and decide on something, it doesn't have to be perfect from the start

The current collision solver groups objects by pairs, as a consequence.

this obvsly shouldnt stay, i'll optimize this

each rigid can have a collides_with[ ] , also continuous collision with the same object should not inflict hull/object damage,
but each new collision should,

i can also implement speed as a factor, and ships with harder hull can resist low velocity impacts without damage

Input - the way I handle input is unsustainable

I think every major component of the game, that is every sub_menu of UI, and game should have their internal input handling, which will be simply triggered through the different event listeners inside input.js

This way concrete logic will not bleed too much across different files and should be easier to keep track of what's doing what, and under what conditions. Good state management should make it easier to isolate logic and make sure that things aren't activating when they shouldn't be

UI - so far no way to track the open-ness of windows

Currently all windows have a completely separate logic, all UI components like worldmap or dialogue editor or hitbox editor should be linked to some kind of state management system, similarly to the actual game, like, if you open an editor, the game pauses and so on.

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.