Re: Digest for amber-lang@googlegroups.com - 6 Messages in 1 Topic

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Digest for amber-lang@googlegroups.com - 6 Messages in 1 Topic

Jacob Wagner
Hi Bernat! Here's another +1 for websockets in pharo 2.0 + Zinc.  Pharo 2.0 is far more stable now and the Zinc-Websocket package is a lot easier to install and use than what we were trying "back in the day" with that old websocket package (which hardly works nowadays do to changes in the RFC spec).

  Not only that, but the 'gaming benchmarks' I have run with Zinc-websocket shows it to be a lot more performant.  I speak of just updating for instance the position of 'spaceships' in an asteroids style game.  It's far smoother now with zinc-websocket package.  

  All that being said I haven't investigated the other websocket packages for instance Swazoo-websocket.  They all cropped up around the same time so maybe they are based on each other?  Not sure.  

  For a game framework, nowadays I am using pulse game engine.  It's free and very easy to get something started with, as you can see from this demo page: http://withpulse.com/docs/getting-started .
However there are TONS of new html5 javascript game frameworks, including some really, really nice 3d ones.  I think amber + pharo websocket + javascript game engine could be a really killer combination.

  Good luck and let us know what you end up doing!  :)

  P.S.  If you go with zinc-websocket here is one pitfall to avoid:  Make sure you 'close' the server if you have had any sockets connect to it before saving the pharo image.  There is a bug where an image will just crash on startup.  It's not the end of the world because you can drag the broken pharo image into a new image and view changes but it's still a shock to see your image just dissapear on startup. :)  

P.P.S.  One thing I really love about using Pharo as a server backend instead of somethign like nodejs is just the fact that you have a live image for the server.  Want to have a visual display of the game world?  Program it in morphic or athens. Interact with the server state using a workspace.  It is all so much nicer than using traditional nodejs, unless there is some kind of workflow I didn't know about.  

-Jacob (zenchess)


On Wed, Nov 21, 2012 at 4:19 AM, <[hidden email]> wrote:

Group: http://groups.google.com/group/amber-lang/topics

    Bernat Romagosa <[hidden email]> Nov 20 08:16PM +0100  

    Hi list,
     
    I've been eaten out by my job for a loooong while, but now I got a
    reduction of my work hours, so I'm back and I've got some new side projects.
     
    One of them is redoing a game I did a long time ago in Squeak to teach
    children how to read music scores. I wrote it for a school I used to work
    in and now they asked me to make it beautiful and add some new features.
     
    I'll use Amber for the frontend, and since I'm not aware of the new stuff
    that went on during all this time in the Amber world, I wanted to ask if
    there is something new regarding persistence.
     
    On that regard, I did a search on github, amber-lang.net, world.st and
    google, and only came across some threads talking about possibilities and
    tests people are trying out. I think it'd be swell if we could write a
    chapter on the documentation site introducing what persistence options are
    there, and maybe add some simple examples too.
     
    So, what's the persistence trend in Amber these days? Websockets + Pharo?
    Any bindings to some NoSQL database? Some nodeJs solution?
     
    Cheers,
     
    --
    Bernat Romagosa.

     

    Apostolis Xekoukoulotakis <[hidden email]> Nov 20 09:29PM +0200  

    In my project, I will use nodejs and zeromq to talk to any database I want.
    You might have to write some code in another language though.
     
    But nodejs will probably have bindings to common databases, I havent
    checked. Others might know more about these.
     
    2012/11/20 Bernat Romagosa <[hidden email]>
     
     
    --
     
     
    Sincerely yours,
     
    Apostolis Xekoukoulotakis

     

    sebastian <[hidden email]> Nov 20 05:37PM -0200  

    I know what you feel. I've wrote this:
    http://sebastianconcept.com/brandIt/how-to-deliver-realtime-web-and-mobile-applications
     
    because I'm interested in Trello-kind-of-apps/stacks.
     
    WebSockets is okay but it's better to think of it as a transportation layer and outsource all that to Socket.IO (that will magically fallback to other mechanisms when websockets aren't available)
     
    Yes, in the server side having amber apps running on node js would rock. Why? because you can use whatever nodejs stuff you want. for example MongoDb for persistance and Redis for massive broadcasting of events.
     
    But we are not there yet (meaning we can't debug properly at this point). We first need to finish developing Helios 1.0 including a full smalltalk debugger.
     
    Helios will be capable to connect to remote ambers including remotely debugging amber apps (imagine how could would be to do that for mobile apps).
     
    It's all work in progress though
     
    And....
     
    please write to Nicolas offering help if you want to help us pushing things in that direction
     
    sebastian
     
    o/
     
    PD: if you need start prototyping your app this week you'll be better by having pharo + zinc + mongoDb client on the server side
     
     
     
    On Nov 20, 2012, at 5:16 PM, Bernat Romagosa wrote:
     

     

    Bernat Romagosa <[hidden email]> Nov 20 08:43PM +0100  

    +1 for your PD, I'll give it a go :)
     
    What's helios? As I said, I've been away for quite a while...
     
     
    2012/11/20 sebastian <[hidden email]>
     
     
    --
    Bernat Romagosa.

     

    sebastian <[hidden email]> Nov 20 06:04PM -0200  

    Helios is Amber's next IDE
     
    You can take a look at it.
     
    It's a branch in github and/or is in the latest master commit
     
    1. go to your git/amber dir and clone or pull your local master from nicolas
    2. execute: ./bin/server
    3. open a chrome in localhost:4000/helios.html
     
    have fun
     
    sebastian
     
    o/
     
     
     
     
     
    On Nov 20, 2012, at 5:43 PM, Bernat Romagosa wrote:
     

     

    Nicolas Petton <[hidden email]> Nov 20 11:35PM +0100  

    Bernat, if you want to help with Helios we could do a skype session so I
    can give you starting points and infos on how we plan to do stuff.
     
    Everyone else interesting in that or (or any other part of Amber,
    there are no many cool things to be done) is welcome!
     
    Cheers,
    Nico
     
    --
     
    --
    Nicolas Petton
    http://nicolas-petton.fr

     

You received this message because you are subscribed to the Google Group amber-lang.
You can [hidden email].
To unsubscribe from this group, [hidden email] an empty message.
For more options, visit this group.


<zenchess@gmail.com>
Reply | Threaded
Open this post in threaded view
|

Re: Digest for amber-lang@googlegroups.com - 6 Messages in 1 Topic

Bernat Romagosa
Hi Jacob!

I didn't know about Pulse, it looks great! For my game, though, I won't be needing any real-time interactivity, just storing/retrieving scores and user data before and after each game.

Thanks for the tips on websockets, I'll keep them in mind :)

Cheers!


2012/11/21 Jacob Wagner <[hidden email]>
Hi Bernat! Here's another +1 for websockets in pharo 2.0 + Zinc.  Pharo 2.0 is far more stable now and the Zinc-Websocket package is a lot easier to install and use than what we were trying "back in the day" with that old websocket package (which hardly works nowadays do to changes in the RFC spec).

  Not only that, but the 'gaming benchmarks' I have run with Zinc-websocket shows it to be a lot more performant.  I speak of just updating for instance the position of 'spaceships' in an asteroids style game.  It's far smoother now with zinc-websocket package.  

  All that being said I haven't investigated the other websocket packages for instance Swazoo-websocket.  They all cropped up around the same time so maybe they are based on each other?  Not sure.  

  For a game framework, nowadays I am using pulse game engine.  It's free and very easy to get something started with, as you can see from this demo page: http://withpulse.com/docs/getting-started .
However there are TONS of new html5 javascript game frameworks, including some really, really nice 3d ones.  I think amber + pharo websocket + javascript game engine could be a really killer combination.

  Good luck and let us know what you end up doing!  :)

  P.S.  If you go with zinc-websocket here is one pitfall to avoid:  Make sure you 'close' the server if you have had any sockets connect to it before saving the pharo image.  There is a bug where an image will just crash on startup.  It's not the end of the world because you can drag the broken pharo image into a new image and view changes but it's still a shock to see your image just dissapear on startup. :)  

P.P.S.  One thing I really love about using Pharo as a server backend instead of somethign like nodejs is just the fact that you have a live image for the server.  Want to have a visual display of the game world?  Program it in morphic or athens. Interact with the server state using a workspace.  It is all so much nicer than using traditional nodejs, unless there is some kind of workflow I didn't know about.  

-Jacob (zenchess)


On Wed, Nov 21, 2012 at 4:19 AM, <[hidden email]> wrote:

Group: http://groups.google.com/group/amber-lang/topics

    Bernat Romagosa <[hidden email]> Nov 20 08:16PM +0100  

    Hi list,
     
    I've been eaten out by my job for a loooong while, but now I got a
    reduction of my work hours, so I'm back and I've got some new side projects.
     
    One of them is redoing a game I did a long time ago in Squeak to teach
    children how to read music scores. I wrote it for a school I used to work
    in and now they asked me to make it beautiful and add some new features.
     
    I'll use Amber for the frontend, and since I'm not aware of the new stuff
    that went on during all this time in the Amber world, I wanted to ask if
    there is something new regarding persistence.
     
    On that regard, I did a search on github, amber-lang.net, world.st and
    google, and only came across some threads talking about possibilities and
    tests people are trying out. I think it'd be swell if we could write a
    chapter on the documentation site introducing what persistence options are
    there, and maybe add some simple examples too.
     
    So, what's the persistence trend in Amber these days? Websockets + Pharo?
    Any bindings to some NoSQL database? Some nodeJs solution?
     
    Cheers,
     
    --
    Bernat Romagosa.

     

    Apostolis Xekoukoulotakis <[hidden email]> Nov 20 09:29PM +0200  

    In my project, I will use nodejs and zeromq to talk to any database I want.
    You might have to write some code in another language though.
     
    But nodejs will probably have bindings to common databases, I havent
    checked. Others might know more about these.
     
    2012/11/20 Bernat Romagosa <[hidden email]>
     
     
    --
     
     
    Sincerely yours,
     
    Apostolis Xekoukoulotakis

     

    sebastian <[hidden email]> Nov 20 05:37PM -0200  

    I know what you feel. I've wrote this:
    http://sebastianconcept.com/brandIt/how-to-deliver-realtime-web-and-mobile-applications
     
    because I'm interested in Trello-kind-of-apps/stacks.
     
    WebSockets is okay but it's better to think of it as a transportation layer and outsource all that to Socket.IO (that will magically fallback to other mechanisms when websockets aren't available)
     
    Yes, in the server side having amber apps running on node js would rock. Why? because you can use whatever nodejs stuff you want. for example MongoDb for persistance and Redis for massive broadcasting of events.
     
    But we are not there yet (meaning we can't debug properly at this point). We first need to finish developing Helios 1.0 including a full smalltalk debugger.
     
    Helios will be capable to connect to remote ambers including remotely debugging amber apps (imagine how could would be to do that for mobile apps).
     
    It's all work in progress though
     
    And....
     
    please write to Nicolas offering help if you want to help us pushing things in that direction
     
    sebastian
     
    o/
     
    PD: if you need start prototyping your app this week you'll be better by having pharo + zinc + mongoDb client on the server side
     
     
     
    On Nov 20, 2012, at 5:16 PM, Bernat Romagosa wrote:
     

     

    Bernat Romagosa <[hidden email]> Nov 20 08:43PM +0100  

    +1 for your PD, I'll give it a go :)
     
    What's helios? As I said, I've been away for quite a while...
     
     
    2012/11/20 sebastian <[hidden email]>
     
     
    --
    Bernat Romagosa.

     

    sebastian <[hidden email]> Nov 20 06:04PM -0200  

    Helios is Amber's next IDE
     
    You can take a look at it.
     
    It's a branch in github and/or is in the latest master commit
     
    1. go to your git/amber dir and clone or pull your local master from nicolas
    2. execute: ./bin/server
    3. open a chrome in localhost:4000/helios.html
     
    have fun
     
    sebastian
     
    o/
     
     
     
     
     
    On Nov 20, 2012, at 5:43 PM, Bernat Romagosa wrote:
     

     

    Nicolas Petton <[hidden email]> Nov 20 11:35PM +0100  

    Bernat, if you want to help with Helios we could do a skype session so I
    can give you starting points and infos on how we plan to do stuff.
     
    Everyone else interesting in that or (or any other part of Amber,
    there are no many cool things to be done) is welcome!
     
    Cheers,
    Nico
     
    --
     
    --
    Nicolas Petton
    http://nicolas-petton.fr

     

You received this message because you are subscribed to the Google Group amber-lang.
You can [hidden email].
To unsubscribe from this group, [hidden email] an empty message.
For more options, visit this group.





--
Bernat Romagosa.