Jump to content

Photo

The Quest


24 replies to this topic

#1 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • 286 posts
  • Location:Senatobia, MS

Posted Mon Feb 5, 2018 6:04 PM

Bb Team,

 

As I have been asking for help here and there. I have started working on The Quest. I'm not 100% sure what this will morph into. I borrowed a lot of code from the others in the forum. I am using the Multisprite Kernel as you can have more sprites displayed. I will update this some more and post where I am making progress. Any suggestions on what to include in this game are welcomed, thanks. 

Attached Files



#2 mojofltr OFFLINE  

mojofltr

    River Patroller

  • 2,630 posts

Posted Mon Feb 5, 2018 7:35 PM

How do you play?

 

If you jump while running over the red platform, you can sometimes get your head caught in the platform above...

 

bug.png



#3 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Mon Feb 5, 2018 8:09 PM

Yea. I saw that also. Just need to adjust x = 10 to 9 and the collision code for the red platform that I will turn black to simulate a floor.

#4 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Mon Feb 5, 2018 8:48 PM

Really nothing to play yet. Just testing out the code etc. Will make it playable tomorrow.

#5 Lolkiu64 OFFLINE  

Lolkiu64

    Space Invader

  • 24 posts

Posted Tue Feb 6, 2018 1:37 AM

Looking forward to this  :thumbsup:



#6 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Tue Feb 6, 2018 6:15 PM

Here is an update. He strangely looks like some else. I still can't figure out how to fully implement the code that Bogax did for the Standard Kernel so I can have 3 enemies at the bottom and you can shoot each one. I fixed the floor to fall correctly and added some score for testing purposes. Now that I simulated horizontal scrolling I plan to have simulated vertical scrolling . I can't recall if Vertical scrolling works with the multisprite. If not I can adapt what I have using the sprites. 

Attached Files



#7 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Wed Feb 7, 2018 3:21 PM

Update:

 

Changed the main player to a helicopter (Sprite needs work). Fixed the flying through the "hole" a little better. Level will not just keep going and going. I am using the below to count how far each level will run. 

 

   ;****************************************************************
   ;  pfscore sets the start and end of level
   ;  "0 = 0" : "7 = 1" : "14 = 2" : "21 = 3"
   ;  multiples of 3
   ;
   if pfscore1 = 0 then gosub __Cant_go_Right bank7 : goto __Static_Floor
   if pfscore1 = 21 then gosub __Cant_go_Left bank7 : goto __Static_Floor

 

   ;***************************************************************
   ;
   ;  used to reset level and travel the correct way
   ;  use below code for vertical scrolling
   ;

__Cant_go_Left
   if joy0right then _Bit6_Flip_P0{6} = 0 : _Bit6_Flip_P0{7} = 0 :  player4x = player4x - 1 :  player5x = player5x - 1 :  player3x = player3x - 1 : player2x = player2x - 1
   if player4x = 0 then player4x = 144
   if player4x = 60 then pfscore1 = pfscore1/4
   return

__Cant_go_Right
   if joy0left then _Bit6_Flip_P0{6} = 1 : _Bit6_Flip_P0{7} = 1 :  player4x = player4x + 1 :  player5x = player5x + 1 :  player3x = player3x + 1 : player2x = player2x + 1
   if player4x = 145 then player4x = 1   
   if player4x = 80 then pfscore1 = pfscore1*2|1
   return

 

Still not really playable, but slowly coming along, thanks. 

Attached Files



#8 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Sun Feb 18, 2018 7:43 PM

I have started the "Vertical Simulation" it is based upon the "Horizontal Simulation". For some reason player 4/5 will reappear and disappear even though the sprites are not on the same horizontal line. I think it's the code below from "bank 2" that needs adjusting. 

 

   if joy0up then  player4y = player4y - 1 :  player5y = player5y - 1 :  player3y = player3y - 1 : player2y = player2y - 1 : player1y = player1y - 1
   if joy0down then player4y = player4y + 1 :  player5y = player5y + 1 :  player3y = player3y + 1 : player2y = player2y + 1 : player1y = player1y + 1

   if player1y < 4 then player1y = 78
   if player1y > 79 then player1y = 5
   if player2y < 4 then player2y = 78
   if player2y > 79 then player2y = 5
   if player3y < 4 then player3y = 78
   if player3y > 79 then player3y = 5
   if player4y < 4 then player4y = 78
   if player4y > 79 then player4y = 5
   if player5y < 4 then player5y = 78
   if player5y > 79 then player5y = 5

 

