Conway's game of life GLSL implementation - Help testing

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
User avatar
sebast
Prole
Posts: 27
Joined: Tue Nov 08, 2011 2:17 pm

Conway's game of life GLSL implementation - Help testing

Post by sebast »

I'm new to this forum and to Löve / Lua programming so I will start with a: Hello there!

I'm testing different stuff to learn lua and love.
That program (not a game actually) is a Conway game of life implementation (again...) based on PixelEffects (Love 0.8)
The code runs well on my desktop but not on miko's one.

Since I can't sleep as long as my code is buggy, it would be very kind of you guys to launch this .love and report here your configuration and what you see on screen.
You should see a black screen for a few sec (time to populate the screen) and then you should see cells doing their life (and death)
(one pixel = one cell, black = dead and white = alive)

Pressing spacebar reinitialize randomly the population.
The density of initial population can be set up in 'conf.lua' using the variable 'life.prob'. The value is the probability for each cell to start in a living state.

EDIT: there is also a life.fullscreen variable, since fullscreen mode might be the source of problems
EDIT2: if npot is not supported, the screen resolution is set to 512x512

Thank you in advance.
Attachments
life2.love
(1.81 KiB) Downloaded 205 times
Last edited by sebast on Thu Nov 10, 2011 12:08 pm, edited 5 times in total.
User avatar
sebast
Prole
Posts: 27
Joined: Tue Nov 08, 2011 2:17 pm

Re: Conway's game of life GLSL implementation - Help testing

Post by sebast »

It's working here with:
1680x1050 screen resolution
love 0.8 (build from https://bitbucket.org/rude/love today (nov 9th 2011))
linux kernel 3.0.0 (ubuntu 11.10)
nvidia card - proprietary drivers (geforce 580)
User avatar
bartoleo
Party member
Posts: 118
Joined: Wed Jul 14, 2010 10:57 am
Location: Savigliano

Re: Conway's game of life GLSL implementation - Help testing

Post by bartoleo »

it's working here
1280x1024 screen resolution
love 0.8 (build from https://bitbucket.org/rude/love today (nov 9th 2011))
windows 7 Pro 64 bit (AMD)
ATI radeon HD 4250
Bartoleo
User avatar
hughes
Prole
Posts: 21
Joined: Fri Oct 28, 2011 3:10 am

Re: Conway's game of life GLSL implementation - Help testing

Post by hughes »

Quits unexpectedly for me, without outputting any info. Looks like it was trying to go fullscreen?
2 monitors, OSX 10.7, love 0.8.0
User avatar
slime
Solid Snayke
Posts: 3142
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: Conway's game of life GLSL implementation - Help testing

Post by slime »

Yes there's a problem with SDL which prevents it from going fullscreen in 10.7, I have an updated LÖVE build which partially fixes the issue here.


Works for me on both my Intel HD 3000 and my AMD 6750m on OS 10.7 with the latest LÖVE build.
User avatar
sebast
Prole
Posts: 27
Joined: Tue Nov 08, 2011 2:17 pm

Re: Conway's game of life GLSL implementation - Help testing

Post by sebast »

thank you guys,

I reuploaded a version defaulting to window mode
User avatar
miko
Party member
Posts: 410
Joined: Fri Nov 26, 2010 2:25 pm
Location: PL

Re: Conway's game of life GLSL implementation - Help testing

Post by miko »

sebast wrote:The code runs well on my desktop but not on miko's one.
[...]
Pressing spacebar reinitialize randomly the population.
The density of initial population can be set up in 'conf.lua' using the variable 'life.prob'. The value is the probability for each cell to start in a living state.
Good news, the code runs (almost?) OK for me. It means:
- when I run it, I do get a "night stars" view
- then when I press SPACE, there game is playing, but it lasts for a blink of eye, i.e. not even a half of second. I guess there could be only 1 "alive" frame between static frames. Before I did not even try to press SPACE, assuming it did not work.

I assume it should last a little longer? Or my card is exceptionally fast (which I doubt).
My FPS counter is at 60 (as for every love game on my hardware).
So depending on how long each turn should last, I may have it playing correctly.

I have updated to the latest (today's) love, but it seems it did work in similar way with older binaries (like 1 month old)
My lovely code lives at GitHub: http://github.com/miko/Love2d-samples
User avatar
sebast
Prole
Posts: 27
Joined: Tue Nov 08, 2011 2:17 pm

Re: Conway's game of life GLSL implementation - Help testing

Post by sebast »

miko wrote:Good news, the code runs (almost?) OK for me. It means:
- when I run it, I do get a "night stars" view
- then when I press SPACE, there game is playing, but it lasts for a blink of eye, i.e. not even a half of second. I guess there could be only 1 "alive" frame between static frames. Before I did not even try to press SPACE, assuming it did not work.

I assume it should last a little longer? Or my card is exceptionally fast (which I doubt).
My FPS counter is at 60 (as for every love game on my hardware).
So depending on how long each turn should last, I may have it playing correctly.

I have updated to the latest (today's) love, but it seems it did work in similar way with older binaries (like 1 month old)
I am not sure to understand what you mean by '1 "alive" frame'. One generation is computed each frame, so at 60 fps you should see 60 different frames each second.
The game is supposed to run with vsync turned off, I can't find any reason for getting exactly 60 fps, otherwise your driver forced vsync ?
I added a configuration variable in conf.lua to turn vsync on for testing.
User avatar
miko
Party member
Posts: 410
Joined: Fri Nov 26, 2010 2:25 pm
Location: PL

Re: Conway's game of life GLSL implementation - Help testing

Post by miko »

sebast wrote: I am not sure to understand what you mean by '1 "alive" frame'. One generation is computed each frame, so at 60 fps you should see 60 different frames each second.
That is the point: after pressing SPACE the frame #1 is newly generated random frame, then the frame #2 is different (somehow translated? probably correctly), and then frames #3..#N are exactly the same - no visible changes.
sebast wrote: The game is supposed to run with vsync turned off, I can't find any reason for getting exactly 60 fps, otherwise your driver forced vsync ?
Yes, as I have written earlier, I always get 60 FPS no matter how I set vsync option, so it it forced by the driver.

Is that possible that the GSLS program run correctly, but I can only see the last frame because of that vsync forcing? Ie the result is only computed inside the card chip, and not visible by me? So that could mean that all the generations are computed directly, but I can see only the first and the last one.

The other reason I can think of is that the GSLS algorithm works a little bit different on my card, so there are really only a few generations computed - is that possible?

I think we could make a test if you made a deterministic version, so I could post the screenshots of my initial (first) and final (last computed) frame, so we could compare the patterns. I have no other ideas right now :(
My lovely code lives at GitHub: http://github.com/miko/Love2d-samples
User avatar
sebast
Prole
Posts: 27
Joined: Tue Nov 08, 2011 2:17 pm

Re: Conway's game of life GLSL implementation - Help testing

Post by sebast »

Do you have tried the latest version ?
If yes and you have no console output, then your card is supposed to work well.

Maybe you could try to set life.vsync to "true" in conf.lua, just in case...

Also, to verify that the problem is not computing time, you may test with smaller resolutions (like 128x128) (set life.width and life.height in conf.lua)

If all that doesn't work, I will make a deterministic initialization code.

Thank you.
Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 6 guests