Jump to content
IGNORED

Calimari Carl (unfinished SSGC game)


Opry99er

Recommended Posts

Pasting is working okay from IE8 from codeboxes, at least for me.

 

It could be a line ending issue, especially since you get the same effect in Notepad. For a lighter weight solution than full Word, try WordPad (it's on all Windows systems). I use it when I am doing a copy and paste with line endings that Notepad doesn't like. If you paste into it, then copy and paste out, it usually gets the line endings correct for Windows.

Link to comment
Share on other sites

I just tried the copy and paste from codebox, in firefox, no issues pasting to any program I tried.

notepad, wordpad, works, word

 

I tried the same from IE, and it didn't work for notepad, but did work for the other 3.

 

So owen, I guess you can paste to a wordpad doc and then copy it and paste it to notepad++.

Link to comment
Share on other sites

Hmmm.... Interesting.

 

I'll update this code tomorrow. Game is starting to take shape. Thanks alot guys. This will be pretty cool when it's done--- look forward to putting the full game out. If John and sometimes don't mind, I'll post the game (when finished) to the Reef and put it up on Matthew's store as well. I have some cool music I'll be adding using Matthew's XB/asm soundplayer. :) We still have quite a but of work to do, but I bet we can have it done in a week or so. :)

Edited by Opry99er
Link to comment
Share on other sites

  • 2 weeks later...

Owen, here are some graphics I was working on for a SeaQuest remake, I added your octopus too.

 

5 CALL CLEAR
6 CALL SCREEN(1)
10 CALL CHAR(96,"0001000000000000030F3C4000000000000000802C0CF0FFC000000000000000")
20 CALL CHAR(104,"010000000000000003FF0C30C0000000000080200C0CF0FFC000000000000000")
30 CALL CHAR(112,"0000010430300FFF03000000000000008000000000000000C0FF300C03000000")
40 CALL CHAR(120,"0100020034300FFF03000000000000000000000000000000C0F03C0200000000")
60 CALL CHAR(128,"060381C77F3F3F71C3840000000000000080E0F8F6FFFCDF0600000000000000")
70 CALL CHAR(132,"030101C77F1F3F71C7000000000000000080E0F8F6FFFFDC0000000000000000")
80 CALL CHAR(136,"00030705071F272345494909121200000080C040C0F0C8A42428282840400000")
90 CALL CHAR(140,"00030705070F171365890A11222400000080C040C0F0C8884844222040800000")
100 CALL MAGNIFY(3)
110 CALL SPRITE(#1,96,16,128,128,0,10)
120 CALL SPRITE(#2,112,16,100,128,0,-10)
130 CALL SPRITE(#3,128,16,80,128,0,15)
140 CALL SPRITE(#4,136,16,100,100,8,2)
200 CALL PATTERN(#1,104,#2,120,#3,132,#4,140)
205 FOR X=1 TO 20
206 NEXT X
210 CALL PATTERN(#1,96,#2,112,#3,128,#4,136)
220 FOR X=1 TO 20
230 NEXT X
300 GOTO 200

 

if you want to use them or use them to base some off of it's cool.

Link to comment
Share on other sites

Well, I've FINALLY got some time to work on this game tonight. Lord knows, I've been trying to get 20 minutes of uninterrupted TI time for months, and now I've got it. From 8:30-10:30, it's all me and "Teener." (Thats what my wife calls my TI. =)) "You and Teener can have a date tonight, it's okay with me." =) Yay!!!

Link to comment
Share on other sites

Okay... I need to do a little trickeration here... I need to cycle through some patterns on SPRITEs during gameplay. I have my diver and the octopus (so far) and I want them to switch patterns at different rates. I have a variable in my program for a ticker... "CO" for "count". My program uses the count to subtract oxygen from your oxygen tank. I was interested in seeing if I could tie my pattern shifts in with this counter, so I tried this:

 

.
.
.
900 CO=CO+1
905 IF CO=0 THEN CALL PATTERN(#1,100)
910 IF CO=2 THEN OX=OX-1 ::  CALL PATTERN(#1,96)
920 IF CO=4 THEN CO=0
.
.
.

 

It's not actually working... at all. I'm sure I'm just tired and missing the point. But anyway, someone tell me what the hell is the matter with my stupid code...

 

By the way, I've made some good progress on the game tonight. =) Looking forward to sharing it with you all when it's finished.

Link to comment
Share on other sites

Need some speed-test concepts here...

 

I need to optimize this code--- once I started adding checks to my counter, it slowed down pretty drastically. I've tried a few different ways to speed this up, but this is actually the quickest I've found so far. =) What you guys got??

 

900 CO=CO+1
905 IF CO=1 THEN CALL PATTERN(#1,100)
910 IF CO=2 THEN OX=OX-1 
915 IF CO=3 THEN CALL PATTERN(#1,96)
920 IF CO=4 THEN OX=OX-1
925 IF CO=4 THEN CO=0

 

Lines 920 and 925 look like they could be used on a single line, but it actually caused a problem doing it that way. This is obviously not the fastest way to do this... but I came upon the need to add these new functions and my game structure was not built for it. Kind of like towing a big trailer with a Ford Taurus.... =)

 

One thing I thought to do for optimization was THIS:

 

900 IF CO=2 THEN CALL PATTERN(#1,100):: OX=OX-1
910 IF CO=4 THEN CALL PATTERN(#1,96):: OX=OX-1 :: CO=0
920 CO=CO+1

 

Still with this, it doesn't really do what I need, SPEED-WISE.... I did a timed speed test, and this second incarnation IS faster...

 

By eliminating lines 905, 915, and 925 and reducing checks from 5 to 2, it gives me an extra 15 cycles in a 1 minute test. Faster, but not THAT noticable in gameplay... It's definitely quicker, but I am trying to make a Ferarri out of a Volkswagen... (that was an XB speed joke)

Edited by Opry99er
Link to comment
Share on other sites

I've got some cool stuff going on with the "count" threads... I've actually found my stride with this concept--- Looks like this stuff is all possible in XB, but it may require simplifying my initial game premise. If the efficiency stays on par with what I've been experiencing so far, it'll be a very visually pleasant game to play. :)

Link to comment
Share on other sites

Hey jchase... I've had to make a ton of changes to my original program and it required me to start from the base of the game and build up. Your enhancements had to go on the shelf for now because I needed graphics space and such...

 

I am currently trying to re-integrate your changes into the game, but I'm having a bit of difficulty. I need to finish some work on the graphics and getting the pattern shifting to act more smoothly, but when that is done, I will probably be asking you to give me a hand with some of the re-integration process. You up for it? =) I've had to add several elements, including this interesting pattern-shift effect...

 

It's based on sometimes99er's brick scroll (in part), and it forced me to use up a ton of available character patterns and sets... This coupled with the 12 new diver characters has left me with not much room to add your oxygen bar. I'm also interested in how performance will be affected by adding your oxygen meter--- now that there is so much more stuff going on. It's going to be fun. =)

 

Thanks for your help, man. You rock.

 

 

Link to comment
Share on other sites

It's based on sometimes99er's brick scroll (in part), and it forced me to use up a ton of available character patterns and sets...

Remember my "roll" effect ? It basically has 4 characters rolling up and 4 characters rolling down (animation below isn't as smooth as the real thing).

 

roll2.gif

 

It hooks on the user interrupt and respects any previous hook (simply by calling it). It should live peacefully with Matthew's sound player. I'll have to check up on the sound player and see if it tries to unhook or something. Both routines takes only a tiny fraction of the CPU available, so you won't notice any decrease in XB performance when you're running any of them or both.

 

I could make a left or right rolling effect with anything from 1 to 8 characters at whatever speed you'd like (once, every second or every third frame etc.). You would only have to define the characters once, and they wouldn't require any additional room. The hook will continuously pickup, modify and replace the patterns (as with the "roll" above).

Edited by sometimes99er
Link to comment
Share on other sites

A little tip for setting up your character patterns when you have sprites,

 

Each color set is 8 patterns, use the 1st 4 for characters and the last 4 for sprite patterns. This allows you to have more available colorsets for the background, although I realize your game has few back ground elements at the moment.

 

I had started to rework the program and try to understand what characters you has assigned to what, but I never finished it.

And remember you have some room in places you might over look,

33-39 !"#$%&' can be used with a color set that is transparent for the back ground.

40-47 more symbols that are unlikely to be used in most games.

88-93 set 8 has 3 letters that are not likely used XYZ.

 

Really it's best not to have text at all in the game, so you can have all patterns available for graphics, with the exception of numbers for the score. In bouncing babies I had alot of patterns and I wanted to squeeze more so I created my letters for things where needed You can compress SCORE into 3 patterns for example. A 5 pixel wide character works great, sometimes a 4 pixel wide character ever works well. At the very least figure out what letters you need in you game action screen, and say you only use 16 out of 26 letters of the alphabet, write those 16 to 2 charsets, freeing up 2 more sets. Then just type in your string of letters to create the words you need.

Link to comment
Share on other sites

@sometimes-- That ISR hook program is pretty awesome. I'll have to DL the source (if it's available) and modify it to do my pattern shifting.

 

@jchase-- Great tips, man. I had already started re-arranging my character sets to allow for all the new graphics (ocean floor, seaweed, moving waves). I'm pretty excited about the way this is moving. :)

 

I'm very excited how this is rolling. Thanks for all your help, guys. :)

Link to comment
Share on other sites

ISR--- this is how I will work this... Unless the music player turns it off--- hmmmm.... I need to read some of Matthew's notes on the player. I'm almost 100% sure it uses the ISR for it's functionality-- but I need to make sure. It would only make sense for the player to use the ISR.. Is the source code for your roll routine in the special FX thread?

Link to comment
Share on other sites

@sometimes-- That ISR hook program is pretty awesome. I'll have to DL the source (if it's available) and modify it to do my pattern shifting.

ISR--- this is how I will work this... Unless the music player turns it off--- hmmmm.... I need to read some of Matthew's notes on the player. I'm almost 100% sure it uses the ISR for it's functionality-- but I need to make sure. It would only make sense for the player to use the ISR.. Is the source code for your roll routine in the special FX thread?

Yes, Matthew's player uses the ISR (Interrupt Service Routine, which calls the user interrupt (if any)).

 

From the notes and source I gather that SPINIT is the only code "playing" with the user interrupt. It hooks up and stays there (nothing removes or replaces it AFAICS). So it doesn't "turn off".

 

      LI   R0,ISR           * Address of the player
      MOV  R0,@ISRHOK       * User ISR hook

ref.: http://www.atariage.com/forums/topic/158605-assembly-sound-player-for-xb

 

So it's safe to do yet another hook, and for the new hook to call the old hook.

 

I only released the source for "fat", since the 3 or 4 other effects where more like "fire and forget". You'll find the source for "fat" here (based entirely on Marc Hull's "melt").

 

http://www.atariage.com/forums/topic/169284-animation-and-special-effect-contest/page__view__findpost__p__2094818

 

Have a go at it.

 

I don't know if this will help you. Others might have more/better/different ideas about how to go about this. I can of course write it for you, but you would definitely learn more trying to do this on your own (as much as you can).

 

Get the thing ("melt" or "fat") to compile in WinAsm99. Where did the object file go. Get XB to init, load and test the code. Make SMALL changes. Recompile. Test. Ask questions (if any).

 

Pin point exactly what the routine should do. What characters should be manipulated. What are their codes. Where in memory do they reside. How many bytes needs to be read. Will you need a buffer or do all the read and writes in a loop. Will you need 2 buffers. In which direction do your patterns shift. What assembler instructions would help you shift in that direction. Are there any pixels/bits moving from one word or byte to another ...

 

:cool:

Link to comment
Share on other sites

I tried it... can't get it to run... For some reason, I'm getting a FILE I/O error in 110. I'm going to try some more stuff here... see if I can make it work. SHIFTO is sitting in DSK1, right alongside TEST and the a99 file.

 

Also, I can't get the source code to pop up in Notepad++.

 

<<edit>> I can get the source to open in notepad++ now. =)

Edited by Opry99er
Link to comment
Share on other sites

I tried it... can't get it to run... For some reason, I'm getting a FILE I/O error in 110. I'm going to try some more stuff here... see if I can make it work. SHIFTO is sitting in DSK1, right alongside TEST and the a99 file.

SHIFTO and TEST in DSK1 should be it. Tried to DL and overwrite. Everything works fine. Source compiles fine too etc. I'm running Classic99 vers. 341 !? Try updating Classic99 and DL again ?

 

:|

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...