Page 1 of 3

What people are working on at the moment?

Posted: Tue Jul 14, 2009 10:49 pm
by Banshaku
In Metalsmile thread about his blog ZomCoder mentioned that it would be interesting to know what people are working on at the moment.

Warning(?): wall of text coming.

We know (in no particular order) on the top of my head about Metalslime current game with is blog, Brelagad on is action game (which I hope to see more details someday), Celius Chateaulevania, Tepples love for Tetris, Tokumaru interest in Sonic and many other ones that I forget but what about the other people? That was ZomCoder question.

I mentioned that maybe people are reserved and don't want to talk about it, concerned that it's not ready or will never be finished. This is a little bit my case but the reality in life is not all project will succeed. But even thought a project doesn't reach it's intended goal, it doesn't mean that it will not bring some experience along the way (to yourself or other people in the community) to make the next project a better one.

So keeping this aspect in mind that I gain experience even when I fail, I decided that I will talk a little bit about my current one, hoping that since people will know what I actually do, it will make it easier to answer my questions because they will have the context with it.

People know that I'm working on a map editor. It's progressing but because I want too many options, want it to be perfect and don't have much time, it's not moving forward. I have a few projects in mind but creating original assets is a pain when you're not a graphic artist. So I didn't have anything useful for testing it.

One day, while checking more information about Megaman 9, I saw someone redraw the complete maps. I started to check how metatile would work, how can I implement it in my map editor (I asked a question about it in this thread). Then I thought: what if I extract the tiles from it and try to use it to test my editor? That's perfect assets since I know what to expect, will know if it works well fast and where I can improve it.

The results was this: Concrete man map

After remaking the complete map, making the color attributes works I thought, what if I push it one step further? What if I just try to make that level work on the nes? So, all of a sudden, I embarked myself on the adventure of trying to remake a Mega man 9 level, on the real nes.

Now people must be beginning to understand why I was talking so much about Megaman 9 recently. My goal is not to remake Megaman 9, that's not possible alone anyway. My intention is to "try" to reproduce as close as possible the demo capcom made, which mean one level only.

The thing that I hated the most about the demo was that you couldn't play against the boss at the end. This is one of the extra option that I want to add.

I spilled the bean. That may sound crazy, you may even laugh about it. will I be able to do this? Even I don't know. But what I know is that now that I have assets and a goal, all the experience that I will gain trying will make me a better programmer for my real projects and I will have some engine core along the way.

So now that you know what I'm working on... Be ready for many questions while trying to build my game engine :lol:

Other people want to talk about their project, even thought they seems too ambitious? Maybe I could make a blog about it like Metalslime. I don't know how much the information will be valuable thought.

Posted: Wed Jul 15, 2009 2:42 am
by Bregalad
Well, yes I'm working on a action-adventure game, and you can't say I'm reserved and don't talk about it, on the other side, I have plenty of topics where I talk about it. I'm planning to release it this year. I initially intended to develop a RPG but failed (because I wasn't a good programmer yet back then !). As you say, you gain experience as doing things. Even for my second project, I lost considerable time because I did a lot of terrible errors. As a tip to other people to not repeat my errors I'd say :

- Don't code anything until you really know at least 75% of what your game will be like. That is, you should have designed levels, enemies, play system, bosses, etc... Coding one level and wait 2 years to have an idea for a second level is NOT efficient.
- When designing stuff (maps, enemies, bosses, ...) always stop on your fist idea and don't try to search for better ideas. You can wait years having a lot of ideas and liking none of them, but this won't advance your project
- Widely doccument your project on paper and on your computer and keep it organized in a safe place
- When you start coding some difficult task, continue to do it regularly until you're done. Interrupt your task for months, and you'll be confused when you try to resume your work as you forgot how exactly you implemented it.

As for MM9 I don't know the legality of this, tepples the lawyer probably knowns this better.

Posted: Wed Jul 15, 2009 2:52 am
by mic_
If we're talking about Nintendo-related projects, then these are some of my most recent ones:

http://jiggawatt.org/muzak/xpmck/
http://jiggawatt.org/badc0de/android/fudroyd/index.html
http://jiggawatt.org/badc0de/sixpack/

Posted: Wed Jul 15, 2009 2:58 am
by Banshaku
Bregalad wrote:Well, yes I'm working on a action-adventure game, and you can't say I'm reserved and don't talk about it,
The name of the persons I mentioned are not reserved at all and talked publicly about their project. The small comment regarding you was just that I didn't hear much recently about it and was curious if it was going well. Now I have my answer since you mentioned your plan for this year. I would like to see new screen shots, if possible ;)

