Recent

Author Topic: Deep Platformer — looking for people for cross-platform testing  (Read 5325 times)

Lainz

  • Hero Member
  • *****
  • Posts: 3085
    • https://lainz.github.io/
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #105 on: April 23, 2019, 01:37:39 am »
Working in macOS

furious programming

  • Sr. Member
  • ****
  • Posts: 312
  • I click a little.
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #106 on: April 23, 2019, 05:57:05 pm »
@Lainz: super! 8)

I implemented this solution in the game project — now it should work on all mentioned platforms and systems (on macOS should at least show the window on the screen). I attached improved version of the source code in the attachment, so you can test it on any system.


So, there are two things to test — frames rendering on macOS (should work at least the same as on the Linux, slow but properly, without any glitches) and the timing on any Unix-like systems (should maintain fixed 60fps if the load counter is below 100%, if not, the lower value of the framerate).

Built-in cheat mode is enabled by default, so the load and framerate counters will be visible from the very beginning. If you want, take a screenshot of in-level gameplay (in game menu or in the level) and provide it in the post. Feedback is welcome.
« Last Edit: April 23, 2019, 05:59:00 pm by furious programming »
Lazarus 2.0.2 with FPC 3.0.4, Windows XP (all 32-bit)

Lainz

  • Hero Member
  • *****
  • Posts: 3085
    • https://lainz.github.io/
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #107 on: April 23, 2019, 09:34:42 pm »
MacOS 32 bit it loads but keyboard is not supported (see console errors). Bad graphics like yellow instead of gray and no transparency of pink color.

MacOS 64 bit, it just exit the app.


Lainz

  • Hero Member
  • *****
  • Posts: 3085
    • https://lainz.github.io/
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #108 on: April 23, 2019, 09:35:17 pm »
Yellowish  :o

lucamar

  • Hero Member
  • *****
  • Posts: 1483
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #109 on: April 23, 2019, 10:50:58 pm »
A bit OT and a little stupid (maybe) but, can you edit the title of the thread? Each time I save the page the file ends up with an invisible something in front of the name (before the D in "Deep").

To be clear: It's the topic name I mean, not the zip downloads.
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus 1.8.4 & 2.0.2 w/FPC 3.0.4 on:
(K|L)Ubuntu 12..16, Windows XP SP3, various DOSes.

furious programming

  • Sr. Member
  • ****
  • Posts: 312
  • I click a little.
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #110 on: April 23, 2019, 10:59:12 pm »
MacOS 32 bit it loads but keyboard is not supported (see console errors).

If the widgetset does not support the GetKeyState then I can not adapt the code for the macOS. The problem with colors is not serious — just bad order of the color components, probably RGBA will be correct. If you want, just go to the Platformer.Types.pp unit to the line 37 and change the order of TBitmapPixel record fields (try to find correct order of four components).


@lucamar: I do not know what you mean — there is no "strange something" before the Deep word in the title (at least I do not see this). But I edited the first post of this topic so maybe it is just gone.

BTW: can you test the game on Linux or other non-Windows system? 8)
« Last Edit: April 23, 2019, 11:04:08 pm by furious programming »
Lazarus 2.0.2 with FPC 3.0.4, Windows XP (all 32-bit)

Lainz

  • Hero Member
  • *****
  • Posts: 3085
    • https://lainz.github.io/
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #111 on: April 23, 2019, 11:40:55 pm »
I tested on Ubuntu 64 with VirtualBox and works fine.

Maybe due to keyboard layout I can't set the zoom, but the game runs ok.

lucamar

  • Hero Member
  • *****
  • Posts: 1483
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #112 on: April 23, 2019, 11:43:00 pm »
BTW: can you test the game on Linux or other non-Windows system? 8)

I'm quite swamped now with not one but two medium sized apps for OpenBSD (which means I'm learning *BSD on the run :) ) but I may be able to dedicate some time to this on the weekend. Or if I find myself free for a few hours. Or relaxing after the Nth try to install Lazarus in OpenBSD :)
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus 1.8.4 & 2.0.2 w/FPC 3.0.4 on:
(K|L)Ubuntu 12..16, Windows XP SP3, various DOSes.

furious programming

  • Sr. Member
  • ****
  • Posts: 312
  • I click a little.
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #113 on: April 24, 2019, 12:48:27 am »
Ok, thank you guys. Until now, I will let go of macOS, due to the lack of GetKeyState implementation. 8)

So, in that case, if someone wants to help and join a group of testers, then the latest sources are in this post. So I am asking for game tests on Windows, Linux, BSD and Solaris. Should work properly on any of this systems.

If this is the case, then the work related to the source code is considered completed.
Lazarus 2.0.2 with FPC 3.0.4, Windows XP (all 32-bit)

