It is currently Sat Dec 16, 2017 4:21 am

All times are UTC - 7 hours



Forum rules


Related:



Post new topic Reply to topic  [ 51 posts ]  Go to page Previous  1, 2, 3, 4  Next
Author Message
 Post subject: Re: Project A-RPG
PostPosted: Tue Apr 12, 2016 7:17 am 
Offline

Joined: Sun May 11, 2014 8:36 am
Posts: 77
Location: France
As you know I could put the mode. 7.
Yes I'm happy ,It took several weeks to do.

The video shows the beginning the magic and menu :
https://www.youtube.com/watch?v=ik8gEbf ... e=youtu.be

Screen :
Image

You have to press Start / select for go Mode 7.
NesBox : http://pixelretro.hebergratuit.net/NesBox/snes.html
Rom : http://www.mediafire.com/download/wxkh7 ... +Demon.zip


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Wed Sep 14, 2016 10:23 am 
Offline

Joined: Sun May 11, 2014 8:36 am
Posts: 77
Location: France
Hello,
The part of the graph code being well 'completed' I started the sound.
So I decided to use MIDI.

In my music I find the result not too bad, 1 kbytes for 1 channel, and the sample is 56 bytes here.
when I have finished my sound driver , I think putting the convert midi / SNES on github

https://www.dropbox.com/s/m4kawui96mk6o ... n.wav?dl=0


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Sat Oct 22, 2016 12:42 am 
Offline

Joined: Sun May 11, 2014 8:36 am
Posts: 77
Location: France
Hello,
I really advanced but there will be no new visual effect.
I recode the Window / text (to optimize)
I recode the item to make it easy to use for me and reduce the code.
I manages the large map (currently 2048x2048) but theoretically I can do 16384x256 :D
It is possible now to have 64 enemy on a map ^^

The code for enemy adds 10kb
The code looks when an enemy leaves the screen and then I look at what is available enemy (of 8 frames).
And I added a new enemy (48x48), the harder it is to make quick animation with 3 enemy 48x48.
It takes 6 sprite: 1 : 32x32 and 5 :16x16

https://www.youtube.com/watch?v=nQ6wKROnWGQ
Nesbox : http://pixelretro.hebergratuit.net/NesBox/snes.html

I finished my sound driver to 35%
I also have to finish the compression / decompression of the map

I also created my project thanks to an engine / lib powerful enough that I can do other games easily :)


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Sat Oct 22, 2016 2:44 am 
Offline

Joined: Mon Mar 30, 2015 10:14 am
Posts: 206
Excellent job kannagi ..

Can't wait to see a more advanced version .. :D


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Sat Oct 22, 2016 4:55 am 
Offline
User avatar

Joined: Thu Jul 15, 2010 8:20 am
Posts: 67
Location: Québec, Canada
This is getting more and more impressive :D Thanks for the update and keep up the good work!


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Sat Oct 22, 2016 6:17 am 
Offline
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3157
Location: Nacogdoches, Texas
You can kill me now, but I want to know how you're at 40% CPU usage with only 4 objects onscreen.


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Sat Oct 22, 2016 7:31 am 
Offline

Joined: Sun May 11, 2014 8:36 am
Posts: 77
Location: France
Espozo wrote:
You can kill me now, but I want to know how you're at 40% CPU usage with only 4 objects onscreen.

because 4 object and not 4 sprite ;)
1 object of 32x32, takes 4 sprite (4 x 16x16).
the calculation of the sprites are long if you manage the x +256 and small and great sprite.

The calculation I make are the calculation of collision and BG priority/tag.
there's also there all the time collision hero/enemy (hitbox / Wall).

I changed my code also, I always collision calculation even if the enemies are outside the screen.

There is also :
-Animation
-IA (Patten actually)
-Background


Last edited by Kannagi on Sat Oct 22, 2016 8:29 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Sat Oct 22, 2016 8:23 am 
Offline
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3157
Location: Nacogdoches, Texas
Kannagi wrote:
because 4 object and not 4 sprite 1 object of 32x32, takes 4 sprite (4 x 16x16).the calculation of the sprites are long if you manage the x +256 and small and great sprite.

