rossbrunton / duskwolf Goto Github PK
View Code? Open in Web Editor NEWGeneric JavaScript Game Engine Thing
License: MIT License
Generic JavaScript Game Engine Thing
License: MIT License
There should be a health system and lives.If you get attacked you loose some health. If you loose too much health you loose a life. If you loose too many lives something bad happens.
This would be a grid that can have a range attached to it, when the value of the range changes, then this will recreate the grid with the number of elements specified by value, hence allowing bars of icons such as hearts or something for health.
At the moment, DuskWolf has a simple system for managing objects, or to be more specific it has a NOTATION to manage objects. I should change it so that it uses "real" JavaScript objects, rather than strings with "-" to separate properties.
You know, like random sparkles and stuff.
Vartrees should be able to "inherit" vars from other trees.
At the moment they are... Blegh... I need to work my way through it, and improve it. For example, I want to change properties so that you can just use comp.registerProp(prop, onSet, onGet), or something, rather than now. I also want to improve the effects thing as well.
Tilemaps should have some way of animating them. I have no idea how to go about this, bah.
Stuff in the SGui system needs to be able to have "effects" applied to them (fading in, fading out, etc.) in a modular way.
Entities should be able to apply the behaviour "persist" (or so), which would allow them to save and load data automatically based on their name.
What I want is essentially, packages implementing an interface would allow you to specify what you want to save (persistent entity data, what have you) and a module would allow you to save/load these from various locations.
This will be a group with a list of options, one or more of which can be selected by the user. The value will be stored in a var, and the program can use it easily, and such.
I could extend the menu and grid components to do this, maybe.
Give the player the ability to attack other entities! And maybe other entities the ability to attack the player!
These are entities that follow AI rules. Basically enemies, but there is no reason some other things can't be entities, like bubbles underwater. They must be easy to describe in the jsons using a vartree. They will follow the same general rules (Gravity, life, etc) as the player.
This would be a single, which you would set a height and width to, and would only render what was in there, with scrollbars that allow you to move around.
The problem is autoscrolling if, say, a selection is put in a scrollbox thing and you try to select anything not visible on screen...
I really must get around to doing these...
They are meh... I'm thinking of just replacing them with the concept of actors that can do actions, and you specify them in arrays or something. Anything better than this mess.
Box that can be ticked or not ticked. Fairly simple stuff.
These would work similar to variables, only they would call a function rather than a value.
They would be specified using the syntax #SUM(a, b) or so.
When an entity is on top of another entity, it moves up and down really fast.
They would use different tiles on the Hero.png to create animation. Like a walking and jumping one.
Collectables, you know, coins and stuff.
This would be a "Slider" input thing, that would have a number, and you could move it left and right or up and down to change that number.
Text drawing is slow. Lets make it faster by caching glyphs to an external canvas. This also allows me to use images in text as well! Yay!
This is a guide that would help people use the language thing to make their games. It is aimed at people who don't know and don't care about the JS parts, but want to use the JSON parts. Evidently I also need to think up a name for the JSON parts.
At the moment TileMap is a group with lots of TIle components inside it. It would be MUCH faster if we just draw the tiles directly, with no children involved.
A component that will let you input text! Yay!
This is the ability to manage items and such. Huzzah.
What I plan to do is have each item be an object, with an event to call when the item is used. Also included is a "ItemGrid" component, which would display a single item, and let the player hold one in their "hand".
There is a severe lack of developer documentation at the moment... Some should be written!
A system for dealing with RPG style stats!
At the moment, the current system is... Well, dumb.
Uh, a water tile, for like swimming in! If you are inside said tile then your "gravity" would be negetated somewhat, making you fall slower. Also you may have the ability to swim. If you stay in the water too long you may also drown! Oh no!
A module to let the user play sound and such.
The readme file is not satisfactory, I should improve it with more information, maybe links to online guides and docs?
This is a component that will display text that floats into the air and fades out. Truly revolutionary stuff.
When you die, you reappear at the last checkpoint you touch!
This will let you edit rooms, and create maps without resorting to lists of coordinates.
At the moment, the collision tests and what have you only work if the two entities are the same size.
To get around this, I have an idea! Entities can be tethered to each other, like a large square entity could be made up of four, smaller squares tethered together. The entities will have to learn to get along and not split up, but each should be able to collide with other things independently, and control the whole group like this.
At the moment the condition system for DW uses 0 and 1 as it's values (from it's XML roots). However, JavaScript has boolean types that cannot be used with this. They should.
At the moment entities collide based on their tile size, meaning that the current "hero" at least, does not collide into other entities without living a large space between them.
There needs to be more example code, showing things such as loops and whatnot. I can also use these to test for regressions as well!
A value in root.json that would allow you to specify a JSON with a list of other files specifying file dependencies. For example, if your game needed some new SGui components, you could describe them in a JSON and import them normally.
This would be a module that allowed the engine to register "controls" onto things, as well as provide gamepad support.
For example, you could map "jump" to the "a" key or button 0, but the player has the ability to change the mapping to another button, and it would still work.
There needs to be a method to allow the programmer to move entities around at their will. This would be used in, say, cut-scenes and such.
Rather than having the frame just shift abruptly, we should have a "transition manager" component that sits in the BasicMain which automatically imports the next room and fades in and out the scene. It should also allow custom functions to be executed.
There should be a list of constants mapping keycodes to actual keys. Like $key-a; = 65, and $keyk-65; = "a".
Like {"a":"import", "src":"Hello!"} would download and run Data/Hello.json.
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.