MMLL Development Diary

flash · 349877

Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #540 on: October 07, 2009, 11:37:11 pm
What modified story are you speaking of? I thought you're following the original story from those screenshots you posted, from some magazine?

Yes, I am.. This is the article by Rev Stu.. But.. In light of the work we have done in theming some of the levels and the such etc.. Stuart said he would like to rejig the story to fit our work. That would be nice also (for the 20 LL's)... But.. He is a busy man, so I may have to fill the story in from the mag (as you notice, I have left it pretty empty from level 10 or so onwards in readyness)

So, he better hurry up if I only have till Monday!! ULP! :)

Coding for the love of it!


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #541 on: October 07, 2009, 11:41:07 pm
Some story on later levels is missing, they need to been finished first.

If 31. okt is too early we just move it a week or when done. No problem with me, but the game is very much done. Orignally plan was actuelly 1. Nov which seen was accepted by Flash (if possible of course).

China Miner is not really needed since its a clone and not 100% gameplay suitable to Manic Miner (its might play somewhere diffecent)? I remember I did not have problem with China Miner? It seen I need to test the game again, since its some time ago I played the last.

Sam levels is funnier, since its really a Manic Miner game and hence more suitable for the Lost Level Theme as hidden levels. I found a very good sid C64 version tune of the MM theme which I can use in the bonus level. Its very aggresive, and since its very much use original graphics, the music should something been retro here as well. Howover I can not record sam sounds seperated channels.

Like the idea of the Agressive MM tune :)

I am not really sure about CM, it was a bit poo originally.. Though I could use the graphics and level for a bonus?

I have grabbed 7 of the best Coupe levels (ones with trampolines and lifts etc) and perhaps I will add them and another Blagger level, and perhaps one more original based on something different... Not sure..

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #542 on: October 07, 2009, 11:47:00 pm
Instead of CM, might been this level from Bic Mac which should been really easy to translate to a Manic Level? http://www.zzap64.co.uk/cgi-bin/displaypage.pl?issue=002&page=054&thumbstart=0&magazine=zzap&check=1. I remember its one of the first levels in the original.

The Musician for the RetroBytes Portal Projects.


Offline Lobo

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 3119
    • Spitoufs
Reply #543 on: October 07, 2009, 11:55:58 pm
So, he better hurry up if I only have till Monday!! ULP! :)

Yes, he have until Sunday then. If not, you always have the original text as I did notice it's not incorporated into some of the levels yet.



Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #544 on: October 08, 2009, 08:12:38 am
The Xm7Play (I guess the name can been confusion with the other XmPlay I sometime talk about?) player "blackout" (but still play the song) the screen soon after it start (when I testing the 8 bit versions), but the tunes got played and does not crash.

It's saving your NDS batteries, if you want to turn on the screen simply touch it. Keep it touched if you need to read what's written there. Optimization (for 8 bits samples) is described in the form of 8xy where 'x' can be 0,1,2,3 and 'y' can be 1,2,4. (but you won't ever see 801, that would mean no optimization needed)

'x' value means how many 8 bits samples were added to the beginning of the sample to achieve the 32 bit boundary requirement on the NON-looping part of the sample (this part length should be multiple of 4)
'y' value means how many times the optimizer 'cloned' the looping part of the sample (also this, the loop length, should be multiple of 4 to meet the hardware requirement of 32 bit boundary for figures)

Optimizer works only on samples with loop. And since the hardware doesn't support ping-pong loops in samples, those are converted (by the loader, not by the optimizer) to forward loops 'unrolling' the loop.

I hope all that explained well enough... if it's not I beg your pardon and I'm here to help :)

Bye!

edit: I forgot to mention that the optimizer is a feature of xm7Play, so actually tunes will play better with xm7Play than how will play in MMLL (of course only when the optimizer actually works...)
To disable xm7Play optimizer (to hear differences) keep L shoulder key (or R shoulder key) pressed when loading a tune. :)

« Last Edit: October 08, 2009, 09:02:35 am by sverx »



Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #545 on: October 08, 2009, 02:43:17 pm
Its should been stated the game is best played with the heardphone [...]

