New Year Wishlist (2018) ?

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

Re: New Year Wishlist (2018) ?

Holger Freyther

> On 30. Dec 2017, at 20:13, Norbert Hartl <[hidden email]> wrote:

Hey!


> - working SSL on newer distributions

related to that I would love a working VM release process.

- Tag releases of the stable VM
- Be able to take release X.Y and release X.Y+1 with a single bugfix

Reply | Threaded
Open this post in threaded view
|

Re: New Year Wishlist (2018) ?

Stéphane Ducasse
Me too :)

On 30 Dec 2017, at 15:51, Holger Freyther <[hidden email]> wrote:


On 30. Dec 2017, at 20:13, Norbert Hartl <[hidden email]> wrote:

Hey!


- working SSL on newer distributions

related to that I would love a working VM release process.

- Tag releases of the stable VM
- Be able to take release X.Y and release X.Y+1 with a single bugfix

--------------------------------------------
Stéphane Ducasse
03 59 35 87 52
Assistant: Julie Jonas 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France

Reply | Threaded
Open this post in threaded view
|

Re: Simple game framework

HilaireFernandes
In reply to this post by Clément Béra
I found the mix of OSWindow+SDL+Athens very complex (tens of classes
with hundreds of methods) and to produce code hard to understand (I look
at your spider code).

I will prefer fewer functionnality I can understand.

For example, how can you copy a sprite on a SDL surface? Can you do it
without Athens surface?


Le 28/12/2017 à 18:51, Clément Bera a écrit :
> Whichever if Cairo stays around or not does not really matter,
> normally one uses Cairo through Athens or Sparta, abstraction layers
> on top of 2D graphic engines. I've worked with other 2D engines and
> the API are always almost the same, so I have no doubt that if Cairo
> support is dropped we can re-bind Athens/Sparta with another 2D engine
> (such as engines used by web browsers).

--
Dr. Geo
http://drgeo.eu



Reply | Threaded
Open this post in threaded view
|

Re: Simple game framework

Stephane Ducasse-3
Hilaire

why do you need to have a sprite on a SDL surface and why plain Athens
is not good enough. Athens is an API not an implementation.
It is like sparta: an API and you do not care about the library below.

OSWindow is a layer on top of SDL and it is better than SDL directly
to my understanding.
So you should get Athens and SDL for event.

What kind of game are you targeting? Did you look at Bloc? Because to
me this is the way to go except if you want just a canvas
and reimplement your event loop. in that case SDL + Athens should work.

Stef

On Sat, Dec 30, 2017 at 9:33 PM, Hilaire <[hidden email]> wrote:

> I found the mix of OSWindow+SDL+Athens very complex (tens of classes with
> hundreds of methods) and to produce code hard to understand (I look at your
> spider code).
>
> I will prefer fewer functionnality I can understand.
>
> For example, how can you copy a sprite on a SDL surface? Can you do it
> without Athens surface?
>
>
> Le 28/12/2017 à 18:51, Clément Bera a écrit :
>>
>> Whichever if Cairo stays around or not does not really matter, normally
>> one uses Cairo through Athens or Sparta, abstraction layers on top of 2D
>> graphic engines. I've worked with other 2D engines and the API are always
>> almost the same, so I have no doubt that if Cairo support is dropped we can
>> re-bind Athens/Sparta with another 2D engine (such as engines used by web
>> browsers).
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: New Year Wishlist (2018) ?

Stephan Eggermont-3
In reply to this post by EstebanLM
Esteban Lorenzano <[hidden email]>
wrote:
> Hi everybody,
>
> This looks like a good moment of the year to ask all of you what would
> you want to see in Pharo next year.

I wish you all the time and good health to realize some of your Pharo
dreams

Stephan


Reply | Threaded
Open this post in threaded view
|

Re: Simple game framework

HilaireFernandes
In reply to this post by Stephane Ducasse-3
because simple things should be simple...


Le 30/12/2017 à 22:32, Stephane Ducasse a écrit :

