English Amiga Board


Go Back   English Amiga Board > Other Projects > project.Amiga Game Factory

 
 
Thread Tools
Old 21 May 2023, 23:30   #2921
sokolovic
Registered User
 
sokolovic's Avatar
 
Join Date: Aug 2013
Location: Marseille / France
Posts: 1,444
Quote:
Originally Posted by domkid View Post
new game inspired by the Castle of Illusion, World of Illusion and Mickey Mania series, some improvements and additions to the Ansimuz graphic art...
[ Show youtube player ]
Really really nice.
sokolovic is offline  
Old 22 May 2023, 17:57   #2922
Lemming880
Registered User
 
Join Date: Nov 2014
Location: Netherlands
Posts: 260
@earok yes if more people would report this issue then it would be easier to find the cause. But removing features indeed isn’t an option. So we probably just need to live with it.

Edit: it could still be something else causing it and not scorpion. It’s just that I’ve seen two cases in one week; one here on the forum and a yt video of boxx4 with sound stutter (which I can’t find anymore).

Last edited by Lemming880; 25 May 2023 at 15:14.
Lemming880 is offline  
Old 22 May 2023, 20:57   #2923
UltraNarwhal
Registered User
 
UltraNarwhal's Avatar
 
Join Date: Apr 2019
Location: UK
Posts: 300
Not sure if I've mentioned this before but I noticed player on a moving platform doesn't change the isOnPlatform value (it's same as if still jumping/falling), so if you have a player that can switch to a crouch/crawl but only if on platform you can't using that variable.
I can work around by triggering a variable in animation state to allow crouching on moving platform, but thought I'd mention in case it was an oversight.

In future for Mega Drive could we have the option to offset a block by 8 pixels on the X (so a block could be centered between two tiles), alternatively a non movable sprite that acts like a solid?
UltraNarwhal is offline  
Old 22 May 2023, 20:59   #2924
lionagony
Registered User
 
lionagony's Avatar
 
Join Date: Jan 2023
Location: Toronto
Posts: 393
Quote:
Originally Posted by earok View Post
If I can be shown that there's an issue with Scorpion specifically (and not games like Jim Power, Lionheart et al), and if I can be shown the cause of the issue, and fixing the issue won't require removal of features used by Scorpion developers, then I can do something about it.
My Android TV emulator setup does have problems doing Lionheart and Jim Power at full speed without tweaks so it isn't only Scorpion games. I guess it's a case of waiting to see if the emulator ever gets updated, thanks for the info.
lionagony is offline  
Old 23 May 2023, 06:03   #2925
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
@lionagony it's no worries at all! I'm definitely a little relieved to hear it's not just Scorpion games in that case.

@ultranarwhall it should be set to the value of 2 "IsOnPlatform_PlatformActor" whenever it's standing on a moving platform, but it's admittedly not well tested. Can you give me a demo to investigate?

In regards to having the block offset by 8 pixels on X, I'm not really sure I could do that - the internal logic of Scorpion is designed around a 16x16 grid (including using hardcoded bitshifts by 4 to convert between pixel and tile coordinates). What's the idea that you had in mind?

--

Latest check in is sponsored by BitBeamCannon, and is the major Mega Drive update for the month.

8 pixel tall parallax slices are now working in engine and editor. Rather than using a spreadsheet as per the Amiga OCS system, it's all in editor. (At some stage, I do intend to replace the spreadsheet editing with something entirely editor based).

As an aside, there was also some improvements to foreground handling on Mega Drive - blank tiles on the foreground don't override the priority bit of solid tiles on the background, and also it's possible for 8x8 portions to be on the foreground rather than just entire 16x16 tiles.
earok is offline  
Old 23 May 2023, 20:55   #2926
UltraNarwhal
Registered User
 
UltraNarwhal's Avatar
 
Join Date: Apr 2019
Location: UK
Posts: 300
Quote:
Originally Posted by earok View Post
@ultranarwhall it should be set to the value of 2 "IsOnPlatform_PlatformActor" whenever it's standing on a moving platform, but it's admittedly not well tested. Can you give me a demo to investigate?

In regards to having the block offset by 8 pixels on X, I'm not really sure I could do that - the internal logic of Scorpion is designed around a 16x16 grid (including using hardcoded bitshifts by 4 to convert between pixel and tile coordinates). What's the idea that you had in mind?.
Didn't know about that IsOnPlatform_PlatformActor constant, sort of worked but I used animations to set a variable instead.

Block offset was so item blocks aligned nicely if I used even ramps/spike pits/etc tiles.
(I'm not working on a Mario game, just example graphics)
Click image for larger version

Name:	aligned.png
Views:	91
Size:	3.9 KB
ID:	79108
I'll stick to using an offset platform sprite.
UltraNarwhal is offline  
Old 25 May 2023, 09:02   #2927
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
Quote:
Originally Posted by UltraNarwhal View Post
Didn't know about that IsOnPlatform_PlatformActor constant, sort of worked but I used animations to set a variable instead.

Block offset was so item blocks aligned nicely if I used even ramps/spike pits/etc tiles.
(I'm not working on a Mario game, just example graphics)
Attachment 79108
I'll stick to using an offset platform sprite.
I'll keep it in mind. I do want to investigate doing a kind of block that uses sprites rather than plane tiles. But collision detection would still be a problem.

---

Latest update:

Mega Drive:

* Sprite streaming is a little smarter. It'll fill the entire VDP before looping back around to the top of the VDP, in order to reduce "single buffer" glitches where a sprite is drawn while the patterns are still being loaded. There's still some improvements left to be done here to make sprites truly "double buffered".
* The side effect of the above is that it's also less likely that having too many streamed sprites on screen will corrupt scrolling and sprite position data.

Universal:

* Compiler is a little more strict, if a goto or gosub operation references a missing label, it'll refuse to compile.


Edit: Also checked in an emergency fix for Master Linkeui, fixing issue where sprite streaming would corrupt the patterns used by the panels and parallax

Last edited by earok; 26 May 2023 at 01:59.
earok is offline  
Old 26 May 2023, 13:41   #2928
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
Latest check in is some work on some Mega Drive related issues:

The sprite system has been extensively reworked so it is effectively double buffered, and should be a lot less likely to show glitches - it's also a little more intelligent with not reloading patterns already in the buffer. It still seems to be showing some glitches for a fraction of a second if there's a lot going on but I haven't really been able to nail down why, but I figure I should be able to fully fix that on a future update.

Fix for bug reported by BitBeamCannon, the palette on some PNG files weren't being parsed correctly (this was a bug I had previously fixed for Panels on Amiga, had forgotten to do so for Panels on Mega Drive)
earok is offline  
Old 28 May 2023, 02:49   #2929
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
Latest experimental in sponsored by BitBeamCannon:

Mega Drive parallax panels can now have an overlay layer - this is used for setting the "high priority" (eg, foreground) portion of the parallax.

Note that it doesn't mean that there's two different layers - both layers are "baked" down to be rendered on Plane B. But it can be used to have parallax both behind and in front of Plane A. Essentially the same as how foreground slicing on the Amiga OCS parallax works.

In addition, there have been some improvements to Bitmap reading, so compile times (on all platforms) should hopefully be slightly faster.
earok is offline  
Old 30 May 2023, 06:00   #2930
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
Latest experimental update is for Amiga, and it's sponsored by msmalik681

There's a new Sliced render type (find this underneath "delay" on the animation tab) which is designed for saving memory at the cost of some performance.

It slices up graphics this way:

* The "head" is cut off as a single 16 pixel wide segment
* The rest of the image is divided up into 16 pixel tall segments
* The individual segments are added to memory in a way that's a little like LWZ compression - if the top half of the head slice is already in memory, then it links to that rather than adding the entire head to memory on every frame.

The combined total shaves nearly 30% off the size of the graphics data on the Street Fighter 1 demo, and there's still some opportunities for shaving memory usage down further.

It isn't designed to be used with games that are tall vertically, it may break if the character goes further downwards past the part where the buffers wrap around (but games that are wide, such as street fighter or double dragon, it should work fine for). It's also very new so it's likely to need bug fixes going forward.

earok is offline  
Old 31 May 2023, 01:39   #2931
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
Latest update

Amiga:
Spent some time optimising sprite functions, replacing Blitz code with ASM (this was actually in the last update, I forgot to mention it).
Fixed bug with sliced graphics where images less than or equal to 16 pixels wide would be trimmed at the sides.
Fixed issue with sliced graphics cutting off when leaving the left or right of the screen (still needs to be fixed for leaving the top or bottom of the screen)

Universal:
Fixed bug reported by @Mixel, the automatic upgrade of events from the old system was incorrectly changing the OnEnter event to OnExit
earok is offline  
Old 01 June 2023, 06:18   #2932
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
Latest update further iterates on the slicing system - it's now "non-interleaved", saving (in the test case of the Street Fighter 1 demo) some 55% in memory over the normal interleaved blitting mode alone.

The reason why I went for interleaved to begin with for most graphics was performance - all interleaved blits can be done with a single blit operation, so for a platformer or a shooter with a lot of small things to blit it makes sense to do it that way.

But for a game with a small number of large characters where memory is a bigger concern than performance, it makes sense to use non-interleaved graphics.
earok is offline  
Old 02 June 2023, 13:13   #2933
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
Experimental updates for Amiga platform:

* Further improvements to the sliced render type, saving approximately 60% memory (in the test case) over normal blitting. The change this time is that every bitplane is added to memory only once, which means that graphics that only need a subset of bitplanes (say, colors 1-8) will use a lot less memory.
* Sliced actors can also move off the top and bottom of the screen without being completely cut off.
* Minor improvements to compile times (hopefully!).
* Fix for bug reported by Mixel where long running blit operations on panels could cause display glitches.
* Also fix for bug reported by Mixel where "bar" elements could overwrite neighbouring elements.
earok is offline  
Old 03 June 2023, 11:41   #2934
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
Latest experimental update has some breaking updates for Amiga:

Amiga:
* Set Panel Gap command removed. This value can now be set on Panels directly.
* Set Background Sprite Pairs command removed. A sprite can be flagged as a background sprite in the animation editor (though note that you should still use Z sorting to put those sprites at the back otherwise you may not get the expected result). The command was very confusing to use, this should be much more simple.

Universal:
* When changing an animation frame, it only asks if you want to apply the setting to all if you're changing the very first frame in an animation. (So if you're manually tweaking every single frame speed, it won't ask every time)
earok is offline  
Old 03 June 2023, 17:38   #2935
skyzoo73
Registered User
 
skyzoo73's Avatar
 
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 293
Would it be possible to animate an element in the panels? In my case I would have to have the "enemy" sign constantly doing some sort of color cycling, but not wanting to involve other elements that use the colors in question it would be useful to be able to simply do a small animation with 2-3 frames.
skyzoo73 is offline  
Old 03 June 2023, 22:30   #2936
UltraNarwhal
Registered User
 
UltraNarwhal's Avatar
 
Join Date: Apr 2019
Location: UK
Posts: 300
Quote:
Originally Posted by earok View Post
Latest experimental update has some breaking updates for Amiga:
Tested with Amiga Abbeys of Dead and noticed this update makes sprites act weird, sometimes drawn behind non black parts of tiles.
Click image for larger version

Name:	aotd_glitches.jpg
Views:	49
Size:	97.6 KB
ID:	79251

Also found the experimental builds from the 30th May onwards appears to continue running code on animations, even though the object is many screens away.
You can try yourself with my git copy of AOTD. Walk through entry and hear banging then fall through the floor by note/blue circle window and go anywhere. If you instead go up to bell tower and back it'll work correct way.
UltraNarwhal is offline  
Old 04 June 2023, 00:38   #2937
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
@skyzoo73

Assuming there's three frames of animation, I'd do something like this:

* Create an element on the panel with max value of 3, counter divisions set to 3, the attached image having all of the frames.
* Then it's simply a case of setting the attached variable for that element to loop through all three states on a timer.


@UltraNarwhall. That is weird, I can take a look. Just wanted to make sure - you're not using background sprites or parallax I take it?
earok is offline  
Old 04 June 2023, 01:53   #2938
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
Emergency fix for UltraNarwhal checked into experimental, background sprite channels were incorrectly allocated. It should be okay now but please let me know if there's any further weirdness (either sprites incorrectly appear in in the background or in the foreground)
earok is offline  
Old 04 June 2023, 11:33   #2939
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
Latest experimental:

Mega Drive:
* Fades are moved to the top of the vblank, this should reduce instances of cram dots (it's very possible that the screen might tear if there's scrolling during a fade, but since sprites are double buffered it shouldn't result in sprite glitches - hopefully)

Universal:
* From the patreon poll, AND/OR conditionals are there. On any conditional, click "edit advanced condition" to stack and/or conditions on top of the base condition.

This is new and may be buggy. There's no way to group conditions yet, the conditions run in a linear order from top to bottom (which is to say, it'll stop checking at the first OR that's true or the first AND that's false)
earok is offline  
Old 04 June 2023, 14:54   #2940
UltraNarwhal
Registered User
 
UltraNarwhal's Avatar
 
Join Date: Apr 2019
Location: UK
Posts: 300
Quote:
Originally Posted by earok View Post
Emergency fix for UltraNarwhal checked into experimental, background sprite channels were incorrectly allocated. It should be okay now but please let me know if there's any further weirdness (either sprites incorrectly appear in in the background or in the foreground)
Mostly fixes sprite issue, I noticed some being drawn where they didn't exist. The other issue looks like things aren't being fully disabled when off screen (timers still run).
I made AOTD example to easily see glitches, just choose the Alternative menu option.
UltraNarwhal is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
2D Platformer Engine carrion Coders. Blitz Basic 27 06 June 2019 14:35
New Chaos Engine!! arpz Retrogaming General Discussion 75 31 August 2013 22:20
F/S Warp engine 32 mb tabuhuso MarketPlace 0 24 February 2012 15:13
PC Engine CD TodaysForgotten Retrogaming General Discussion 47 13 May 2009 23:57
Scorpion (100% working) andreas request.Old Rare Games 13 01 August 2003 08:48

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 18:07.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.15613 seconds with 14 queries