furious programming

  • Sr. Member
  • ****
  • Posts: 312
  • I click a little.
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #114 on: May 01, 2019, 11:56:57 pm »
Small update — I added something cute. 8)

Until now, the gates were not visible until the hero entered them — label for the purpose of the gate was displayed. The gates were to be finally decorated with platform details, but it would be difficult to find them anyway.

So I added a jumping arrow over each of them, thanks to this, it is always known where they are. If the gate is on the floor, the arrow is visible above it. If it is on the ceiling, the arrow is below. And if the gate is in the air, two arrows are visible — one above and one below. Video:

- Deep Platformer — gate markers.webm

If someone would like to play with a new feature, the latest sources are in the attachment. Screenshot for preview as well. Feedback is welcome, as always.
Lazarus 2.0.2 with FPC 3.0.4, Windows XP (all 32-bit)

RAW

  • Hero Member
  • *****
  • Posts: 710
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #115 on: May 09, 2019, 12:22:22 am »
Nice minimalistic style! Thanks for the source ...  :)
// funny fps rate ... if I set the window to full screen, then the fps is going down ... ?

// LOAD usually between 35% and 47%, mostly 39-40%

LAZARUS 2.0.2 FPC 3.0.4 // RELEASE x64

WINDOWS 7 SP1 x64
NOTEBOOK Asus G73SW-TZ150V
CPU COREi7-2630QM 4x2.0 GHz
GPU NVIDIA GTX 460 @ 1920x1080
RAM 16 GB @1333
SSD 250 MB/s
« Last Edit: May 09, 2019, 12:52:41 am by RAW »
Windows 7 Pro (x64 Sp1) And Windows XP Pro (x86 Sp3) - LAZARUS 1.8.4 FPC 3.0.4 / 2.0.2 FPC 3.0.4

furious programming

  • Sr. Member
  • ****
  • Posts: 312
  • I click a little.
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #116 on: May 09, 2019, 01:34:18 am »
Nice minimalistic style! Thanks for the source ...  :)

Thanks for the test and you're welcome — sources of such a project should be free and open. 8)

Quote
// funny fps rate ... if I set the window to full screen, then the fps is going down ... ?

I see that you tested a special version, with printing the framerate on the console window. That's right, the larger the window is, the longer it takes to render the frame on its canvas — it is natural.

The game is working in this way, but only this special version for test the performance. Regular version maintain (by default) 60fps all the time — it's latets sources are in the attachment two posts above.
Lazarus 2.0.2 with FPC 3.0.4, Windows XP (all 32-bit)

furious programming

  • Sr. Member
  • ****
  • Posts: 312
  • I click a little.
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #117 on: May 13, 2019, 06:11:24 pm »
Another update — I changed the timer code.


Earlier on Windows, the game consumed all available power of one processor core. Currently, the clock class uses the Sleep procedure to wait between frames, which saves power. And this clock mode is now the default mode on this platform.

However, using the Sleep procedure makes framerate easier to destabilize and thus reduce the smoothness of the animations. Therefore, the clock has an additional mode that does not use the Sleep procedure — as before, it eats all the core power. The advantage is that the framerate is very stable.

Both clock modes were tested on three laptops, with WinXP 32-bit, Win7 64-bit and with Win10 64-bit — everywhere worked excellent. So, it was a good improvement.

The clock mode can be defined using the run parameters. A light clock is set up like this:

Code: Pascal  [Select]
  1. > platformer.exe clock light

and the precise clock like this:

Code: Pascal  [Select]
  1. > platformer.exe clock precise

On Unixes, the clock parameter is not used, so even if passed, it is ignored. On these systems, the game always uses high precision measurements and saves the CPU power, thanks to FPNanoSleep procedure.

The second function that saves the processor's power is a new way of making delays between frames when the game is stopped (using the F2 key or after deactivating the window). Currently, the Sleep(100) is used, so the CPU load in such a situation does not exceed 2%. And this behavior applies to all platforms.


Fresh sources in the attachment — fell free to test. 8)
« Last Edit: May 15, 2019, 03:41:25 am by furious programming »
Lazarus 2.0.2 with FPC 3.0.4, Windows XP (all 32-bit)

Handoko

  • Hero Member
  • *****
  • Posts: 3024
  • My goal: build my own game engine using Lazarus
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #118 on: May 13, 2019, 06:34:27 pm »
Tested on Lazarus 2.0.2 64-bit GTK2 on Ubuntu 19.04.

furious programming

  • Sr. Member
  • ****
  • Posts: 312
  • I click a little.
Re: Deep Platformer — looking for people for cross-platform testing
« Reply #119 on: May 14, 2019, 12:04:42 am »
Thank you @Handoko for tests — looks very good. 8)

Probably the new clock code was the last source code improvement. Only the content remains.
Lazarus 2.0.2 with FPC 3.0.4, Windows XP (all 32-bit)