> Hilaire
>
> why do you need to have a sprite on a SDL surface and why plain Athens
> is not good enough. Athens is an API not an implementation.
> It is like sparta: an API and you do not care about the library below.
>
> OSWindow is a layer on top of SDL and it is better than SDL directly
> to my understanding.
> So you should get Athens and SDL for event.
>
> What kind of game are you targeting? Did you look at Bloc? Because to
> me this is the way to go except if you want just a canvas
> and reimplement your event loop. in that case SDL + Athens should work.
>
> Stef
>
> On Sat, Dec 30, 2017 at 9:33 PM, Hilaire<[hidden email]>  wrote:
>> I found the mix of OSWindow+SDL+Athens very complex (tens of classes with
>> hundreds of methods) and to produce code hard to understand (I look at your
>> spider code).
>>
>> I will prefer fewer functionnality I can understand.
>>
>> For example, how can you copy a sprite on a SDL surface? Can you do it
>> without Athens surface?
>>
>>
>> Le 28/12/2017 à 18:51, Clément Bera a écrit :
>>> Whichever if Cairo stays around or not does not really matter, normally
>>> one uses Cairo through Athens or Sparta, abstraction layers on top of 2D
>>> graphic engines. I've worked with other 2D engines and the API are always
>>> almost the same, so I have no doubt that if Cairo support is dropped we can
>>> re-bind Athens/Sparta with another 2D engine (such as engines used by web
>>> browsers).
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>>

--
Dr. Geo
http://drgeo.eu



Reply | Threaded
Open this post in threaded view
|

Re: Simple game framework

HilaireFernandes
In reply to this post by Stephane Ducasse-3
I am *exploring* if Pharo will be suitable to have a simple programming
environment to let kids write simple 2D games, SDL was designed for that.

Some of my students asked me about programming games, Smalltalk way of
writing code will be neat, but the environment need to be accessible and
not over engineered.


Le 30/12/2017 à 22:32, Stephane Ducasse a écrit :
> What kind of game are you targeting? Did you look at Bloc? Because to
> me this is the way to go except if you want just a canvas
> and reimplement your event loop. in that case SDL + Athens should work.

--
Dr. Geo
http://drgeo.eu



Reply | Threaded
Open this post in threaded view
|

Re: New Year Wishlist (2018) ?

Stephane Ducasse-3
In reply to this post by Stephan Eggermont-3
Tx Stephan
I have too many dreams :) so I will have to prioritize but let's the
first three :).

Stef

On Sun, Dec 31, 2017 at 12:58 PM, Stephan Eggermont <[hidden email]> wrote:

> Esteban Lorenzano <[hidden email]>
> wrote:
>> Hi everybody,
>>
>> This looks like a good moment of the year to ask all of you what would
>> you want to see in Pharo next year.
>
> I wish you all the time and good health to realize some of your Pharo
> dreams
>
> Stephan
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Simple game framework

Stephane Ducasse-3
In reply to this post by HilaireFernandes
Hi hilaire

Some students at Prague are working on different 2D games with Bloc
and this is working.
Some did a sokoban, other a miner (check on pharo weekly).

They use Bloc and I will ask them to make public their code.
No need for SDL. SDL is ***low level***.

Now modeling the board and proposing some abstractions that can be
easily extended is difficult.
and this is what lauraMaximilliano did in MetaBorg.

It was on my todo to do a pass. I implemented a grid to help the
design of board game.
Now having direction/location can be good.

What is interesting in the design of metaborg is that we do not test
if an object can move to
a place. We go to the place and the place pull the item.
A wall will not pull for example while a empty slot will pull the item to move.

I found it intriguing and I would like to know if this is working for
more complex situation.

Maximiliano implemented sokoban, tetris, snake, pacman with the same framwork.
Now it is a bit abstract but an interesting experience.


Stef

On Sun, Dec 31, 2017 at 2:41 PM, Hilaire <[hidden email]> wrote:

> I am *exploring* if Pharo will be suitable to have a simple programming
> environment to let kids write simple 2D games, SDL was designed for that.
>
> Some of my students asked me about programming games, Smalltalk way of
> writing code will be neat, but the environment need to be accessible and not
> over engineered.
>
>
> Le 30/12/2017 à 22:32, Stephane Ducasse a écrit :
>>
>> What kind of game are you targeting? Did you look at Bloc? Because to
>> me this is the way to go except if you want just a canvas
>> and reimplement your event loop. in that case SDL + Athens should work.
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Simple game framework

HilaireFernandes
Hi Stef,

A complete port of the SDL capabilities
(http://wiki.libsdl.org/Introduction) will be super nice (audio) and
improved stability.

For your students, the perspective on the game is likely 2 months, may
be 6 months; you know I have longer perspective - DrGeo was slowly
developed and crafted for 20 years; therefore stability on the code is
very important for me as I will have to work over long period. That's
the reason I don't fell at ease relying on many code layers. For your
students, as the horizon is counted in months it is a null
consideration, not for me. Not to mention there are uncertainty over
this layers. Moreover these layers will make hard to my student to
understand what's going on, if they want to dig in.

I am not sure how far will get me this reflexion, but for my students, I
can imagine different models of 2D games: board games,
horizontal/vertical scrolling games, isometric games. Each one can be
optimized differently. Banks of sprites and audio will be already there
to get started the students. The models will encapsulate SDL, as PyGame
is doing, but still easilly accessible.

I imagine such an environment to rely only on two layers: SDL and spec,
the later if some dedicated user interface is needed for the game
designer; but a lot should happen in the class browser.

I found this Python PyGame code bellow rather easy to understand. Will
it be possible to produce an equally understandable Smalltalk code with
the layers your are proposing?

importsys,pygamepygame.init()size=width,height=320,240speed=[2,2]black=0,0,0screen=pygame.display.set_mode(size)ball=pygame.image.load("ball.bmp")ballrect=ball.get_rect()while1:foreventinpygame.event.get():ifevent.type==pygame.QUIT:sys.exit()ballrect=ballrect.move(speed)ifballrect.left<0orballrect.right>width:speed[0]=-speed[0]ifballrect.top<0orballrect.bottom>height:speed[1]=-speed[1]screen.fill(black)screen.blit(ball,ballrect)pygame.display.flip()


Hilaire

Your time stamp bellow is a strike! ;)
    vvvvvvvvvvvvvvvvvvvvvv

Le 01/01/2018 à 00:00, Stephane Ducasse a écrit :

> Hi hilaire
>
> Some students at Prague are working on different 2D games with Bloc
> and this is working.
> Some did a sokoban, other a miner (check on pharo weekly).
>
> They use Bloc and I will ask them to make public their code.
> No need for SDL. SDL is ***low level***.
>
> Now modeling the board and proposing some abstractions that can be
> easily extended is difficult.
> and this is what lauraMaximilliano did in MetaBorg.
>
> It was on my todo to do a pass. I implemented a grid to help the
> design of board game.
> Now having direction/location can be good.
>
> What is interesting in the design of metaborg is that we do not test
> if an object can move to
> a place. We go to the place and the place pull the item.
> A wall will not pull for example while a empty slot will pull the item to move.
>
> I found it intriguing and I would like to know if this is working for
> more complex situation.
>
> Maximiliano implemented sokoban, tetris, snake, pacman with the same framwork.
> Now it is a bit abstract but an interesting experience.
>
>
> Stef
>
> On Sun, Dec 31, 2017 at 2:41 PM, Hilaire<[hidden email]>  wrote:
>> I am*exploring*  if Pharo will be suitable to have a simple programming
>> environment to let kids write simple 2D games, SDL was designed for that.
>>
>> Some of my students asked me about programming games, Smalltalk way of
>> writing code will be neat, but the environment need to be accessible and not
>> over engineered.
>>
>>
>> Le 30/12/2017 à 22:32, Stephane Ducasse a écrit :
>>> What kind of game are you targeting? Did you look at Bloc? Because to
>>> me this is the way to go except if you want just a canvas
>>> and reimplement your event loop. in that case SDL + Athens should work.
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>>

--
Dr. Geo
http://drgeo.eu