Bregalad wrote:As for MM9 I don't know the legality of this, tepples the lawyer probably knowns this better.
Since I'm not making a game for resale, with no intention on distribution on cart and it's is used for learning on making my engine, I don't see any issue. There is many fan games in Japan so as long that I don't make money out of it (and only one level anyway), it should be fine. And if Capcom do mind about it, I can always go see them in Osaka and talk to them :lol:

Posted: Wed Jul 15, 2009 3:07 am
by Bregalad
Well, my project wasn't going well those last month becauase I had to pass exams, but it'll going well this summer I really want it to be released in 2009 (I wanted it in 2007 originally :cry: )

XPMCK sounds like very interesting, I and Celius also wanted to join to make a cross-platform sound engine as evolved and optimized as possible, but if such a thing already exists we probably won't need to re-invent the wheel. Altough I don't know if XPCMK is "evolved and optimized" enough or not.

Posted: Wed Jul 15, 2009 3:20 am
by mic_
Altough I don't know if XPCMK is "evolved and optimized" enough or not.
It's fairly evolved, but I don't know about optimized. In particular, the player code uses up more ROM space than it would need.

Feature-wise, some of the things that are missing are

* Portamentos. You can of course do them manually with EP just like with p(p)mck, but it'd be nice to have them handled automatically.
* Virtual sound registers. The playback libraries currently writes directly to the sound chip(s).

But it does add a few things like patterns (to save space in compiled music data) and callbacks (let's you trigger a function to be called on the host CPU from your song, once or every time a new note is played).

Re: What people are working on at the moment?

Posted: Wed Jul 15, 2009 6:47 am
by MetalSlime
Banshaku wrote:
The results was this: Concrete man map

After remaking the complete map, making the color attributes works I thought, what if I push it one step further? What if I just try to make that level work on the nes? So, all of a sudden, I embarked myself on the adventure of trying to remake a Mega man 9 level, on the real nes.

Now people must be beginning to understand why I was talking so much about Megaman 9 recently. My goal is not to remake Megaman 9, that's not possible alone anyway. My intention is to "try" to reproduce as close as possible the demo capcom made, which mean one level only.

I spilled the bean. That may sound crazy, you may even laugh about it. will I be able to do this? Even I don't know. But what I know is that now that I have assets and a goal, all the experience that I will gain trying will make me a better programmer for my real projects and I will have some engine core along the way.

So now that you know what I'm working on... Be ready for many questions while trying to build my game engine :lol:
I don't think that sounds crazy at all. Sounds like an awesome project! especially for learning. And you know 100% what the end result should look like so you won't run into those sticky design problems that Bregalad mentioned. You've already got the music down great too.
Maybe I could make a blog about it like Metalslime. I don't know how much the information will be valuable thought.
If that's a serious possibility, please do! I'll read it, that's for sure!

Posted: Wed Jul 15, 2009 7:00 am
by GradualGames
I'm working on a very basic platformer game engine at the moment. Just the other day I learned the very important lesson that nobody gets attributes right on the first try. :lol: My goal is to make a simple but fun game that hopefully some retro game enthusiasts out there might enjoy playing. I want to keep it simple so I can have a finished project under my belt. Once I have a playable demo, I'll be sure to post a video about it somewhere on this site. That could be a while though. I'm working slowly, but steadily. Being married and so forth has its responsibilities =)

Re: What people are working on at the moment?

Posted: Wed Jul 15, 2009 7:29 am
by Banshaku
MetalSlime wrote:I don't think that sounds crazy at all. Sounds like an awesome project! especially for learning. And you know 100% what the end result should look like so you won't run into those sticky design problems that Bregalad mentioned. You've already got the music down great too.
I know what to expect but....! There is still things that you don't know! For example, the game music, many things cannot be remade exactly because they sampled the sound and put into a sequencer. People like Tssf or Sivak that remade the songs have experience about those pain. I learned about the explosion sound that was not possible in another thread with Neil. I had to fake the beginning of the sound with some square channels.

Then... I ended up on my first real issue. Mega man 9 uses 2x2 metatile. This part is fine but... The screen.. Are 16x14 metatiles.. At first it seems fine until you realize that you use put it on the nes, a screen 16x-->15<--(!)..

That seems not a big problem at first but it is. You cannot just put it a the top or bottom because you lose a row that will impede on the screen scrolling. The first reaction everyone will have is "just move it one tile down, problem solved!". Tsk tsk tsk.. Wrong answer. I though the same thing too. If you move it 1 tile down, you cannot have the same metatiles anymore. This generate a lot more metatile since the map is no more consistent and now the real issue: colors for the attributes tables are not possible anymore.

The solution: improvise an extra row of metatile. The first map shown in the screen shot above does it. I will have to do it for all map and try to make it look like it's the real thing.
MetalSlime wrote:
Maybe I could make a blog about it like Metalslime. I don't know how much the information will be valuable thought.
If that's a serious possibility, please do! I'll read it, that's for sure!
I never did that before though. I could complain, huh, discuss about all the pain I went through. The music is one of them right now. When you're not used to track... ohohoh.. I passed a lot of time to make some of the songs. I almost finished to make all the required ones, still a few ones left. I'm grateful that Tssf made is s3m public, that really help me to learn how to do thing.

Posted: Wed Jul 15, 2009 8:22 am
by Sivak
It's been established what I'm working on. BK:FoP

Right now I'm getting the password system to work. Then maybe a simple cutscene. After that I intend to go back and look into doing the final battle.

Posted: Wed Jul 15, 2009 8:52 am
by Jeroen
Well...my project totally kicks your project's ass. It's pong ;-)