Yeah, I'm doing all this too. I realize that if you are flipping objects in real time (as in calculating each x and y coordinate of each sprite) it's a hell of a lot slower. I guess you might as well use as much of the CPU time as possible by looking for extra things to do for the CPU like some real time compression, that I know I won't be able to do because I want my engine to be more suited toward action games like run and guns.

Kannagi wrote:
The calculation I make are the calculation of collision and BG priority/tag.there's also there all the time collision player/enemy (hitbox / Wall).

I haven't actually gotten to that yet, and I know that's real slow.

Kannagi wrote:
There is also :-Animation

I'm all too familiar with this... :lol:


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Sat Oct 22, 2016 8:47 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19348
Location: NE Indiana, USA (NTSC)
Espozo wrote:
Kannagi wrote:
because 4 object and not 4 sprite 1 object of 32x32, takes 4 sprite (4 x 16x16).the calculation of the sprites are long if you manage the x +256 and small and great sprite.

Yeah, I'm doing all this too. I realize that if you are flipping objects in real time (as in calculating each x and y coordinate of each sprite) it's a hell of a lot slower.

I don't see how. Here's how flipping works in The Curse of Possum Hollow for NES, which is barely changed from its predecessor Haunted: Halloween '85:

Each cel is made of a list of horizontal strips of sprites, 1 to 8 sprites wide. Each strip has a starting horizontal offset (128=center, less=left, more=right), a vertical offset (128=center, less=up, more=down), a set of attributes (palette and length), and a set of tile numbers relative to the first 8x16-pixel tile in a bank. Each tile number has 8 bits: vertically flip this tile (7), horizontally flip this tile (6), actual tile number (5-1), and use the following tile if the sprite is horizontally flipped (0). This last bit allows for asymmetric sprites, such as the "p" on Donny's ball cap and shirt that don't change to a "q" when he faces left.

Three parts of the metasprite engine look at horizontal flipping:

  • Once per cel: If a sprite is not flipped, its X coordinate is decreased by 128; if flipped, it is instead decreased by 135. The Y coordinate is reduced by 129, which is 1 more than 128 to compensate for the 1-line sprite evaluation delay (which the S-PPU also has).
  • Once per horizontal strip: If the strip is flipped, the strip's starting horizontal offset is EOR'd with $FF.
  • Once per sprite: If the strip is flipped, -8 is added to the X coordinate instead of 8.

The engine currently requires a separate cel for a vertically flipped sprite. But because of each tile's flip bits, the cel can share tiles with the unflipped one. And if I did add vertical flipping, it would be in the "once per cel" and "once per horizontal strip" sections.


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Sun Oct 23, 2016 1:32 am 
Offline

Joined: Sun May 11, 2014 8:36 am
Posts: 77
Location: France
Quote:
I want my engine to be more suited toward action games like run and guns.

When my engine/lib will be a little more finished I'll post on Github ;)


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Mon Oct 24, 2016 6:06 am 
Offline

Joined: Sun May 11, 2014 8:36 am
Posts: 77
Location: France
Well if I have some news:
NesBox: http://pixelretro.hebergratuit.net/NesBox/snes.html
rom: http://www.mediafire.com/file/9ton5dtzs562fb6/main.smc

I don't guarantee that on NesBox the sound is well restored.
The start button to play music.
The select button to pause.
The Y button to reset to zero the music (a loop).

I had to create a MIDI converter / SNES, and I code the SPC700 to a partition that bed +I/O.
Normally when using the 8 channels + the good sample + good modulations, hopefully play good music, but as you can imagine lunch offers me only partitions, samples + the modulations of sound, it is I who should do it (or find a good composer / musician who cares).
I manage all the sound modulation, the transfer of samples / partition on the SPC700 and other small effects.
The version of my driver is at version 0.7 (0.8 when playing sound will be completely finished), 0.9 when you could 'add' different modulation, version 1.0 when my driver will was tested and approved :P

