English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   Coders. General (https://eab.abime.net/forumdisplay.php?f=37)
-   -   Arcade Game Selector 2 (https://eab.abime.net/showthread.php?t=68818)

MagerValp 16 April 2013 13:52

Arcade Game Selector 2
 
Hello folks.

I noticed a few weeks ago that my old AGS project was still very much alive and has seen a number of forks and fixes, most recently from tomcat666. I started looking at the source again, saw that it was old and messy, and decided to rewrite the whole thing from scratch. It took a little while to get the development environment set up with FS-UAE (I don't have any properly working Amigas these days :/ ), and I seem to have forgotten most of what I ever knew about Amiga coding in general and AmigaE coding in particular. It was fun getting back into it though, and I've managed to get it to a state where I'd like some input from the fine people here at EAB.

First off, the project is hosted on GitHub, so you can check out the source code there: https://github.com/MagerValp/ArcadeGameSelector

The main changes since version 1 are:
  • AGA and OCS support.
  • Subdirectory support, up to two levels deep.
  • Configurable screen layout.
  • Better control over colors.
  • Screenshots are loaded in a background task, keeping the interface responsive.
  • Games end in .run so names can be 2 characters longer.
For testing I have a fresh snapshot compiled today that shows you the state of things: https://www.dropbox.com/s/sa6e8deyw8...2-20161130.lha

I'd like to warn you that it's a debug build that prints out statistics and opens console windows, so it isn't ready for active use. (FIXED) I'd love to get some feedback though, especially on its performance since I don't have any real hardware to test on (Anyone have a cheap A600HD for sale?). A few notes on the code:
  • Text rendering is still done with SetDrMode()/Move()/Text(), which is painfully slow. (FIXED) I'm going to replace this with rendered 1-bpp bitmaps which should speed up scrolling significantly on slower machines.
  • The ILBM loader is written in pure AmigaE since I don't know 68k assembler. It's also unpacking and blitting one line at a time instead of decoding the whole image to keep memory requirements down. I'm going to study a bit and see if I can come up with a faster method but any pointers here are most welcome.
  • Info text isn't implemented. (DONE)
  • It's currently configured for 640x256x16. You'll have to draw a 640x256x256 background to test it in AGA mode.(FIXED)
Now to the point where I'm hoping I can get some help:

» Is the AmigaDOS 3.x manual available somewhere? I need a good command reference and a guide to writing scripts. In particular I need to figure out why Lap/Skip doesn't work.

» As you can tell if you've run the program I'm not a graphics artist. I'm hoping that someone here would be willing to develop a 4-color theme for OCS and a 16 or 32-color theme for AGA. Any takers?

» Does anyone have a good WHDLoad archive, preferably sorted in categories and with screenshots still in full 8 or 24-bit color? AGS2 comes with an image converter (imgtoiff.py) and I need to find the best way to run it. NB: I don't need the actual games, just the .start/.png/.txt files.

» Are there any decent development tools for tracking down memory leaks, buffer overruns, double frees, etc? I've tried running with Enforcer and MungWall, but since AmigaE frees all resources at exit I don't get any hits when the code is actually executing. I also don't know how to translate the memory addresses that they report into AmigaE function and variable names. It doesn't help me one bit to know that I overwrote a buffer by one byte at $078c9482 after the program quit...

And of course if anyone has any questions or requests, please just ask.

Whitesnake 16 April 2013 15:02

Hi MagerValp.

I've been a long time user of AGS, I never expected the original author to pick it up again. :)

Improvements I'd say

Lower memory usage overall.

Support for auto switching image, Switch between boxart/screenshot.

Different image file type support something that can create smaller sized (kb) images than .IFF Although I'm guess supporting JPG and PNG would end up in more wasted memory?

Ability to scroll down past the list limit without it breaking up the listing selection, I think someone may have fixed that in another release.

.mod and .sid support.

Although if adding support for other formats requires more .library usage then I wouldn't bother myself. I noticed that AGS still requires iffparse.library it would be nice if it could run without any library dependencies.

Anyway good to see you are working on it again. :great

Here is a video of old AGS in action
http://www.youtube.com/watch?v=p5FCFuTfpaA

MagerValp 16 April 2013 18:03

Quote:

Originally Posted by Whitesnake (Post 882039)
Hi MagerValp.

I've been a long time user of AGS, I never expected the original author to pick it up again. :)

Neither did I!

Quote:

Improvements I'd say
Lower memory usage overall.
In what way? Since AGS quits when you run a game it shouldn't use any memory except a few kB for RAM:AGS.run. Are there any games that don't work due to a lack of ram?

Quote:

Support for auto switching image, Switch between boxart/screenshot.
That would be nice. Maybe Game.iff support for two screenshots, and Game.box?

Quote:

Different image file type support something that can create smaller sized (kb) images than .IFF Although I'm guess supporting JPG and PNG would end up in more wasted memory?
Yes, and significantly slower than loading IFF. I could possibly add support for a custom format, such as PowerPacked ACBM files which would load fast and be pretty small (e.g. PNG: 15 kB, ACBM+PP: 19 kB, ILBM: 28 kB, uncompressed: 41 kB). Would people be willing to convert all their images to a custom format though for a 35% gain in file size?

Quote:

Ability to scroll down past the list limit without it breaking up the listing selection, I think someone may have fixed that in another release.
This should be fixed - please test and let me know if it works.

Quote:

.mod and .sid support.
SID is probably out of the question but MOD playing would be easy to add with AmigaE's tools/pt module. This would increase the memory footprint significantly though.

Quote:

Although if adding support for other formats requires more .library usage then I wouldn't bother myself. I noticed that AGS still requires iffparse.library it would be nice if it could run without any library dependencies.
I could parse IFFs manually, but iffparse.library makes the program more robust. It'd suck if AGS crashed due to a corrupt screenshot.

Quote:

Here is a video of old AGS in action
http://www.youtube.com/watch?v=p5FCFuTfpaA
That's a nice setup! Any chance you could share the screenshots and start files?

Turran 16 April 2013 18:10

No images and only sorted into A-Z folders (AGA and non AGA seperated), this is a good start for a few thousand games and demos though.

http://eab.abime.net/showthread.php?t=68704

MagerValp 16 April 2013 18:14

Nice!

MagerValp 18 April 2013 16:02

2 Attachment(s)
Quick update:
  • I've squashed a ton of bugs and worked a bit on the polish - screenshots now fade in and out instead of visibly being drawn.
  • The shell script has been replaced by a small launcher program. Now you just have to add AGS:AGS2 to your Startup-Sequence.
  • Two quick screenshots to show off a bit of the new configurability:

First up AGA, 256 colors:

http://eab.abime.net/attachment.php?...1&d=1366293686

Then OCS in 16 colors:

http://eab.abime.net/attachment.php?...1&d=1366293686

(Yes, I warned you that I'm not a graphician.)

Retro1234 18 April 2013 16:20

Cool I use AGS all the time :) for AGeS - sorry

Also thanks to tomcat666 if he reads for all the .iff and .txt ;)

MagerValp 22 April 2013 15:04

I made a small movie clip today demonstrating the new configurable UI:

www.youtube.com/watch?v=VD2RdngOdzo

I implemented the new fast drawing routines so the menu is responsive even on an unaccelerated A600 while loading screenshots in the background. All that's really left is a few nice looking themes...

MagerValp 22 April 2013 16:50

Alright, here's a new build that's feature complete and should be considered a beta - I'm not aware of any major bugs. I'd love to get some feedback, especially on how it performs on slower machines.

AGS2-20130422.lzx

twenty90seven 01 May 2013 14:10

This is looking great, I like the big screen shots.

twenty90seven 01 May 2013 14:27

This is probably a beginner's question, but what do you type in the .run script for a game to make it run?

Retro1234 01 May 2013 20:17

Would it be possible to have a copy of AGS 2 that uses .start so I dont have to change all my files - I might install both AGS 1 and AGS 2 AGA so I can have both big and small screen shots, I will try and give you some feedback when I can :)

Quote:

Originally Posted by twenty90seven (Post 885212)
This is probably a beginner's question, but what do you type in the .run script for a game to make it run?

something like
CD DH0:Games/GameTitle
jst GameHD

MagerValp 02 May 2013 10:20

Quote:

Originally Posted by Boo Boo (Post 885289)
Would it be possible to have a copy of AGS 2 that uses .start so I dont have to change all my files - I might install both AGS 1 and AGS 2 AGA so I can have both big and small screen shots

AGS2 is completely configurable, so you can still use 320x128 screenshots from AGS1 - in fact it defaults to a similar layout.

I might be able to create a script that converts AGS1 menus into AGS2, but I still haven't found a good shell scripting reference.

twenty90seven 17 May 2013 14:11

Thanks, but I'm still struggling with the Run script.
I have a partition called Games (which is obviously separate from the System partition). In the root of the Games partition I have a drawer called 'AlienBreedStory', and then within that, the WHDLoad files for the game (AlienBreedStory, AlienBreedStory.slave, etc)
I have tried many scripts to get it to work, for example
Run Games: AlienBreedStory/AlienBreedStory

I have also tried as BooBoo suggested
CD DH1: AlienBreedStory/AlienBreedStory

I am fairly new to AmigaDOS scripts, can someone please help? Cheers

TCD 17 May 2013 14:54

Try:
Code:

cd DH1:AlienBreedStory
WHDLoad AlienBreedStory.slave PRELOAD

You need both cd (change directory) and to start the WHDLoad 'slave' with WHDLoad :)

