gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS homebrew announcements > Bilou in School zone: full playable level.

#170338 - PypeBros - Thu Sep 17, 2009 10:07 am

Here comes at last the new playable demonstration of my game engine on the Nintendo DS and a two-level game featuring Bilou, my blue and round mascot. Dodge angry applemans, avoid getting stomped by the funky funghis and collect enough apples to pass through the tree-with-a-sign (see picture on the left).

early demo (green zone) -- "Apple Assault" pseudo-arcade game (2012 revision) -- Bilou in School zone: full playable level.

You move Bilou (the blue hero) with the Dpad and jump with X or Y. Only yellow Woodworms can be stomped for now.

In this new release:

* sound & music by Pierrick Hansen thanks to 0xtob's libntxm,
* ease-of-use thanks to Noda's EFS
* new monsters
* improved controls
* one extra (draft) level
* 5 hitpoints per lives and unlimited lives
* a few hidden places you needn't to find
* some more gfx
* parallax scrolling

yet, this is still work in progress. your comments are welcome on any aspects.
screenshots available on the blog entry
_________________
SEDS: Sprite Edition on DS :: modplayer


Last edited by PypeBros on Mon Oct 21, 2013 1:14 pm; edited 5 times in total

#170343 - gauauu - Thu Sep 17, 2009 2:45 pm

Wow, looks really nice!

#170364 - Kojote - Sat Sep 19, 2009 5:00 am

it's really progressing in an excellent way! go go go! :)
_________________
Kojote
PDRoms - Retroguru - Giana's Return - Speckdrumm

#170396 - sverx - Mon Sep 21, 2009 9:36 am

PypeBros wrote:
* sound & music by Pierrick Hansen thanks to 0xtob's libntxm


I think 0xtob's libntxm has yet uncomplete XM support or am I wrong?

So I suggest you to choose either eKid's MaxMod or (my) libXM7, just choose the one that fits you better :)

#170398 - PypeBros - Mon Sep 21, 2009 2:37 pm

sverx wrote:
PypeBros wrote:
* sound & music by Pierrick Hansen thanks to 0xtob's libntxm

I think 0xtob's libntxm has yet uncomplete XM support or am I wrong?


Indeed, libntxm was fairly uncomplete by the time i started the project, so i have spent a few monthes adding effects support to it, refactoring code here and there, etc. I don't have support for all the XM effects, of course, but i'm quite comfortable with how 0xtob organised his work and I somehow feel "home" in the code.

I'll get a look at your code anyway. It's a topic i'm always eager to explore since my 6-tracks S3M player in x86 assembly back in '97 ...
_________________
SEDS: Sprite Edition on DS :: modplayer

#170399 - sverx - Mon Sep 21, 2009 3:02 pm

PypeBros wrote:
Indeed, libntxm was fairly uncomplete by the time i started the project, so i have spent a few monthes adding effects support to it, refactoring code here and there, etc. I don't have support for all the XM effects, of course, but i'm quite comfortable with how 0xtob organised his work and I somehow feel "home" in the code.


Oh, good! I didn't read that! :) That could also be useful to 0xtob to expand his NitroTracker too :)

Btw -in case you'd need it- libXM7 already has complete XM effects support, complete volume effects support and instrument volume and panning envelopes and 'auto-vibrato'. I guess MaxMod does that too.

#170400 - PypeBros - Mon Sep 21, 2009 3:09 pm

sverx wrote:

Oh, good! I didn't read that! :) That could also be useful to 0xtob to expand his NitroTracker too :)

Yeah, i returned my modifications to 0xtob back then, but i also had to alter some of the player's internals to make so and we haven't progressed much into harmonizing both version since then (other priorities for both of us, i guess).
Quote:

Btw -in case you'd need it- libXM7 already has complete XM effects support, complete volume effects support and instrument volume and panning envelopes and 'auto-vibrato'. I guess MaxMod does that too.

I've checked your website, but it doesn't look like you're releasing the sources of libXM7, and i am ultimately aiming an open-source set of game-maker tools to run on the DS, so the soundplayer needs to be open-source as well.

Thanks anyway :)
_________________
SEDS: Sprite Edition on DS :: modplayer

#170420 - sverx - Tue Sep 22, 2009 11:28 am

PypeBros wrote:
I've checked your website, but it doesn't look like you're releasing the sources of libXM7, and i am ultimately aiming an open-source set of game-maker tools to run on the DS, so the soundplayer needs to be open-source as well.


I see. Yes, I'm not planning to release the source, still.

#170423 - PypeBros - Tue Sep 22, 2009 12:30 pm

sverx wrote:
I see. Yes, I'm not planning to release the source, still.

A choice i can understand.

Still, if you had a comment/warning to give to a fellow modplayer programmer about XM replay on the DS, what would it be ? Having loops to work properly required wisdom from 0xtob, and i haven't tried to get the envelopes fully working.
Any effect/thing i should take extra care of when i'll try and implement it?
_________________
SEDS: Sprite Edition on DS :: modplayer

#170425 - sverx - Tue Sep 22, 2009 1:08 pm

