Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

855 Excellent

1 Follower

About vitoco

  • Rank

Contact / Social Media

Profile Information

  • Gender

Recent Profile Visitors

7,418 profile views
  1. (NOTE: I didn't draw the cars, I found the graphic and painted it) 😂
  2. I currently own a PlusCart, but it is very unstable. I destroyed the STM card from the original kit because of too many resoldering trying to make it work and I had to change it, and the main card was damaged in the proccess. Then, it is a great oportunity to get a stable one 😬 (If I'm lucky and the new PlusCart also turns to be unstable, then I have a problem in my consoles!!!)
  3. About a year ago I wrote a small horizontal scrolling demo in Fastbasic and included a video in a post: That demo was extended to a full minigame for this year's tenliners contest: The source code will be available after the deadline (in about a month).
  4. As I said, I started again from scratch, this time in assembly (no bB for a while). This is how it looks like: The new code uses one player for the bouncing ball, and another player for both the target and the pad, and this pad can be curved now as I wanted. I used a single line Kernel, so all the bitmaps are more detailed than before. There is still a scanline that I have to hide by moving it up or down as needed, because the ball shape is being affected by it when it goes through that line. I also had to include a 6 digit score, so I took the one from the 1997 explaination by Erik Mooney that he posted in a mailing list, but I had to deal with the setup for it. If I have the need, I'll try to modify it in order to include more info in that portion of the screen. The attached binary is playable, but it does not include the features I have in my mind for the gamplay. BTW, the green lines are there only for debugging purposes, and they will be removed later (I'm thinking about leaving the leftmost and rightmost columns in order to show where are the playfield limits for the lateral bounces). Does someone have any idea about game variations to be included? Bounce-demo3.bin
  5. You need the brackets around -1 because it seems that your parser gives the unary minus a lower precedence than the exponentiation. You need the brackets arround the exponent because the comparisson symbol has the lowest precedence in the expression, and it behaves like [(-1)^RND]<[0.5]. BTW, which BASIC is that?
  6. Didn't the minus sign act as unary minus? I mean, does this work for you? A=-1^(RND<.5) (just to save some chars)
  7. Shorter: A=-1^(RND<.5)*INT(1+RND*N) TurboBasic XL syntax, BTW.
  8. If RND is a function that returns a float between 0 and .99999999 and N is any integer, then: A=INT(1+RND*N)*(-1)^(RND<0.5) returns numbers from this list -N, ..., -3, -2, -1, 1, 2, 3, ..., N
  9. I prefer and voted for Glacier Belle. It looks great in CRTs, both upper and lower case.
  10. I tried the game while the QuadTari was connected, and it could play with the Joystick in port 3 instead of 1. Is this a bB standard issue that requires a fix?
  11. I don't like the fact that I had to combine 2 objects to build a pad. Also, bB returns me half of the paddle resolution (result of the two lines kernel), so the pad also moves only trough even positions (every two pixels or color clocks), which makes harder to give the bouncing ball a direction. Every bounce adds one point. When you catch a target, you get a hundred times the target value, but if you catch it when the ball is going down, it adds three times that score. As the new target appears immediatelly after you got one, the "9" target only lasts until the ball bounces again... if you were going down, it lasts for less than a second... Then, you are lucky if you catch a nine. I'll start programming this game from scratch, trying to build a kernel where one player could be used for both the target and the pad, without affecting the ball shape in the transition. One way to get that it could be to do the horizontal reposition at two different heights between the target zone and the pad area, depending on which is the current height of the ball.
  12. Since my previous post I have done nothing in this game. I think I have to change how I built this game in bB, because I don't like the results. It feels crappy both in Stella and real hardware. What do you think? I'll let you try the latest build, attached! Bounce-demo2.bin
  13. Is the growing speed increasing earlier? I could only get 253 points and the growth was at the same speed of the csissors vertical movement. That was with left difficulty set to B. When in A, I could score 127 points max, but the game ended with 115... It was really fun anyway!!!
  14. If anyone cares, @dmsc is about to release a new version of Fastbasic, and he is requesting for testers in another thread. The new features include parameters for subroutines. Well, Fastbasic does not require line numbers or labels because it does not use GOTO or GOSUB... instead you can define procedures, and they can accept parameters for simpliticy of coding, because they are just a quick way to assign values to the same global variables. Again, Fastbasic uses structured programming statements, and FOR-NEXT, WHILE-WEND, REPEAT-UNTIL and DO-LOOP are available for loops of any kind.
  15. I did some tests... I took my Patrol game source and parsed successfuly with the new FBI version. It does not have PROC subroutines, but it works OK... the best visual improvement is that no longer P/M garbage remains in the IDE when I press the BREAK key. The IDE feels better. Was the EFAST driver embedded in FBI? It is not included in the ATR. BTW, I already submitted Patrol to the 2021 contest, and I won't change this game. I hope this new FB version will be ready before the contest's deadline, because I'm moving my new game to the new syntax and features. These are my comments: My new game has 3 PROCs which used some global variables to perform their tasks (no need to set up as parameters) and they also used a small set of global variables as temporary local ones (reused every time and everywhere). Only one of these PROCs required to set up a variable prior to the call, and it was great to remove that assignment and set it up as a parameter. This saved me some bytes of source code. This also saved me 3 bytes of source code (1 byte per PROC definition). What it could save me lots of bytes is that the EXEC statemente could be abbreviated as EX. This abbreviation is current assigned to EXIT, which is not being used as frecuently as I expected: 2 EXITs versus 17 EXECs. I guess that the new feature of parameters could increase the use of this calls. This saved me another byte in the new game, but every of my games has at least one PAUSE with the zero. Shouldn't that line inside the FOR-NEXT loop be the following? a=5-i : b=i : exec Test I did other experiments: proc swap a b endproc a=1 b=2 ? a,b exec swap b,a ? a,b ... yes, it's an empty procedure, but it works!!! I tested this using my previous example, and I found some strange behaviors. The first time I added an EXEC with only one parameter, I got a 0 for one of the variables, but on the next run, when I added another EXEC but with a single literal, the 0 disappeared from the first print and moved to the new one. After I added some more EXECs, the zero no longer appeared. The latest test was passing 3 literals, and the result was unexpected: no swap, but got the 2nd and 3rd literals in order. This is the full test case (the print was moved into the PROC): PROC SWAP A B ? A,B ENDPROC A=1 B=2 ? A,B EXEC SWAP B,A EXEC SWAP B EXEC SWAP B,B EXEC SWAP 1 EXEC SWAP 1,2 EXEC SWAP 1,2,3 The result was: 1 2 Default values 2 1 OK: Swapped 2 1 Not OK: A should be 1, B sould be anything (the first time it run was 0) 1 1 OK: took the 1 in B from the previous result 1 1 A is OK, B sould be anything (the first time it run was 0) 1 2 OK 2 3 A should be 1, B should be 2 (it took the latest parameters?) As I got a zero when a parameter was missing but only sometimes, and as it seems to be taking the latest parameters when they are more, could it be memory corruption if this happens, for instance, inside a loop? This is very useful. The EOL in the data strings issue is a problem I'm facing in my latest game, which I had to solve by manipulating the source data to remove them every time they appeared. Thanks for the update. Let us know how it goes!!!
  • Create New...