Any ideas would be great. Also ideas for the game. I'm very sure the sprites will change as the game develops, thanks. 

Attached Files



#9 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Sun Mar 25, 2018 8:43 PM

I started to work on this again. I am using Bogax Code "Fun with PLayer0height"

 

http://atariage.com/...-player0height/

 

I am trying to figure out why my code won't do pfread correctly when moving down. It works when moving up. Additionally i'm not sure why when going down the sprite gets stuck then move again. Thanks in advance if anyone can help. 

 

****Update*****

I goofed up and posted the wrong code. Attached is what I am trying to do. I am trying to get the "Counter" to work properly and move the "Spikes" up and down on their own. I have attached a version that works, but has errors because I am using "player0" for the spike. I need to use "player1" / "player2" for the spikes that way I can reduce flicker and use pfread in the Multisprite Kernel. I am lose to solving this problem and move on with this game. Thanks ahead if anyone can assist me. 

Attached Files


Edited by Lewis2907, Sat Mar 31, 2018 7:04 AM.


#10 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Sat Mar 31, 2018 7:11 PM

Attached is a newer version of "The Quest". I'm making progress so far. My issue if someone can help is with my timer / counter. I have the "Spikes" go down and up at the start of the game and the floor opens up. What I want to do is have the spikes go up and down on their own. The object of the game is get through the floor before the spikes "retreat". If this happens you can't get to the bottom or top floors. 

 

***Below is part of the code that I need some assistance on*** (I'm using "joy0right" to trigger the spike. I'm not sure how to implement the timer correctly to have the spike always moving up and down.)

 

  Counter = Counter+1
   if Counter = 3 then Counter=0
   if Check_Point = 0 then goto __Spike_Moves_Up
   if Check_Point = 1 then goto __Spike_Moves_Down
   if Check_Point2 = 0 then goto __Spike_Moves_Up
   if Check_Point2 = 1 then goto __Spike_Moves_Down

 

   ;***************************************************************
   ;
   ; Bottom Spike moves up
   ;
__Spike_Moves_Up
   if player1height = 38 then Check_Point = 1 : goto __Spike_Moves_Down
   if Counter=2 && player1height then player1height = player1height - 1

 

   ;***************************************************************
   ;
   ; Bottom Spike moves down
   ;
__Spike_Moves_Down
   if player1height = 1 then e = (rand&63) + (rand&31) + (rand&15) + (rand&1) + 21 : player1x = e : Check_Point = 0
   if joy0right && player1height < 31 then player1height = player1height + 1

 

__Skip_Moves

Attached Files


Edited by Lewis2907, Sat Mar 31, 2018 8:36 PM.


#11 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 28,789 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Apr 1, 2018 12:34 PM

I'd just use a bit to tell the program which way they're supposed to move. For example, if the bit is on, that could mean they move up until they hit the limit. When the limit is reached, the bit is turned off and that tells the program to move them down until they hit that limit, then the bit is turned on and it starts all over again.



#12 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Sun Apr 1, 2018 3:15 PM

RT,

Thanks. I thought about that, but I'm not that good with bits for this. I looked around the fourm and page and couldn't find much. If you have a sample code I'm sure I should be able to use it. Then I can move on to the other stuff I'm thinking about for this. Thanks again for helping.

#13 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 28,789 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Apr 1, 2018 7:04 PM

RT,

Thanks. I thought about that, but I'm not that good with bits for this. I looked around the fourm and page and couldn't find much. If you have a sample code I'm sure I should be able to use it. Then I can move on to the other stuff I'm thinking about for this. Thanks again for helping.


I'll see if I can add it to your code.



#14 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 28,789 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sun Apr 1, 2018 8:16 PM

See if this is what you were talking about:

 

Attached File  the_quest_multisprite_2018y_04m_01d_2210t.bas   14.57KB   23 downloads

 