PypeBros wrote:
Still, if you had a comment/warning to give to a fellow modplayer programmer about XM replay on the DS, what would it be ? Having loops to work properly required wisdom from 0xtob, and i haven't tried to get the envelopes fully working.
Any effect/thing i should take extra care of when i'll try and implement it?


Mmm... in general, I don't know. There are some very complicated things (at least I encountered them while coding my lib) and A LOT of beta testing is needed. And then there's that 32bit boundary on samples you already know, and DS hardware also doesn't support ping-pong loops so you've got to convert them somehow.

btw feel free to ask (here on in libXM7 support forum) if you've got questions. Not releasing the source of my lib doesn't mean I can't help someone that wants to do something similar, uh? :)

#175186 - PypeBros - Wed Sep 22, 2010 2:30 pm

Have you missed it ? Here's an engine update, turned into a funny mini-game where you have to survive waves of apples that assault you.

As far as NTXM is concerned, I bring in support for volume effect commands, Bxx and sub-tune selection from the game.
_________________
SEDS: Sprite Edition on DS :: modplayer

#175190 - keldon - Thu Sep 23, 2010 1:55 pm

Oh wow that looks awesome!

#175402 - PypeBros - Sat Nov 13, 2010 5:47 pm

updated
_________________
SEDS: Sprite Edition on DS :: modplayer

#175619 - PypeBros - Fri Jan 07, 2011 11:24 am

sources released.Happy new year ;)
_________________
SEDS: Sprite Edition on DS :: modplayer

#177240 - PypeBros - Mon Feb 06, 2012 10:20 am

gameplay adjustment update, and a new scrolling approach, too.

If you used to camp in a corner and wait for apples to come near for maximum jumping combos, I'm afraid you'll experience Berry Bat Things with this new release of AppleAssault: a bat-like berry will indeed come and tease you if the "remaining apples" counter stays at the same value for "too long".

That should keep the game challenging even for those who finally found it too easy and stopped playing it. That's likely to be the latest update of this game: the game engine is almost ready to work with compound animations created with AnimEDS, so I'll finally be able to work on a demo located in the school zone.
_________________
SEDS: Sprite Edition on DS :: modplayer

#177386 - PypeBros - Wed May 23, 2012 8:04 am

a new "zone" is under construction ... here's the first preview
on my blog
_________________
SEDS: Sprite Edition on DS :: modplayer

#177387 - SchmendrickSchmuck - Wed May 23, 2012 12:03 pm

Your blog is one of the most interesting blogs on game design I have found. Plenty of research results and issues discussed.
I'm really interested in how you handle the scripting stuff. As I'm working on a DS-only development chain as well, I have yet to find a way to make this fast and efficient.

Good to see you're still going! I'll check it out later today.

PS: A small suggestion for your blog; perhaps place the archives a bit higher up? With it being all the way at the bottom, reading through older posts becomes more of a hassle than it needs to be
_________________
http://DSLiero.DennisvanZwieten.com - Liero for NDS!

#177389 - PypeBros - Wed May 23, 2012 9:58 pm

@Schmendrick: thanks for the attention. I'll look at options to make the timeline navigation more accessible.

Otherwise, as far as scripting is concerned, the major trick is to define the most suited data structures so that 90% of the script can be converted into constructors and setters invocation at load-time, and then have a static datastructure that best represents your game logic. I drew inspiration from the UML state model, personnally.

At some point, for instance, it required the introduction of so-called controllers, which are small classes that handle in C++ some common behaviour such as "walk along the floor, following slopes", "move towards another entity" or "slow downs until you reach speed X". I can then define the core behaviour of, say "attack" state with a chain of "track hero ; momentum 0.7 ; walk_along_slopes" rather than having to do all that at script level, for every frame as a typical lua-based game engine would do.

I still have some more "functions"-looking aspects, for instance conditions and actions when some events happen, for which I used a simple stack expression evaluator, and use something that is close to human-readable bytecode which I indeed convert into a stream of bytes for switch() statements. That part is LGPL, if you're interested.
_________________
SEDS: Sprite Edition on DS :: modplayer

#177412 - SchmendrickSchmuck - Thu May 31, 2012 1:37 pm

Cool, thanks for the tips. Gotta read through your source, and I'll be sure to finish up reading your blog :p

I finally had a look at the demo. I'm really digging the smooth animations.
I ran into some weird stuff though:
1) Bilou's body seemed to flicker while walking on the floor
2) Stairs only collide when walking on them from the bottom; jumping on them doesn't work
3) How do I get out of debug mode? Once I'm in I can only forward one frame at a time with the L button, all other buttons don't help me
4) More bouncing!
_________________
http://DSLiero.DennisvanZwieten.com - Liero for NDS!

#177429 - PypeBros - Fri Jun 01, 2012 12:30 pm

SchmendrickSchmuck wrote:
Cool, thanks for the tips. Gotta read through your source, and I'll be sure to finish up reading your blog :p

Feel free to drop comments wherever you see fit :)

Quote:

I finally had a look at the demo. I'm really digging the smooth animations.
I ran into some weird stuff though:
1) Bilou's body seemed to flicker while walking on the floor
2) Stairs only collide when walking on them from the bottom; jumping on them doesn't work

Point taken. Most of this is due to the "transition" between the two animation flavour, but you're right: it's something I need to care about.

Quote:

3) How do I get out of debug mode? Once I'm in I can only forward one frame at a time with the L button, all other buttons don't help me

L+START does the trick. Debugging is disabled in real releases, I updated the "InspectorWidget user guide" accordingly.

Quote:
4) More bouncing!

When falling from huge heights ? when bomping into walls/ceil ? when bopping on dumblador's "forehead" ?
_________________
SEDS: Sprite Edition on DS :: modplayer

#177565 - PypeBros - Sun Sep 02, 2012 12:46 pm

Hey there, I've used my neoflash-submitted animation editor to revise all the character's animations. There are some graphics update too, and other subtle engine refinements.

Enjoy Bilou: Back to School. (project hosted on sourceforge)
_________________
SEDS: Sprite Edition on DS :: modplayer

#177737 - PypeBros - Mon Dec 31, 2012 3:44 pm

Special xmas gift: an updated demo where you can grab and carry stunned dumbladors, and throw them all.

Beware: dumbladors recover as soon as they grabbed two wandering feet.
_________________
SEDS: Sprite Edition on DS :: modplayer

#178112 - PypeBros - Mon Oct 21, 2013 1:09 pm

At last, a full playable level in the School Zone. As the blue-ball character is turning 20 this month, your goal is to collect all the letters in order to unlock pictures (on the title screen) that will reveal the history so far.
_________________
SEDS: Sprite Edition on DS :: modplayer

#178113 - sverx - Tue Oct 22, 2013 8:58 am

Going to try that ASAP! :D
_________________
libXM7|NDS programming tutorial (Italiano)|Waimanu DS / GBA|A DS Homebrewer's Diary

#178114 - PypeBros - Wed Oct 23, 2013 3:58 pm

sverx wrote:
Going to try that ASAP! :D

Thanks sverx. I'd love to have your feedback on the usability of the software for a seasoned homebrewer.
_________________
SEDS: Sprite Edition on DS :: modplayer

#178115 - PypeBros - Sat Oct 26, 2013 3:21 pm

Fixes for sound, camera and level loading issues.
_________________
SEDS: Sprite Edition on DS :: modplayer

#178119 - sverx - Mon Oct 28, 2013 11:26 am

mmm... does libNTXM supports all the XM effects, really? I remember last time I read that it wasn't.
Just in case, you might be interested in my good old libXM7 ;)
_________________
libXM7|NDS programming tutorial (Italiano)|Waimanu DS / GBA|A DS Homebrewer's Diary

#178120 - sverx - Tue Oct 29, 2013 3:32 pm

I tried the game, impressive :) Anyway I really suck at playing it, but it doesn't mean a lot, I generally suck at playing games :D
_________________
libXM7|NDS programming tutorial (Italiano)|Waimanu DS / GBA|A DS Homebrewer's Diary

#178121 - PypeBros - Tue Oct 29, 2013 5:00 pm

sverx wrote:
mmm... does libNTXM supports all the XM effects, really? I remember last time I read that it wasn't.
Just in case, you might be interested in my good old libXM7 ;)


libntxm does not support effects out of the box, but I brought most of the effect in myself. It's a bit difficult to merge that back into ntxm tracker, unfortunately, as I had to change some core data structures, but the "fork" is open-source so anyone with clues on 0xtob's preference would be able to bring effects back into the other tools.
So I have:
+ arpeggio
+ offset
+ volume slide
+ set volume
+ porta_to_note, porta_up, porta_down
+ vibrato
+ break, jump to order, set tempo, set speed, set loop

and for the 'volume column' commands,
+ volume slide,
+ fine volume slide
+ vibrato control
+ vibrato
+ porta-to-note.

I'm missing panning effects, I think. I haven't investigated a lot in those aspects of the DS sound hardware. I think envelope support could be better, too, but again, I never really tested those features: I tend to develop-on-demand based on what my composer friend produce, who in turn tends to stick to MOD effects.

Quote:
Just in case, you might be interested in my good old libXM7 ;)


We had the "why not libXM7" point discussed in the past, and the fact I want the game engine to remain open source somehow ruled it out, as libXM7 was closed-source by then.

Quote:
I tried the game, impressive :)

Thanks ^_^.
_________________
SEDS: Sprite Edition on DS :: modplayer

#178122 - sverx - Wed Oct 30, 2013 6:05 pm

PypeBros wrote:
libntxm does not support effects out of the box, but I brought most of the effect in myself.

I see
PypeBros wrote:
We had the "why not libXM7" point discussed in the past, and the fact I want the game engine to remain open source somehow ruled it out, as libXM7 was closed-source by then.

Really? Wow, I completely forgot that. Yes, libXM7 isn't open source... mmm... well.
_________________
libXM7|NDS programming tutorial (Italiano)|Waimanu DS / GBA|A DS Homebrewer's Diary