Jump to content
IGNORED

Abyss (beta)


DrTypo

Recommended Posts

Help everybody!

So I'm working on a 3D game and things are not going according to plan.

 

First, about the game itself: you're piloting some kind of submarine and must attack enemies defense and infrastructure.

There are currently 8 missions, you can select a starting mission by pressing 0..7 on the numpad then A.

Craft controls are:

dpad up: accelerate, down: brake, left: turn left, right: turn right

dpad+C: up: go up, down: go down: left: go left, right: go right

B: fire torpedo

1: switch sonar on and off. By switching off the sonar, enemies are less likely to find you, but you don't detect them either.

2: launch a decoy. The enemy will attack the decoy.

* and #: abort mission

 

Now the big problem: I'm facing a serious memory corruption bug. It is most likely to occur when DSP and GPU are working in parallel for 3D computation and DSP is also processing sound interrupts.

I can reduce the occurrence of the bug by having DSP and GPU not working in parallel.

But still, when there is lot's of computation going on, the bug eventually occurs.

 

The bug doesn't occur on emulation (try Phoenix, it is nearly unplayable on Virtual Jaguar).

It seems the bug doesn't occur on all Jaguar models. 1/3 seems affected.

It works better in the newer versions.

 

Your homework (yeah, this is a beta test, I need your feedback!):

You need a skunkboard, or a BJL Jag or a GD:

- try the cof file in jagxxx.zip: after loading, stay on the title screen. If your Jaguar has the bug, you should start hearing horrible noise in less than 2 minutes. There may be screen corruptions and the Jaguar may eventually crash.

Whether you have the bug or not, please tell me what kind of Jaguar you have: PAL or NTSC, maybe a 50/60 Hz mod.

 

If you are really motivated, you can take a look at the source code, especially if you know your way around the DSP.

The source code is in the attached file clipxxx.zip.

If you want to build from the source, additional files are needed. Ask me and I'll explain.

 

That's it for now, thanks for your attention.

 

EDIT v074:

This version seems more stable. Apart from clearing the buffers (v073), I also clear D_FLAGS and G_FLAGS at init.

It seems to help.

In this version you're not longer invincible. But you have defenses:

- you can shoot at enemy torpedoes

- you can send a decoy by pressing 2. You can use 3 decoys for the moment. When the decoy is active, sonar is frozen. Thanks to Songbird for decoy suggestion.

- I made a cross-hair.

- Main music is a bit amplified.

 

cliphud.thumb.png.e0af10124d12dc01b3ae22f54fd98c10.png

 

 

 

clip074.zip jag074.zip

Edited by DrTypo
new version 074
  • Like 14
Link to comment
Share on other sites

K-series NTSC Jaguar@60Hz, didn't hear anything funny or see corrupting w/jagbug.cof.

K-series NTSC Jaguar@50Hz (Same unit, I added  a  50/60Hz switch), Same thing. No issues.

 

I'll try some other NTSC Jaguars later, but that's the only one I have modded to do 50Hz.

  • Like 2
Link to comment
Share on other sites

Thank you for your feedback.

So it seems to work fine on NTSC Jaguars at 50 or 60Hz.

Maybe my unit is defective (K-Series PAL 50 Hz) but one other person has reported the bug on his PAL Jaguar and other games (Doom, Cybermorph, Hover Strike, Iron Soldier, I-War...) work fine on my Jaguar.

@CyranoJ: if you have a PAL Jaguar at your disposal it would be nice to test it. And thank you for your appreciation! I work with the Jaguar limitations and, well, my own. I like to keep things simple otherwise I would never get anything done.

 

  • Like 2
Link to comment
Share on other sites

@DrTypo ,

K-series PAL @50hz without TV out (no UK), JagBug : I find that the sound on the shots deteriorates at a certain distance and every time I return to the home page after a "mission abort" I hear a shrill sound, after that, the music resumes normally.

K-series PAL @50hz with TV out (UK), JagBug : no issue

  • Confused 1
Link to comment
Share on other sites

@RadiATIon Now that's really weird. It doesn't seem to be the memory corruption I have on my Jaguar. Could it be another bug?

 

So on my side I dusted off my first Jaguar, the one I bought in 1994. In 2011, when I went back to the Jag scene, this console was giving red screens so I bought a new Jaguar. I have been using the new Jaguar until now.

But I was curious about my original Jaguar. Maybe the red screen was due to a loose cart connector. The Skunkboard being a tighter fit, I thought that maybe it could work.

Well, it seems I was right, the old jag works fine with the skunkboard.

On this jaguar, I don't have the memory corruption bug. So maybe the newer unit is defective.

 

But the issue mentioned by RadiATIon is very perplexing...

 

 

 

Link to comment
Share on other sites

46 minutes ago, Rick Dangerous said:

Can someone post some screenshots from the game? Excited to give this one a whirl very soon!

Here is the title screen under Phoenix emulator:

