GithubHelp home page GithubHelp logo

swordmaster2k / rpgwizard Goto Github PK

View Code? Open in Web Editor NEW
39.0 39.0 7.0 138.6 MB

2D RPG Game creator

Home Page: https://rpgwiz.github.io/site/

License: Mozilla Public License 2.0

Java 54.18% JavaScript 45.52% CSS 0.05% HTML 0.17% Shell 0.04% Batchfile 0.01% Dockerfile 0.03%
engine game game-engine game-engine-2d game-engine-development games javascript rpg-creator rpg-engine rpg-maker rpg-tool rpgtoolkit

rpgwizard's People

Contributors

swordmaster2k 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

rpgwizard's Issues

Auto Stop the Engine when the JCEF Window has Closed

If the user lauches the engine and then closes the JCEF window they still have to press the "Stop" button in the toolbar before they can run it again. This is because the Jetty server is still running in the background and their is no signalling back to the editor to tell it the window has been closed.

Editor should cancel closing if "Cancel" is selected on unsaved files

Oh right, when closing RPGWizard and there are unsaved files, choosing "Cancel" closes RPGWizard anyway (even the "x" button on the confirmation window).
Would also be cool if there is a confirmation whenever there is an attempt to close RPGWizard regardless if there are unsaved files or not. It sucks accidentally closing RPGWizard while I have a lot of things open in it lol ๐Ÿ˜…

BoardLayer Images

A number of users have requested the ability to render images on a layer to create a stackable effect similar to the below image:

example

Tiles alone cannot create this type of game art style easily, so a user should be able to specify a base layer image to render. This option should be available in the layer panel, layer images should be rendered below everything else on the that layer.

Keep Reference Counter for Loaded Assets

Need to keep a reference counter for each asset loaded in the asset manager. Basically if an asset makes use of another asset it needs to increment the counter.

This counter will be used to indicate whether an asset is no longer needed and can be removed from memory. For example when a Board is loaded it loads NPCs, Enemies, Images, etc. when the board editor is closed the board asset it is removed but the other assets remain. Although they may have been opened separately in another editor in the mean time.

Once the reference counter for an asset reaches 0 then the asset should be removed from the manager.

Undo & Redo Actions on BoardEditor Reverts Layer Visibility

After performing an Undo or Redo action on the BoardEditor layers that were previously hidden have their state changed to visible again.

This becomes slightly tedious when working with multi-layer boards when having to constantly toggle them off again.

Changing Character Movement Speed at Runtime

Currently the only way to manipulate the character speed is by directly accessing the rpgwizard object:

javascript rpgwizard.craftyCharacter._speed = 2; rpgwizard.craftyCharacter._diagonalSpeed = 2;

Provide a wrapper rpgcode function that does the same thing.

Make Solid Vectors Raycastable

When using rpgcode.fireRaycast it should return the first solid vector that it encounters along with any enemies or sprites within the range of the raycast.

This will be useful for path planners that require line of sight or for travelling projectiles

Enable Toggling the Visibility of the Sidebar

There should be option to toggle the visibility of the sidebar in the Editor that contains the Tilesets, Layers, Properties, etc. This will give users the ablility to take advantage of the full width of their screen for file editing.

Enable Limited Linux Editor Support

Explore the possibility of running the editor, and the engine within a browser tab on the Linux platform. Officially we will look to target Debian (Ubuntu) like distributions.

Setting dimensions in animation editor that exceed image size leads to breakage

At animation editor, setting tile width to more than 128 and selecting a tile somehow makes the option to change the image disappear. Also, when saving said animation, it cannot be opened again (although it can still be used ingame and it shows no problem at all). Seems like this problem was already present at v1.5 as i cant seem to open as well the animation file saved this way. @swordmaster
Edit: ah well scratch that. It occurs when the chosen dimensions in the animation editor exceed the image's size

image

Changing Character Graphics at Runtime

Provide an RPGcode function that enables the user to selectively change the characters default graphics assigned to N,S,E,W,Att, etc. It should be possible to restore the graphics that were swapped out later on.

JSON files, enemy saving

Saving enemy files throws an error. "Error saving file" is all I get as feedback.

.JSON files can't be opened in the editor.

Not sure about this one:
loadJSON and saveJSON could use optional callback variables. They are required to have one atm.
The success callback seems to trigger multiple times. I don't understand the internals of them so shrugs

Remove Synchronous XMLHttpRequest on the main thread

There a few places in the engine that are still using Synchronous XMLHttpRequests for accessing assets such as sprites, animations, etc.

This causes unnecessarily slow load times when playing through a browser on the rpgwizard website. These should be replaced with Asynchronous requests to ensure the network is better utilised.

Save Breaking as KeyPressEvents on Vectors are Not Stored Correctly in Undo/Redo States

Below code in BoardVector.java is not accounting for Event subclasses such as the KeyEvent:

final ArrayList<Event> newEvents = new ArrayList<>(boardVector.events.size());
for (Event event : boardVector.events) {
   newEvents.add(new Event(event));
}
events = newEvents;

This leads to "Error Saving File!" notifications for Boards that are using KeyPressEvents when an Undo/Redo has occurred.

Provide a Mapped Key for Deleting Entities in the BoardEditor

Currently the only way to delete a selectable object on a board e.g. Vector, Sprite, is to middle mouse click. This assumes that the user will have a mouse or a means of simulating a middle mouse click. This is normally not the case for laptops and netbooks.

Provide a key mapping for the same action a good key would be the "delete" key.

Add RPGcode Functions for dynamically adding/removing layer images

The default battle system makes use of custom functions to add/remove layer images, these should be included in the RPGcode framework.

// Adding a layer image dynamically
rpgwizard.craftyBoard.board.layers[1].images.push({src: "speech.png", x: 503, y: 267, id: "0349182b-7b6e-43ef-ac8a-ea514a7d8a6e"});

// Removing the layer image again
rpgwizard.craftyBoard.board.layers[1].images.pop();

API Expansion

DrawLine, SetPixel, and, if possible, GetPixel.
A way to check the state of an asset would also be nice. I can't find anything related to this other than the OnProgress parameter of Crafty.load.

Drawcircle (and fillcircle) function. As well as a drawRect (we have fill but not the other).

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.