I think every DS owner already knows that music quality with headphones is higher... I personally think you should do your best to make each tune sound as good as possible with speakers. :) (I was sure you'd find that the speaker output on real hardware far from perfect...)

Bye!

« Last Edit: October 08, 2009, 02:43:46 pm by sverx »



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #546 on: October 08, 2009, 03:03:55 pm
Ok, let's try to do that together...

Code: [Select]
       u16 State;                      // at offset: 0
        char ModuleName  [20];    // offset: 2
        char TrackerName [20];    // offset:22
        u16 ModuleLength;           // offset:42
        u16 RestartPoint;             // offset:44
        u8 NumberofChannels;      //  offset:46
        u8 NumberofInstruments;   //        :47
        u16 NumberofPatterns;     //        :48
        u8 FreqTable;                  //      :50
        u8 DefaultTempo;             //     :51
        u8 DefaultBPM;                //     :52
        u8 PatternOrder[256];      //    :53
        u16 PatternLength[256];    // :54
        XM7_SingleNoteArray_Type* Pattern [256];     // :56
        XM7_Instrument_Type* Instrument[128];        // : 312
        u8 CurrentTempo;              // :824
        u8 CurrentBPM;                 // :825
        u8 CurrentGlobalVolume;     // :826
        u8 CurrentSongPosition;     //  :827
        u8 CurrentPatternNumber;   //  :828
        u8 CurrentLine;                 //  :829
        u8 CurrentTick;                //  :830

Should be correct. Now I think I'll change this order in next release... I've never realized it's so bad.  :-X



Are you sure the offsets are correct? I can grab number of channels, but pattern number, pos etc give static values?

Coding for the love of it!


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #547 on: October 08, 2009, 03:13:36 pm
Are you sure the offsets are correct?

No, I'm not. I can double check but I'm not even really sure I can calculate them correctly ...

edit: no, it's wrong from the half on...

Code: [Select]
       XM7_Instrument_Type* Instrument[128];        // : 1080
        u8 CurrentTempo;              // :1592
        u8 CurrentBPM;                 // :1593
        u8 CurrentGlobalVolume;     // :1594
        u8 CurrentSongPosition;     //  :1595
        u8 CurrentPatternNumber;   //  :1596
        u8 CurrentLine;                 //  :1597
        u8 CurrentTick;                //  :1598

I can grab number of channels, but pattern number, pos etc give static values?

This seem the ARM9 cache doing his work. Try flushing the cache before reading those, it worked for me.
(and I guess you mean to read those with names starting with Current, right? Other values aren't changing...)


Don't mind this ;)



« Last Edit: October 08, 2009, 03:19:19 pm by sverx »



Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #548 on: October 08, 2009, 03:25:53 pm
bugger,

I give up for now...

The offsets give me 000000 on all current values. Tempo, channels etc are fine?

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #549 on: October 08, 2009, 05:18:08 pm
I think every DS owner already knows that music quality with headphones is higher... I personally think you should do your best to make each tune sound as good as possible with speakers. :) (I was sure you'd find that the speaker output on real hardware far from perfect...)

Bye!



its first recently I have heard the tunes from the lite speakers. I do fix most problem tunes, so example even without bass its still fully listable.

In the Jukebox Section I like you could flip from the last song til the first song and the other way....

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #550 on: October 08, 2009, 05:39:46 pm
In the Jukebox Section I like you could flip from the last song til the first song and the other way....

Oh! you would, would you?

You make more demands than the wife LOL

I will see what I can do mate :)

(I only left that out as i was not sure how many tracks I would have.. I will add a check to the code)

ps.. Should all tunes be available in the justbox or just ones you have heard in the game?? So, you add to the jukebox as you progress?

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #551 on: October 08, 2009, 06:15:43 pm
For the PS, its was the original plan so they first unlocked after heard in the game, but not needed to complete that level (titles could still been shown, but with a lock and cant play it)... Title, Gameover and Hiscore and first level should allready to been unlocked (since you would heard them anyway first time you play, so they are nowhere secrets at all) and they should play in the order first heard in the game and not after filename.



The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #552 on: October 08, 2009, 06:24:08 pm
Ok,

Once we have all the music intact, then I will add that to the jukebox.

I have been fairly busy adding stuff today.

The highscore now has a fun particle effect that you can play with (it is affected by entering letters)
The highscore face smiles more depending on how high the score is ranked
Normal completion has now got some animation (level skip to see it)
2 more levels added, both from coupe. One has Trampolines in it.
Some bug fixing
Found a nasty bug that could have caused every sprite to be shifted x pixels left or right. In my sprite code, I had left the horizontal movement code intact (From Warhawk), so.. If register 4 contained anything other than 0 when drawSprite was called, the sprites would all shift that amount.. HA HA!
« Last Edit: October 08, 2009, 07:08:29 pm by Flash »

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #553 on: October 08, 2009, 07:01:39 pm
they I did not spotted that on :-D.

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #554 on: October 08, 2009, 09:10:19 pm
Ok,

I HAVE decided that the game will contain 50 levels..

20 Lost Levels (The main ones)
10 Willywood (Our fun level bank)
20 secret levels (ha ha - nicked from other games with perhaps a couple of levels with new things in them)

Hopefully I can get this all done on time.. It really all depends on work!

There is still a lot of little effects I want to add to the last 10 lost levels and some more for the Willywood levels (one is a swaying flag on the Goonies level - when I work out the best way to add that)

Also.. I am a bit lost at the completions... Do we go for an animated screen, or should there be more? I like the LL completion, but it needs a little story to finish it all up - perhaps he decided to go home and watch casablanca on that DVD he bought from the strange Chinese shop he had not noticed before LOL...

Oh so much to do!!!

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #555 on: October 08, 2009, 10:02:21 pm
I head elevators would been one of the secrets level, then the floating platform could been back to the back on the future (the orinally idea with the moving hover board), but that is not required since the level does works fine.

I guess all secrets levels apart few levels would use sam graphics?

I would also really want this game to been seen on PC later points someday, but I guess its DS exclusive.

There need some story, since he take very many places on the MM which seen not connected from level to level, but the story could do a big part for that. So story would been really important, but is not really needed for the secret levels?

How much memory do we have left, I think we still have very much? Good idea to I sticked to the 8 bit versions of the songs.

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #556 on: October 08, 2009, 10:45:28 pm
We have about a meg left.. So, all should be fine mate.

There will be more story for the main levels later

There is not a story for bonus levels, but I just went for a description and little bit of 'rubbish' humor as the text still needs to be there

There are no elevators. in the sam coupe version there were areas that lifted you - more like esculators i suppose.. I have not added them yet - I may do.. The trampolines are in

I will send you a demo with all the bonus levels unlock (finished ones only)

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #557 on: October 09, 2009, 07:04:41 am
the hiscore is pretty nice...... No need to do the tune longer if you ask me and its fine I got the replay tune shorter which also works fine. For short names i normally use spacef or just sf, but is still nice.

The Musician for the RetroBytes Portal Projects.


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #558 on: October 09, 2009, 07:16:43 am
The offsets give me 000000 on all current values.

Wrong offsets again? Groan... let me check once more again...

btw yesterday I found a strange bug in the latest beta: sometimes when Willy dies hitting an enemy, the sound effect doesn't play. I can reproduce the bug but it's hard to describe... seems it happens when Willy is jumping and he hits an enemy when in the descending part of the jump... try with King Kong level, jumping against the airplane flying in the lower right corner.




Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #559 on: October 09, 2009, 07:22:42 am
SF: I've got a request ;) Listen to this organ:

can you modify the volume envelope of the organ in your XM to sound more like this one? I love how this sound (don't you?)  8)




Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #560 on: October 09, 2009, 07:23:36 am
I think that is now sorted, also, sometimes the explosions do not sound when a wall is removed.

Not really sure why this happens, but hopefully it will work ok now?

Coding for the love of it!


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #561 on: October 09, 2009, 07:41:16 am
Uff, found another error. Next time I'll make a program to print those offsets instead of trying to calculate them with my brain A-B-someone.

Code: [Select]
       u16 State;                      // at offset: 0
        char ModuleName  [20];    // offset: 2
        char TrackerName [20];    // offset:22
        u16 ModuleLength;           // offset:42
        u16 RestartPoint;             // offset:44
        u8 NumberofChannels;      //  offset:46
        u8 NumberofInstruments;   //        :47
        u16 NumberofPatterns;     //        :48
        u8 FreqTable;                  //      :50
        u8 DefaultTempo;             //     :51
        u8 DefaultBPM;                //     :52
        u8 PatternOrder[256];      //    :53
        u16 PatternLength[256];    // :310          (here was another error)
        XM7_SingleNoteArray_Type* Pattern [256];     // :824
        XM7_Instrument_Type* Instrument[128];        // : 1848
        u8 CurrentTempo;              // :2360
        u8 CurrentBPM;                 // :2361
        u8 CurrentGlobalVolume;     // :2362
        u8 CurrentSongPosition;     //  :2363
        u8 CurrentPatternNumber;   //  :2364
        u8 CurrentLine;                 //  :2365
        u8 CurrentTick;                //  :2364

« Last Edit: October 09, 2009, 07:43:01 am by sverx »



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #562 on: October 09, 2009, 07:47:32 am
The reverb was pretty hard to emulate in XM and unlimithed channels like the church organ (which is that way the music should been played and sound :-D). I can only do a cheat reverb on release which I have tried to "longer" it a bit. Also fixed some notes to use 2 channels instead of one (in one part of the music).

The Musician for the RetroBytes Portal Projects.


Offline sverx

  • RBP Member
  • IBM PC
  • *****
    • Posts: 516
  • "Ow!!! What's that ?!?!"
    • My NDS folder
Reply #563 on: October 09, 2009, 08:02:25 am
I can only do a cheat reverb on release which I have tried to "longer" it a bit.

Yes, I was talking about that. I think the volume after the release should drop very fast (drop at a lower level than how's now) but the note should be kept playing like it's currently.




Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #564 on: October 09, 2009, 10:47:58 am
I see 2 hidden which use new graphics, rest using old graphics? Something which work like random?

I think a new game mode could been "Oldies but goldies" for the hidden levels which got unlocked when first have found and then played from the menu. I also think all levels should use retroand/or grabbed graphics (except the spectrum one which ok to got "swapped" with the MMLL level) without backgrounds? With this in mind its would give more mean with the hidden levels which have been added recently.

I have a plan to do a C64 style music, which would been based something like DEMOS/A-F/Falu_Mix.sid, spectrum.xm can been used in the spectrum level as well on the blagger level which could have made on spectrum with same graphics.

EDIT:
I have done the C64 like version using some samples from Falu_Mix.sid as well snare from a another sid song and of course only use 3 channels (the delay effect on the main instrument in the start use 2 channels, so it leave snare and bass on same channel).

« Last Edit: October 09, 2009, 05:36:40 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #565 on: October 10, 2009, 08:53:20 am
I found the hidden level in "airlock" (nice spot)....

Another some tweaks:

1. I think it should show something "hidden level found", then it change to the hidden level found, complete the hidden level, and go back to the level where he heft (with few secs more airtime) with the position the hidden level found as well the keys still have left.. The hidden level can also been played just after played the regular level.

2. Another problem is now you can get much higher highscore for playing LL levels than the Movie Levels, so I think you should get some bonus score after completed the gamemode and possible to play the another gamemode after completed the first mode once (you should start either in Lost Level or WillyWood). In this way all 50 levels could been played in the same game.

3. Also should some levels not been hidden in the movie levels as well (I think somewhere 13 in the LL and 7 in Willywood)? Not all levels really need hidden levels.

4. What do it happens if you get a one million (now all 50 levels can been played in row with above tweaks)? I do still think should show 6 numbers, but show the extra one if the million is reached (I did that in Cave Heroes).
« Last Edit: October 10, 2009, 08:57:47 am by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #566 on: October 10, 2009, 10:21:03 am
Thanks for the post SF,

1. I want to keep the gameplay of the levels continual as I think jumping to a bonus level once found will disrupt the story really. Though I can look into a way to make it say "bonus level discovered" somewhere without interupting play. Perhaps a sample will do that job?

2. with the highscores between 20 LL and 10 WW levels, the only way to even them up is to get double points for everything in WW levels and double points for the level completion air left score.

3. Levels will be hidden in the WW levels when I have added them. Also perhaps levels can be unlocked from a Bonus level too LOL

4. you should never be able to get a 6 digit score. The maximum amount of levels that can be played in one game is the 20 LL.

Phew!

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #567 on: October 10, 2009, 11:18:21 am
I do not like the double up for the movie levels, simply because it would been easier to get highscore here instead.

You could add a another game mode and let it call "oldies" or "secret" or such game mode, and then play as they was in own "game" only on levels you have found.

Then you should been able to let the user countinue after completed 2 game modes without resetting the score and lives. Just do a "countinue play on a new gamemode" feature on the complete screen, which you can do that once on each gamemode. That would do the job too. You should not been able to replay a gamemode using that feature.
« Last Edit: October 10, 2009, 11:24:43 am by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #568 on: October 10, 2009, 01:46:22 pm
I will give it some thought... Any suggestions from anyone else?

I personally want to keep one set of highscores.

The LL and WW levels sets as individual game modes and the bonus levels as single playable levels that you can just play for fun once you unlock them. I don't really want the bonus levels to become another game mode.

With how to set the highscores? hmm..

Coding for the love of it!


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #569 on: October 10, 2009, 02:14:41 pm
do 2 high score tables is best? And let bonus let bonus. For bonus levels no score?

The Musician for the RetroBytes Portal Projects.