Attached File  the_quest_multisprite_2018y_04m_01d_2210t.bin   32KB   23 downloads



#15 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Mon Apr 2, 2018 10:21 AM

RT,

 

Thanks again. Also thanks for the comments. I made a few adjustments based off of what you gave me. Is there a way to keep "player4x" from blinking when the spike retreat. I was playing with this the other day and noticed that "player2pointerlo" affected the blinking, but I could never quite get it right.

 

Also I'm trying to use pfscore to limit how many time you can go left and right. This way the player is not just going and going for ever. I plan use this for my future map location using "B/W". My plan here is to use the pfscore as a temporary marker to make sure that I am going left or right correctly. Once complete I remove the pfscorecolor. 

 

   ;****************************************************************
   ;  pfscore sets the start and end of level
   ;  "0 = 0" : "7 = 1" : "14 = 2" : "21 = 3"
   ;  multiples of 3
   ;
   if pfscore1 = 0 then gosub __Cant_go_Right bank7 : goto __Static_Floor
   if pfscore1 = 21 then gosub __Cant_go_Left bank7 : goto __Static_Floor

 

***bank 7***

 

   ;***************************************************************
   ;
   ;  used to reset level and travel the correct way
   ;  use below code for vertical scrolling
   ;
__Cant_go_Left
   if joy0right then _Bit6_Flip_P0{6} = 0 : _P0_L_R = _P0_L_R + .5 :  player4x = player4x - 1
   if player4x = 0 then player4x = 144
   if player4x = 5 then pfscore1 = pfscore1/4

 

   ;****************************************************************
   ;  Flips player0 sprite when necessary.
   ;
   if _Bit6_Flip_P0{6} then REFP0 = 8

 

   return

 

__Cant_go_Right
   if joy0left then _Bit6_Flip_P0{6} = 1 : _P0_L_R = _P0_L_R - .5 : player4x = player4x + 1
   if player4x = 145 then player4x = 2   
   if player4x = 140 then pfscore1 = pfscore1*2|1

 

   ;****************************************************************
   ;  Flips player0 sprite when necessary.
   ;
   if _Bit6_Flip_P0{6} then REFP0 = 8

 

   return

   

 

 

Attached Files



#16 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 9,208 posts

Posted Fri Apr 6, 2018 6:04 AM

It looks like you're using some of my work.

 

Thanks for the credit.  Had to dig towards to bottom of the code to find it.  Glad it's being used :)

 

http://atariage.com/...-scrolling-demo

 

proj26-4P7F007.png



#17 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Fri Apr 6, 2018 6:50 AM

Gemintronic,

That is correct. I am using a lot of borrowed code. I try to give credit in the notes and links to the page I found it at. Hopefully this will help other novice like me. I code in 80s basic style I leaned in school. Thus making it a little harder to decipher some of the code that I see online. I just try to put everyone's work together to make a finish project.

#18 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Tue Apr 10, 2018 7:15 PM

Update: I got the floor to work correctly now. It will close when the spike are gone. When the floor closes you can not move through the floor. When open you can. I added some swimmers to save. I am currently still working on using pfscore as a marker to help keep the level from just running and running. That way you have a sense of direction (This will be on the Map Screen later)

 

   ;****************************************************************
   ;  pfscore sets the start and end of level
   ;  "0 = 0" : "7 = 1" : "14 = 2" : "21 = 3"
   ;  multiples of 3
   ;
   if pfscore1 = 0 then gosub __Cant_go_Right bank7 : goto __Static_Floor
   if pfscore1 = 21 then gosub __Cant_go_Left bank7 : goto __Static_Floor

 

I am trying to use the below code to make the swimmer turn around when the spike appears or they about to run into it. Then I will figure out a way to make the swimmer move up and down slightly to make it look like they are really swimming.

 

   ;***************************************************************
   ;
   ; Direction of Swimmers / player4
   ; NUSIZ5{3} is used to reflect sprites
   ;
   if player4x = 10 then player4x = 138
   if player4x = 139 then player4x = 11
   if (player4y + 5) >= player2y && player4y <= (player2y + 14) && (player2x + 5) >= player2x && player4x <= (player2x + 18) then _Bit_Player4 = 1 : goto __Reverse

   if _Bit_Player4{5} then _P4_L_R = _P4_L_R + .3

 

