Page 41 of 55

Posted: Fri Oct 21, 2011 6:01 pm
by cirix
It's not really developed under windows, but Linux.
But you can make changes to it and compile it under windows. You have to download msys and the mingw compiler for that. Inside msys, you uncompress the source with "tar xzf gdash....tar.gz", you chdir into it, do a "./configure", and there you are, you compile by typing "make".
Sources are in the dir src, of course :) If you do a make, the binary will be in that directory, too.
benjamind2011 wrote:I have no idea where to start...I know there is a windows binary, but I want to do some minor changes, and can't even find out what IDE/Compiler the windows port was created with. That would help.

Posted: Fri Oct 21, 2011 10:05 pm
by CWS
Hey, you're alive! :) Great! :)

Anything new about GDash? Last version was released some time ago...

Posted: Sat Oct 22, 2011 12:36 am
by benjamind2011
UPDATE: It appears I was having trouble getting SDL files installed properly. I remember that there was a problem with Ogg Vorbis support being disabled after I ran ./configure or make because it couldn't find the right header files, and I think there were other problems too, but I think it was all caused by a bad SDL installation. I uninstalled Mingw/MSYS and will re-install when I'm ready for another try in a little while.

What I'm trying to do are basically 2 things:

1/ speed up the timer so that it redraws 100 times per second (currently it redraws 50 times per second). I'm not sure if this would make it smoother, but it might. I wanted to make some minor change to the scrolling code in SDash version to see if I could make it scroll smoother - even on my 100Hz CRT monitor it still doesn't scroll as smoothly as I'd like. Very minor problems, that doesn't affect the gameplay but would make it smoother on the eye.

2/ replace the flash color to FFFFFF (white) instead of the light yellow that it is currently set to. Very minor problem, would prefer it to be white so it's like the original game.

Posted: Fri Oct 28, 2011 8:39 am
by benjamind2011
Another thing I've noticed - when I load a new theme (c64-gfx) the colours do not automatically change to the cave colours. The colours are the the same as in the original graphics file, and I was assuming those bright colours would automatically be replaced with the cave colours, but I've selected the c64_gfx theme, quit GDash, then restarted and still the colours do not change.

I'm not sure if this is a bug or something missed out, but I was led to believe that you could use custom graphics for a theme and if the graphics were certain colours (c64-gfx) they would be drawn using the cave colours.

Posted: Sun Nov 20, 2011 10:09 pm
by subotai
benjamind2011 wrote:I'm not sure if this is a bug or something missed out, but I was led to believe that you could use custom graphics for a theme and if the graphics were certain colours (c64-gfx) they would be drawn using the cave colours.
Well, I think this is something missed out. Otherwise, the graphics of boulder rush should have the same colors.
benjamind2011 wrote:speed up the timer so that it redraws 100 times per second (currently it redraws 50 times per second). I'm not sure if this would make it smoother, but it might. I wanted to make some minor change to the scrolling code in SDash version to see if I could make it scroll smoother
Do you know that you can enable "fine scrolling" in the options menu? Well, even with this setting, the scrolling is still a little bit rough, but I don't mind.
benjamind2011 wrote:replace the flash color to FFFFFF (white) instead of the light yellow that it is currently set to
This is really a minor thing :wink:

Posted: Thu Nov 24, 2011 6:57 am
by paul_nicholls
benjamind2011 wrote:1/ speed up the timer so that it redraws 100 times per second (currently it redraws 50 times per second). I'm not sure if this would make it smoother, but it might. I wanted to make some minor change to the scrolling code in SDash version to see if I could make it scroll smoother - even on my 100Hz CRT monitor it still doesn't scroll as smoothly as I'd like. Very minor problems, that doesn't affect the gameplay but would make it smoother on the eye.
In my boulder dash inspired game, The Probe, the redraw (frame-rate) is around 60FPS, and I have nice smooth scrolling...not sure if you need to up the redraw rate in GDASH...maybe the scrolling routine needs changing a bit? I don't know, I haven't tried it or looked at the code...

Here is some pseudo code for how The Probe is updated:

Code: Select all

const
  cUpdateRate = 1/8; //8 FPS update rate for game, similar to boulder dash (~6 to 8 FPS)

type
  TTheProbe = class
  private
    FUpdateTime: Single;
  public
  {...}
  end;

procedure TTheProbe.UpdateFrame(aFrameTime: Single);
begin
  FUpdateTime := FUpdateTime + aFrameTime;
  
  if FUpdateTime >= cUpdateRate then
  begin
    FUpdateTime := FUpdateTime - cUpdateRate;
    ScanLevel;
  end;

  RenderFrame;
end;

procedure TTheProbe.RenderFrame;
var
  OfsX,OfsY: Single; // position offset of level object for soothscrolling (0,0) if not moving...
  x,y,layer: Integer;
  Obj      : TEngineObject;
