swordmaster2k / rpgwizard Goto Github PK
View Code? Open in Web Editor NEW2D RPG Game creator
Home Page: https://rpgwiz.github.io/site/
License: Mozilla Public License 2.0
2D RPG Game creator
Home Page: https://rpgwiz.github.io/site/
License: Mozilla Public License 2.0
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
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();
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.
The editors Swing UI does not scale properly on High DPI displays like the Windows Surface Pro, resulting in small text and icons making it difficult to use.
Upgrading to Java 9 may fix this issue.
If you open a tileset in the TileSet pane for one project and then switch to another project the Tileset will remain open in the pane even when all the other editors were closed.
Currently only possible to detect collisions with objects on the player layer with fireRaycast, a user should be able to specify the origin layer for cases where the object is not on the player layer:
http://rpgwizard.org/tutorials/rpgcode_api_reference/RPGcode.html#fireRaycast
A number of users have requested the ability to render images on a layer to create a stackable effect similar to the below image:
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.
As per Kuraido's original ask:
Some way to get the tile's name in a certain location of a board
getBoardTile(x, y, layer
Possible cross-platform replacement for the current standalone implementation with JCEF:
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.
Ability to remove solid collision vectors from sprites. For arrows bombs what not. Avoids the hit and stop/autocorrection thing. 0,0 the collection w,h and if check on creation/draw? (Moved from bug report) not sure if delete actually deletes it or not.
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.
Ability to disabled player keyboard inputs for cutscenes.
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
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
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 ๐
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.
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.
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).
Double clicking a point in the editor while creating a BoardVector leads to duplicate points being added to the structure. This breaks collisions for that vector in the engine.
https://cdn.discordapp.com/attachments/316692684960038913/450296217402867712/unknown.png
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.
Will there be a browser based editor where we can edit from a browser?
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.
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.
Add the ability to export an open board to a 1:1 PNG image file.
In the board editor sprites appear above everything else on the board regardless of the layer.
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.
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.
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.