Page 2 of 3

Posted: Wed Jul 15, 2009 12:01 pm
by Kasumi
The reason I don't like posting about my projects is that I take LONG breaks from programming, and would rather not feel I'm disappointing people who are waiting for my them. Plus I kind of like coming out of nowhere and saying, "Here's a finished game."

While I'm not doing anything NES related now, (I'm currently on a LONG break from programming and am drawing/painting instead) my current project is an original platformer with REALLY nice and sophisticated physics that will probably be so abysmally difficult to program that I'll give up before you hear any more about it. It's a platform game that will be able to support slopes of any size, and the player can manipulate the main character's trajectory in a lot of different ways. (Technically it'll be easy to make work, but difficult to make it fast enough that it won't slow down often) If I ever get it working, it will also have some pretty neat multiplayer things. Both competitive and cooperative.

The entire game is pretty much planned out on paper. (except for the design of each level which is the "easy" part) I've got my compression worked out, but it could be better. I've got the moves of the character planned out. I've mapped out all of my collision detection "rules". A few could use tweaking, to decide whether or not to force the character out of a wall or steep slope. I've got my scrolling worked out, and my sprite engine and sprite scrolling already work. A lot is planned. I really just need to actually DO it. But that's how I am. I stop working on something when I'm really close to a breakthrough. (same thing happened with GalaxyNES. But no one knew it happened since it was developed in secret.)

I also plan out updating GalaxyNES someday... that game never got the response I wanted it to.

Posted: Wed Jul 15, 2009 1:12 pm
by never-obsolete
I like reading about other people's projects, it motivates me to work on my own. :D

For the last month or so I've been working on a music engine. I put it off for a long time because I didn't know where to even begin. Now I see that writing the code is the easy part, it's composing the music that's difficult. Once I get a "version 1.00", I plan on finally finishing my Pitfall! and Cat Killer demos.

Aside from that, I have a tactical (strategy?) rpg that's coming along nicely. It draws inspiration from Liberty or Death (snes), The Romance of the Three Kingdoms and Fire Emblem series.

My other project is an American Football game that I only work on when I need a break. Needless to say, it's still pretty early in development.

Posted: Wed Jul 15, 2009 1:52 pm
by Bregalad

I also plan out updating GalaxyNES someday... that game never got the response I wanted it to.
That's probably because it was so insanely difficult that none of us ever beat the first level....


Aside from that, I have a tactical (strategy?) rpg that's coming along nicely. It draws inspiration from Liberty or Death (snes), The Romance of the Three Kingdoms and Fire Emblem series.
Oh my god this is awesome ! I was going to plan one too, but need to finish my current game first. I am a fan of Fire Emblem and others TRPGs.

Posted: Wed Jul 15, 2009 2:54 pm
by Zepper
What people are working on at the moment?
- Twitter, anyone?

Posted: Wed Jul 15, 2009 3:44 pm
by kyuusaku
2600 wrote:Curious, How much logic did the PPU take?
It's around 300 Xilinx slices, mostly from the registers, plus a dual port RAM macro for OAM. I think the entire clone can fit into a <200K gate FPGA as long as it has the necessary block RAM.

Posted: Wed Jul 15, 2009 3:57 pm
by Kasumi
Bregalad wrote: That's probably because it was so insanely difficult that none of us ever beat the first level....

Beat the first Level? There are no levels in Galaxy NES. Nor are there levels in Geometry Wars. What led you to believe you could "beat a level"? It's a game entirely for high score, like asteroids. Complaints about the controls not being like asteroid were fine, but this comment puzzles me. PM me, since I don't wanna completely derail the thread.

Posted: Wed Jul 15, 2009 5:01 pm
by BMF54123
Image

A competition hack with kicked-up difficulty and some new features for a little party I'm going to. (The B, A, and D are a bit squished due to the 8-sprite limit.)

I also made an MP3 player that hooks FCEUX's memory and plays a track based on the contents of a specific NES RAM address, which will be used with the aforementioned hack. I might clean it up a bit and release it to the public, but thanks to my extremely sub-par Delphi programming skills, it only works with a specific version of FCEUX, and probably only on my machine. :P

