Woo hoo! Running my little program on Linux.

Previous topic - Next topic

Ian Price

#15
Very good news :)

HOAS, no that was a completely different puzzle game. The game you are thinking of was Guru Logic Champs (which I still haven't actually released, despite it being pretty much complete, with over 100 puzzles)

Here's B'lox! Linux edition - http://www.iprice.remakes.org/stuff/Blox_linux.rar
I came. I saw. I played.

Hatonastick

Cool!  I remember this one.  I like these sorts of puzzle games too. :)  Ok it works well, although there were a couple of very minor issues and one really odd graphical glitch - which may have nothing to do with your game, or GLB.  Some sprites have what looks like a pink, vertical morse code down the edge of the border of the sprite.  The cause could be anything from my dodgy Intel graphics card, to an issue with the SDL libs (or maybe the PNG lib) I have installed.  I'm pretty sure it's not anything to do with your game code or sprites as different sprites are affected by this glitch every time I run the game ie. not a consistent glitch.  The only program I've written and used as a test has no such issue, but since it only has one sprite it's not much of a test. :)  Going to try turning a sample GLB game/program into a Linux binary and try that out.

Other than that it runs extremely well.  So if you make sure all filenames are lower case (actually all you need to do is rename the directory DATA to data), free the mouse pointer (stuck inside the window - guessing it was for the GPX?), make sure the executable has the executable flag set (whoever turned it into a package for you would do that), turn it into a Debian package, shove it into the games section on something like the Ubuntu file repository (not sure what the requirements are for that) and you'd have your first distributed game on the Linux platform.  When you want to and are ready for that sort of thing, that is.

PS. I now have the Blox game tune stuck in my head. =D

Ian Price

Err... That's why I'm sticking to Windows and GP2X only for now, methinks.

Cheers HOAS.
I came. I saw. I played.

Hatonastick

Not a problem. :)  I hope to see your (and other Retro Remakes programmers) games running on Linux boxes one day though. :)

I'd be interested to find out if anyone else running Linux has the same issue, even though honestly the most likely candidate is my PC's graphics card.

Kuron

QuoteSome sprites have what looks like a pink, vertical morse code down the edge of the border of the sprite.
I am curious if this issue would happen on your hardware if the sprites were using 0,0,0 for their transparencies?

Schranz0r

PNG?
PNG use alphatransparence or indextranceparence
default transparence is RGB(255,0,128)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Hatonastick

#21
Quote from: Kuron on 2008-Aug-31
QuoteSome sprites have what looks like a pink, vertical morse code down the edge of the border of the sprite.
I am curious if this issue would happen on your hardware if the sprites were using 0,0,0 for their transparencies?
Hmm that might explain something.  My little demo program ran fine without corruption on the Linux box, and that does use 0,0,0 for the transparency (it's a PNG as well).  Might change it and try again.

[Edit]: Doesn't seem to make any difference.  My demo just has one sprite and it turns around (I'm working on Time Pilot clone again, but this time in GLB), so it wasn't much of a test of my machine.  Ians game has lots of moving sprites (especially on the title screen), so I'm not surprised my graphics card fails this.  I honestly suspect its this particular Intel graphics card and its limited OpenGL support that is the issue. ie. not the fault of Ians game, GLB, or the SDL libraries GLB uses.  It handles actual 3D well enough for such a low end card (I've got the OpenGL rubiks snake screen saver running which uses semi-transparent 3D animated objects and it runs around 30 fps), I think it's just not so hot on bitmaps/billboards/3D sprites.

I'd like to hear from someone else who's running Linux and tried out GLB games to really put the matter to rest though.  Am I the only one who's had corruption issues from moving (the issue only occurs when the sprites are moving) PNG sprites (with transparency) under Linux?

Moru

Try the bitmap fonts and see if you get any artifacts around the edges of the letters. I have been working hard for removing those especially around italic fonts. Download from my homepage http://gamecorner.110mb.com/

Just some tips while I remember them:

When using LOADANIM, make sure all edges are free from pixels that isn't the transparency color because this will be antialiazed onto all sprites around. For example if you have a transparency of black and have a pink square in the animation, all blocks that sits next to this block will have a pink border in that direction. (At least on my grafics card)
See the picture below for example. The B would have a pink border to the right if loaded with black transparency.

If you grab your sprites yourself, draw the background color one pixel bigger than you expect to grab (0,0 - 34,34) and then grab from 1, 1, 32, 32. This makes rotations look better without artifacts on the edges.

I'm not sure how this works for blocks that isn't supposed to have transparent edges though, that you have to test for yourself :-)

See the picture below: First cell is with alpha channel, the rest with normal colors

[attachment deleted by admin]

Ian Price

#23
HOAS - Here is a WIP of Guru Logic Champs - http://www.iprice.remakes.org/stuff/Guru%20WIP.rar

The object of the game is to cover the light squares with blocks, which you fire out of a cannon. You have only enough blocks to cover all the squares and no spares, so you have to make use of each and every one. Blocks will stop moving when they collide with a wall or another block (like B'lox! funny enough).

Controls -

Move left and right with LEFT and RIGHT cursors
Fire block with UP cursor
Suck block with DOWN cursor
Rotate board by 90degrees clockwise or anti-clockwise with Z and X
Space to start
Use cursors on puzzle select screen plus PAGE UP and PAGE DOWN to select puzzle sets.

There are about 100 puzzles, and everything is pretty much in with the exception of sound and music. The game is totally silent IIRC.

Have fun. :)
I came. I saw. I played.

Kitty Hello

That game is cool. I could spend hours on it.

Hatonastick

Top stuff!  I really like this game!  :good:  It's come a long way since the last demo I saw.  I'm pretty sure I'd gotten to play a demo before, but most of the puzzles hadn't been done.  With sounds and catchy tunes, I can see this being a hit.

Hemlos

If you use (255,0,128) as a transparency, and want to antialias....make the antialias on a black background first, then fill the outside.

SETTRANSPARENCY RGB(0,0,0) is a wonderful feature
Bing ChatGpt is pretty smart :O

Billamu

For anti-aliasing artifacts... Back in my Amiga days I would draw my sprites with a dark or light grey edge, depending on the background. If you're rendering graphics you can render to a grey background and then do an Aliased fill to RGB(255,0,128) for the background again.

Meddling with threshholds in Gimp is also extremely helpful too. The idea is to make the artifacts look like a natural mixture between your sprite and the background... more than half the time. If there are extreme colour changes in the background then this technique won't work.
I'm an Aries. I have lots of Ram.