MMLL Development Diary

flash · 395076

Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #120 on: September 09, 2009, 07:20:11 am
Found an interesting inverview with the original author of Manic Miner

Holy crap! We oughta call this dude, he's...one of us! ???
Now..back to the movie.



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #121 on: September 09, 2009, 07:28:44 am
:D lol ...  :D ... I'm currently learning ARM asm, it's very different from the asm I'm (was) used to (x86) back in the days ;) Btw I think I'll use asm only as a last resort when it's really necessary to squeeze up to the last CPU cycle (for example IF I'll ever code a software audio mixing routines... which probably I won't do...)

ARM asm is a beautiful language and pretty easy to code in if you have knowledge of 6502.. It is very similar. The main differences are the loss of the INC instruction, and that addition of tons of multifunction registers.
Saying that, it is not important to code in ASM now days. C compilers have come on so well that they do come close to the speed of ASM, and with the speed of processors, it is not such an issue.

All the effects in the game use sprites (well, we do have 120 free!), and we uses BG's dilligently to enable sprites and effects to be split horizontally. We wrote a great sprite drawing routine in Warhawk that has been reused. This handles the drawing of the sprites and automatic animation. So, All you have to do is assign a sprite and the code does the rest. It makes it easier than directly working with registers.

Sverx, good luck with learning ARM. Even if you never use it (as HK will testify) there are a lot of benefits to knowing how code is constructed at core level that could even help with speed intensive C code. It is a (ancient) format that all coders should have knowledge of.

Now, I should really be devoting more time to learning C.. I am just enjoying MMLL a bit too much... which is a bit naughty!!

Coding for the love of it!


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #122 on: September 09, 2009, 07:30:42 am
Holy crap! We oughta call this dude, he's...one of us! ???
Now..back to the movie.
I wish I knew how to find the man!!

It would be great to let him see this...

Coding for the love of it!


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #123 on: September 09, 2009, 07:48:38 am
Just realised that perhaps some people may wonder what all the guffaws and sniggers between Lobo and myself was a page or two back...

Well, Sokurah has been working on a remake of 'Horace in the Mystic Woods' that I wrote quite a while back, (details of the Psion game HERE) and it was started a while ago.. So, (and pass the blame here) Lobo sent graphics to make the first level appear in MMLL.

But we found it so hard to contain ourselves as we waited for Sokurah to play the latest demo... Oh the joy!!!

It sounds a bit silly now... well... you had to have been there really LOL

« Last Edit: September 09, 2009, 08:20:23 am by Flash »

Coding for the love of it!


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #124 on: September 09, 2009, 08:29:45 am
ARM asm is a beautiful language and pretty easy to code in if you have knowledge of 6502.. It is very similar. The main differences are the loss of the INC instruction, and that addition of tons of multifunction registers.

Well, I wrote my first program on a Commodore 64, but it was in BASIC and I was 11... so no 6502 asm knowledge, unfortunately. Then, in 1989, I bought an 8088 and I was coding on that platform only until two years ago when I discovered it was possible to write programs for the DS. I fell in love with that immediately, and I learnt a lot since then, but it's still a steep curve for me.

[...]and we uses BG's dilligently to enable sprites and effects to be split horizontally.

Sorry, I don't get what you mean with that sentence  ???

Sverx, good luck with learning ARM. Even if you never use it (as HK will testify) there are a lot of benefits to knowing how code is constructed at core level that could even help with speed intensive C code.

Yes, that actually was the first reason why I started peeking in that :)

Thanks for your time! :)




Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #125 on: September 09, 2009, 08:49:03 am
Sorry, I don't get what you mean with that sentence  ???

Well, we use backgrounds as masks to cover up parts that we don't want affected. ie. the rain is behind bg0 and bg1 (the status at the top)

Coding for the love of it!


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #126 on: September 09, 2009, 08:55:52 am
Well, we use backgrounds as masks to cover up parts that we don't want affected. ie. the rain is behind bg0 and bg1 (the status at the top)

Ah, ok, I noticed that. I was curious about the fact that the rain drops do hit the background (floors, platforms, roofs... so they aren't simply 'passing' there, in front of the player, like the leaves in the other level...). How did you do that? Another colmap? And lightning flash is done with color special effect registers manipulation or you're changing a part of the background and sprite palette? Curiosity, mainly... but it's because that lightning is really effective!




Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #127 on: September 09, 2009, 09:12:03 am
The lightning is a blend on bg2, bg3, and sprites (sub). We leave bg0 and 1 alone as this saves us having to use interupts to horizontally seperate the top status from the play areas.

All the sprites (leaves, drips, rain etc) use the same colmap that the player uses. So, they check this rather than the tiles and act acordingly. Dropping the bottom 3 bits on the Y coords helps to align them to the platforms.

The hardest bit for me so far was the pixel based sprite detection, the code is posted a few pages back. This was ..er.. fun!! :)

