English Amiga Board


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

 
 
Thread Tools
Old 18 October 2022, 09:17   #2581
earok
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 ]
earok is offline  
Old 19 October 2022, 00:29   #2582
Mixel
Registered User
 
Mixel's Avatar
 
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.
Mixel is offline  
Old 19 October 2022, 01:15   #2583
earok
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)
earok is offline  
Old 19 October 2022, 20:48   #2584
skyzoo73
Registered User
 
skyzoo73's Avatar
 
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.
skyzoo73 is offline  
Old 20 October 2022, 09:26   #2585
earok
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.
earok is offline  
Old 20 October 2022, 11:36   #2586
skyzoo73
Registered User
 
skyzoo73's Avatar
 
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
Quote:
Originally Posted by earok View Post
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)
In fact I looked at the example The GothicVania, my parallax is made of one 16color big sprite. And I also set the parallax lock as you suggested. It works perfectly, but my problem is that it is above the game map, and instead I would like it to be seen through the "holes", the black parts of the main map. I hope I have explained.

If necessary I can send you a screenshot or a video.

Thank you
skyzoo73 is offline  
Old 20 October 2022, 11:43   #2587
earok
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)
earok is offline  
Old 20 October 2022, 12:49   #2588
skyzoo73
Registered User
 
skyzoo73's Avatar
 
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
Thumbs up

Setting background sprite pairs to 4 worked!

Thank you !
skyzoo73 is offline  
Old 21 October 2022, 02:42   #2589
earok
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.
earok is offline  
Old 22 October 2022, 17:13   #2590
Lemming880
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?
Lemming880 is offline  
Old 22 October 2022, 20:47   #2591
flibble42
Registered User
 
flibble42's Avatar
 
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
flibble42 is offline  
Old 23 October 2022, 07:31   #2592
earok
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?
earok is offline  
Old 23 October 2022, 08:28   #2593
flibble42
Registered User
 
flibble42's Avatar
 
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
flibble42 is offline  
Old 24 October 2022, 11:03   #2594
flibble42
Registered User
 
flibble42's Avatar
 
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
flibble42 is offline  
Old 24 October 2022, 13:21   #2595
earok
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.
earok is offline  
Old 24 October 2022, 13:31   #2596
flibble42
Registered User
 
flibble42's Avatar
 
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
flibble42 is offline  
Old 24 October 2022, 14:56   #2597
flibble42
Registered User
 
flibble42's Avatar
 
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
flibble42 is offline  
Old 24 October 2022, 18:36   #2598
flibble42
Registered User
 
flibble42's Avatar
 
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
flibble42 is offline  
Old 24 October 2022, 19:05   #2599
flibble42
Registered User
 
flibble42's Avatar
 
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
flibble42 is offline  
Old 25 October 2022, 14:02   #2600
earok
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.
earok 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 06:43.

Top

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