image.thumb.png.3c47e8584b7499fdd617759805793c6b.png

 

Mission briefing (level 2):

image.thumb.png.42484c87643252101760720d8bb58bf4.png

 

A drone sending you torpedoes on the pipeline level 7:

image.thumb.png.ae3da2a6be68e856083eb94301de6ab4.png

 

 

  • Like 6
Link to comment
Share on other sites

13 hours ago, DrTypo said:

if you have a PAL Jaguar at your disposal it would be nice to test it. And thank you for your appreciation! I work with the Jaguar limitations and, well, my own. I like to keep things simple otherwise I would never get anything done.

I have a 'few' consoles - will try them this weekend.  

 

I noticed in the code you are setting REGPAGE every interrupt - I think, IIRC, this only needs to be set once at the top of the code - it *might* be causing problems.

Link to comment
Share on other sites

8 hours ago, CyranoJ said:

I noticed in the code you are setting REGPAGE every interrupt - I think, IIRC, this only needs to be set once at the top of the code - it *might* be causing problems.

Good catch! It was one of my numerous tests to try to make things work. It is useless so I will remove it.

Link to comment
Share on other sites

Very cool, love the intro and music! Made it to Mission 5 but then got stuck... as in, nothing was left on-screen and I couldn't advance so shut it down and restarted for the 2-min glitch test.

 

Model (M) NTSC: it doesn't crash on the title screen but after a few minutes there was a minor graphical glitch in the center but it quickly went away after about a second. Only noticed another minor graphical glitch on Mission 2 but it came and went for a second, ran fine after.

 

5-minutes later, no additional issues sitting idle on the title screen.

 

Restarted again and screen went blank after about 10 seconds, continued playing music then completely dark. The issue or bug seems inconsistent as it was fine 3 out of 4 times so far.

 

I only have the Skunk to test but if I reset the Jag and try to load it too quickly immediately after powering up the Jag, this results:

abyssglitch.thumb.jpg.4b35edfcf1a2a302476f0cae14e83730.jpg

 

Again,. not an issue as long as I give the Jag/Skunk about 5 seconds idle time before loading the .cof but is the first time I've seen that happen flashing or loading anything immediately after.

 

**I just tried Mission 6 and once you I got to the 6 barrels it crashed. What's the transparent plane above that supposed to be? Out of pure curiosity, are you using the 68k?

 

Edited by Clint Thompson
Link to comment
Share on other sites

@Clint Thompson Thanks for this comprehensive feedback! So you have glitches that resemble the memory issue I have on my newer unit. Especially the screen going dark sometimes.

It looks like there is also an issue with residual crap in the RAM after reset. I made a new version (073) that clears most of the important data at startup.

I'm not sure what happens with the issues on mission 5 & 6. By the way you can select a mission by pressing 0 to 7 at the menu.

The plane on mission 6 is supposed to be a barge supported by the barrels. You have to sink the barge by destroying the barrels.

Yes, I'm using the 68k for most of the gameplay code except collision detection (done on the DSP).

 

 

  • Like 2
Link to comment
Share on other sites

Nice demo, good work!

 

Tested on a NTSC M Jaguar with Skunkboard. Game played fine through all 8 missions. Restarted the game, played a couple missions, then I tried using the level select cheat (7 + A) while in-game, and the game crashed. Screen went dark, lines of static (random colors) across the bottom 25% of the screen, then the Skunkboard reset altogether.

 

Tried to reproduce, but then I realized the level select cheat doesn't seem to work in the game, only from the title screen. So I'm not sure how I triggered the first failure.

 

Other general feedback:

  • Music seems really quiet compared to the sonar volume; would be nice to increase the default volume on this if possible
  • Instead of making the "bubbles" bounce, why not have them all just slowly float up? Or is that too disorienting for the player? You could also give them a short life, so they appear for just a couple seconds then disappear.
  • Really like the sonar enable/disable! That definitely gives the player some strategy as far as how to deal with enemies.
  • Need some way to dodge or shoot enemy shots. I know you can turn or strafe but the shots fly pretty fast right now so it seems like they would be difficult to dodge.

 

  • Like 1
Link to comment
Share on other sites

6 minutes ago, Songbird said:
  • Instead of making the "bubbles" bounce, why not have them all just slowly float up? Or is that too disorienting for the player? You could also give them a short life, so they appear for just a couple seconds then disappear.

How would you know if you are diving or rising?

Link to comment
Share on other sites

1 minute ago, CyranoJ said:

How would you know if you are diving or rising?

Depth meter, darker water as you dive, bubbles rise faster as you dive, etc. And if the bubbles were allowed to disappear, then of course new bubbles would constantly appear.

 

Essentially I think you could have the bubbles either stationary or very slowly rising and you would achieve a better effect than having the bubbles bounce.

  • Like 1
Link to comment
Share on other sites

Played a few more times, and I am hearing a "grinding" noise when I dive deep and the depth meter turns red. The noise stops if I go back up a little bit and the meter turns white again. Is the noise intentional?

 

