 |
|
 |
| Parallax Forums > Public Forums > HYDRA System & Propeller Game Development > Manic Miner Progress | Forum Quick Jump
|
 |  AndreL Registered Member

       Date Joined Apr 2005 Total Posts : 801 | Posted 5/11/2007 12:56 AM (GMT -8) |   | Well, anyone can take a screen shot of ANOTHER game :) Let's see you get one working yourself, then we will all be impressed.
Andre' | | Back to Top | | |
 |  Baggers Registered Member

       Date Joined Mar 2007 Total Posts : 1773 | Posted 5/11/2007 1:21 AM (GMT -8) |   | Andre'
It's not a screen shot of another game! surely if it was a screenshot from a game, it would have the sprites on it too. It's my SDL app I wrote last night, that reads through the data and displays it correctly. So yes it is working so far as such, just in SDL on a PC. I can view all 20 levels. Like I said, next step is to get something on the TV now that I know how the data is stored.
Baggers. | | Back to Top | | |
 |  CardboardGuru Last Hope for Mankind

       Date Joined Apr 2007 Total Posts : 446 | Posted 5/11/2007 4:51 AM (GMT -8) |   | | Jolly good Baggers. Was it compressed? Run length encoding for the maps perhaps? | | Back to Top | | |
 |  mahjongg Registered Member

       Date Joined Jan 2007 Total Posts : 140 | Posted 5/11/2007 5:40 AM (GMT -8) |   | wow, that is fast!
I was aware that knowing the exact format would speed up the process, but this is a very fast result!
CarboardGuru, all the info about the actual format can be found at the "room format" page here: www.geocities.com/andrewbroad/spectrum/willy/mm_format.html and there you can see that all the block graphics are stored as nine bytes, one byte color attribute, and eight bytes for the 8x8 graphics block. The whole "room" (screen) is built up from these building blocks. Run length encoding is not used, nor necessary. How it all works is actually quite interesting and very well thought out!
Baggers, I assume that you only wanted to test the block graphics on the PC to see if you could get a result quickly, and that after you have ported your code to the HYDRA all the other data in the room format will be directly tested on the HYDRA, instead of on the PC?
Well, good luck with porting it to the HYDRA, I am curious whether the TV driver of Donkey Kong can be used, or whether you have to write a new driver.
Also, the title screen, and "game over" animations are not in the "room format", so I am curious about them, are you going to have a title screen and "game over" animation?
Note that the original title screen was just a passive graphics screen, but made a very smart use of the spectrums "blinking attribute" to emulate an animation, so that all the spectrums CPU time could be used to create the title music.
I hope you also found the main technical page about the MM and JSW too, if not its here:
www.geocities.com/andrewbroad/spectrum/willy/
The page about MM & JSW sound is here:
www.geocities.com/andrewbroad/spectrum/willy/music.html
Mahjongg | | Back to Top | | |
 |  Baggers Registered Member

       Date Joined Mar 2007 Total Posts : 1773 | Posted 5/11/2007 6:41 AM (GMT -8) |   | CardboardGuru,
It's more attribute compressed, each level is 16x32 bytes ( an attribute colour ) then there are 8 characters per level which are used ( blank/wall/crumble/conveyor etc. ) each character definition is 9 bytes 1 byte attr ( matching the one from the level map ) then 8 bytes char (8x8 pixels). all levels are 1024Bytes. 20KB for the full 20 levels. wonder if i can get it all in 32KB :) that'll be a challenge.
mahjongg,
thanks :) and yes, that was a test on the PC to see to make sure that my understanding of the data layout was correct, ( thankfully it is ). now for porting it to Prop. as for TV driver, I can use this for now, but I'll probably re-write it later on if need be, to make it more spectrum 2colour friendly.
as for the game over / foot screen, that should be easy to replicate. and the title screen, I can use some extra characters for that, as the levels only use 8 | | Back to Top | | |
   |  AndreL Registered Member

       Date Joined Apr 2005 Total Posts : 801 | Posted 5/12/2007 5:52 PM (GMT -8) |   | I see you prototyped on SDL. Anyway, very cool, I am going to download and try now.
Andre' | | Back to Top | | |
 |  AndreL Registered Member

       Date Joined Apr 2005 Total Posts : 801 | Posted 5/12/2007 6:58 PM (GMT -8) |   | Very cool! this is going to be killer, don't forget sound effects!
