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.

Topics - 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.
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
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.
Resources / Gradius logo font by me
Now usable for the most common lettering jobs (English alphabet + German eszett + 0-9) and with a few extended Latin characters, my attempt to recreate the Solotype font, Lampoon, is available for free, called Harpoon. The primary character set is complete, so the work that remains is mostly expanding its available characters.

It's likely most well known for being the font used for the Gradius logo (before Konami tweaks, of course).
Resources / Genesis logo font by me
Now usable for the most common lettering jobs (English alphabet + German eszett + 0-9 + punctuation), my attempt to recreate the Sega Genesis logo font is available for free, called Negesis. Heavily inspired by NiseGenesis by Act Select, this version is not only faithful to the original but also very pixel-friendly. Next version (probably over the weekend or something) will likely include extended Latin characters with the various accents and diacritics and such.

Minor hiccough is no kerning on specific letter pairs, so there will be noticeable space between e.g. ST or F+any uppercase, but for now unless FontStruct implements kerning pairs this can be mitigated through your graphics software.
Resources / NES controller font by me
Now usable for the most common cases (English alphabet + German eszett + 0-9), my attempt to recreate the retro-futuristic Roc Mitchell font, Logos, is now at a state I feel comfortable advertising. Download New Era Software for free today!
My college supposedly offers a "JavaScript Game Programming" course that would count as a computer science elective if was actually staffed and students could register for it. I'm going to contact the comp sci department chair to petition to not only have someone teach that course so they can actually have an open section for a change, but also to be the one to teach it (and if I'm lucky would count as my "capstone" project as well).

If I am the one to be teaching the course I almost certainly would use Sphere as the engine since minisphere now catalyzes its multi-platform capabilities and it might even give me some extra motivation to clean up the web version.

As such, I would like to request a stable, preferably native, Linux and/or Mac build of a Sphere editor, either the original or Sphere Studio. I expect that, if the course is approved and I'm teaching it using Sphere, there is a much higher than normal likelihood that students would use a non-Windows OS. I'd also like to request confirmation that the Windows editors would work on Windows 8 and/or 10. The sooner we can confirm working editors the sooner I can have some ammo in my belt to tip the scales in favor of getting this class open for this fall.
Sphere General / Future of Sphere: Python, acquire ika?
minisphere is fast becoming our de facto Sphere-compatible engine standard, and once a review/audit is done re 1.5 and 1.6 compatibility I'm almost certain to declare it the new vanilla Sphere. One of its key features is its plugin system, which is useful for all kinds of reasons.

We've previously toyed with the idea of adding support for languages other than JavaScript, and IIRC Beaker once compiled a test version of some 1.x branch that allowed Python as a scripting language (might have been called PySphere, almost certainly Windows-only). Those of us who have been here for a while know of and remember ika as the premier open-source Python-based game engine, and there has been overlap in users (notably WIP and sdhawk, among others) and even code (ika used Corona and Audiere like Sphere). ika is essentially dead and archived, though Verge still technically exists and now uses a lua API along with its proprietary VergeC.

We have support for CoffeeScript through a transpiler script, but something like Python or lua would essentially require a full-on implementation to retain speed, though a Python-to-JS compiler does exist (mainly web JS, but it's open-source so we can modify that as needed) until we reach that point.

There are two main questions this topic is meant to address, and the existence of two more questions are dependent on the outcomes of the first two.

Do we want to move forward with adding support for another language, specifically Python, to a near-future version of (mini)sphere?

If we choose to add Python, do we attempt to accept stewardship of the now-defunct but still open-source ika and fold its API into Sphere's Python implementation (either as a compatibility script or built into the Python bindings), or do we simply choose to provide only the (mini)sphere API with Python bindings? I'm pretty sure we can also come up with a way to automate synchronizing the JS and Python API bindings as needed.

The extra two questions are basically the same thing but with Verge API and lua, though the stewardship bit with Verge might not be necessary due to Verge still being active.
This semester I've been taking "Computer Theory 1" in college, primarily dealing with finite state machine design. I haven't done the analysis myself yet, but to any of the desktop engine devs here how feasible do you think using a state machine could be in keeping track of, say, the map engine in a Sphere-compatible implementation? I'd probably use an implementation similar to that presented in this Stack Overflow q/a.

I know for web usage specifically I'd also have to deal with certain threading considerations and how they might affect the state as well. I'm counting on y'all for direction, peeps!
Site Comments / [FORUM] Analytics
Added Google Analytics to main page and forums. Probably could have gotten a forum mod for it instead of hardcoding into the themes, but whatever.
Off-Topic Discussions / A plea for help
I'm posting this to the few forums where I've been active for a while to expand its reach. tl;dr - I am accepting money donations via Paypal to .

I have not mentioned it here yet, but I'm essentially homeless and I'm currently jobless. I have tried to obtain jobs over the summer before going back to school but with no success. I've finally reached my official worst point financially. I have $165 in my bank account and around September 4th or 5th my storage room auto-pay will take $147, leaving $18 if I don't touch it or $13 if the monthly service fee does; starting a 9-day counter for storage room :( . After that, a $25 minimum payment is due on my credit card (which I only originally had for overdraft protection, but now had to use it to pay bills directly) on September 16, a card with only an $800 limit and currently drawn at $796; 21-day counter for credit card :( . The next day my monthly $20 fee for the gym is due and that's on auto-pay; 22-day counter for gym :( . Phone bill of $38 is due the 22nd; 27-day counter for phone :( .

Essentially, if I don't put $250 or so into my bank account in the next 21 days I'd get hosed for credit card, 22 days hosed for gym, 27 days for my only phone, and get hosed for the next month for my storage room. That's not even counting transportation to school once my monthly pass expires in 30 days.

I don't know if my financial aid is gonna kick in soon enough, my work study award is in limbo and I don't know if I'm going to have my on-campus job again, and I don't know if I'm going to get any other paying gig soon enough. I do have applications submitted to many places, but don't know about the timeliness of positive results from them.

I'm at my wit's end here and I don't know what to do. PLEASE HELP ME. Those who would like to help please send donations via Paypal to .
Site Comments / IMPORTANT: Ads
I will be putting ads on Spherical. I will put at least one block on the main page, at least one on the forums (likely near the top nav), and at least one on the wiki (likely near the article title, maybe the footer).

If any of you have any useful ideas as to where on pages to put future ads, please feel free to share them here.
Ok, once upon a time I made a Web Audio VGM player featuring my JavaScript YM2612. I'd like someone here to use it in a Sphere project, preferably to try out the upcoming 1.6 Sound(Effect?) APIs, but writing YM2612 output to a wave file (find my old NWaveform project if you want existing Sphere-compatible RIFF WAVE file writing) and playing that would also work. I haven't checked if minisphere has implemented any 1.6 functionality yet, but I'd personally like to see the audio enhancements from 1.6 be added among the first set of 1.6 API.

If you can understand it, feel free to use the player's source, especially the vgm.js as that contains the code that fills the audio buffer with the chip's output, as a guideline for how to use the YM2612. I understand using my YM2612.js as-is is not trivial and don't expect anyone who takes up this request to make it happen in a few hours. This will provide another set of eyes that help me ascertain how much is web-dependent, where possible performance bottlenecks may be, and how the YM2612 API can be simplified.
Good evening, Spherical! I've performed a long-needed upgrade to the Wiki and it looks like it works again, but I need your help to make sure it indeed works for everyone as intended.

Please start filling in more API, update links, maybe make a useful tutorial or two, and respond here if everything is up to par again.