__Reverse
  
   if !_Bit_Player4{5} then _P4_L_R = _P4_L_R - .3 : NUSIZ4{3} = 1

 

__Skip_Reverse

 

Once I get this portion complete I think I handle the other portion to make level 1 playable. The other question I have is it possible to have multi-colored background to simulate the surface or going into deeper water. From what I can find and read it seems impossible. Thanks again if anyone can help or point me in the right direction.

Attached Files



#19 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Mon May 21, 2018 2:57 PM

Another Update:

 

I think I have the pfscore to measure the level so you are not driving the Sub endlessly. Working on the next step now. To change rooms once you reach the end of either side. That is still a WIP.

 

The question I have is as follows: Can you make player2 (upper spike) and player 4 (upper swimmer) have collision detection and when they touch or almost touch the swimmer goes the opposite direction to seem more like a real swimmer would do? I disabled the spikes for now to help with the detection. 

 

I am using this as a trial and error (more errors than I thought). I maybe over thinking it again, thanks again for any guidance or thoughts on what I should do next.

 

   ;***************************************************************
   ;
   ; Direction of Swimmers / player4 / Player 2 collision
   ; NUSIZ5{3} is used to reflect sprites
   ;
   if player4x = 10 then player4x = 138

   if player4x = 139 then player4x = 11

 

   if (player4y + 5) >= player2y && player4y <= (player2y + 5) && (player4x + 5) >= player2x && player4x <= (player4x + 5) then _Bit_Player4 = 1

 

   if _Bit_Player4{5} then _P4_L_R = _P4_L_R + .3

   if !_Bit_Player4{5} then _P4_L_R = _P4_L_R - .3 : NUSIZ4{3} = 1

 

 

 

Attached Files


Edited by Lewis2907, Mon May 21, 2018 3:15 PM.


#20 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 28,789 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Tue May 22, 2018 3:59 AM

Have you looked at the code for Seaweed Assault? That might be helpful.



#21 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Tue May 22, 2018 7:34 PM

Attached is another update for Level I. 

 

What works:

 

Proximity Detection for the Sub. This means when you are above or below a spike your ship will turn "Red" to warn you to move out the way. (Option A will not have this feature to make the game "harder")

 

The Swimmers 90% of the time will swim the other direction as a normal person would. (Eventually you will have to save them...Similar to an Old Game I loved to play as a kid)

 

The level does't run on for ever and ever. I'm trying to use the pfscore1 to track the level, but I'm still running into some issues to have it clean and smooth.

 

Next Update Hopefully:

 

Save the Swimmers and have some enemies to fight. I have one Missile left as I used Missile1 and the ball as markers for the swimmers. My thought here is that Missile may be shot, but takes some time to recharge so the enemy can shot a missile or the missile will be Oxygen or Fuel etc. Not sure on this one yet. Any ideas are welcomed.

 

Start to design level 2. It will run north and south. I'm going to try and use Gemintronic's code is used here smoothcrl2.bas and see where it goes. 

 

My goal is to have as many levels and variations as possible to play and see what this morphs into.

 

Current issue as stated is the pfscore1 being used to track the level. I could remove the color, but the player would know exactly where they were. If I do this it would play into the map screen any ways, but it may throw off where you are and have the map off as well. 

Attached Files


Edited by Lewis2907, Tue May 22, 2018 7:35 PM.


#22 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Wed May 23, 2018 4:59 PM

Another Progress Update:

 

***What Works / Fixes:

 

Proximity Detection for the Sub on the Top Level is fixed now. I was off a few numbers.

 

Swimmers now swim up and down to simulate current or movement.

 

Sub has a propeller and does not move when idle. 

 

I was able to to get the Ball and Both Missiles back for later use instead using them as Markers. 

 

There is now score to use. Just save / touch the swimmer for 1 point.

 

***Future Plans (Hopefully):

 

Use pfscore2 as a shield for when touching spikes. 

 

If you shot a swimmer you loose points. Go negative or loose shield game over.

 

Have enemy Subs / Swimmer (Color Based) that will shoot at you (AI maybe an issue here)

 

