Skip to main content

News

Topic: Sphere for Mac: Andromeda (Read 24001 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
Re: Sphere for Mac: <insert fancy name here>
Reply #45
OS X 10.3.9 FTW!

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: Sphere for Mac: <insert fancy name here>
Reply #46
OS X 10.4 was the first to offer an Intel-powered variant; if they've reached that stage and the code has already been optimized I reckon the only thing left really is compatibility hacks to simulate those versions after.

  • Rahkiin
  • [*][*][*]
Re: Sphere for Mac: <insert fancy name here>
Reply #47
GNUStep is not an implementation of Foundation/Cocoa/AppKit for the GNU OS. It is rather an implementation of the NEXTStep libraries. At about 10.4 and later, when OSX became more and more popular, new stuff was added to OSX which was never part of NEXTStep. It is also a lot of work to get it all working if you need to write something for many distro's and platforms, and you have to rely on GNU :P For example, Apple uses kqueue for async stuff and GCD (libdispatch, which is open source).
I am not really going to put time in GNUStep. If it doesn't work, it doesn't. I do allow Pull Requests :P

Talking of open source: the Sphere Vanilla does not state any license, other than the defaulting all rights reserved. Does it have any open source license?

OSX and iOS are not so far apart. They both run Darwin, have Foundation, Cocoa (Touch), and many of the frameworks. :)

Re: Sphere for Mac: <insert fancy name here>
Reply #48
Sphere 1.x is GPL2.

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: Sphere for Mac: <insert fancy name here>
Reply #49
Like Jester said, GPL2.  The license is actually included, it's in the docs folder.  legal.txt states it's GPL and the actual license is in gpl.txt.
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Rahkiin
  • [*][*][*]
Re: Sphere for Mac: <insert fancy name here>
Reply #50
Hmpf. I don't think I am in violation much. I did not copy any code :) Not really anyways.

Currently still working on L8Framework. Now, to make it more like JSC, and I was working on a debugger (thought that would be nice). But for the time being, D8 can be used.
This week I want to continue on the runtime itself. Probably pushing graphics more forward, cuz that is hard :P

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Sphere for Mac: <insert fancy name here>
Reply #51

Hmpf. I don't think I am in violation much. I did not copy any code :) Not really anyways.


Don't worry about violation; I doubt any legal action will happen even if you stole everything. Unless you make millions, of course. :P

I think it's safe to say Vanilla Sphere is so old, it's kinda public domain by now. Software even lightly maintained depreciates very, very quickly. There have been far more better engines made since. All we can do is use it's legacy as inspiration. I even repurposed some code from it, especially for my map engine just to make sure things ran the same between my engine and it. In fact I'm amazed how simply programmed the monstrous map engine was.
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

Re: Sphere for Mac: <insert fancy name here>
Reply #52
I intentionally do NOT use any code directly from Sphere, but that's because I want TurboSphere to be BSD/Zlib licensed. The exact reasoning is so that you could integrate the steam API library into a plugin, and sell such games on steam. The idea being that Valve might be more discerning than I am about the license of Sphere, especially since I plaster the name `Sphere RPG Engine' over all of the TS documentation and provide links about it.

Of course, since I do not take any code from it at all, TurboSphere tends to support less than Radnen's projects do, like only reading the newest versions of the Sphere resources. My tools also tend to make ever so slightly malformed or strangely formatted resources--my SPK editor makes hard to decode SPKs, with the file map at the end instead of the start, for instance, and my ttf-to-rfn converter makes rfn files that contain tons of extra blank characters.

So I guess that's what happens when you don't borrow code =P

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Sphere for Mac: <insert fancy name here>
Reply #53
Well, I can't copy paste C++ to C# code. Plus I argue the point of code in general, which is basically used to implement an algorithm and the algorithm, specifically the person command-queue must be made compliant so things like Lord English's Scenario work between my engine and Vanilla Sphere's. So while I say I "took code" I really just copied an algorithm. If Valve wants to get into a legal dispute with me I'd say let them. Because I'd also like to put their API into my engine. The GPL doesn't or at least shouldn't cover "ideas" like the person command queue. I'd wager, unless you have solid copy-paste proof (ex: revealing comments were copied over), I'd say it's nearly impossible to tell.

Thankfully the Sphere Engine brand wasn't trademarked or we'd pay royalties for the use of the name. lol
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

Re: Sphere for Mac: <insert fancy name here>
Reply #54

Well, I can't copy paste C++ to C# code. Plus I argue the point of code in general, which is basically used to implement an algorithm and the algorithm, specifically the person command-queue must be made compliant so things like Lord English's Scenario work between my engine and Vanilla Sphere's. So while I say I "took code" I really just copied an algorithm. If Valve wants to get into a legal dispute with me I'd say let them. Because I'd also like to put their API into my engine. The GPL doesn't or at least shouldn't cover "ideas" like the person command queue. I'd wager, unless you have solid copy-paste proof (ex: revealing comments were copied over), I'd say it's nearly impossible to tell.

That's why I mention that my implementations differ in the resulting files (which are still technically compliant).

  • Rahkiin
  • [*][*][*]
Re: Sphere for Mac: <insert fancy name here>
Reply #55
And API's are not copyrightable :) And I agree about algorithms. The BSD license makes it so much easier :P

  • Rahkiin
  • [*][*][*]
Re: Sphere for Mac: <insert fancy name here>
Reply #56
I have designed most of the new JavaScript library. Everything except Surface and Map (so I actually only did half of the whole library :P).

I've put it all in a gist. On the left side the 1.5 function, on the right my functions. When I add functionality that did not exist, the left side is empty.



I would appreciate it if you could look in it and give comments :)

//Rahkiin

Re: Sphere for Mac: <insert fancy name here>
Reply #57
If you aren't worried about breaking direct compatibility:

Lose the ByteArray object and use native JS typed arrays.

A Delay() method that at least partially sleeps the engine would be cool. It makes your engine appear nicer, since games don't just take 100% of the CPU time they can.

  • Rahkiin
  • [*][*][*]
Re: Sphere for Mac: <insert fancy name here>
Reply #58
I don't have TypedArray support in L8 yet, so I can't handle them when writing to files :P But I will look into that as an improvement later.

I am probably breaking compatibility already, because I am introducing Game.init(), loop() and exit(). These would be defined by the game and called by the engine upon start, run and exit. The loop() function is called repeatedly. I need to do this because everything has to run on the main thread, and because my engine is Async, the JS code can't be blocking.

I will definitely add a delay function. System.sleep(double seconds) good?

  • DaVince
  • [*][*][*][*][*]
  • Administrator
  • Used Sphere for, like, half my life
Re: Sphere for Mac: <insert fancy name here>
Reply #59
Sphere actually has a really convenient function SetFramerate() which FlipScreen() seems to always rely on. It basically adds the right amount of delay. Would be nice if you could add that in there, since it completely removes any worry about having to use timed loops to get 60 FPS for example.