The SPC700 is limited to 64K here's how I distributed:
PRG : 0x0200 -0x16FF
SampleDIR : 0x1700 - 0x1AFF
track : 0x1B00 - 0x3FFF
Sample : 0x4000 - 0xFDFF
RAM : 0xFE00 - 0xFFBF
So my driver did so 5ko, the rest will have to transfer ROM / SPC700 , transfer takes me 1% CPU for 2 bytes.
So if we tranfer in game , if we take 50% of this is 100 bytes per frame (or 6000 bytes / second)


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Mon Oct 24, 2016 3:43 pm 
Offline

Joined: Wed Jul 09, 2008 8:46 pm
Posts: 242
The good news is that you have attracted my interest... well... kind of. I'm interested because I'm curious about new SNES music (and especially new sound drivers).

The bad news is that I use Impulse Tracker to create my music rather than make MIDI files (it means I can easily preview my music on the fly), and I am not a fan of MIDI at all due to inconsistent playback. I do have one curiosity... what programming language did you use to create the MIDI converter? Plus, I consider myself semi-retired in the sense that I am recovering from a few year's worth of college.


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Tue Oct 25, 2016 8:18 am 
Offline

Joined: Sun May 11, 2014 8:36 am
Posts: 77
Location: France
If I create my driver is to reduce the size of music, music with 8 channels is 8KB.
(30 music makes 240 KB).
I think the best is 48-80ko of sample for a game.

Quote:
The bad news is that I use Impulse Tracker to create my music rather than make MIDI files (it means I can easily preview my music on the fly), and I am not a fan of MIDI at all due to inconsistent playback. I do have one curiosity... what programming language did you use to create the MIDI converter?

You prefer what file format?
I guess the best thing is to do an XM and MML converter.
I program my converter in language C.

I forget to say that I have yet to finish a tool, a tool used to modulate the sound (and listen) ADSR, GAIN and ECHO, it is of course possible on / off PMON,NON too.


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Tue Oct 25, 2016 3:49 pm 
Offline

Joined: Wed Jul 09, 2008 8:46 pm
Posts: 242
48-80KB of samples total for a game, I'm guessing (I may have misunderstood...)? I'll take note of that.

Here's the documentation on the Impulse Tracker format: https://github.com/schismtracker/schism ... ITTECH.TXT

Interestingly, this isn't the first time I've seen myself run into XM. Although I ultimately never used it because it was prior to gaining the ability to compile my own music (plus it was way before I had a proper understanding of filesize limitations), I am aware of XMSNES by Mukunda Johnson, which converted XM files, from way back in 2007. That sound driver has since been discontinued, when its successor, SNESMod was created. I have been using that sound driver ever since, even directly hacking it a few times.

I am able to compile C-language programs on my end using XCode (or via make). Thus, a platform incompatibility should not be a problem (unless it's not a command line application, then there could be a problem on my end, given that I run Mac OS X 10.6.8...).


Top
 Profile  
 
 Post subject: Re: Project A-RPG
PostPosted: Wed Oct 26, 2016 9:53 am 
Offline

Joined: Sun May 11, 2014 8:36 am
Posts: 77
Location: France
Quote:
48-80KB of samples total for a game, I'm guessing (I may have misunderstood...)? I'll take note of that.

Yes , you understand ;)

Quote:
I am able to compile C-language programs on my end using XCode (or via make). Thus, a platform incompatibility should not be a problem (unless it's not a command line application, then there could be a problem on my end, given that I run Mac OS X 10.6.8...).

it is a command line, (I'm on Linux).

Here is the github, although the driver is not finished but it can play music for the moment with 8 channels.
I think Implement a volume for each channel.
https://github.com/Kannagi/Super-Kannagi-Sound

When it is finished, it will also have me do a documentation of the use of my driver.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 51 posts ]  Go to page Previous  1, 2, 3, 4  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 9 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