Four-way Gravitational Engine Issues (Atari 2600)












1















In the last couple months I've been working on a project using "Fake Gravity Platformer Test with Shooting" (from here: http://atariage.com/forums/topic/179473-fake-gravity-platformer-test/)
as a template.



The goal of my project is to create a Platformer with four-way gravity.



This is how the Code is supposed to work: First, it is decided which Code should be executed depending
on the current gravity, then every direction of Collision is represented by a Subroutine.



Each of those Subroutines follow the same scheme:
The Code tests if one pixel collides with the block and then tests for another one in the
same row/column (depending on which direction and which gravity)



This is supposed to create a glichless "Hitbox" for the player character.



This sadly doesn't work for a reason unknown to me
(The player can jump through walls or glitch his "head" halfway into a block supposed to be solid)



I've tried many methods to fix this issue:




  • Make the Player Coords normal values instead of float, hoping it would help, but it didn't


  • Tried different PlayerCoords-to-Block-Value conversions like
    division, modulo and bitwise


  • Change Order of Subroutines



I'm clueless and I've completely run out of ideas.



Does anyone know what the Problem could be?



I attached the current state of my project:
https://pastebin.com/NbD4Huvi
a



(P. S. Visual Batari Basic v1.0 Build 568 used to work, I don't know if anyone uses this language
anymore or I'm the only one, I already posted this on the Atari 2600's Programming Forum for Newbies,
but haven't recieved an answer in two weeks.)










share|improve this question




















  • 3





    Posting a link to your whole project is generally frowned upon. If you need debugging help, post the relevant code in the question. If it is too big, narrow it down. If you can't narrow it down, the question might not be suitable for this site. Also try Retrocomputing.

    – fuz
    Nov 22 '18 at 18:56











  • Your code should be in the question, not linked-to off-site.

    – Amy
    Jan 14 at 14:04











  • This is not a question about 6502 so I've deleted the tag. I would also have deletedassembly but that would leave it with no tags at all, and I'm not sure what tags to add. Maybe something to do with Basic?

    – JeremyP
    Jan 14 at 14:04
















1















In the last couple months I've been working on a project using "Fake Gravity Platformer Test with Shooting" (from here: http://atariage.com/forums/topic/179473-fake-gravity-platformer-test/)
as a template.



The goal of my project is to create a Platformer with four-way gravity.



This is how the Code is supposed to work: First, it is decided which Code should be executed depending
on the current gravity, then every direction of Collision is represented by a Subroutine.



Each of those Subroutines follow the same scheme:
The Code tests if one pixel collides with the block and then tests for another one in the
same row/column (depending on which direction and which gravity)



This is supposed to create a glichless "Hitbox" for the player character.



This sadly doesn't work for a reason unknown to me
(The player can jump through walls or glitch his "head" halfway into a block supposed to be solid)



I've tried many methods to fix this issue:




  • Make the Player Coords normal values instead of float, hoping it would help, but it didn't


  • Tried different PlayerCoords-to-Block-Value conversions like
    division, modulo and bitwise


  • Change Order of Subroutines



I'm clueless and I've completely run out of ideas.



Does anyone know what the Problem could be?



I attached the current state of my project:
https://pastebin.com/NbD4Huvi
a



(P. S. Visual Batari Basic v1.0 Build 568 used to work, I don't know if anyone uses this language
anymore or I'm the only one, I already posted this on the Atari 2600's Programming Forum for Newbies,
but haven't recieved an answer in two weeks.)










share|improve this question




















  • 3





    Posting a link to your whole project is generally frowned upon. If you need debugging help, post the relevant code in the question. If it is too big, narrow it down. If you can't narrow it down, the question might not be suitable for this site. Also try Retrocomputing.

    – fuz
    Nov 22 '18 at 18:56











  • Your code should be in the question, not linked-to off-site.

    – Amy
    Jan 14 at 14:04











  • This is not a question about 6502 so I've deleted the tag. I would also have deletedassembly but that would leave it with no tags at all, and I'm not sure what tags to add. Maybe something to do with Basic?

    – JeremyP
    Jan 14 at 14:04














1












1








1








In the last couple months I've been working on a project using "Fake Gravity Platformer Test with Shooting" (from here: http://atariage.com/forums/topic/179473-fake-gravity-platformer-test/)
as a template.



The goal of my project is to create a Platformer with four-way gravity.



This is how the Code is supposed to work: First, it is decided which Code should be executed depending
on the current gravity, then every direction of Collision is represented by a Subroutine.



Each of those Subroutines follow the same scheme:
The Code tests if one pixel collides with the block and then tests for another one in the
same row/column (depending on which direction and which gravity)



This is supposed to create a glichless "Hitbox" for the player character.



This sadly doesn't work for a reason unknown to me
(The player can jump through walls or glitch his "head" halfway into a block supposed to be solid)



I've tried many methods to fix this issue:




  • Make the Player Coords normal values instead of float, hoping it would help, but it didn't


  • Tried different PlayerCoords-to-Block-Value conversions like
    division, modulo and bitwise


  • Change Order of Subroutines



I'm clueless and I've completely run out of ideas.



Does anyone know what the Problem could be?



I attached the current state of my project:
https://pastebin.com/NbD4Huvi
a



(P. S. Visual Batari Basic v1.0 Build 568 used to work, I don't know if anyone uses this language
anymore or I'm the only one, I already posted this on the Atari 2600's Programming Forum for Newbies,
but haven't recieved an answer in two weeks.)










share|improve this question
















In the last couple months I've been working on a project using "Fake Gravity Platformer Test with Shooting" (from here: http://atariage.com/forums/topic/179473-fake-gravity-platformer-test/)
as a template.



The goal of my project is to create a Platformer with four-way gravity.



This is how the Code is supposed to work: First, it is decided which Code should be executed depending
on the current gravity, then every direction of Collision is represented by a Subroutine.



Each of those Subroutines follow the same scheme:
The Code tests if one pixel collides with the block and then tests for another one in the
same row/column (depending on which direction and which gravity)



This is supposed to create a glichless "Hitbox" for the player character.



This sadly doesn't work for a reason unknown to me
(The player can jump through walls or glitch his "head" halfway into a block supposed to be solid)



I've tried many methods to fix this issue:




  • Make the Player Coords normal values instead of float, hoping it would help, but it didn't


  • Tried different PlayerCoords-to-Block-Value conversions like
    division, modulo and bitwise


  • Change Order of Subroutines



I'm clueless and I've completely run out of ideas.



Does anyone know what the Problem could be?



I attached the current state of my project:
https://pastebin.com/NbD4Huvi
a



(P. S. Visual Batari Basic v1.0 Build 568 used to work, I don't know if anyone uses this language
anymore or I'm the only one, I already posted this on the Atari 2600's Programming Forum for Newbies,
but haven't recieved an answer in two weeks.)







assembly atari-2600






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 14 at 14:03









Daniel A. White

149k36296374




149k36296374










asked Nov 22 '18 at 18:23









Angel SachseAngel Sachse

112




112








  • 3





    Posting a link to your whole project is generally frowned upon. If you need debugging help, post the relevant code in the question. If it is too big, narrow it down. If you can't narrow it down, the question might not be suitable for this site. Also try Retrocomputing.

    – fuz
    Nov 22 '18 at 18:56











  • Your code should be in the question, not linked-to off-site.

    – Amy
    Jan 14 at 14:04











  • This is not a question about 6502 so I've deleted the tag. I would also have deletedassembly but that would leave it with no tags at all, and I'm not sure what tags to add. Maybe something to do with Basic?

    – JeremyP
    Jan 14 at 14:04














  • 3





    Posting a link to your whole project is generally frowned upon. If you need debugging help, post the relevant code in the question. If it is too big, narrow it down. If you can't narrow it down, the question might not be suitable for this site. Also try Retrocomputing.

    – fuz
    Nov 22 '18 at 18:56











  • Your code should be in the question, not linked-to off-site.

    – Amy
    Jan 14 at 14:04











  • This is not a question about 6502 so I've deleted the tag. I would also have deletedassembly but that would leave it with no tags at all, and I'm not sure what tags to add. Maybe something to do with Basic?

    – JeremyP
    Jan 14 at 14:04








3




3





Posting a link to your whole project is generally frowned upon. If you need debugging help, post the relevant code in the question. If it is too big, narrow it down. If you can't narrow it down, the question might not be suitable for this site. Also try Retrocomputing.

– fuz
Nov 22 '18 at 18:56





Posting a link to your whole project is generally frowned upon. If you need debugging help, post the relevant code in the question. If it is too big, narrow it down. If you can't narrow it down, the question might not be suitable for this site. Also try Retrocomputing.

– fuz
Nov 22 '18 at 18:56













Your code should be in the question, not linked-to off-site.

– Amy
Jan 14 at 14:04





Your code should be in the question, not linked-to off-site.

– Amy
Jan 14 at 14:04













This is not a question about 6502 so I've deleted the tag. I would also have deletedassembly but that would leave it with no tags at all, and I'm not sure what tags to add. Maybe something to do with Basic?

– JeremyP
Jan 14 at 14:04





This is not a question about 6502 so I've deleted the tag. I would also have deletedassembly but that would leave it with no tags at all, and I'm not sure what tags to add. Maybe something to do with Basic?

– JeremyP
Jan 14 at 14:04












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436422%2ffour-way-gravitational-engine-issues-atari-2600%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436422%2ffour-way-gravitational-engine-issues-atari-2600%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Wiesbaden

Marschland

Dieringhausen