Reply | Threaded
Open this post in threaded view
|

Re: Simple game framework

HilaireFernandes
Le 01/01/2018 à 17:50, Hilaire a écrit :
I found this Python PyGame code bellow rather easy to understand. Will it be possible to produce an equally understandable Smalltalk code with the layers your are proposing?

Oops, not that easy to understand as it is formated, this should be better:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import sys, pygame
pygame.init()

size = width, height = 320, 240
speed = [2, 2]
black = 0, 0, 0

screen = pygame.display.set_mode(size)

ball = pygame.image.load("ball.bmp")
ballrect = ball.get_rect()

while 1:
    for event in pygame.event.get():
        if event.type == pygame.QUIT: sys.exit()

    ballrect = ballrect.move(speed)
    if ballrect.left < 0 or ballrect.right > width:
        speed[0] = -speed[0]
    if ballrect.top < 0 or ballrect.bottom > height:
        speed[1] = -speed[1]

    screen.fill(black)
    screen.blit(ball, ballrect)
    pygame.display.flip()
-- 
Dr. Geo
http://drgeo.eu
Reply | Threaded
Open this post in threaded view
|

Re: Simple game framework

Stephane Ducasse-3
In reply to this post by HilaireFernandes
This code can be just in a method of subclass of BlGameElement.
You should really try because Bloc is really nice.
And this is not a layer this is the future Morphic.

Now if you work on SDL instead of Athens (remember Athens is an API)
when we will change SDL for the
next low level framework you will have to change.

Stef

On Mon, Jan 1, 2018 at 5:50 PM, Hilaire <[hidden email]> wrote:

> Hi Stef,
>
> A complete port of the SDL capabilities
> (http://wiki.libsdl.org/Introduction) will be super nice (audio) and
> improved stability.
>
> For your students, the perspective on the game is likely 2 months, may be 6
> months; you know I have longer perspective - DrGeo was slowly developed and
> crafted for 20 years; therefore stability on the code is very important for
> me as I will have to work over long period. That's the reason I don't fell
> at ease relying on many code layers. For your students, as the horizon is
> counted in months it is a null consideration, not for me. Not to mention
> there are uncertainty over this layers. Moreover these layers will make hard
> to my student to understand what's going on, if they want to dig in.
>
> I am not sure how far will get me this reflexion, but for my students, I can
> imagine different models of 2D games: board games, horizontal/vertical
> scrolling games, isometric games. Each one can be optimized differently.
> Banks of sprites and audio will be already there to get started the
> students. The models will encapsulate SDL, as PyGame is doing, but still
> easilly accessible.
>
> I imagine such an environment to rely only on two layers: SDL and spec, the
> later if some dedicated user interface is needed for the game designer; but
> a lot should happen in the class browser.
>
> I found this Python PyGame code bellow rather easy to understand. Will it be
> possible to produce an equally understandable Smalltalk code with the layers
> your are proposing?
>
> importsys,pygamepygame.init()size=width,height=320,240speed=[2,2]black=0,0,0screen=pygame.display.set_mode(size)ball=pygame.image.load("ball.bmp")ballrect=ball.get_rect()while1:foreventinpygame.event.get():ifevent.type==pygame.QUIT:sys.exit()ballrect=ballrect.move(speed)ifballrect.left<0orballrect.right>width:speed[0]=-speed[0]ifballrect.top<0orballrect.bottom>height:speed[1]=-speed[1]screen.fill(black)screen.blit(ball,ballrect)pygame.display.flip()
>
>
> Hilaire
>
> Your time stamp bellow is a strike! ;)
>    vvvvvvvvvvvvvvvvvvvvvv
>
> Le 01/01/2018 à 00:00, Stephane Ducasse a écrit :
>>
>> Hi hilaire
>>
>> Some students at Prague are working on different 2D games with Bloc
>> and this is working.
>> Some did a sokoban, other a miner (check on pharo weekly).
>>
>> They use Bloc and I will ask them to make public their code.
>> No need for SDL. SDL is ***low level***.
>>
>> Now modeling the board and proposing some abstractions that can be
>> easily extended is difficult.
>> and this is what lauraMaximilliano did in MetaBorg.
>>
>> It was on my todo to do a pass. I implemented a grid to help the
>> design of board game.
>> Now having direction/location can be good.
>>
>> What is interesting in the design of metaborg is that we do not test
>> if an object can move to
>> a place. We go to the place and the place pull the item.
>> A wall will not pull for example while a empty slot will pull the item to
>> move.
>>
>> I found it intriguing and I would like to know if this is working for
>> more complex situation.
>>
>> Maximiliano implemented sokoban, tetris, snake, pacman with the same
>> framwork.
>> Now it is a bit abstract but an interesting experience.
>>
>>
>> Stef
>>
>> On Sun, Dec 31, 2017 at 2:41 PM, Hilaire<[hidden email]>  wrote:
>>>
>>> I am*exploring*  if Pharo will be suitable to have a simple programming
>>> environment to let kids write simple 2D games, SDL was designed for that.
>>>
>>> Some of my students asked me about programming games, Smalltalk way of
>>> writing code will be neat, but the environment need to be accessible and
>>> not
>>> over engineered.
>>>
>>>
>>> Le 30/12/2017 à 22:32, Stephane Ducasse a écrit :
>>>>
>>>> What kind of game are you targeting? Did you look at Bloc? Because to
>>>> me this is the way to go except if you want just a canvas
>>>> and reimplement your event loop. in that case SDL + Athens should work.
>>>
>>> --
>>> Dr. Geo
>>> http://drgeo.eu
>>>
>>>
>>>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: New Year Wishlist (2018) ?