Posted: Wed Jul 15, 2009 9:16 am
by kyuusaku
I started a platforming game I'd like to pick up again sometime. I've only got a basic engine working but I hope for it to be something like Ninja Gaiden with AI and more modern game elements.

Other (hardware) projects of mine:

-Famiclone (can't run anything except PPU data, still no CPU core since I'm stupidly trying to implement it from the 6502 schematics).

-Software PC link through FC/NES expansion port (<4k/s) for dumping carts, controlling hardware in real time, running short programs.

-Hardware PC link through PC's parallel port, very fast (100k/s) and just 4 common TTL chips. Hope to figure out the MMC3 scanline logic once and for all with it.

Posted: Wed Jul 15, 2009 9:39 am
by Bregalad
That seems not a big problem at first but it is. You cannot just put it a the top or bottom because you lose a row that will impede on the screen scrolling. The first reaction everyone will have is "just move it one tile down, problem solved!". Tsk tsk tsk.. Wrong answer. I though the same thing too. If you move it 1 tile down, you cannot have the same metatiles anymore. This generate a lot more metatile since the map is no more consistent and now the real issue: colors for the attributes tables are not possible anymore.

The solution: improvise an extra row of metatile. The first map shown in the screen shot above does it. I will have to do it for all map and try to make it look like it's the real thing.
Errr... you could set the vertical scroll to some different value ($f0 for exapmle) so the last row will be on the top and keep the last 2 rows black. Not really an issue as long as you only scroll horizontally. Even if you scroll vertically, there is no reason you can't work by having the vertical scroll take non-aligned values (I do this in my game, all screens align nicely with nametables horizontally, but not vertically, so this IS possible).

Improvising extra metatiles rows isn't wrong either. If I prot my game to the C64 I'll have to do the opposite : Remove some metatiles rows (and possibly improvise columns).

About XPMCK, does it use that "1 note = 1 byte" format, or does it so 1 note = 2 bytes like the oly MCK ? Does it support for sound effects, or if not could it be added easily into the project ? I guess I'd PM you because you know I love sound engine, and I've always wanted to make (or bring my contribution) to one who is multi-platform. Seems there is no NES version (because of PPMCK ?). But while PPMCK is nice and "elvolved", it waste ROM space (because 1 note = 2 bytes), the tempo is done at compiling and not at runtime, and the comments are in japanese :(

Posted: Wed Jul 15, 2009 10:30 am
by 2600
kyuusaku wrote:
-Famiclone (can't run anything except PPU data, still no CPU core since I'm stupidly trying to implement it from the 6502 schematics).

.
Curious, How much logic did the PPU take?

Posted: Wed Jul 15, 2009 10:34 am
by mic_
It uses 1 byte per note, as long as that note is the same length as the one specified with the latest l-command for that channel. Notes of some other length will be 3-4 bytes; one byte for the note itself, and 2-3 bytes for the duration (I use fixed point for durations).

I handle tempo at compile-time as well. Calculating the note durations at runtime would be quite a pain, especially when the q/@q-commands are used.

And yeah, ppmck is pretty much the reason why I haven't written a playback lib for the NES. Even though it has its shortcomings, it works quite well (if you're only interested in making NSFs) and supports pretty much every sound expansion chip in existence.