Skip to main content


Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - N E O

I have not officially returned to these boards just yet, but I wanted to pop in here and, spurred on by discussion on the Spherical Discord, clarify some information regarding referring to Sphere and its associated projects conversationally and officially.

  • While Sphere and its official website was originally hosted on SourceForge (which still contains the original code history and a more or less frozen version of the original website), the code itself and the code of various Sphere-related projects is now most currently up to date on GitHub under the "sphere-group" organization and repositories of various members of that group, and Spherical is the official website for Sphere, its related projects, and its community.
  • The current official implementation of the Sphere engine is miniSphere. The classic 1.5/1.6b engine should either be referred to by version number, by Legacy or Sphere Legacy, or by Classic or Sphere Classic, though the "Vanilla" moniker may occasionally be found in references.
  • Ownership of Sphere the engine, Sphere the API, and certain related projects is currently nominally assigned to the "Sphere Group" which consists of certain Sphere-compatible engine devs and certain Sphere game devs and is currently led by me, Alex Rosario, aka Apollolux or NeoLogiX, in order to prevent the stagnation and deprecation that comes with single-person ownership of the projects. Ownership of Sphere as the name of a game engine that uses JavaScript as its scripting language, belongs to Chad Austin unless otherwise noted.
  • Any future game engine projects are welcome to add Sphere-like APIs to it, but the engine will only be considered "Sphere-compatible" if it runs projects written for Sphere 1.5 or higher (either natively or through a translation layer of some sort) and either uses Sphere API-compatible JavaScript or a language that compiles, translates, or otherwise "trans-piles" to Sphere API-compatible JavaScript.

Regarding development history, there have been many people who have been involved in the direct development and testing of the various iterations of the Sphere engine. Many names escape me at the moment, but a good portion of that list can be found within the original editor's code. For historical reference and purposes, Chad Austin (AegisKnight) is the original creator of the thing, Brian Robb (Flikky) was then the most prolific developer of it and its updates along with a handful of other developers, and eventually after changing hands multiple times the overarching project as a whole is now currently maintained by me, Alex Rosario. Bruce Pascoe (Fat Cerberus) is the creator and lead developer of the current official Sphere implementation, miniSphere. Any nominal credits beyond the aforementioned would likely require some better research.

There may be separate posts or docs outlining terms beyond the above, such as clarifying licensing of engine-related names or commercial usage.
Sphere General / Re: What is SFXR?
I'm late to the party here, but yea SFXR is for audio generation. In the future I would certainly like to see more generalized audio generation functions akin to the Web Audio API, but no skin off our backs if Sphere doesn't officially implement it.
Engine Development / Re: minisphere 4.2.2
I guess JS-ers were expected to use Math.pow all the time?

Also, is anyone here familiar with creating a port/pkg on FreeBSD? Once I get minisphere compiled properly on it I'd like to see how far we can take that, though admittedly we'd probably have to nudge Allegro into updating their BSD port to 5.2.x to cover our bases.
Engine Development / Re: Sphere/MiniSphere on FreeBSD?
Update: I added `-I/path/to/allegro/include` to every compilation line in the Makefile since that's why allegro5/allegro.h wasn't being found and get errors. I'm not on that laptop at the moment so I can't yet add the actual error message here, but I'll edit it in when I turn it on.
Editor Development / Re: Radnen's Sphere Studio v1.2.1
I'm now interested in seeing this on BSD as well! There seem to be mono and gtk-sharp ports available, so feasibility++ ?
Engine Development / Re: Sphere/MiniSphere on FreeBSD?
On freshports 'devel/allegro' AND pkg 'allegro' is 4.4.2_5, while 'devel/allegro-devel' / 'allegro-devel' is 5.0.9_whatever. I'm gonna try to build against the 5.0.9 and see what happens.

Update #1: I'm trying to build allegro from scratch and CMake is complaining that libXcursor isn't found (more specifically, that the function XcursorImageCreate is not found), even though OctoPkg is clearly telling me I have version 1.1.14_3 and /usr/local/lib/ and .a clearly exist. Fk building from scratch, I'm gonna try 5.0.9.

Update #2: Compiling minisphere is complaining that for every #include <allegro5/allegro.h> line allegro.h is not found. Short of manually editing every single instance to point to the correct allegro.h, how can I solve this? Can I just symlink the existing allegro-devel headers to the appropriate location to make it work?
Off-Topic Discussions / Gaming on FreeBSD?
I'm looking for some non-Steam games to put on my FreeBSD installation. Anyone here have any recommendations?
Engine Development / Sphere/MiniSphere on FreeBSD?
I just got FreeBSD 10.3 working on my Lenovo Thinkpad via GhostBSD+Mate installer. Please refresh my memory on what I'll need to get (Mini)Sphere compiled and running on this thing besides Allegro (which I'm getting via OctoPkg/`pkg install ...`), thanks!

I'll also try to update my personal MacBook Air build of MiniSphere to 4.2.0 this weekend. I'm a couple of weeks into my final full-time semester at college, so please forgive me for any delays in my response due to being busy.

edit: Turns out the allegro-devel is 5.0.9_4, so I'll probably have to build that from scratch too. +neo
Engine Development / Re: minisphere 4.1.1
Re DUMB - are you using kode54's updated fork of DUMB as the base?
Engine Development / Re: minisphere 3.3.0
Persons were associated with their initial containing maps unless they were set to persist_on_destroy_map, e.g. CreatePerson's last parameter. For v1 behavior keep it like this, but feel free to choose to keep entities independent of maps in the v2 redesign.
Hellos and Byes / Re: A temporary absence for me
Went to the Apple Store and got it looked at. It was an SMC issue and was solvable without spending money. Safari is running slow as molasses though, so surfing the forums is still a chore.
Engine Development / Re: minisphere 3.3.0
I can't believe I just put together that the screen is basically another surface. Internally is that how you treat drawing?
I've always found it interesting how SetClippingRect was persistent but FlipScreen wasn't, even after I learned about the paradigm of screen buffering and flipping. I'm also on the fence about changing the expected persistence behavior.
Hellos and Byes / A temporary absence for me
My MacBook Air decided it no longer wants to power on for me. I'm taking it to the Apple store tomorrow to see if the Genius Bar can actually do something about it, but I'm less than hopeful it will be resolved that soon. I'd look at it myself but I don't have access to a small 5-pointed star bit.

I'm gonna be considerably less active here for a while until I can resolve that, since the Windows laptop is a pain-in-the-ass jet engine that threatens to BSOD on me if I even breathe on it funny.