Coding for the love of it!


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #128 on: September 09, 2009, 09:40:16 am
The lightning is a blend on bg2, bg3, and sprites (sub). We leave bg0 and 1 alone as this saves us having to use interupts to horizontally seperate the top status from the play areas.

Wow, that's a good idea. Btw I'm surprised it's working because I wouldn't expect to get to full white just blending two backgrounds, even if you're 'summing' them up 16/16 + 16/16 ... after all black+black=black, uh?




Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #129 on: September 09, 2009, 09:49:40 am
Sorry, I did not explain that very well did i?

Here is the code snippet. What I was trying to illustrate was that we just used the remaining bg's to mask the effect where needed.
Code: [Select]
cmp r0,#0
subne r0,#1
str r0,[r1]

ldr r2,=SUB_BLEND_Y
str r0,[r2]
ldr r0, =SUB_BLEND_CR
ldr r1, =(BLEND_FADE_WHITE | BLEND_SRC_BG2 | BLEND_SRC_BG3 | BLEND_SRC_SPRITE)
strh r1, [r0]

Coding for the love of it!


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #130 on: September 09, 2009, 10:04:31 am
What I was trying to illustrate was that we just used the remaining bg's to mask the effect where needed.

Oh, now it's clearer, thanks. So you're using fade to white effect, not blending BGs :) And of course you're not touching the BGs you don't want to affect :)

This BLEND_FADE_WHITE (with the other BLEND_FADE_BLACK) are two things I never found interesting and never used in my programs... but now that I've seen this lightning effect (and that darkening effect in TDG) I think I must reevaluate my point of view :o

« Last Edit: September 09, 2009, 10:05:02 am by sverx »



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #131 on: September 09, 2009, 10:37:24 am
Did Horace in the Mystic Woods have music? I diddent notice it before now about the ghosts.

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #132 on: September 09, 2009, 11:17:29 am
The original Psion version did not have music.. It was not very quick at audio.

Coding for the love of it!


Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #133 on: September 09, 2009, 05:48:45 pm
Did Horace in the Mystic Woods have music? I diddent notice it before now about the ghosts.


Bach, Toccata and Fugue in D minor, organ, that should do  ;D.



Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #134 on: September 09, 2009, 08:15:04 pm
Holy crap! We oughta call this dude, he's...one of us! ???

I totally agree I love what he says at the end... "Everything comes around and goes around. 5 years after I did it I was a washout. 10 years after I did it I was history. But coming up to 20 years now and I'm a legend." And then pulls a crazy face. LOL What a classic!

BTW I did see the Horace level, that's really cool. Makes me wonder if Flash is thinking of remaking a Horace game for the DS now?
« Last Edit: September 09, 2009, 08:15:50 pm by headkaze »



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #135 on: September 09, 2009, 08:24:10 pm
Horace for the DS.... Well... that is a nice thought... But...

After MMLL I do 'REALLY' want to work on C based code and really give this a go.. I need to learn it..

But...

Coding ASM on the iPhone, there's a dream!!!

Coding for the love of it!


Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #136 on: September 09, 2009, 08:38:59 pm
I totally agree I love what he says at the end... "Everything comes around and goes around. 5 years after I did it I was a washout. 10 years after I did it I was history. But coming up to 20 years now and I'm a legend." And then pulls a crazy face. LOL What a classic!

BTW I did see the Horace level, that's really cool. Makes me wonder if Flash is thinking of remaking a Horace game for the DS now?

Ya, that is one cool ending of the video. As soon as I've seen that frozen picture there, before even hitting the 'play', I knew it was gonna be nutty. Seems like dude has some kinda 'condition' there, not so sure what though. Might be wrong.
Here's an idea, we finish this on DS and port it to iPhone, sell it and send  him the moneyz, something tells me he might need it.  :(
« Last Edit: September 09, 2009, 08:40:17 pm by Lobo »



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #137 on: September 09, 2009, 08:47:48 pm
Bach, Toccata and Fugue in D minor, organ, that should do  ;D.

I was think on the same tune as well  ;D...... I have a midi file of it, so see I can export this correctly and use a organ sound, like that deatch music organ used in The Detective.......

