It is currently Sat Aug 17, 2019 10:09 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 174 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 12  Next
Author Message
 Post subject:
PostPosted: Sun May 13, 2012 7:54 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3141
Location: Tampere, Finland
Baby steps... I finished a preliminary version of the 4 channel arrangement of the main tune. I also wrote a small tool to convert Tilificator project files to corresponding sprite definitions and CHR files (for HUD faces). It'll take some time before I'll be able to actually start using the converted data, because cleaning up the project is the priority for now.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jun 13, 2012 8:07 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3141
Location: Tampere, Finland
Note to self: time to get back on this bandwagon soon if I want to finish it by the end of the summer. :)


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jun 13, 2012 8:41 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21555
Location: NE Indiana, USA (NTSC)
If you need any help with this project, PM me here or catch me on #nesdev at EFnet.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jun 30, 2012 6:33 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3141
Location: Tampere, Finland
I've resumed working on this. I made a new git repo and I'm slowly moving stuff over from the old project, cleaning the modules and adapting them for MMC1. I'm currently using MMC1 because I need the WRAM, but hope to be able to switch to UxROM later, which should be a drop-in replacement because with MMC1 I'm using the 16K banking mode with CHR-RAM.

I've moved the map loading routine over and also wrote a new routine to load the nametable view. Previously I was using a routine from my multi-directional map scroller, which while works just fine, is unnecessarily generic/bloated for this project.

The remaining stuff (object handlers, sprite renderer etc) should be fairly straightforward to adapt to the new mapper.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 03, 2012 9:59 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 2097
Location: WhereverIparkIt, USA
Nice to hear you're back at it, keep it up!


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jul 04, 2012 5:42 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3141
Location: Tampere, Finland
infiniteneslives wrote:
Nice to hear you're back at it, keep it up!

Thanks, I will!

The project is advancing nicely. I've moved most of the stuff over now. I've also added some new stuff like better state handler (for different game states like menu, game itself, HUD display etc) and more manageable banking (using CA65's .bank pseudo-op).

For those who don't know what .bank is, it basically allows one to assign a bank number to each segment in the linker config, then retrieve said number based on a symbol. So stuff like this is possible:
Code:
lda #<.bank( someFunction )
jsr mapPRG
jsr someFunction

Definitely more manageable than specifying the bank numbers by hand every time. :)

Right now I have the level loading working again, with ability to scroll the levels horizontally and move up and down between screens using the controller.

One module that still desperately needs refactoring is objects.s: the object handlers. It has a bunch of references to some obsolete stuff which I've temporarily replaced with placeholders. But after that's all cleaned up I should be able to start working on some actual new stuff.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 07, 2012 6:57 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3141
Location: Tampere, Finland
Making progress once again. Let's see... *checks git log*.

Mostly I've been working on the "HUD", i.e. the textbox. It shows up properly, updates the nametable and the attributes, and uses sprite 0 hit to restore the level scroll afterwards. It can also display text already and as a quick mockup also displays Joe's face with some sprites. The only thing that remains to be implemented is restoring the level graphics (nametable + attributes) when the HUD closes (uploading stuff piece by piece when rendering is enabled is somewhat annoying...). I also need to implement some smaller stuff, like waiting for button press when text segment ends.

It's kind of ridiculous how it has taken me several days to implement something that probably took no more than 5 minutes on the original Flash game. :)

Oh yeah, I also did clean up most of the object handlers, so I have all the objects showing up in the levels once again.

The HUD faces will probably be what I'll be tackling next.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jul 08, 2012 10:19 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3141
Location: Tampere, Finland
thefox wrote:
The HUD faces will probably be what I'll be tackling next.

And so I did. I have Joe's and Command's face animations converted, and wrote some code to upload the CHR tiles etc when the speaker changes. Still to be done are the palette updates and restoring the level sprite CHR tiles when the HUD closes. Restoring the tiles is once again kind of a bitch because it needs to be done over multiple frames in the NMI because rendering is enabled. I guess I should write some kind of generic routine to transfer a chunk of memory to PPU while rendering is enabled.

I also need to convert the rest of the face animations, but that's fairly straightforward manual(ish) work that I'm probably going to postpone for now and use the existing animations as placeholders for other characters.

I think I'll start working on the player next. First thing to do would be to dynamically upload the sprite tiles as the player animation changes. Then from there I'll do the player movement: walking, and of course, "streeming".


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 09, 2012 9:01 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3141
Location: Tampere, Finland
thefox wrote:
First thing to do would be to dynamically upload the sprite tiles as the player animation changes.

Did this today. I'm really glad to get this finally done because I've been putting it off for a long time. It has a nice and simple interface, I simply tell it the frame number that I want to display and it takes care of the rest. Currently it uploads 8 tiles per frame and splits the upload to multiple frames if needed. Naturally the animation will lag behind if an upload takes more than 1 frame, but all sprite frames use less than 16 tiles so hopefully it will not be too noticeable.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 09, 2012 12:13 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 11397
Location: Rio de Janeiro - Brazil
thefox wrote:
Currently it uploads 8 tiles per frame and splits the upload to multiple frames if needed.

Are you double buffering the player's tiles?


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 09, 2012 1:27 pm 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3141
Location: Tampere, Finland
tokumaru wrote:
thefox wrote:
Currently it uploads 8 tiles per frame and splits the upload to multiple frames if needed.

Are you double buffering the player's tiles?

Yup. I have 64 tiles free in the sprite bank right now so there's plenty of space for that. I just hope I haven't forgotten about anything. :) I'm still kind of undecided whether I want to display score and deaths like in the original.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 09, 2012 5:05 pm 
Offline
User avatar

Joined: Tue Jun 24, 2008 8:38 pm
Posts: 2309
Location: Fukuoka, Japan
Since this is becoming an interesting "log" of the state of the game, it would be great it during the progress some alpha build were available to see how it came from 0 to what it would be later. I love those things, to see the progression with my own eyes.

Am I the only one to think that way?


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 10, 2012 2:46 am 
Offline

Joined: Wed Feb 17, 2010 5:42 pm
Posts: 394
Banshaku wrote:
Am I the only one to think that way?

Nope.
So, thefox, any chances for some kind of "0.5"(half finished) version?


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 10, 2012 7:51 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3141
Location: Tampere, Finland
Denine wrote:
Banshaku wrote:
Am I the only one to think that way?

Nope.
So, thefox, any chances for some kind of "0.5"(half finished) version?

Yes, I'll definitely consider it. I've been using version control for the entire duration of this project so I can actually go back and build any revision of the project at any time. So if need be, I could even show the intermediate builds after the project has been completed. :)


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jul 12, 2012 9:35 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 3141
Location: Tampere, Finland
Last couple of days I've been working on the player logic. It's done for the most part, he can run and shoot the streamer, I just need to fine-tune the physics etc a little bit more to make sure everything works exactly like it does in the original.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 174 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 12  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group