![]() |
![]() |
#3161 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
Latest experimentals:
* Parallax position can be manually set on parallax slices (on both the Amiga when using the OCS parallax system, and on Mega Drive when using the tile parallax system). Note that you probably want to set the speed for such slices to 0, otherwise the camera may conflict with your manual setting. * Fix for bug where elements flicker on talkpads * Fix for GENs support on Mega Drive * A bunch of performance optimisations, also fix for issue where two actors with rectangular collision zones might not have collided with each other correctly. It's very possible these have brought in bugs, so I'm done with features and performance tweaks for 2023.5 - from here on out, I'm just focusing on stability until 2023.5 is published. |
![]() |
![]() |
#3162 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
Latest experimental is in release candidate mode for 2023.5. I may investigate one or two more bugs but if nothing too breaking pops up, I'll release that to the stable branch.
* Fix for dialogue on Mega Drive (would not display if no level loaded) * Fixes for XGM driver support on Mega Drive * Merry Xmas game is now part of the full game source codes * Fix for situation on Amiga where implode+crunched could sometimes cause a crash * Tiled maps use Unix path convention for links to actor/block tilesets (should fix issues with using Tiled on Linux) * Fixes to autoscroll * Fixes to collision detection |
![]() |
![]() |
#3163 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
https://github.com/earok/scorpion-editor-demos
2023.5 has been soft launched. Notable features: * Animation editor has been updated to make it much easier to trigger custom events on frames, including audio, shooting other actors, setting direction and speed - as well as the ability to have numerous melee collision boxes on every frame. * "Intellibox" allows you to type in a number of code commands directly into the code tab. * Dynamic Patterns allows levels on Mega Drive to have massive tilesets. * Ability to freeze and unfreeze actors. * Many bug fixes and performance enhancements. * New game: Merry Xmas --- 2023.5 final performance scores A500 - 706 (4% increase) A1200 - 1108 (6% increase) A1200+FAST - 1620 (<1% decrease) MEGADRIVE - 967 (3% increase) I can't quite explain why there was a slight decrease in A1200+Fast, especially since there's otherwise been gains across the board. I have noticed that I'm starting to reach a bottleneck with A1200+Fast where it's running into the blitter (in other words, optimising code for the CPU isn't as effective if the CPU is stalled waiting for the blitter). The most simple explanation is the last test score was an outlier, which is plausible especially since 1200+Fast received such a big jump on the last update. So I think in 2024.0 I'm going to start experimenting with shifting some of the blitter burden on to the CPU when CPU capacity is available. --- Latest experimental fixes: *"Audio & Anim5" tab is just called "Audio" on Mega Drive (Since Anim5 is not supported on anything that isn't an Amiga) * Fix for bug where first two characters would be chopped off on dialogue choices on Mega Drive * CDTV export option disabled when platform is set to Amiga AGA required. * All animation slots are silently filled in at compile time, even if the direction is actually disabled. The reason for this is it was possible to make Scorpion crash when transitioning from an actor that's facing in one direction to another actor that has that same direction disabled. * Mega Drive fix - removed 4096 limit on dynamic patterns in a level * Mega Drive fix - glitches on XGM samples * Fixed bug where one actor having direction set to "up" could override the "isonplatform" variable of a different actor |
![]() |
![]() |
#3164 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
2024.0 update - please use with caution (having a backup or git repo of your Scorpion project is a good idea just in case)
* Variable section has been removed, all variables are declared inline with codeblock commands now. This makes it easy to sort and arrange, to copy+paste, and it frees up a lot of screen real estate. * Settings (scale, emulator etc) are saved in a file in the editor executable. It will ask you one more time to set emulators but it shouldn't do it again after that. Since the settings file is plain text you can edit as you wish. * Raft of optimisations. |
![]() |
![]() |
#3165 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
2024.0 fixes:
- New control "boost" function for increasing the top speed of controllable types. Can be used for speed powerups, momentum on slopes and such. There's not a codeblock option for it yet - you can set (for example) control1boostleft directly to give player 1 a boost when moving left. (This can also be set to a negative value to slow the player down). - Fix for bug where player vs actor collisions would be ignored. - Fix for bug where loading a new level could cause a crash. - Codeblock tab now filters on labels, not just the core codeblock names. - CPU_Wave type is a little more rigid with the configuration, forcing the direction to be a diagonal one. - Minor fixes related to variables being transitioned into codeblock lines. |
![]() |
![]() |
#3166 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
2024.0 fixes:
* Fixed reported bug where sprites would disappear at the start of a talkpad sequence * Undid previous changes to CPU_Wave (I forgot that there were some cases where a wave type doesn't need to move diagonally, such as an up-down platform) * Bug where up/down movement wasn't working on "control" type * Fix for projectile vs actor bug * Added a link to the project tab for the Scorpion Engine Book. Note that the book is far from finished (there's far more background and supplementary info in it than there is actual useful information) but it's started at least, and I figure it actually being linked to the project will mean I'm actually motivated to work on it! |
![]() |
![]() |
#3167 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
Latest update to 2024.0 experimental brings some big, overdue and still probably quite broken changes:
* LONG variable support. Score variables are no longer clamped at 32,767 but can go all of the way up to ~2 billion. This is likewise supported by the panel system on both Amiga and Mega Drive. * FRACTIONAL variable support. Fractions can be used in equations and fractional variables can be declared. Note that, for performance and backwards compatibility reasons, equations are integer (whole number) by default. To force an equation to be fractional, either: - Use a fractional constant, like "2.1", OR - Add a . or a , at the end of a variable name, eg actor_yspeed = actor_yspeed. + gravity. Both of the above are possibly still quite broken, if a particular equation doesn't work as expected please let me know so I can investigate. Using ',' rather than '.' should also work for fractions (in order for source code to work across different regions), but is not well tested. * Update for Mega Drive header, "6" is included in the devices section when six button read mode is set. * Update for Mega Drive header, "new style" region codes are supported for these regions (japan, americas, europe, all_ntsc, universal). This should help emulators detect the appropriate settings for your game. * Added ability to add restrictions to Mega Drive levels in order to save memory (tiles can be locked, blocks can be locked, or both can be locked in order to save enough RAM for massive levels) * Mega Drive levels are no longer restricted to 16384 tiles, a much larger number of tiles can be used so long as it still fits in memory * Added support for six button pads on Mega Drive (event and in codeblocks). * Tweak for packing data when compiling. Your mileage may vary, but I found it reduced the uncompressed size of my test game by 2%. * Quick fix - issue where selecting constants from the drop down list wasn't working correctly * Various talkpad fixes (hopefully hasn't broken anything else!) * New control mode for Amiga - CD32 pad shared. This has barely been tested but in theory, it should allow four players to play on two CD32 pads. * CPU_Pursuit and CPU_Pursuit_Direct types have been removed. Instead, there's a "pursues player" flag on the CPU and CPU_Patrol types that does the same thing. * This new flag also extends to the CPU_Platformer type, making it much easier to make a platforming enemy that follows the player. * Various tweaks to movement types. * Fix for talkpads on Mega Drive - text should align correctly when the game mode is 256 pixels wide * Ability to set a "test level" on the project tab. What this means is that every level in that game is replaced with that single level, allowing quick testing of that one level (this should also drastically reduce compile times as only the single level is compiled). In addition, the value "IsTestingLevel" is set to true or false depending on whether you've got a test level set, allowing you to do other things (such as skip title screens etc), and the splash screen is essentially skipped in this mode. * CD32 and CDTV export no longer uses a temporary folder, instead the ISO is built from a folder inside output. The reason for this is to make it much easier to make more custom setups (such as CD32 games with CDXL intros, menu systems for game compilations and so on). |
![]() |
![]() |
#3168 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
Experimental updates round up:
* Improvements for the CD32 Shared (Four player) control scheme, in particular: - It falls back to parallel port if a CD32 pad is not present. So it could be set as a default, and would also allow four player if two people share a CD32 pad, one person is plugged into the other port and one person is plugged into a parallel port. - It honors the jump button settings, so instead of fire, you could use the shoulder button on your side of the pad for jump. * Scorpion now has a "watchdog", essentially it keeps an eye on the state of the game and if the game is frozen for five or so seconds, it quits with an error that hopefully should help shed light on the situation (all Scorpion games display the virtual machine program counter when quit, which can be compared with the debug log to see approximately which codeblock and line was responsible). My worry is that there could potentially be a false positive where the game hasn't frozen at all, but it thinks that it has. So I may need to adjust the logic for the watchdog in future, or add the option to turn it off completely. * Added support for Mega Drive multitaps, both the Sega one and the EA one. * Added ability for Mega Drive panels to be left or right aligned. * Various fixes for fractions and long words. * Various fixes for Mega Drive, in particular relating to tiles, window positions and memory management. |
![]() |
![]() |
#3169 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
Experimental updates:
* Parallax is updated on the update loop rather than the render loop (so it no longer scrolls when the game is paused) * Added "hardware register" variable type in order to directly peek and poke the Amiga and Mega Drive hardware. * Pixel perfect collision demo (for Amiga and Mega Drive) uses the above to detect when a sprite's pixels are colliding with the pixels of another sprite. * DisplayDirty variable lets you know when a vblank is due (best to wait until this is back to 0 before peeking or poking the hardware) * Various minor fixes and optimisations |
![]() |
![]() |
#3170 |
HOL/FTP busy bee
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,975
|
Thank you for your work on the engine
![]() |
![]() |
![]() |
#3171 |
Registered User
Join Date: Jul 2006
Location: Dunkerque / FRANCE
Posts: 173
|
@earok,
I don't use Scorpion Engine but I'm always happy to see updates and improvements! All this promises us great games for our favorite machine in the times to come! My question: what new features will eaork bring us? :-) |
![]() |
![]() |
#3172 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
Cheers guys! Sorry for the radio silence lately. I've been pretty distracted but should hopefully have a fresh new build of Scorpion out soon.
@Tarzin I hope the below is a preview of what we might expect to see in Scorpion in future ![]() --- NEESO games has donated his dungeon crawler demo, and it can be played on either the Amiga or Mega Drive platforms. This is the first Scorpion demo that allows exploration of a pseudo 3d environment from a first person perspective, and it's now available to download and tinker with in the unofficial demos repository. https://github.com/earok/unofficial-scorpion-demos ![]() ![]() |
![]() |
![]() |
#3173 |
HOL/FTP busy bee
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,975
|
|
![]() |
![]() |
#3174 | |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
Quote:
https://github.com/earok/unofficial-...drive/disk.adf |
|
![]() |
![]() |
#3175 |
HOL/FTP busy bee
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,975
|
Awesome
![]() ![]() Edit: Runs very smooth with a A500 config in WinUAE. Looking forward to see somebody create a game with it. |
![]() |
![]() |
#3176 |
Saberman
Join Date: Dec 2016
Location: Kielce/Poland
Posts: 334
|
A very cool promising game project!
[ Show youtube player ] |
![]() |
![]() |
#3177 |
Registered User
Join Date: Jul 2018
Location: Scotland
Posts: 849
|
It's a really cool prototype. Now when mouse controls are useable between game and panel elements, this concept gets a whole lot more interesting
![]() |
![]() |
![]() |
#3178 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
2024.0 experimental is now at release candidate 1, if I don't get any bug reports back in the next day or two I'll roll it out to the main repo.
Recent changes: * Panels no longer need to be indexed. A panel without a palette will simply default to the project palette. * Additional option for panels to not override the game palette. This has different uses on different platforms. -- Amiga: Can reduce the bottom panel gap down to 1x pixel -- Mega Drive: Can make it easier mix and match panel palettes with level palettes. * Mega Drive: Support for manually setting the palette line of 8x8 squares in blocks and tiles is no longer supported. Instead it's automatic - if you have a pixel with an index of 17 for example, it'll assume you want to use palette line 1. * Mega Drive: New render modes that increase a sprite's usual palette line by 1, 2 or 3, wrapping around if it goes past palette line 3. These also have "flash" variants that alternate the sprite's regular palette line with the adjusted one. * Fixed bug where, when selecting a PNG from codeblocks for a palette set operation, it wouldn't update the text. * Amiga: Minor tweak for copper list generation, bug where the next line's copper operations can start two pixels too early if the screen reaches all the way to the right side. * Restoration of the ability to manually set palette lines of level tilesets, however it is still automatic if the "md_palette_XX" setting is left empty. That should be the best of both worlds. * Fix for bug where a Jetpack actor with no up acceleration set would effectively teleport upwards from a solid surface * Fix for bug where foreground tiles were severely broken on Mega Drive (eg the Light and Dark demo) * Fix for bug where projectile animations wouldn't always show up on the projectile tab * Mega Drive: Changing the "high color" value triggers a screen regeneration, so shadow+highlight mode can be changed at real time * Fix for bug on Mega Drive where (assuming no parallax) if a foreground tile has a different palette line to a background tile, the foreground palette line would override the background palette line. Now both are independent. * Fix for bug where a frozen animation would move to the next frame anyway in ~22 minutes * Amiga: Added "zero is transparent" support for blocks * Amiga: Fixed "zero is transparent" support for levels * Universal (but primarily for Mega Drive): Fix for issue where if a panel was faded out instantly, it wouldn't clear it's own palette |
![]() |
![]() |
#3179 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,547
|
2024.0 has been soft launched!
Fraction support for improved control of physics. Longword support for improved handling of scores. Ability to directly peek/poke Amiga and Mega Drive hardware registers. Option for four player on two shared CD32 pads. Improved Mega Drive controller support, including six button pads and multitaps. Ability to test an individual level, rather than recompile the entire project every time. https://github.com/earok/scorpion-editor-demos 2024.0 final performance scores A500 - 721 (2% increase) A1200 - 1124 (1% increase) A1200+Fast - 1638 (1% increase, new top score) Mega Drive - 974 (<1% increase) |
![]() |
![]() |
#3180 |
HOL/FTP busy bee
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,975
|
Congratulation on the new release
![]() ![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
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 |
|
|