Andre' | | Back to Top | | |
 |  Baggers Registered Member

       Date Joined Mar 2007 Total Posts : 1773 | Posted 5/12/2007 11:19 PM (GMT -8) |   | CardboardGuru, Yeah, BBC had some amazing ports, chuckie egg and defender being two of my faves, revs + elite being awsome games too. As for the binary, sorry, I wanted to optimise the code a bit, and comment it, since these posts are not only for nostalgia, but they're for education purposes too, and I hadn't commented it, and since your driver and jlcebrian's driver are heavily commented, I thought I best copy suite... So once that's done I'll post source. :) edit: Yup, nice to see some brits on here too. ( anyone tried doing a PAL tv out?
Andre' yes, I prototyped on SDL, as it's easier to know that once I know exactly how the graphics are stored, then I could convert quickly to hydra. and thanks. and don't worry, I won't forget to add sound effects :)
Oh, and for future reference, updates will be at the bottom, not edited to the top :)
Baggers.
| | Back to Top | | |
 |  AndreL Registered Member

       Date Joined Apr 2005 Total Posts : 801 | Posted 5/13/2007 2:40 AM (GMT -8) |   | I like how small the tiles are, I have always liked "tiny" games, I think they look cool, lemmings for example was very cool with the little guys.
Andre' | | Back to Top | | |
 |  mahjongg Registered Member

       Date Joined Jan 2007 Total Posts : 140 | Posted 5/13/2007 4:15 PM (GMT -8) |   | Baggers said... I wonder if i can get it all in 32KB :) that'll be a challenge. Well, as I said in the beginning, -you don't have to fit it all into the 32K-!
You could put all the levels into the unused EEPROM room above the 32K border using the "Hydra Asset Manager" tool (see: forums.parallax.com/forums/default.aspx?f=33&m=168490), and download the level you want into a 1K buffer when you need it, using your own I2C download routine. You can pilfer the code to do that from FemtoBasic (see: forums.parallax.com/forums/default.aspx?f=33&m=183982) or from some other project that uses a I2C routine to directly access the EEPROM, there seem to be many these days.
What is this "SDL" you are talking about? is it (for example) "Simple Declarative Language" or "Specification and Description Language", or something else altogether? and why did you use SDL for this quick prototyping job? I have never heard of it, is it simple to use?
It's very interesting that suddenly we see a deluge of new games, and game building blocks. (Donkey kong video driver with multicolor sprites, spectrum video driver, Hydra Dense Music Format etc. etc.). This promises much for the future!
Mahjongg | | Back to Top | | |
  |  CardboardGuru Last Hope for Mankind

       Date Joined Apr 2007 Total Posts : 446 | Posted 5/14/2007 4:56 AM (GMT -8) |   | Baggers,
Why don't you convert the levels into run length encoded versions? If you look at the screens, they all consist of long horizontal runs of the same tile. So store a byte for the tile followed by a byte for the run length for each run*. And then uncompress them at the start of each level.
So, looking at the first 2 lines of central cavern as shown in the picture, the first line has 11 runs = 22 bytes The second line has 5 runs = 10 bytes. (but it shares the last tile of line 1, so actually 4 runs = 8 bytes) Versus the standard 32 bytes per line.
Looking at the screens, a run length of greater than 16 is rare, so you could perhaps use 4 bits for the run length and do 2 run lengths per 3 bytes rather than per 4 bytes. | | Back to Top | | |
 |  Baggers Registered Member

       Date Joined Mar 2007 Total Posts : 1773 | Posted 5/14/2007 5:06 AM (GMT -8) |   | Yeah, CardboardGuru, I've already thought about that, will do that once I'm closer to finishing, ;) As for byte per count, I could easily do that anyway, as there are ONLY 8 background characters, so could even be up to 32 length :) but again, that's for later, as I'm now doing the sprite renderer, in a seperate asm cog, as SPIN is taking about 48 scan lines just to draw the four Willy's on the bottom and the one on screen, and it's just writing words, not even or'ing them onto the screen.