twenty90seven 17 May 2013 14:58

Thanks for your quick reply, I'll give that a go!

Quote:

Originally Posted by TheCyberDruid (Post 888914)
Try:
Code:

cd DH1:AlienBreedStory
WHDLoad AlienBreedStory.slave PRELOAD

You need both cd (change directory) and to start the WHDLoad 'slave' with WHDLoad :)


twenty90seven 17 May 2013 15:01

That worked! Thanks so much.

I'm making some TIFF images for the menu using screenshots and this Windows program which converts PNG to TIFF: www.ultimatepaint.com

MagerValp 19 May 2013 09:22

The screenshots need to be IFF (aka ILBM), not TIFF.

twenty90seven 19 May 2013 15:29

Cheers, yes IFF.

I've got AGS2 set up now and working well, and I'm looking to customise it a bit more. Quick question - when you cycle through the games, there is a background colour which changes (around the edges of the screen - it is yellow for one game, then blue for another, etc). Can this be configured? For some reason, your video of your AGS2 menu on Youtube doesn't have this issue.

Quote:

Originally Posted by MagerValp (Post 889342)
The screenshots need to be IFF (aka ILBM), not TIFF.


MagerValp 19 May 2013 19:08

Sure, you have two options: either ensure that color 0 on your screenshots is always the same color (e.g. black), or use a utility that forces the border to be blank: https://www.google.se/search?q=site%...t+border+blank


All times are GMT +2. The time now is 00:54.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.05488 seconds with 11 queries