Four-way Gravitational Engine Issues (Atari 2600)
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 bitwiseChange 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/NbD4Huvia
(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
add a comment |
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 bitwiseChange 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/NbD4Huvia
(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
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
add a comment |
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 bitwiseChange 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/NbD4Huvia
(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
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 bitwiseChange 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/NbD4Huvia
(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
assembly atari-2600
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
add a comment |
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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