The Musician for the RetroBytes Portal Projects.


Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #138 on: September 09, 2009, 09:10:42 pm
Yep, that would be cool. Also, Flash should tell you about it (don't wanna spoil it now) but you might be asked to write a small music for another level inspired with a nice little movie from the past century.  ;)



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #139 on: September 09, 2009, 09:17:45 pm
Ghostbutters!?

LOL...

I was just thinking...

We have 20 levels of "lost levels"

Should we have another 20, "inspired by....", then we could have Back to the future, hellraiser, etc.. perhaps even add a few special 'switch' function? It all depends on how much you wanna do Lobo..? I have allocated 42 levels at the moment. The only thing is music for all this - it will take up a lot of space and I also only allocated 5bits in the level data to signal a track (for the rest of you - 32 tracks 0-31)... This could be a problem if we wanted to theme levels, and also poor SF would have a heart attack with the extra audio...

So, we could do it, but, use generic themed tunes - ie thriller, horror, comedy, etc..

Or, is 20 +1 (lobo) +1 (horace) enough?

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #140 on: September 09, 2009, 09:21:35 pm
... and they are still copyrighted, many of them still might have midi, but I think it gonna take very long time one for each level :.D. The church/organ music is really a cool idea.

Back to the future was named, I have some sort of unfinished mixture of Power of Love and Slug (a C64 game)....... Only started on that about a year ago, but was never finished.
« Last Edit: September 09, 2009, 09:23:56 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #141 on: September 09, 2009, 09:28:44 pm
Much as i would love to have a different mix of the music for each level, sadly, there just is not the space... around 15 or so tunes is perhaps all we can fit... I really dont know..

So, themed is best, better than a fixed level tune.. Though there can be one or 2...  Ghostbusters would be a nice one to remix.. and also use on other levels.. perhaps?

LOBO: Thought you went to the beach?

Coding for the love of it!


Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #142 on: September 09, 2009, 09:34:56 pm
Heck no, I came back to make lunch so wife and kids can annoy the lifeguards over there. It is a nice day but I have some stuff to finish around the house anyway.

For the music, well, just GhostBUTTErs, Back to the Future then? The rest can have anything, even repeat some tunes?
I can do additional levels besides GB and BTTF but I'm not the best in designing the actual traps/layout so if you find some levels that can be 'skinned' or make new from the scratch then I can adopt these movie themes easily. That said, it can go beyond 20 or 22 levels, whatever the number is.

Oh and for ghostbutters (:D), don't worry about copyright stuff, spacefractal, just do your own 'homage' version of it or something.



Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #143 on: September 09, 2009, 09:36:14 pm
Love the Ghostbusters level :)

I do like the idea of a Hellraiser level too! Bring it on!



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #144 on: September 09, 2009, 09:40:21 pm
dont do for many movies, or it became to much of scope of MM? One or two is fine.

I think it Detective time now. Doing the ingame tune (as a another subtune).
« Last Edit: September 09, 2009, 09:41:53 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #145 on: September 09, 2009, 09:45:12 pm
dont do for many movies, or it became to much of scope of MM? One or two is fine.

I think it Detective time now. Doing the ingame tune (as a another subtune).

My idea was...

We have the 20 lost levels... and also (perhaps upon completion) open up the special secet hidden wonder themed magic super levels... These will not be accessybible from the start, but, like Warhawk... Opened upon completion, and also, a new control method... That can be used to play any level for fun....

Well.... So much time was spent on the engine, it would be nice to use it a bit more...

But.. the main thing is to get the other 20 levels done. These need to be in first so we can judge memory.

Coding for the love of it!


Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #146 on: September 09, 2009, 09:48:51 pm
Yeah, 20 regular levels and maybe just 2-3 movies (GB, BTTF and Hellraiser?). Then some more of 'regular' can be added in case Flash can dig out some more lost stuff or anyone makes some from the scratch?



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #147 on: September 09, 2009, 10:12:22 pm
and....

Clockwork orange, Friday 13th, Rocky Horror show... OH GOD!!!!

Coding for the love of it!


Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #148 on: September 09, 2009, 10:18:46 pm
Clockwork Orange, damn, that would be great!  :D

However, the best of all would be....







THE GOONIES!!!!



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #149 on: September 09, 2009, 10:25:32 pm
That would be

COOL

Though, Watership Down, and Tarka the Otter should not be overlooked ... .. lol

(I can smell your creative juices mate!!! :) )

Coding for the love of it!