18 October 2022, 09:17 | #2581 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
|
Latest experimental is up, and it brings another layer of flexibility over and above the previous memory management.
The new "asset bundles" system more or less allows you to load or unload any combination of sounds and animations at runtime, including in the middle of a level. The YouTube upload explains the ins and outs of it. [ Show youtube player ] |
19 October 2022, 00:29 | #2582 |
Registered User
Join Date: Jun 2020
Location: Leeds, UK
Posts: 770
|
OMG TY, this is the big feature I think I need to get cmo working without chipram. (i meant fastram, haha)
Is there a maximum number of packs? I think I’ll separate most of my enemies into them as they tend to turn up throughout much of the game (sometimes with reassigned palettes like the mud/snow/slime man.. Ooh I can make it load and unload Francis/Anna when they’re used too. I wonder how much I can get away with putting in these! Amazing! Last edited by Mixel; 19 October 2022 at 02:49. |
19 October 2022, 01:15 | #2583 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
|
@Mixel no worries!
It does open a lot of possibilities, before that update I would have said a complete Street Fighter 2 style game was essentially impossible because there would be no way to select the graphics of only two fighters from the entire roster, now it would be doable. No limit on the number of bundles. --- Latest experimental check in: * Bug fix for @msmalik681 (Resolved issue where unticking "preallocate memory" broke the game) * Bug fix for Lemming880 (Exe2ADF honors the "Add21K" setting, meaning guru errors on NTSC machines can be avoided by having that turned off) * Added the standard set of copy/delete/rename/find references buttons to the new Asset Bundles feature (Find references will identify all assets that use that asset bundle and all lines that load or unload it) * Leaving the asset bundle set as "none" in a load command will load every asset bundle (not actually sure how useful that is, maybe if you had a build of the game for higher memory Amigas that loads all assets at the beginning of the game) * Leaving the asset bundle set as "none" in an unload command will unload every asset bundle (that's probably more useful as you can blanket unload everything at the end of a level before picking and choosing which assets to load at the start of the next) |
19 October 2022, 20:48 | #2584 |
Registered User
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
|
Hi Earok, I wanted to ask something about a problem I am having with the S.E: in the game I am trying to do (for Amiga 1200) I wanted to insert a scolling of the background (wide all the screen 256px at 16 colors) and I succeeded, but I wanted it to remain in the background to the main game map. Unfortunately I cannot set it correctly. If you could give me some advice I would be grateful.
I've tried to set various combinations of z depths for actor scrolling and other actors in the game by varying the values ??but it doesn't work. |
20 October 2022, 09:26 | #2585 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
|
Hi Skyzoo, I'm not totally sure I follow. The GothicVania AGA demo is about the only example of a full screen parallax, which relies on large AGA sprites (it's two layers of four colors but could be substituted for one layer of 16 colors easily enough).
The z-order only affects draw order, it doesn't do things like divide by z for scale and position, the "parallax lock" movement type is recommended for attaching actors to the background (where you can set the 'rotation speed' value to determine how fast it moves relative to everything else) --- Latest check in: * Some bug fixes for Asset Bundle issues reported by a few different users, I'm not totally sure it'll solve all of them but generally it should be more reliable (especially if there's multiple asset bundles or animations linked directly to levels). * Asset Bundles can use custom override palettes, same as levels. * Fix suggested by @Mixel, the build log displays what each compiled asset bundle (0.gfx, 1.gfx etc) is specifically for. |
20 October 2022, 11:36 | #2586 | |
Registered User
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
|
Quote:
If necessary I can send you a screenshot or a video. Thank you |
|
20 October 2022, 11:43 | #2587 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
|
Ah, I think I understand now - try setting background sprite pairs to 4 (I think this command is in the display menu). If it doesn't work, please feel free to send me your project (earok 3d at gmail dot com)
|
20 October 2022, 12:49 | #2588 |
Registered User
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
|
Setting background sprite pairs to 4 worked!
Thank you ! |
21 October 2022, 02:42 | #2589 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
|
@skyzoo73 No worries! looking forward to seeing what you do
--- Did some experimental stuff in regards to floor parallax (It's on the unofficial repo - https://github.com/earok/unofficial-scorpion-demos - under streetfighter_parallaxtest) It's a rough, janky mess (and struggles a bit even on A1200+nofast) but it's a conceptual proof of concept that could be improved on in future. Essentially, the floor is divided up into 16 slices, which are 16 different actors each with a parallax_lock type. |
22 October 2022, 17:13 | #2590 |
Registered User
Join Date: Nov 2014
Location: Netherlands
Posts: 260
|
^ That looks amazing.
Thanks for the recent fixes. The player actor doesn't get pushed away from corners anymore. NTSC works from adf. My game runs on A500 HDD again. The new keyboard controls didn't work flawless but thanks for trying. The sprite bosses are not scrambled anymore but enabling Cache Maps still makes actors invisible. What does Cache Maps do exactly? And will music mods be added to the asset bundle? |
22 October 2022, 20:47 | #2591 |
Registered User
Join Date: Apr 2006
Location: UK
Age: 51
Posts: 282
|
@Earok et al
Been playing over the past month.. Crime City New project, first time using slopes, parallax trick for sky shade. Other bits to, still a test project to learn stuff. Level 2 seems to have taken a massive performance hit since changing to EXP 2022.8, when the red car appears the frame rate tanks, seemed better in 2022.7. Dan Dare is back. Giving it another shot now that i know more, slopes and such. (Earok was right). Oh and hold space to move through floors. Oscar Did alot of work trying to get the weapons working. Scorpion 2022.8 made a mess of that execise, the output is not consistant when changing logical and target frame rate settings. Grenades are a good example, i would expect that no matter the output settings the maths would be consistant. All the latest builds are on my GitHub, feel free to have a look and tell me why i'm wrong I don't mind making this public if someone can help set my account up properly. I'll be here all week, that's all for now. P.s. Love the scaling, can that be done realtime on an 040 do you think? Bob |
23 October 2022, 07:31 | #2592 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
|
Cheers guys.
@Lemming880 there's currently no support for music in asset bundles, it would be a bit redundant since music can already be loaded and unloaded individually at runtime like asset bundles. If you need to have multiple songs in memory at once, I'd go with JMD's suggestion to have both songs in one MOD. Map Cache means the map data is cached in slowram so it doesn't need to be loaded from disk when a level is restarted. I haven't noticed any bugs myself at my end but it is certainly possible that the asset bundles have broken that in some way, I'll need an example to be able to fix it. --- @flibble42 I can't explain frame rate drops other than to make sure that the color depth settings are the same as before. I realised that there was a frame rate drop in the performance demo that was actually caused by the upgrade changing the color depth to 32 colors (since the settings per platform need to be reset), setting it back to 16 colors meant the performance demo was actually running slightly faster than before. Logic settings should never be changed once you've started the project and decided on whether you're releasing one or two versions. I'd leave it at 50HZ if you're making one version and 25HZ if you're making a slower version and a faster version. It's only the output setting that should be changed (which changes it so that an animation of 1 frame on 25hz displays for 2 frames on 50hz for example). What do you mean by realtime scaling? Like actors getting bigger and smaller in the game while the game is running? |
23 October 2022, 08:28 | #2593 |
Registered User
Join Date: Apr 2006
Location: UK
Age: 51
Posts: 282
|
@Earok
I don't know if this counts as animation, but if you look at Oscar the grenades go nuts, if logical and target don't match then the behavior changes totally, either falling short or flying off the top of the screen. I'm only using Scorpions in built routines, no custom code. It seems that if the logical/target have to match for the results to be consistant it's an issue. If i code a game for an A500 the visual results need to be the same on an a1200 or a Vampire card. It might not be an issue, it just feels like one. And yes on the scaling. Bob |
24 October 2022, 11:03 | #2594 |
Registered User
Join Date: Apr 2006
Location: UK
Age: 51
Posts: 282
|
@Earok
This is a technical question about block behavior. In Dan Dare i need to find a way of creating an 8x8 hit box, not for walking on but for 8x8 aligned triggers like the elevators for instance. One way i suppose is to spawn invisible bobs with an 8x8 box. But to blocks and collisions. Normally the box is 16x16, if i create a block with the top left corner filled to create an 8x8 and set it to be a slope is the hit box 8x8 or 16x16? If 8x8 this does come with a problem, Dan wants to climb on it. So my ultimate question is can we have an option to turn off the slope logic but keep the collision box? As always a Feature request if possible otherwise just a thought. Bob |
24 October 2022, 13:21 | #2595 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
|
A couple of minor fixes to experimental.
* Fix for Flibble42, actor XSpeed and YSpeed is scaled by speed scaling (combination of logical and output speed) if those variables are set directly * Removed the limitations on screen width and position - 320 wide is now possible, and it's also possible to align any smaller screen sizes to the right side of the screen. But some notes - Anything that uses up the right most portion of the screen is going to break sprite parallax - Anything that uses up the left most portion of the screen is going to reduce the available sprites (which is to say, it's also incompatible with parallax) So in practice, I'd recommend using nothing more than 288 wide if you have parallax, and 304 wide (right aligned) if you don't. 320 should be okay if you don't have parallax and use of all 8 sprite channels isn't important. Last edited by earok; 24 October 2022 at 13:27. |
24 October 2022, 13:31 | #2596 |
Registered User
Join Date: Apr 2006
Location: UK
Age: 51
Posts: 282
|
*Chuckles to self*
Of course Parallax breaks in 320, Crime City is 320 wide in the arcade, i used parallax instead of copper to give the correct background. Ah well, i like the parallax so it stays, unless copper gives a performance increase that i REALLY need. Bob |
24 October 2022, 14:56 | #2597 |
Registered User
Join Date: Apr 2006
Location: UK
Age: 51
Posts: 282
|
@Earok
Just tried the update, the logical and target FPS still need to be the same for the grenade trajectories to be correct. At least they don't fly off the top of the screen when mis-matched. Sorry Bob |
24 October 2022, 18:36 | #2598 |
Registered User
Join Date: Apr 2006
Location: UK
Age: 51
Posts: 282
|
@Earok
Interestingly, Crime City (after correcting the settings) does require 50 Logical and 25 Target, I think that explains my performance drop. But they where always my settings from the start. I do have an intesting problem with Crime City, How the heck do you walk on and stick to a moving BOB which is a car that needs slopes to walk on. If you don't get what i mean please try level 2 of the demo. https://github.com/Flibble46uk/-GitHub_Projects I'm still concerned that a logical/target mis-match is changing the underlying physics. I know why, it does for example 2 up movements for every 1. I feel that is wrong. I don't think for instance it is as simple as dividing by 2, if that's what you did. I can't think of a solution, it does need to be a 1:1 so no matter the clock speeds involved the output is always the same. And yes i know that if you solve this issue i will have change the behavior of Crime City. Also Oscar was always designed to be 50/50 or 25/25, it's just that that project is what caused me to notice the issue. Sorry for harping on. Bob |
24 October 2022, 19:05 | #2599 |
Registered User
Join Date: Apr 2006
Location: UK
Age: 51
Posts: 282
|
@Earok
I know documentation is not going to happen anytime soon, BUT, any chance you could put together a text document or something explaining all the special variables for the different actor types? It took me ages to get the wave actor to work and i still don't understand what the variables actually do. You know width of wave, depth and speed etc. Cheers Bob |
25 October 2022, 14:02 | #2600 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
|
Minor fix - issue reported by Lemming880 where 0.gfx (the core project asset bundle) would load multiple times in some cases where Map Caching is used, resolving in invisible graphics.
One of those weird things where I couldn't find the root cause, but putting in a check for it seems to have solved it. --- @flibble42 Logical should always be lower or equal to output. Logical of 50 and output of 25 is going to cause strange behaviour because you can't a one frame into half a frame. (I'll make it prevent compile if logical is less than output on a future update). Moving slope platforms would need to be done in codeblocks, some logic for manually setting player_y by comparing the player_x to the actor_x. Example, something like, run this every frame on the car. if player_x > car_x and player_x < car_x + 100 ;assuming car is 100 pixels wide if player_x < car_x and player_x < car_x + 25 and player_y > 50 ; player is standing on the hood but is lower than the hood player_y = 50 player_isonplatform = true endif endif Having said that, I would probably just fudge it by making the roof a separate platform actor to the car body, and making the roof actor a child of the car body actor. |
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 |
|
|