Skip to main content

News

Topic: Delphinus: my engine try 2.0 (Read 6211 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Rahkiin
  • [*][*][*]
Delphinus: my engine try 2.0
Hi All!

So even though I said I would not write another engine, I decided to make it myself 'easy' and do it with SDL and SM.

The name
Pegasus is an awesome name (wonder who thought of it  ;D) and constellations are awesome. My latest try was Andromeda, a constellation next to Pegasus. Delphinus is also next to Pegasus. One day I will be running out of names...

The plan
Full featured Pegasus implementation.
Fully working on Mac OSX (where I develop on)
Possibility to easily port it to other OSes (because I use SDL).
When it does work a bit I could try to make it work on iOS, but it could never be in the App Store (because of Spider Monkey).
Also, at least on OSX, you package your game as a .app. My engine runs in a .app (and only works there because of dynamic file loading reasons). You put your game inside the .app package folder, change the app icon and name and you are done. Double-click to load the game. ZIP/DMG it and give it to someone else. No need to install anything. A simple, clean game. (I really like this)

I might make a simple tool called 'spm': Sphere Package Manager, for installing and updating -etc- packages for your game. Using a directory in a GitHub repository and linking from that repo to other repos. So no hosting needed (is the plan).

The tools
I use SDL2 for platform independence and for the ability to go all blocking, which is incredibly hard and problematic to do on OSX/iOS.
As my JavaScript engine I use SpiderMonkey (currently the latest released version, 45). This engine supports a lot of ES6 as well which is very nice.
OpenGL, even though I don't know shit about shaders. Will see how this works out.

Current state
I have a basic JS engine setup. There is no graphics yet, although SDL is set up and working. Currently concentrating on making the JS usable.
I have finished a fully-fledged CommonJS module setup, including loading 'packages'. It works really nicely with separated globals per module, module caching and nice module resolving.
SphereFS: everything is sandboxed, including the require()-able modules.


So that is that. No ETA's. Just coding some. When I have/make the time.
Currently hosting the code on my companies Stash, I will move it to GitHub later. Code is now on github: https://github.com/joskuijpers/delphinus
  • Last Edit: May 08, 2016, 10:22:50 am by Rahkiin

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Delphinus: my engine try 2.0
Reply #1
Quote
I don't know shit about shaders


Don't worry too much, I didn't either when I first started implementing Galileo but figured everything out in a few nights.  It's a lot simpler than it seems at first, and you can do so much with them.  The hardest part is mastering how to work with matrices and vectors, since you'll be doing that a lot if you want to write a useful shader. :)
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • DaVince
  • [*][*][*][*][*]
  • Administrator
  • Used Sphere for, like, half my life
Re: Delphinus: my engine try 2.0
Reply #2
Sounds like a neat project, especially for the OSX people around here (not me :P). Good luck!

  • Rahkiin
  • [*][*][*]
Re: Delphinus: my engine try 2.0
Reply #3
Good think I had Linear Algebra :)

  • Rahkiin
  • [*][*][*]
Re: Delphinus: my engine try 2.0
Reply #4
So the code is now on GitHub: https://github.com/joskuijpers/delphinus

I wanted to call the package manager 'Sphere Package Manager' but now there is also the 'Swift Package Manager' that will go by SPM :(
We could call it Pegasus Package Manager (ppm) or Sphere Package Manager (spherepm). Suggestions?

I am going to write it in Node.js for now, so it is portable and it is easy to create for me.

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: Delphinus: my engine try 2.0
Reply #5
spherepm or sphpm is fine I guess.

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Delphinus: my engine try 2.0
Reply #6
A while back I decided I wanted to write a package server in Node.js called Shenron, to allow anyone to run a Sphere package repository.  In any case I definitely think a package manager would be a neat addition to the Sphere toolchain, so I'm all for it.
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Rahkiin
  • [*][*][*]
Re: Delphinus: my engine try 2.0
Reply #7
Alright, called it spherepm. I decided to keep it simple for now and just have a JSON file in a repo as catalog. Then to publish you would need to send a pull request. It is the only way I can think of without the need to build some server software and without any hosting requirements.