LoginLogin

CYCLONE

Root / Talk About Programs / [.]

cujo1992Created:
After a ridiculous amount of time working on it, I have finally posted my first SmileBasic game. https://smilebasicsource.com/page?pid=418 CYCLONE is without question a clone of my favorite quarter munching experience from the early 1980s: GYRUSS (by KONAMI). I am hopeful that the game does not get removed from the server for copyright. The name? CYCLONE > GYCLONE > GYRUSS CLONE > GYRUSS (okay - it worked for me) The sprites were all crafted by hand using the default SmileBasic toolset. I did use screenshots for inspiration - but I think that only the player's ship came out "close" to the original arcade. The music is quite nice: Toccata and Fugue in D Minor by J.S. Bach. I used a midi file from digitalpress.com... then converted it to MML using the 3ML Editor at mabibeats.com. Finally I tweaked the MML tracks to my liking (and simplified them a bit). I programmed the game on an old 3DS - so I HOPE it works well on a NEW 3DS... please let me know. The 3D functionality works reasonably well (IMHO). As it Is my first game - you can see evolution from "really crappy" to just "kind of crappy" code in different parts of the main file. The main state machine managing the waves still has a few bugs in it ... so if you play it you may find some bugs here and there. IF the game is not stricken from the server in a week - I have ideas about adding to the game (boss levels etc...) - but I am going to take a break for a bit and let my 10 year old play with the 3DS again. Thanks for your feedback and consideration.

Pretty good but why isn't it running at 60fps on the O3DS?

Hi pirate Although there is no FPS counter in the code, I only ever saw (on O3DS) slowdown if ALL of the enemies would accumulate in the center. The enemy ship.movement code is ripe for optimization.... but as the goal of killing enemies before they gather is implicit this slowdow was rare. Did you observe slowdown in fps at other times? THANKS!

I don't know the FPS yeah but the animation definitely isn't smooth. Looks like it's below 30FPS Plus could you make the sprites a bit larger? They already look small on the XL screen.

Hello pirate.... I use the MAINCNT function for "clocking" all of the sprite motion. (I coded most of this before the MILLISECOND function came around). I don't use VSYNC to ensure frame boundary timing - but rather allocate a certain number of "updates" per increment of the MAINCNT function. Most sprites will only move 1 or 2 "increments" per update... and then I allow them to move X # of times per MAINCNT increment. The main player ship is especially fast - and perhaps can give a view of only being 30 FPS because I coded it to be able to make 7 movements of X degrees around the circle in a 2 frame window. (In retrospect - I would do this differently if I were to rebuild the game from the ground up). The speed of motion looks pretty good to me (and reasonably faithful to the original game). HOWEVER - because all of the motion is actually encoded in polar coordinates (radius/depth and angle) and then converted to Cartesian (X-Y coordinates - some of the enemy ship tracks can be a bit abrupt and come off as not smooth. So - even though running at a high FPS - the motion from one polar "coordinate pair" to another can be jarring in the way I had it implemented. Maybe I can look at re-engineering this one.... let me know if this seems like what you are experiencing! As for the size of the sprites... I too increased the size of the enemy ships because I thought they were too small. HOWEVER - this made the game too easy - as they were simple to shoot... (and not so faithful to the original) - so I took them back down. BUT - this is a GREAT IDEA for a next version - to allow someone to play in enhanced mode with the "big enemy ships" ... recall NBA JAM and the big giant head of Michael Jordan... ah good times! Thanks for the suggestion!!!!

Yeah, it bothers me especially when I control the spaceship. It makes the controls kinda innacurate. Oh and make it use the dpad too. Also why didn't you just call it Gyclone? Fear of copyright infringement?

Also why didn't you just call it Gyclone? Fear of copyright infringement?
Yep - I didnt want to give anyone an easy stick to shake at me. Besides - CYCLONE sounds cooler than the "non-word" GYCLONE.