Once you do anything really code-heavy though, like my Spectacles battle engine, or @Rhuan's map engine, the poor performance of interpreted JS really starts to hurt.
Focus on minisphere, make sure there's really only 1 sphere to work with and make it blatantly clear that 1.5x is legacy and not supported for future development.
Quote from: Rukiri on September 27, 2017, 01:04:47 pmFocus on minisphere, make sure there's really only 1 sphere to work with and make it blatantly clear that 1.5x is legacy and not supported for future development. That's what I keep telling people, but they insist on writing new code against the Sphere v1 API anyway. I guess it doesn't help that most of our active members are still old-timers and there's no Sphere v2 map engine yet (though @Rhuan is slowly working on one). The classic map engine just isn't conducive to writing idiomatic Sphere v2 code, and the divide has widened even further with ES6 being supported in the beta.
Still think a rpg template would go a long way in bringing in people, use xp stuff "everybody does..." just put a disclaimer for assets use *can not be used for commercial projects. I'm also thinking about moving my rpg project from unity I was going to use RPG Maker MV only because I could do entire 5hr story arks in a month or 2, Dragon Ball currently has 10 so the game would be around 50hrs "the Future trunks ark is going to be 10+ only because I love Black <3" So imagine doing a project like that in Unity especially with how scenes are organized... even tho I have most of my Zelda kit done it was quite a pain in unity "especially the room transitions...".
Quote from: Fat Cerberus on September 27, 2017, 01:15:43 pmQuote from: Rukiri on September 27, 2017, 01:04:47 pmFocus on minisphere, make sure there's really only 1 sphere to work with and make it blatantly clear that 1.5x is legacy and not supported for future development. That's what I keep telling people, but they insist on writing new code against the Sphere v1 API anyway. I guess it doesn't help that most of our active members are still old-timers and there's no Sphere v2 map engine yet (though @Rhuan is slowly working on one). The classic map engine just isn't conducive to writing idiomatic Sphere v2 code, and the divide has widened even further with ES6 being supported in the beta.I think the absence of a v2 map engine is a pretty major issue, I'm trying to fix that but getting it right is taking time (plus I was away for almost a month since starting it which delayed me quite a bit).Also the v2 API still feels a little new/untested, it's not a stable 100% there definitely good to go platform yet, it's getting there and when it's finalised it will be great just needs a little bit longer IMO.Quote from: Rukiri on September 27, 2017, 01:25:04 pmStill think a rpg template would go a long way in bringing in people, use xp stuff "everybody does..." just put a disclaimer for assets use *can not be used for commercial projects. I'm also thinking about moving my rpg project from unity I was going to use RPG Maker MV only because I could do entire 5hr story arks in a month or 2, Dragon Ball currently has 10 so the game would be around 50hrs "the Future trunks ark is going to be 10+ only because I love Black <3" So imagine doing a project like that in Unity especially with how scenes are organized... even tho I have most of my Zelda kit done it was quite a pain in unity "especially the room transitions...". I'd love to make a full RPG template - just taking a while on the map engine; I have a full time job and other things in my life + recently have just been writing too much code both in and outside of work, been making my brain spin and I've had to slow down/do simpler stuff.So you've got a project you're thinking of moving from unity? What do we need to do to persuade you to bring it to miniSphere?
static polysCollide(x, y, _one, two) { let result = false; let one = {x: _one.x + x, y:_one.y + y, type: _one.type, w:_one.w, h:_one.h}; if(one.type === 0) { if(two.type === 0) {//circle with circle result = (((one.x - two.x) * (one.x - two.x) + (one.y - two.y) * (one.y - two.y)) <= ((one.w + two.w) * (one.w + two.w))); } else if(two.type === 1) {//circle with rect let x_d = one.x - two.x - two.w /2; x_d = x_d < 0 ? -x_d : x_d; let y_d = one.y - two.y - two.h /2; y_d = y_d < 0 ? -y_d : y_d; if((x_d > (two.w/2 + one.w)) || (y_d > (two.h/2 + one.w))) {//distance between centres > radius + half width or height of square result = false; } else { if(x_d <= two.w/2 || y_d <= two.h/2) {//distance between centres < half width or height of square (combined with check above) result = true; } else {//final check pythag x_d = x_d - two.w/2; y_d = y_d - two.h/2; result = ((x_d * x_d + y_d * y_d) <= one.w * one.w); } } } else { CEngine.error ("Unknown polygon type given to collision engine, valid types are 0 or 1, supplied type was " + two.type); } } else if(one.type === 1) { if(two.type === 0) {//circle with rect let x_d = two.x - one.x - one.w /2; x_d = x_d < 0 ? -x_d : x_d; let y_d = two.y - one.y - one.h /2; y_d = y_d < 0 ? -y_d : y_d; if((x_d > (one.w/2 + two.w)) || (y_d > (one.h/2 + two.w))) {//distance between centres > radius + half width or height of square result = false; } else { if(x_d <= one.w/2 || y_d <= one.h/2) {//distance between centres < half width or height of square (combined with check above) result = true; } else {//final check pythag x_d = x_d - one.w/2; y_d = y_d - one.h/2; result = ((x_d * x_d + y_d * y_d) <= two.w * two.w); } } } else if(two.type === 1) {//rect with rect result = ( (one.x <= (two.x + two.w)) && ((one.x + one.w) >= two.x) && (one.y <= (two.y + two.h)) && ((one.y + one.h) >= two.y)); } else { CEngine.error ("Unknown polygon type given to collision engine, valid types are 0 or 1, supplied type was " + two.type); } }