Title Screen (I still have trouble with the title screen. is there at YouTube video or something), Pause Feature, Map Screen, Cut Scenes, Game Over Screen and Sound. Exit for Level I into Level 2. Add more possible enemies. 

 

Test on AFP (Hopefully it will work. One reason I left DPC+ for now until that is fixed)

 

Try to add any feedback from the Forum to make the game better.

 

Thanks. 

Attached Files



#23 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Fri May 25, 2018 9:12 PM

Bb Team,

 

Another update / progress.

 

What works (needs more testing):

 

1. Game Play: Move the Sub around and save the blue swimmers (I plan to have in the next update if you shoot them you loose a point). Don't get shot of course, loose a point. Touch a Red Swimmer loose a point. Touch a spike and loose some shield strength.

 

2. Missile0 is long for some reason. I'm still looking for the reason why.

 

3. Red Swimmers will shot at you if you are on their floor

 

4. Touch the spike and loose some shield strength. (Trying to fix it where it will replenish for every 5 blue swimmers you save). I'm using the code below as a start. 

 

   ;***************************************************************
   ;
   ;  Save 5 Swimmers to replenish one slot on shield
   ;  pfscore2*2|1
   ;
   if _sc1 = $00 && _sc2 = $00 && _sc3 = $08 then pfscore2 = pfscore2*2|1

 

   RevEng has something sort of on this at:

 

   dim fifties=m
   if fifties>0 then fifties=fifties-1:score=score+50

 

I'm not sure how I will get this to work or maybe think of something else.

 

5. It's starting to look and feel more like a game now. If you run out of shields or points hit zero I have a "temporary" game over screen for now. 

 

As always any help or feedback is welcome, thanks.

 

***edit***

 

I forgot to turn the spike back on after some testing. Just change the 3 to 4 to have spike up for testing, thanks. 

 

   ;```````````````````````````````````````````````````````````````
   ;  Skips section if counter isn't ready.
   ;  "3" is used to adjust the speed of the spikes
   ;
   if Counter < 3 then goto __Skip_Moves

Attached Files


Edited by Lewis2907, Fri May 25, 2018 9:17 PM.


#24 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Wed May 30, 2018 7:17 PM

Another update:

 

1. Title screen is working, but I want it look better than what I have. I plan to work on this some more. Currently I am using Palindromes since the playfield is mirrored. 

 

2. Level 1 is basically complete. Game play is as follows:

   

    a.) Touch a "Blue Swimmer" get 1 point

 

    b.) Touch a "Red Swimmer" loose a point

 

    c.) Get shot by a "Red Swimmer" loose a point

 

    d.) Touch a "Spike" loose a portion of your shields

 

    e.) You can "Reset" the game at any portion of game play e.g TitleScreen, Game Play, Pause and Game Over

 

    f.) You can pause the game by using the "Select" switch

 

    g.) Tips / Hints: If you ship turns Red that means your "Proximity Detection" is on and spike is on it's way out to hit you.

 

    h.) Tips / Hints: Swimmers will turn around (90%) of the time to not hit a spike even it's in.

 

    i.) Your shield strength is on the right of the player score. The level marker is on the left of the score. (Level Markers is off sometimes, still working out the bugs).

 

3. Future Updates:

 

    I plan to start on Level 2 (not sure what I want this to be yet)  and a Map Screen using the B/W Switch. Work on bugs that I find or someone tells me about. Better Titlescreen etc. Have a goal to complete to win the game. Find a way to replenish your shields for every 5 Blue Swimmers you save.

  

    

Attached Files



#25 Lewis2907 OFFLINE  

Lewis2907

    Moonsweeper

  • Topic Starter
  • 286 posts
  • Location:Senatobia, MS

Posted Fri Jun 1, 2018 1:58 PM

Another update:

 

Fixed the Game Over Screen to reset back to the start of the game. Every 5 points your shields will replenish. Working on just making it work for every 5 blue swimmers. Missile shouldn't pass through the spikes, but they do every blue moon. I think it's because of all the "gosub" I am using.

Attached Files


Edited by Lewis2907, Fri Jun 1, 2018 1:59 PM.





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users