Cheers for the input though :)
Also, I was keeping the levels uncompressed for the moment, because I was going to make it play the many ManicMiner mod's it appears there's a few versions where people have made editors and changed the levels. but I'll probably add the compressor exe, so that people can still change to what map levels they want. | | Back to Top | | |
 |  Baggers Registered Member

       Date Joined Mar 2007 Total Posts : 1773 | Posted 5/20/2007 1:47 PM (GMT -8) |   | Just to keep you all informed, I'll be posting a playable in a day or two :D I've had fun doing this, and will most likely have a crack at JSW after this is done :) I'll be releasing two versions, One for Hydra ( I don't have a hydra, so I'll probably need someone to test it for me. ) And the other for the ProtoBoard, so normal Prop users ( like myself ) can play it too.
Baggers.
I Still have Eugene to do and slow moving baddies, and some other bits and pieces, then it's ready for a release. then I'll comment the source, ( if people want it commenting that is, otherwise I'll not waste time doing that and jump onto JSW ) | | Back to Top | | |
 |  RedNifre Registered Member

       Date Joined Apr 2007 Total Posts : 84 | Posted 5/20/2007 5:22 PM (GMT -8) |   | Hm, I tried the binary, but it doesn't work. The screen stays blue (default color of my screen if it has no signal). :-/ I use a LCD TV with PAL and I loaded the binary to RAM. | | Back to Top | | |
 |  Baggers Registered Member

       Date Joined Mar 2007 Total Posts : 1773 | Posted 5/21/2007 12:21 AM (GMT -8) |   | Hi RedNifre
Does your LCD handle NTSC? as the JLC Spectrum TV is an NTSC display :( I'm in the UK ( PAL area too ) but my TV handles NTSC, if yours does, then it's something else, JLC did say he had timing issues with some LCD's, maybe your LCD needs stricter timing.
I will however be trying to re-do the Spectrum TV so that it's all my code, and I'll be attempting a PAL display too :)
Baggers. | | Back to Top | | |
 |  RedNifre Registered Member

       Date Joined Apr 2007 Total Posts : 84 | Posted 5/21/2007 7:12 PM (GMT -8) |   | Mh, my TV can't handle NTSC, so that's most likely the cause.
Oh well, have to wait for your PAL code then. :) | | Back to Top | | |
   |  Baggers Registered Member

       Date Joined Mar 2007 Total Posts : 1773 | Posted 5/22/2007 4:05 AM (GMT -8) |   | Thanks, I'm just packaging up 3 versions
1. Hydra version 2. Proto-board version - hi-eeprom level data 3. Proto-board version - SDCard level data
I'll need someone to test the Hydra version for me. once it's working, I'll release source.
I'm just taking my daughter to school now, then I'll post the hydra version for someone to test and give feedback, while I pack and upload Protoboard versions.
Baggers. | | Back to Top | | |
 |  Baggers Registered Member

       Date Joined Mar 2007 Total Posts : 1773 | Posted 5/22/2007 5:11 AM (GMT -8) |   | | | |
 |  CardboardGuru Last Hope for Mankind

       Date Joined Apr 2007 Total Posts : 446 | Posted 5/22/2007 6:22 AM (GMT -8) |   | Hi Jim,
A few problems, none of them to do with the actual game!
1) The URL needs a www in it. 2) Someone's server isn't confirgured right, in Firefox the link doesn;t download, it displays garbage on the screen. IE copes with it though. 3) I don't have a RAR unarchive program installed. Did you know Prop Tool has a automatic zipping facility. File/Archive/Project. It'll zip up the current top object file together with an objects that it uses. Or is it that you have some issue with zips?
I've got to go out now. I'll have another try later. | | Back to Top | | |
 | 68 posts in this thread. Viewing Page : 1 2 3 | | Forum Information | Currently it is Friday, November 20, 2009 5:11 PM (GMT -8) There are a total of 393,686 posts in 55,520 threads. In the last 3 days there were 90 new threads and 714 reply posts. View Active Threads
| | Who's Online | This forum has 17684 registered members. Please welcome our newest member, Dogg. 59 Guest(s), 6 Registered Member(s) are currently online. Details Oldbitcollector, BTX, tronsnavy, kgb_x, Sapieha, Harprit |
Forum powered by dotNetBB v2.42EC SP2.02 dotNetBB © 2000-2009 |
|
|