English Amiga Board


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

 
 
Thread Tools
Old 02 August 2023, 12:17   #3021
UltraNarwhal
Registered User
 
UltraNarwhal's Avatar
 
Join Date: Apr 2019
Location: UK
Posts: 305
Quote:
Originally Posted by earok View Post
@UltraNarwhal I may need to get a demo, Mega Drive foreground does seem to be working okay at my side.
.

My MD_Test file demonstrates, foreground tiles only shows if a map tile is below it.
UltraNarwhal is offline  
Old 03 August 2023, 00:43   #3022
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
@acidbottle Cheers !

@UltraNarhwal thanks for that! That was a really helpful tip and demo.

---

Latest experimental:


Amiga:
Added CD32-only ISO export.
CDTV export now honors the memsaver settings for EndRun and Add21k, as it runs on kickstart 1.3 it should claw back some chipram this way.

Mega Drive:
Various bugs with parallax. In particular, parallax not also reloading when reloading the current level.
Fixed bug reported by Ultranarwhal where foreground tiles with no background tiles would not be rendered on levels with parallax.

Universal:
Fixed bug where foreground tiles could not be set as solid or platform (may need to be careful here - this may possibly break games that used that bug to implement secret passages and such. But it could be resolved simply by having a copy of the solid tile on the tileset without the solid property set)

I was a little bit on the fence about making that change as typically you don't want a solid foreground so things can move behind it - but I felt it was ultimately a bug if there was no possible way to set a solid foreground tile without placing background tiles.
earok is offline  
Old 04 August 2023, 02:46   #3023
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Latest update:

- Fix for mega.studio.games, setting the actor look direction to "at player" was sometimes causing a crash
- Major reworking of slope system, along with a new "stairs" simple demo to demonstrate what's new. Before Scorpion would only take into account the top of a slope, now it also takes into account the bottom, allowing for cases like this where a one pixel gap at the bottom of the stairs allows a player to walk past it. This should also make it easier to (for example) create fake 8x8 platforms (or even esoteric sizes like 12x5) for games that need that.

This was based on recent conversations with Dante Mendes and my recollection of conversations with Mixel some time ago on the topic.

The slope system was pretty complicated as it was, and since I've made it a little more complicated still, hopefully nothing is broken.

earok is offline  
Old 06 August 2023, 02:38   #3024
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Latest experimental:

Amiga:
- WAV is now a supported audio type. This should help reduce the complexity of a cross-platform project as WAV can be used for both Amiga and Mega Drive projects. Note that 8SVX is still supported, and if you have WAV and 8SVX files with the same name, the 8SVX file will be used.

Mega Drive:
- Support for the DragonDrive cartridges (dragonbox.de). When used together with a Krikzz flash programmer, Scorpion can now do one click export to those cartridges for self publishing.

Thanks so much to DragonBox for providing a flasher and flash carts that we could use to implement and test this feature.
earok is offline  
Old 06 August 2023, 11:17   #3025
malko
Ex nihilo nihil
 
malko's Avatar
 
Join Date: Oct 2017
Location: CH
Posts: 5,055
Another big earok !
malko is offline  
Old 06 August 2023, 22:31   #3026
UltraNarwhal
Registered User
 
UltraNarwhal's Avatar
 
Join Date: Apr 2019
Location: UK
Posts: 305
Latest experimental Mega Drive seems to display weird colours/garbage when fading in new levels now. Can see in MD_Test (A to reload) or MD_Duck (start game).
UltraNarwhal is offline  
Old 07 August 2023, 00:55   #3027
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
@UltraNarwhal Cheers, I'll take a look in the next day or two.

@Malko Cheers

---

Some fairly major updates to control and camera handling are now in experimental. Some of them have minor breaking changes.

Ability to change the attack controls from codeblocks->controls->attack controls. Still defaults to Fire 1 on Amiga and B on Mega Drive.
Breaking change: Autofire has been removed from actor options. This is part of the new attack controls, allowing you to turn on and off Autofire at will.
Breaking change: Strafe has also been removed from actor options (was only really applicable to top down control types). This has also been moved into the new attack options, though again this only works for "top down" controls - it may be added to platform controls in future.
"Control Autonavigate" is no longer a movement type. Instead, there's now an "Auto Navigate Corner" flag which is available if you have "Control" set as the movement type.
Camera follow command: Ability to change the maximum number of pixels that a camera will follow a player per frame. This is set by default to 8, and higher than that will cause frame skips at least on Amiga, but you may set it to any value.
Camera follow command: Smoothing settings changes from linear scrolling to curved scrolling.
Camera box command: "Look ahead" pushes the camera towards the direction the player is facing, but no more than the camera box offset
earok is offline  
Old 07 August 2023, 13:56   #3028
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Another update. Apologies @UltraNarwhal, haven't had a chance to look at the bug yet but I haven't forgotten.


