Heaven/TQA Posted January 3, 2006 Share Posted January 3, 2006 (edited) just for fun I checked out the minigames from this years compo and found the c64 source of the winning 1k game "Venus Express". I love the dynamic scrolling and the physics behind it or the clever level generator so i simply tried to convert it to Atari800... the code is straight forward but if you are not familiar to c64 it might be difficult little bit (thanks TMR for help!). it's still beta but the code grew to 3k. it's easy when you have 8 sprites but on atari side you need the player/missle overhead + display list... but fortunatly you then don't need the "copy map to screen" routine from the c64 anymore... it's good exercise for coding Boinxx further as I coded some "high end" sound effects... or the BCD score routines... at top i have just included a dummy status line but i try to avoid it and try to reproduce it like in the c64 game itself... thank god i could take the score panel from Boinxx for that... but the repositioning of the multicolour players will be little bit tough... in the .zip you'll find the c64 original and the .obx atari one... when the screen flashes just press fire... please have in mind it's just beta status as the "enter next level" has not yet be tested... just let me know how does it feel on real machine with joystick...i just played it in atari800win... it's coded in NTSC mode but works in PAL as well... venus.zip Edited January 3, 2006 by Heaven/TQA Quote Link to comment Share on other sites More sharing options...
Schmutzpuppe Posted January 3, 2006 Share Posted January 3, 2006 Nice conversion so far Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted January 3, 2006 Share Posted January 3, 2006 So you know how the level generation works? Can you explain please? Quote Link to comment Share on other sites More sharing options...
Cybernoid Posted January 3, 2006 Share Posted January 3, 2006 Very nicely done! The scrolling is very very smooth.... Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 3, 2006 Author Share Posted January 3, 2006 Aleksi did a very nice job on C64 so the kudos to his work... but as i learned it's not so easy to convert c64 games even simple ones to atari800 architecture... but Aleksi's code is very clever and more suitable for atari nature than imho for c64... f.e. the whole physik engine can be taken to atari... and he has choosen the maths behind it so clever that you can write it directly into softscroll registers on c64... but not 100% it need some tweaks esp. for the hscrol register (4 pixel vs 8 pixel, reverse order etc...) the levels are all 256 cars wide which is perfect for our Antic... and the scrolling engine and all screen calculations are damned easy... so most credits have to go to Aleksi. i have reworked or newly written so far: - scroll engine (rewritten) - joystick routines (rewritten) - sprite routines (rewritten) - sound routines (rewritten) - new kernel like in Boinxx to get max RAM by switching of OS. the ram usage is unbelievable high...(so a 5200 port will be harder) the level generator writes & fills the memory $1000-$cfff so that's why you need to switch off OS... and then you need new interrupt handlers etc... so back to Thomas question...i just roughly have understood the level generator...but the random values are taken from c64 rom code (which is included in atari800 port as well... no it's not a virus... ) more on the level generator tomorrow.... Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 3, 2006 Author Share Posted January 3, 2006 oh...last comment before i got to sleep... yes... you can enter other caves...i just tested to escape from cave 1...just fly over the blinking object (carefully) then fly back straight out of the cave into the sky until the new level is build and press fire to enter again... btw... should i change the thrust from pressing joystick up to fire? Quote Link to comment Share on other sites More sharing options...
ZylonBane Posted January 3, 2006 Share Posted January 3, 2006 the levels are all 256 cars wide Evel Knievel approves! Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted January 3, 2006 Share Posted January 3, 2006 I'm also very curious about the level generator. Quote Link to comment Share on other sites More sharing options...
Ghost... Posted January 3, 2006 Share Posted January 3, 2006 Very nice conversion!! Thanks Heaven!! btw... should i change the thrust from pressing joystick up to fire? IMO the thurst works fine with joys. up.. Quote Link to comment Share on other sites More sharing options...
sack-c0s Posted January 4, 2006 Share Posted January 4, 2006 Hiya, nice one I got your message yesterday but my brain was dead after a nights work - I'll have a looksie see if I have some music for you tomorrow or thursday Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 4, 2006 Author Share Posted January 4, 2006 sack... a nice 3 channel tune fitting to the theme would be nice and not very ram consuming (so not too long but not as short as radar rat race... ) Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 4, 2006 Author Share Posted January 4, 2006 btw. did anyone tested the beta on a real machine with a game dos? as it uses RAM $0500-$0bff for the code... xboot is not able to make a bootable ATR due to memory conflict... Quote Link to comment Share on other sites More sharing options...
Lord-Chaos Posted January 4, 2006 Share Posted January 4, 2006 A very good game, much better than the somewhat similar game I submitted for the 2004 minigame compo. I did not have a good idea for a random level generator in "Rocket Boy", so the game was a little bit boring after a while. Thimo Quote Link to comment Share on other sites More sharing options...
Gury Posted January 4, 2006 Share Posted January 4, 2006 Good work! A nice little game to put to software library Indeed, GFX is nice and scrolling is very smooth. Quote Link to comment Share on other sites More sharing options...
pseudografx Posted January 4, 2006 Share Posted January 4, 2006 btw. did anyone tested the beta on a real machine with a game dos? as it uses RAM $0500-$0bff for the code... xboot is not able to make a bootable ATR due to memory conflict... 993675[/snapback] Why not readdress it to, say, $fe00-$ebff (when the ROM is already off)? Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 4, 2006 Author Share Posted January 4, 2006 _nextcave jsr Random ; random cave length and #$03 sta cavelen jsr Random ; random cave dir and #$03 tax _cavestart lda.w caveadd1,x ; instruction ($e6 = inc, $c6 = dec) sta.w caveadd_ lda.w caveadd2,x ; memory location (gen or genh) sta.w caveadd_+1 _caveon lda #$80 ; draw cave loop ldx #$07 jsr Round ; fill top of cave cell inc genh _cblk1 ldy #$06 _cblk3 sta (gen),y ; fill middle of cave cell dey bpl _cblk3 inc genh dex bne _cblk1 jsr Round ; fill bottom of cave cell lda genh sec sbc #$08 sta genh caveadd_ inc genh ; modified by cave dir lda genh ; check level bounds cmp #$2c bne _notop inc genh _notop cmp #$b8 bne _nobot dec genh _nobot lda gen cmp #$28 bne _noleft inc gen _noleft cmp #$d0 bne _noright dec gen _noright dec cavelen bpl _caveon dec cavesl bne _nextcave dec caves bne _nextcave 1. first... the whole level is filled with the wall texture 2. then via random it's choosen if the cave cell is opened (or moved? --> cave dir) top, down, left, right. 3. then subroutine is "drawing", well actually erasing the wall texture top, middle or ground vise... --> "subroutine round". 4. a cave cell seems to have 8x8 character dimension so actually it's like with photoshop and drawing with thik pencil... and random seeds are predictible and are feeded by c=64 rom code at $e700 and $ef00. so actually this 512 byte rom code is included here as well to reproduce the levels correctly. Quote Link to comment Share on other sites More sharing options...
pseudografx Posted January 4, 2006 Share Posted January 4, 2006 Why not readdress it to, say, $fe00-$ebff (when the ROM is already off)? 993716[/snapback] sorry, I meant $f500-fbff Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 4, 2006 Author Share Posted January 4, 2006 i played little bit the c64 version again and it seems that the collision routine there is same weak as the atari one... (the picking up of the capsules)... anybody discovered any difference between the 2 versions? i do not mean right starting position (tunnel below the space ship f.e.) i tend to improve various things on this port... as i will not force me to the 1k or 4k limit... so i will add some msx and title screen with credits if you don't mind... some tweaks are already added f.e. the overscan playfield... Quote Link to comment Share on other sites More sharing options...
twh/f2 Posted January 6, 2006 Share Posted January 6, 2006 some tweaks are already added f.e. the overscan playfield... 993977[/snapback] heaven, have you every tried to run Venus on a real machine? It runs well on the emulator but not from MyDos, Picodos or the QMEG Menu. What may be wrong? \twh Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 6, 2006 Author Share Posted January 6, 2006 it should work running with a game dos but not from a standard dos as the loading adress is $500ff... Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 6, 2006 Author Share Posted January 6, 2006 ok. here is the atr file... it's just a work around i moved the main code to $f000 and the sprite data to $0600 so it now should work on real machine... (ok bit of waste using 3k of the 130kb of a disc... ) venus.zip Quote Link to comment Share on other sites More sharing options...
twh/f2 Posted January 6, 2006 Share Posted January 6, 2006 ok. here is the atr file... it's just a work around i moved the main code to $f000 and the sprite data to $0600 so it now should work on real machine... (ok bit of waste using 3k of the 130kb of a disc... ) 995124[/snapback] yeah! great stuff!! I especially enjoy the overscan!!! The game is really great. Somehow cooler than Thrust. Do you think you can eleminate the top/bottom-borders too? I think this is what the atari version of this game would make it superior to the c64 version!!!! \twh Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 6, 2006 Author Share Posted January 6, 2006 removing the borders never was a real big issue with our Antic and Gtia duo... so it could be happen... Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted January 7, 2006 Author Share Posted January 7, 2006 here is the latest build as bootable ATR... changes to previous version: - score & timing routines adapted - game over etc works now so actually now you should be able to play it properly... now...rest is polishing and making an "plus" version for the atari version... btw. i have thought about using complete overscan...but question...will this not hit gameplay as you can see more of the caves than in the original version? what do you guys think... should i switch back to 40x25 mode like the c64 original? venus.zip Quote Link to comment Share on other sites More sharing options...
twh/f2 Posted January 8, 2006 Share Posted January 8, 2006 here is the latest build as bootable ATR... changes to previous version: - score & timing routines adapted - game over etc works now so actually now you should be able to play it properly... now...rest is polishing and making an "plus" version for the atari version... btw. i have thought about using complete overscan...but question...will this not hit gameplay as you can see more of the caves than in the original version? what do you guys think... should i switch back to 40x25 mode like the c64 original? 995873[/snapback] The complete overscan is for sure a "polishing feature". I think it's not disturbing the gameplay at all. Honestly adding overscan makes this game really atari 8bit like! You know, this one thing I really love about my XE. Rather than C64 and Atari ST (surprise, surprise) the XL/XE machines had this great overscan mode which adds so much more flexibility to any game/demo. So why abdicating this feature when we can have it for free? Okay about the "Venus plus" version here what comes up to my mind: * G2F opener * G2F title screen / logo * music in title screen / game * highscore list / hall of fame * rolling time - to - points effect (like in boulderdash) * disk version -> to store highscores * crash animation / sound * transparent on screen display (what are the technical limitations here?) -> this also means even more overscan! * replacing the "rainbow color distortion" by text "Get ready!" * G2F end screen (how many levels are in the game?) * end screen music * game over jingle * get ready jingle * usb mouse support -> hereby the throttle must be the button (I can help on this) and much much more Can you open source the atari version? What about the restricitons of the original author of the game? If open sourced, everybody could contribute changes. last words: Thx 2 u Heaven!!! This nice little game spent me hours of fun with my XE at this weekend. grtx, \twh Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.