Petr Fischer
In reply to this post by EstebanLM
- stability
- bloc
- some sort of pretty cool and fast concurrent transactional object persistence :)


> Hi everybody,
>
> This looks like a good moment of the year to ask all of you what would you want to see in Pharo next year.
> Features, improvements, radical changes, etc…. whatever you want.
>
> Of course, this list will not be a roadmap and it does not means we will implement all of it (as always, time drives our possibilities), but is a good moment for us a a community to check where we are and where we wan to go next :)
>
> So, let’s those wishes come!
>
> cheers,
> Esteban

Reply | Threaded
Open this post in threaded view
|

Re: New Year Wishlist (2018) ?

Ben Coman
In reply to this post by EstebanLM


On 24 December 2017 at 00:58, Esteban Lorenzano <[hidden email]> wrote:
Hi everybody,

This looks like a good moment of the year to ask all of you what would you want to see in Pharo next year.
Features, improvements, radical changes, etc…. whatever you want.

Of course, this list will not be a roadmap and it does not means we will implement all of it (as always, time drives our possibilities), but is a good moment for us a a community to check where we are and where we wan to go next :)

So, let’s those wishes come!


Small enhancement that arises as I'm trying to design a Morph,
Initially forgetting which corner of the screen is 0@0, raises the idea that in the GTInspector Morph tab, 
showing the coordinates of the mouse as it tracks over the morph would be useful.
Maybe this would be less useful for Morphic using absolute co-ordinates,
but good for Bloc using relative co-ordinates (IIUC).

cheers -ben 


Reply | Threaded
Open this post in threaded view
|

Re: New Year Wishlist (2018) ?

Ben Coman
In reply to this post by EstebanLM


On 24 December 2017 at 00:58, Esteban Lorenzano <[hidden email]> wrote:
Hi everybody,

This looks like a good moment of the year to ask all of you what would you want to see in Pharo next year.
Features, improvements, radical changes, etc…. whatever you want.

Of course, this list will not be a roadmap and it does not means we will implement all of it (as always, time drives our possibilities), but is a good moment for us a a community to check where we are and where we wan to go next :)

So, let’s those wishes come!

cheers,
Esteban

IIUC, our continuous integration system really only checks that "new" error are not introduced.
This seems of limited facility to encourage dealing with existing errors. 
So my wish is for...
1. TestRunner GUI results to be kept fault free. 
2. Periodically scheduled human-driven reality check of [1.] 

cheers -ben  
123