begin
{...}

  for layer := cLowestLayer to cMaxLayer - 1 do
    for y := 0 to FLevelHeight - 1
      for x := 0 to FLevelWidth - 1 do
      begin
        Obj := GetObjectAt(layer,x,y);

        OfsX := 0;
        OfsY := 0;

        // make object scroll offsets interpolate between old position (maximum offset)
        // and current position (no offset) depending on the update time ratio
        //
        if      Obj.MovingLeft  then OfsX := +cTileWidth  - cTileWidth  * FUpdateTime / cUpdateRate
        else if Obj.MovingRight then OfsX := -cTileWidth  + cTileWidth  * FUpdateTime / cUpdateRate
        else if Obj.MovingUp    then OfsY := +cTileHeight - cTileHeight * FUpdateTime / cUpdateRate
        else if Obj.MovingDown  then OfsY := -cTileHeight + cTileHeight * FUpdateTime / cUpdateRate;

        // render object at tile position with any offsets due to scrolling
        RenderObject(Obj,x,y,OfsX,OfsY);
      end;
{...}
end;
The objects are scrolled (using offsets) depending on if they are moving + the update time's position

I don't know if this helps anyone?

cheers,
Paul

Posted: Sat Nov 26, 2011 2:03 am
by benjamind2011
I'm pretty sure there is a way to get nice super-smooth scrolling in GDash but I think it would take a bit more fine-tuning of the scrolling code. I am sure there is a way because I have other games that scroll flawlessly, and many of them are 3D games, which use more resources, than GDash which is only uses 2D graphics routines, and this of course, is on my 60Hz LCD monitor, which is good enough for nearly all games, including 3D games - but you do need a good graphics card (ie, a decent mid-range nVidia or ATI card) to get good 3D performance for the latest games. The only reason you need a faster than 60Hz LCD monitor is to have frame-sequential 3D (using glasses). But even then really you don't need more than 60Hz because there are new 3D LCD panels that are in development that use frame-retardant-pattern film technology where you use 3D glasses that do not need to be connected to anything as they are just like the 3D glasses that you wear at a 3D cinema - cost about 5 euros each or something like that. So 60Hz is fine. It's either the game or the graphics card that is the problem when it comes to smooth scrolling.

There is absolutely no reason for GDash not to have flawless scrolling. I think it could be either the GTK+ or the SDL graphics limitations. While I do think the scrolling code is fine, there could be some fine tuning done to make it a bit better, but still it's perfectly playable and playability is what really matters here.

Posted: Sat Nov 26, 2011 2:07 am
by benjamind2011
BTW, does anyone have an OSX Leopard port of GDash that will run. Please, I can't compile this myself as I don't have XCode, and I am not wanting to download 1+GB to get it, and maybe then ending up not working anyway, as has happened when I tried to compile GDash on Windows using mSys.

Please, if anyone has OSX version that works, please let us know, I think the author would be fine with someone releasing an OSX version.

Posted: Mon Nov 28, 2011 8:02 pm
by subotai
benjamind2011 wrote:I'm pretty sure there is a way to get nice super-smooth scrolling in GDash but I think it would take a bit more fine-tuning of the scrolling code.
Me too.

Would be nice, if somebody could really improve that. As far as I know, the scrolling speed should always remain the same (independent from the game speed). In SDash, it changes with the game speed. I dont' really care about that but I think that a constant scrolling speed could also improve the performance.

As already said, SDash and Gdash rock however :D It's a pity that its development is discontinued.

Posted: Sat Dec 03, 2011 2:57 am
by benjamind2011
subotai wrote:As far as I know, the scrolling speed should always remain the same (independent from the game speed).

I think that a constant scrolling speed could also improve the performance.

As already said, SDash and Gdash rock however :D It's a pity that its development is discontinued.
I see this as the best argument. Scrolling speed should be constant, it was on the C64, and I think it was on the Atari too.

Well, it hasn't been discontinued per say, but it's definitely slowed down since other committments have taken up the author's time, but I am sure development will continue at some point in the not too distant future.

Posted: Sat Dec 03, 2011 11:31 am
by CWS
I could provide a compiled version for MacOS X - but you definately need the libs that GDash uses (like gtk2 or sldlib). You need XQuartz as X11 environment and MacPort to easily install the libs GDash needs but I do not know if this works without problems if XCode is not installed...

Posted: Sat Dec 17, 2011 7:58 am
by benjamind2011
I can't see why it wouldn't work without XCode. I think XCode is only needed for the compilation, not the running of the GDash binaries.

If you can provide a compiled version of GDash for OSX that would be wonderful.

I believe you can distribute the libraries that it uses freely because those libraries are part of the GPL public license scheme.

Posted: Sun Dec 18, 2011 10:06 pm
by CWS
Yeah. But you can not use MacPort on XQuartz. As far as I know you need XCode. I upload my compiled version soon. Let's try it...

scrolling

Posted: Mon Dec 19, 2011 8:20 am
by cirix
benjamind2011 wrote:I see this as the best argument. Scrolling speed should be constant, it was on the C64, and I think it was on the Atari too.
i don't see why it should be constans. imagine a totally empty cave, player in the top left corner. the cave starts, and then you start running to the right. suddenly the cave starts scrolling, and you keep running.
if scrolling is faster than the player, then it will stop and start, stop and start. if scrolling is slower than the player, then suddenly he will run out of the screen - and you won't be able to see what you're doing.
i think both of the above would be annoying.

cx

Re: scrolling

Posted: Mon Dec 19, 2011 10:48 am
by benjamind2011
cirix wrote: i think both of the above would be annoying.
I'd agree with that, now that I've thought about it.

Smooth scrolling is another issue altogether, and I think the GTK/SDL libraries may play a part in this..