Skip to main content

News

Topic: Promoting Sphere? (Read 417 times) previous topic - next topic

  • Rhuan
  • [*][*][*][*]
Re: Promoting Sphere?
Reply #15
As far as I know miniSphere doesn't have a choice of graphics drivers? Which somewhat removes that issue...

  • Rhuan
  • [*][*][*][*]
Re: Promoting Sphere?
Reply #16
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.
The map engine I'm working on was ok under Duktape - my update and render scripts could process 1000 sprites in approximately 15 ms, which is just fast enough for 60 FPS - though that was before I added collisions - with tile based collisions I tested with 500 and it was fine; I haven't done a stress test with polygon based collisions yet but it would probably be ok for 400+, the entities are moved in and out of segments of the map so that minimal collisions have to be tested directly.

I obviously can't test performance on old Sphere as my engine code is very dependent on the pegasus/galileo api which doesn't exist in 1.5.

Also though the fact that code I write runs fast on an engine does not mean the engine is fast - I'm a compulsive micro-optimiser.

  • Rukiri
  • [*]
Re: Promoting Sphere?
Reply #17
Sphere was insanely popular back in the day, it was literally the go-to pokemon engine "even tho it's not a pokemon kit... one came out for XP which kinda killed the poke sphere scene..."   There were also tutorials on any RPG Maker related site, however with minisphere a lot changes also even tho it's cross platform the editor is still windows based so I would suggest at least focusing on OS X then work on a Linux port but that's just me.

You're going to need generate buzz, how do you do that? Show off current in progress titles "not titles that haven't been touched in years..."  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.

I would also consider making an RPG Template, essentially copy RPG Maker (look at RMs success and mimic it).  by having a template you have a foundation for new users to come in and create projects, I believe there was one for sphere 1x but that's long gone tho...

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: Promoting Sphere?
Reply #18
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.

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.
miniSphere 5.0b4 (stable: 4.8.8) - Cell compiler - SSj debugger - thread | on GitHub
For the sake of our continued health I very much hope that Fat Cerberus does not become skilled enough at whatever arcane art it would require to cause computers to spawn enourmous man eating pigs ~Rhuan

  • Rukiri
  • [*]
Re: Promoting Sphere?
Reply #19
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.

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.
It's almost better if Minisphere had it's own community...  and spidermonkey js is pretty old...  I personally haven't touch sphere in ages which I don't think minisphere any of the "new" spheres were a thing yet.   

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...". 
  • Last Edit: September 27, 2017, 01:34:08 pm by Rukiri

  • Rhuan
  • [*][*][*][*]
Re: Promoting Sphere?
Reply #20
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.

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.

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...". 
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?

  • Rukiri
  • [*]
Re: Promoting Sphere?
Reply #21
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.

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.

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...". 
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?
Not much sadly :)
One thing I absolutely have to recommend is polygon colliders (basically full "tile", none, and shape "great for slopes/half tiles")  Unity spoiled me in this regard, Zelda A Link To The Past used or at least appeared to use Polygon colliders or at the very least used circular collision.

  • Rhuan
  • [*][*][*][*]
Re: Promoting Sphere?
Reply #22
Collision algorithm built into my work in progress map engine, I could add more shape types in the future - for now does rectangles and circles:
Code: [Select]
	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);
}
}