Re: What people are working on at the moment?

Posted: Wed Jul 15, 2009 5:51 pm
by tepples
Banshaku wrote: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.
To put Bregalad's suggestion another way, what happens when you scroll the screen to y=232?

Re: What people are working on at the moment?

Posted: Wed Jul 15, 2009 7:21 pm
by tokumaru
tepples wrote:To put Bregalad's suggestion another way, what happens when you scroll the screen to y=232?
I suggested this to him, but apparently there will be issues when scrolling vertically.

Posted: Wed Jul 15, 2009 8:13 pm
by Banshaku
People seems very busy, good to know!
Jeroen wrote:Well...my project totally kicks your project's ass. It's pong ;-)
Arggg! I knew I made the wrong choice! ;) But seriously, I'm not making it because I'm a big mega man fan, not really. I'm more into Ninja gaiden and castlevania but still like megaman. It just happened after trying to reproduce the map with my editor. I will give it a try. I hope I can learn enough trick so it will be easier to make my own original game.

@kyuusaku:
Something like Ninja gaiden? You got me interested already! Hardware stuff.. Would love to be able to play with those things someday.

@Kasumi:
We have to take breaks sometime and it's normal. Good to see you're thinking about your next game.
Kasumi wrote:I also plan out updating GalaxyNES someday... that game never got the response I wanted it to.
I didn't know about that, good that you talk about it. I will give my comment then. Regarding your game, it was a nice one but I'm not into those infinite game just for scoring points. what made me interested in the nes was side scroller with a goal. This is what made the difference for me. One screen game like pac man never kept my interest.

Regarding Bregalad comment, I guess he mixed by accident with another shooter game that was very hard to pass the first level. I forgot the name of the person who made it. It was based on a game made on another system, a thruster game.

@never-obsolete:
American Football game? Interesting. Sim or action based?

@Fx3:
I'm not into social networking thing so I don't know what you're talking about for twitter (never used it, just heard the name). Good job on your hard work on your emulator by the way. I forgot to mention people that other things than games in my list.

@BMF54123:
Good pun on the name, like it :P

@Tepples/@Brelagad/@Tokumaru comment about scroll:

At first, I tough of moving "literally" 1 tile down in the name table data (I'm new to the nes so I always do things the hard way :lol:). Now I see what you mean by scrolling -8 pixel to put the 2 black rows at the bottom 1 at the top and other at bottom.

For a side scrolling that goes only left and right, this is a good idea. For mega man game, you have to scroll up and down for changing part in the level. The black bar becomes an issue. I checked all 6 mega man game on how they update the name table while scrolling up and down and none have black bar, all the screen is filed even thought you don't see all tile rows. If someone have a trick to remedy this issue I'm all ears because I would prefer to keep the map as accurate as possible, without the need to improvise but I think it's not possible. hmmm...

I'm happy to have talked about my crazy(?) project used for building my next engine for my real game. It's a lot easier to explain my issue now that people now the context.

Edit:

I found the game maybe Bregalad mixed up by accident. It's a game by Smkd mentioned here.

Posted: Wed Jul 15, 2009 9:16 pm
by Zepper
<offtopic>
I'm not into social networking thing so I don't know what you're talking about for twitter (never used it, just heard the name)
- It was a trick, nobody has noticed. Fine. ^_^;; The Twitter asks "What are you doing?" and you can "answer" it, like a micro blog.</offtopic>

Posted: Wed Jul 15, 2009 9:29 pm
by Banshaku
Fx3 wrote:- It was a trick, nobody has noticed. Fine. ^_^;; The Twitter asks "What are you doing?" and you can "answer" it, like a micro blog.
Ah! it was a joke based on the title of this thread. I get it know, sorry I was slow a little bit.

Offtopic: I was going to say that I wanted to download your emulator but there was no version on your site these days but by doing a quick check now I just realized that you just updated it recently with version 5. I think you didn't mention it here or I missed it. Going to download it right away because Rocknes is the only emulator that I'm aware that can dump name table data (and other things too) during game play, which is quite useful for a developer.

Posted: Thu Jul 16, 2009 12:02 am
by BMF54123
Banshaku wrote:Going to download it right away because Rocknes is the only emulator that I'm aware that can dump name table data (and other things too) during game play, which is quite useful for a developer.
Actually, FCEUX can do that, too... :P

Posted: Thu Jul 16, 2009 1:48 am
by Bregalad
Beat the first Level? There are no levels in Galaxy NES. Nor are there levels in Geometry Wars. What led you to believe you could "beat a level"? It's a game entirely for high score, like asteroids. Complaints about the controls not being like asteroid were fine, but this comment puzzles me. PM me, since I don't wanna completely derail the thread.
Oh sorry I should have confused your game with another. I was thinking of that cool Solar Jetman clone with special wireframe graphics. The 1st level of that game was insane, and the other probably even harder.
If someone have a trick to remedy this issue I'm all ears because I would prefer to keep the map as accurate as possible, without the need to improvise but I think it's not possible. hmmm...
Well, this is possible if you admit that this won't look awesome on systems that lack overscan (such as PAL systems). Anyways 99% of pleople will play it emulated and emulators typically have overscan by default (exept Nintendulator). When scrolling vertically you just write the new metatiles above what was the "black bars", scroll down your 34 metatile, and once it's done write one "black bar" of metatiles after the last row. Of course, if your scroll was previously #$f0 for example, the new scroll will be something like #$e0, but as long as you have provisions for this in your code I don't see the problem.

I do a similar thing in my game (well you'll see when it's released, hopefully in 2009). It have 6 metatiles height maps (but that's 32x32 metatiles). This doesn't correspond to the height of a nametable, which would be 7.5 metatiles (note that the first 2 Mega Man games DOES have 7.5 metatiles height maps so this is possible). I use a status bar of 4 rows (one metatile) and a overscan "black bar" of 2 rows (half metatile). When scrolling vertically, I just copy the 6 metatiles below or above the current map, and set the new scroll correctly, even if it never get aligned with nice values, it's not really a big matter (exept when coding for the menu, which have to be written to different portion of the nametable).

Posted: Thu Jul 16, 2009 2:16 am
by Banshaku
Bregalad wrote:Well, this is possible if you admit that this won't look awesome on systems that lack overscan (such as PAL systems). Anyways 99% of pleople will play it emulated and emulators typically have overscan by default (exept Nintendulator). When scrolling vertically you just write the new metatiles above what was the "black bars", scroll down your 34 metatile, and once it's done write one "black bar" of metatiles after the last row. Of course, if your scroll was previously #$f0 for example, the new scroll will be something like #$e0, but as long as you have provisions for this in your code I don't see the problem.
Hmm.. Let me see if I understood it well. So basically, you never change the mirroring and just start to write where the black bar is with new data and after that your start "cursor" location offset must now be changed to the new resulting black bar. The more you go a direction, the more it's affected. That's why you must keep a reference.

I'm still early in the development of my learning project so I can change what I did anytime but right now I'm working in PPU increment 32 since it really, really make things easier for decoding for a side scroller. If the offset of the starting data change, that would make the metatile buffer writing a little bit more complicated. The idea is interesting thought.

What I had in mind (and I don't know if this is correct but the mega man series "seems" to do that) is to change the mirroring when I need to scroll up or down. This way you won't have any artifact in the over scan area. But because of the black bar... I cannot do that (I think).

I must meditate on the subject. I like the idea but that seems to make things more wicked for the buffer writing. But since the game doesn't scroll much up or down... Maybe it's not so bad. hmmm...

edit:

@_mic: Completely forgot to say some comment regarding your project, how rude of me! Now I know about some sound engine that can work on many platform, interesting. Always wanted to make a game someday on the master system (heresy for a nes forum to say that!...) since it was... my first console :)