Mega Drive:
- Optimisation: If an image needs more than a single sprite, and one of those sprites is only made up of empty pixels (say, if it's an empty corner of a large image), it's simply ignored rather than added to the sprite table.
- Optimisation: If an image is made up of multiple sprites, and those sprites have patterns that are contiguous in memory (they might not be if patterns are shared between sprites), a single DMA transfer rather than multiple is used to transfer those into the VDP. I can't really quantify this but this should be more optimal with games that have a small number of large enemies.

Universal:
- Fixed a handful of bugs relating to camera smoothness. Also made it smoother than it was (carrying the fraction between frames), and added additional smoothness options to the dropdown.
earok is offline  
Old 08 August 2023, 03:37   #3029
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Latest experimental

Amiga:
- Added support for sound effects in MP3 and OGG format.
- Added "zero is transparent" for animations. If you want index 0 on an image to absolutely mean transparent (rather than the background color being part of the Bob), you can tick that to flag it.

Mega Drive:
- Fixed bug reported by Ultranarwhal where the operation to DMA load the palette could conflict with other VDP writes.

Universal:
- Added a "virtual" logical speed mode of 5HZ and 10HZ. You cannot export a game at these speeds (which is to say, Scorpion will not export a game to run at 5hz or 10hz) but you can set the logic to this speed.

The reason why these exist is 10hz is a common factor of 50hz and 60hz, and 5hz is also a common factor of 25hz and 30hz.

Which is to say - if you use one of those virtual logic speeds, you can guarantee your game will perform exactly the same if exported to PAL and NTSC (excluding NTSC having slightly smoother movement and PAL having a larger screen area with fewer frame skips). You'll never have a problem where it can't correctly round the number of frames in an animation when scaling speed upwards for example, or an issue where a yield takes a slightly different amount of time on PAL or NTSC.

It's really just there if releasing separate PAL and NTSC versions of your game that play at the same speed is important, otherwise I'd recommend just sticking with 25/30/50/60.



Update:

Latest update is more or less a Mega Drive optimisation pass only - I've been trying to streamline the renderer, and the performance score is now 3% higher than yesterday's build (6% higher than stable).

(Some of those optimisations are also for Amiga, but the Amiga performance improvement is relatively trivial in comparison)

Fewer patterns are generated - the compiler is now smart enough to know that if only the bottom right section of a 32x32 area has opaque pixels for example, only to generate patterns for that part and resize the sprite to be only 1x1. Also there was a bug with "quit" on Mega Drive that I've resolved.

Last edited by earok; 08 August 2023 at 20:14.
earok is offline  
Old 10 August 2023, 01:09   #3030
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Mega Drive:
- Further improvements for the Mega Drive renderer. In particular, it's a little smarter about working out what frames have already been copied to the VDP.
- New "pattern buffer" setting for Mega Drive patterns that make it easier for the renderer to manage sprites (if you set this, it'll reserve a constant amount of VDP space for an animation when it's playing, so that animations after it won't need to be reloaded into the VDP as often - I'd generally recommend setting this to be the same for every animation that belongs to a particular actor).

Universal:
- Fixed bug where "Copy Frame" in animation editor wasn't working.

---

Planning on releasing 2023.3 to main on the 20th, there's one major Amiga feature I want to add by then but soon I'll be focusing on getting it all stable.
earok is offline  
Old 10 August 2023, 12:50   #3031
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Latest experimental brings a big and long overdue update for Amiga: CD Music!

Whole bunch of notes:
- Uses "CDTV.device" under the hood so should be compatible with both CDTV and CD32
- WAV/MP3/OGG should be supported, but not thoroughly tested, and it may depend on your burner (eg I'm not sure that OGG is compatible with every burner app). Make sure you flag your files as "CDMusic" in the Audio tab, it will cause major issues if you attempt to compile those as SFX.
- CD play command can be used to play music, as well as stop music. Essentially it works like the existing MOD player commands.
- Variable "CDTracks" gives the number of tracks. If it's not running on a CD, this will be zero. It will be 1 if there's only the game data on the disc, and at least 2 if there's at least one song.
- Make sure you burn or load the CUE file (in both burner and WinUAE), not the ISO file. The ISO file only contains the data, whereas the CUE file links to both the data and the audio tracks.
- CD audio does not loop, it's up to you to retrigger the song when it runs out if you want to do this. (You could alternatively fill the disc with a really long song..). I may look at adding a function that returns the track length so music can be retriggered after a yield.
- CD audio can't be played at the same time as loading data. It should automatically stop music whenever you go to load new data, but again this isn't well tested - do let me know if a load operation stalls while music continues to play.
- CDTV_Music demo under simple demo gives a really rudimentary example of starting/stopping music.

I can't guarantee it's all going to work fine on a burned disc, I went through many many discs trying to get CD audio functioning properly on the Kiwi's Tale so I can't make any guarantees discs won't similarly be wasted.

But I'm hoping what I've done here will function okay (have not tested on a real CD32 yet, and I have no CDTV to verify it works there).
earok is offline  
Old 12 August 2023, 09:07   #3032
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Latest experimental:

- New "Tile Based" movement type. Essentially the same as pursuit and patrol, but player controllable, for Pacman or Bomberman type games.

- Palette Write function is clamped to 0-255 (meaning you don't need to manually check that the color is in a valid range when making your own custom fader function).

Note that, interally Scorpion uses 24 bit color for upward compatibility with Amiga AGA and future modern targets - which is why even Amiga OCS on 12 bit and Mega Drive on 9 bit still uses the 0-255 range.

- Fixed bugs where Animations could appear in the symbols list more than once.

- Palette functions (including fade in/fade out) are in their own separate category. The display category was getting a bit overstuffed, and also I do intend to add a new palette function or two in the next couple of days.
earok is offline  
Old 13 August 2023, 13:55   #3033
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Latest experimental:

- Tweaked the cpu_pursuit_direct to be the offset between the center of the player's collision box and the actor's collision box. Since the movement type is designed like a "heat seeking missile", I think it makes sense to make it so that it's literally one collision box chasing the other collision box.

- Palette Set function. This takes a range of colors from the PNG and immediately applies them to the palette.

Note that the original level color can be restored at any time with "Color Reset". Also this does not actually load from disk, the PNG is "baked" into the codeblock at compile time, so it won't make an Amiga pause for a second.

- Palette Read function. Similar to the above, except it only reads a single color, and sets the red/green/blue variables with that function, which you can then manually set into the game palette with Color Write.

The main purpose of this one, distinct from the one above, is to make it easier to write custom fade routines.

- Not well tested, but Retro Animator animations should now work fine from the platform_assets folder.
earok is offline  
Old 13 August 2023, 22:00   #3034
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Latest experimental:

- Increased the size of the actor_type box in codeblocks
- Fixed bug where an actor with "collision down" set to none could get stuck against a solid block in some conditions. (not sure if this resolves any recently reported issues with platform actors, it was just something I noticed in my own projects)
- build.log and debug.json files go into the root output folder, and are also named after the platform used (useful if you want to keep track of the last Mega Drive log vs the last Amiga log etc)
- Shifted the Amiga splash screen up slightly so the bottom wouldn't be cut off on NTSC
- Attempting to use "say" function with no talkpad set will throw a compile time error
- Fixed bug where creating new project could throw errors.
earok is offline  
Old 14 August 2023, 23:01   #3035
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Latest experimental fixes issue reported by Lemming880 where ramps weren't working as expected.
earok is offline  
Old 15 August 2023, 09:07   #3036
acidbottle
Registered User
 
acidbottle's Avatar
 
Join Date: Jul 2018
Location: Scotland
Posts: 851
That update fixed the slope issue I was having to, thanks again earok
acidbottle is offline  
Old 15 August 2023, 09:08   #3037
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
@acidbottle no worries!

--

Another quick experimental update. Fix for issue reported by fabdigital, the double buffering of sprite patterns wasn't working as expected on Mega Drive. Also fix for issue where "configure screen" was missing the options to set framerate and sprite wrapping.

---

Latest experimental resolves bug reported by flibble where, on a map with five bitplanes that's at least 409 tiles tall, graphics would glitch.

Last edited by earok; 15 August 2023 at 14:06.
earok is offline  
Old 16 August 2023, 02:36   #3038
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Latest experimental check in:

- Amiga: Fixes bug reported by lemming880 where foregrounds could cause glitches.
- Universal: Fixes bug reported by lemming880 where an inconsistency in the subpixel position between the player and the ground could cause an issue where sometimes a player can cross a gap, and not other times.
earok is offline  
Old 17 August 2023, 11:45   #3039
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,548
Started checking my own demos to see what bugs I can find ahead of Sunday's 2023.3 launch. Please do let me know if any of your own projects aren't working as expected.

Latest experimental:

Mega Drive:
- Fixed bug where loading a top or bottom panel in the middle of a level could result in the panel being corrupted.

Universal:
- Dropped support for 'blank' images (PNGs with no visible pixels) as this was causing some render glitches. Always use [ blank ] in animations for blank frames.
- Fixed bug with control type (top down movement) where, if autonavigate was ticked, player would move twice the expected speed.



---

Edit: Won't do a new post since this is a Mega Drive only experimental update:

- Restored support for GENS. (I suppose technically not a bug fix so much as a workaround so that GENS wouldn't crash on startup). Really glad to have that working again, GENS' visual VDP debuggers are fantastic.
- Fixed an issue where a project with no levels could crash on startup.

Last edited by earok; 18 August 2023 at 10:29.
earok is offline  
Old 18 August 2023, 17:58   #3040
UltraNarwhal
Registered User
 
UltraNarwhal's Avatar
 
Join Date: Apr 2019
Location: UK
Posts: 305
Quote:
Originally Posted by earok View Post
Started checking my own demos to see what bugs I can find ahead of Sunday's 2023.3 launch. Please do let me know if any of your own projects aren't working as expected.
Here's a weird Mega Drive for you(MD_Duck). Player idle gfx being corrupted by a cpu_wave object below it.
Only happens if cpu_wave speed above 0.6 and has more than 2 frames of animation and not using buffer.
Click image for larger version

Name:	buffer_wave_glitch.png
Views:	86
Size:	7.6 KB
ID:	79994
UltraNarwhal is offline  
 


Currently Active Users Viewing This Thread: 5 (0 members and 5 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 09:50.

Top

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