Jump to content


New Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

20 Excellent

About Sergioz82

  • Rank
    Space Invader

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Thank you very much! I couldn't have made it without XB256 (the scroll down routine in particular is fundamental for the game, but also disply helped me a lot) The game mechanics is complete but there is still some work to do: it lacks menu,sounds, score, some tweaks (i.e in the second video the blue monster is not supposed to move like that). I hope I can complete it in the next weeks.
  2. Ok. It was the Radius codec. I converted the videos in MP4 format Demo2-converted.mp4 Demo1-converted.mp4
  3. I finished it some months ago. The first time I played it was at a friend's house in 1992 if I remember correctly. I can say it took me 30 years to complete it Yes it's frustrating but once you get the right character for the level and you learn the patterns it's easier. For me the best choice was: Hills and castle:Dizzy Devil Shore to pirate ship: Plucky duck Forest, junkyard and city: Furball Dodo's world: Plucky duck Montana's mansion: Dizzy Devil. The most frustrating part for me was Montana's mansion from the start to the elevator behind the second door, then after that point and up to the boss it was quite easy.
  4. Ah, now I understand, I tried the code and it read the passed value correctly. Thanks again!
  5. @senior_falcon This is a very interesting solution. Thanks. Can you please explain me the hchar-gchar method to pass the delay? I'm not sure I understood it.
  6. @tmop69 Thank you very much for the explanation. I'll try to implement this solution in the final phases of my game.
  7. Game is proceeding, I have added graphics and some of the gameplay mechanics I had in mind. It will need 32K expansion + assembly compiler but I knew that and I'm confident once compiled it will be a fast enough game. I have another couple of questions: 1) I realized I'm adding up stuff without exactly considering the memory limitation . I have a general idea of such limit but I'm not doing a precise calculation. How do you guys use to work? Have you got a method to plan the requirements? 2) I already tried a compiled version and it runs too fast and it's unplayable. How do I synchronize all the events in the game loop at the pace I want? Is there some documentation about timing techniques? I tried to search the forum but words like timing and timer are very common so I get too many unrelated result. Thanks in advance
  8. @Retrospect @senior_falcon Restrospect, I had to make a double call to a sub with your collision routine. I had the problem that it worked half the time. It happened because the scroll down block -> check collision -> move missile up sequence in the game loop works only when the space (in characters) between missile and block is even. When it's odd the block goes down and when the check sub is called the gchar read a void space. My solution is check collision -> scroll down block -> check collision -> move missile. Probably there's a better solution, meanwhile I'm glad it works and I can proceed with the development. Senior_falcon, I used the IRND function for the first string and now the block movement is more fluid.
  9. Understood. Thank you for the explanation.
  10. Hi Senior_falcon, thank you very much for your replies. About point #1 and the suggestion of using disply I'll surely give it a try. About the second point, I see commas in your code as well. Please consider this code: 100 CALL CLEAR 110 CALL CHAR(140,"0000545474545400") 120 ST$="" 130 FOR I=1 TO 10 140 IF RND<=0.5 THEN ST$=ST$&CHR$(140)ELSE ST$=ST$&CHR$(32) 150 NEXT I 160 CALL LINK("VWRITE",11,ST$) 170 CALL LINK("VREAD",11,10,S$) 180 DISPLAY AT(20,2):S$ 190 GOTO 120 At 150 I see on top of the screen a series of "," in place of my defined character. At 170 I correctly see the defined char. If I change 150 to DISPLAY AT(1,12):ST$ I see the right char, but at 170 I see nothing. If I change 170 to use "VWRITE",609,S$ I see commas as displayed on screen with VWRITE, but if I add the offset at 140 CHR$(140+96) then everything works
  11. Hi Retrospect, thanks for the reply. This is a very interesting solution! I'm going to implement it in the game and I'll let you know. About the blocks, they work like a reverse tetris: the projectile stops once it hits a block in the line above. Then the sprite is deleted and replaced with a block character. When the row is full it is cancelled (I still have to implement this part) and all the rows below shift up one line. So I don't really want for the above blocks to fall into the line, that's convenient for me
  12. Hi, I'm working a "proof of concept" code for a game I have in mind. I reached an interesting result however I ran into some pesky problems that I hope you can help me to address. First, the idea is to have a randomly generated line of blocks that falls from the top of the screen and that is added to the existing lines which are then moved one line down (windows + scrldn routines). The game over is when the player at the bottom is hit by the blocks. The player can shoot a projectile toward the blocks. Now the annoying part: 1) The block area is 10x20 characters, that is ten characters per line that can be either occupied by blocks or empty. To generate the line string I use a 1 to 10 for loop with a RND call that decides if the character is empy or not. Problem is, the cycle slows down the game loop and gives me problems with hit detection of the projectile sprite and the controls reactivity. So first question is: is there a faster way to generate this random string? 2) The lines are drawn with vwrite. This gives me a problem with the 96 offset: I use character 140 for blocks and without offset their image is replaced with commas. If I add the offset the problem is solved but.. I use vread for collision detection and with the offset the returned string is empty so no collision. How can I align the results? One idea is to use display at in place of vwrite. That way the vread routine should be fine. Is display at slower than vwrite? 3)Now the most painful part, the collision detection.. I can't use a sprite for each block so I simply check with vread what's in position() of the projectile (top-center of the sprite). The idea is that once the sprite enters a block area it returns me the char 140. Problem is: position returns me the pixels, but vwrite needs a character position. I have to convert the data from position into charater with int(row/8) and int(col/8) before calling vread. It seems to do the trick but I don't really like it. Is there a more elegant (and precise) solution? Thanks in advance
  13. Hi, I'm the author of the game. Thanks for the appreciation guys @Count9929A in my case the background story is: in 2005 circa I tried to write my first game in j2me language (for a Nokia 3510i) and it was a snake game, inspired of course by the famous one for 3210. It remained a test so my choice was to complete what I never finished. Also, I thought that given TI-99 Basic limitations in speed and versatility the snake was a fair compromise between complexity and execution speed. I didn't want to make a game that is unplayable due to extreme slowness
  • Create New...