On 9 November 2016 at 08:41, Dimitris Chloupis <kilon.al...@gmail.com> wrote:
> I am the only potential customer of CPPBridge because > > a) I am the only C++ coder AFAIK > b) Using DLLs (dynamically linked shared libraries) is still by far the > best solution because using the UFFI you can do everything from Pharo. > Compared to CPPBridge which you will need to code in C++. > > So as you can imagine making a general library for IPC communication via > shared memory is not my goal. > > The Unreal part will be a separate library that will depend on this one. I > have not touched that one yet but I will soon. > > UnrealBridge library will become my most important Pharo project because > the goal is to start selling games using Pharo and Unreal. > > IPC Protocol wise , I don't think synchronisation will be an issue because > Unreal will be too fast for Pharo anyway and its ok if Pharo lags behind > even a few dozens of milliseconds which is a matter of losing a couple of > frames. I may implement a hybrid synchronisation for when Pharo lag becomes > too severe but that will have and see in practice. > > Something that interest me is "stealing" your idea for NBOpenGL where you > made an automatic generator for the library that used OpenGL headers. This > is something that could benefit me a lot because Unreal contains over > 10.000 methods and wrapping them one by one is not something I am looking > forward to doing. This means generating both C++ and Pharo code. > > Well, a while before that, i wrote own lobotomized smalltalk implementation in C and started generating bindings to Ogre3D engine. I even had certain success with it, but then i started grand-rewriting of VM and abandoned it. That was before i switched to Squeak, then Pharo. So, your incentives quite familiar to me :) I was quite fun journey, and i learned a lot while doing it.. especially about smalltalk. Of course if I feel that what I implement with UnrealBridge is general > purpose enough I can port it back to CPPBridge. > > In any case I must say it was a lot of fun accomplishing this goal and > cant wait to dive deeper into IPC magic, making Pharo the nerve centre, the > brain , of my coding environment is a role that I think Pharo would excel > at. It will also allow me to use Pharo as much as possible and provide a > super powerful game / graphics engine to the Pharo community. Shared memory > is that just the means to that goal. > > Moose could also a play role later on for analysing my game code both in > Pharo and C++ and use Roassal for some nifty visualizations though I could > use Unreal as backend to Roassal for some nice 3d visualisations. > > So ton of ideas, tons of fun and a ton of time to accomplish them. > > PS: I have to say you have been inspiration for my IPC saga, you did the > unthinkable (at least to me) and brought Assembly to Pharo, I never had a > use for Assembly but nonetheless you taught me that Pharo potential is more > massive than I imagined, so thank you :) > I don't understand why people find assembly scary or mind-boggling? I dived into assembly few months after i learned my first programming language, it was Zilog 8-bit CPU. A marvelous gem :) And this was always fascinating to feel that you can control the computer's behaviour down to a tiniest detail. We were even researching what certain i/o ports and interrupts were responsible for by setting different bits/bytes here and there and see what happen. Because if you don't understand something down to the tiniest detail - you cannot be sure that what you doing will work, or work optimally. So i find it frustrating that most of programmers don't know and not even thinking about touching assembly. Because it very simple, straightforward and megalomaniac-rewarding :) -- Best regards, Igor Stasenko.