Also after a few more plays, I am seeing occasional static lines across the screen. Seems to happen more frequently at lower depths, such as on mission 5 where you have to shoot the blue objects which are mostly in the lower depths.

  • Like 1
Link to comment
Share on other sites

@Songbird Thanks for the gameplay feedback!

  • I think having the bubbles float up would be disorienting for the player. Usually there is nothing else to see so it would give the impression that you're diving. Of course the depth meter and the water color tell otherwise but it would be strange. I think I'll make the bubbles less "bouncy".
  • Enemy torpedoes: initially you could shoot at them. I added an exception to the collision detection routine to prevent this but I think that you're right: dealing with the drones, especially the crab drones is a bit unfair for the player. The crab drones are in effect more agile than the player (they rotate-strafe, which you can't do). So I'll remove the exception.
  • the grinding noise is intentional. When you're too deep, the shield gradually fails under pressure. So your time is limited. It's not a worry in version 073 (you're invincible). I think I'll keep this feature but make the shield stronger.

About the occasional static lines appearing on screen: I noticed it too, though it seems to happen on my "defective" Jaguar. On the good jag I haven't seen this.

I'm not sure what's the deal with the crashes, memory corruptions and random static happening on a few Jaguars. To me the weirdness started when I used the DSP.

I first implemented the 3D engine in the GPU. Everything was OK.

Then I moved it entirely to the DSP (rasterization included). When rendering large triangles, there were black thick lines across the screen. It was like the DSP was preventing the Object Processor from doing its job.

Now the 3D processing is split between the DSP (geometry transformation and clipping) and the GPU (rasterization). There is also the sound interrupt on the DSP that seems to be involved in the weirdness somehow.

There is one concerning sentence in the Jaguar Software Reference v2.4 from 1995, page 4, section "Object Processor Performance": "Refresh cycles will normally be postponed until object processing has completed."

If the DSP can sometimes prevent the OP from doing its job, maybe the RAM refresh are also delayed, which could explain the memory corruptions. This is my guess but I don't have much way into investigating this.

 

 

  • Like 1
Link to comment
Share on other sites

If you don't change priority (DMAEN bit for DSP/GPU & BUSHI bit for Blitter) and you shouldn't do it ?, nothing can takes bus priority over the OP.

If the OP takes some bandwidth, DRAM refresh will be excecuted as soon as possible after object list processing.

If the OP takes full bandwidth, a DRAM burst refresh will be forced.

 

The only way for other CPU to take the bus during OP processing is to enable RELASE bit for bitmap object, but this bit should eventualy be used for low colour objects only.

 

The DSP is just below the OP for bus priority.

 

 

  • Like 1
Link to comment
Share on other sites

So I tried the 073 version on a M-PAL and a K-PAL Jaguar, and had no problems at the title screen running for about 10 minutes.

There are some graphical glitches during gameplay, but that's all that I have encountered for now.

 

While the game is still in development, the submarine "feel" is there already.

 

Link to comment
Share on other sites

I just played this on my NTSC Jaguar. I got through all levels without any issues. No sound glitch and no freezing.

 

I struggled at Level 5 because there was nothing else to shoot, so I dove lower and then found the items at the bottom. However to make sure it is not my system, should it get pitch black at the bottom??? It made it next to impossible to see the items at the bottom when it gets black. Making sure that it isnt my TV doing that and the game is supposed to do that. By then all you can see is a minimal red dot in the middle of the screen for a crosshair.

 

I would definitely say if you can make a bigger crosshair that would be great! Also the struggle with moving up and down can be a pain as I kept hitting down and it would backup to negative speed and had to remember to press C, but that could just be my complaint issue.

 

My final High score read out as 259 as well

  • Like 2
Link to comment
Share on other sites

2 hours ago, UHATEIT said:

I just played this on my NTSC Jaguar. I got through all levels without any issues. No sound glitch and no freezing.

 

I struggled at Level 5 because there was nothing else to shoot, so I dove lower and then found the items at the bottom. However to make sure it is not my system, should it get pitch black at the bottom??? It made it next to impossible to see the items at the bottom when it gets black. Making sure that it isnt my TV doing that and the game is supposed to do that. By then all you can see is a minimal red dot in the middle of the screen for a crosshair.

 

I would definitely say if you can make a bigger crosshair that would be great! Also the struggle with moving up and down can be a pain as I kept hitting down and it would backup to negative speed and had to remember to press C, but that could just be my complaint issue.

 

My final High score read out as 259 as well

Thanks for playtesting!

Yes, it gets pitch black at the bottom. But you should still see the items. They are dark blue so maybe they don't show up well on your TV.

I made a bigger crosshair in version 074.

I'll try a different control scheme in the next version:

- dpad up: up

- dpad down: down

- dpad left: turn left

- dpad right: turn right

A : accelerate

B : fire

C : brake

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...