Hello everyone,
here I have a draft of an A-RPG (Secret of Mana, Terranigma ect), but it's still a big project for one person so I look for a programmer to help me.
I have not finished my 'engine' but I prefer to recruit now to see if there are people interested.
I assembler program with WLA-DX, I create tools (map editor and mode 7) and PNG CONVERTER -> SNES picture (for 7 mode too) (I'm on linux).
Here is a picture of my work:
there are: collision, NPC, menu, scrolling.
Download here :
http://www.mediafire.com/download/9ton5dtzs562fb6/main.smcI'm not good in English sorry.
It looks great!!
I'm working on my own RPG game and I just finish adding sprites and controlling them. Next step is adding come functions to move sprites to (X,Y) coordinates, add different kind of animated sprites (expressions as seeing on Tales of Phantasia and Star Ocean), magics, and other kind of animated bits of scenarios.
Are you willing to hand over your source code? I could send you mine too.
Thank you,
Yes I can put my source code but it has some 'error', I prefer to have a good source code before giving.
But yes I can give my source code, I have no worries in that particular level code just do it alone will be very long.
Otherwise why not work together?
Our project looks like , it's only the battle system that changes.
I'll answer you by PM, since there is no point in having both of us doing the extra effort in communicating in a foregin language when we have the same mother language.
@moderators : Is it legal to use French outside of the NESdev international forum ?
I recommend using French in the International forum and then summarizing in English here.
Kannagi wrote:
Thank you,
Yes I can put my source code but it has some 'error', I prefer to have a good source code before giving.
But yes I can give my source code, I have no worries in that particular level code just do it alone will be very long.
Well, there is no need the source code is perfect, it can be really useful to share information about how to program some tasks. Mine is really basic yet, so I'm open to new ideas about how to improve it.
Kannagi wrote:
Otherwise why not work together?
Our project looks like , it's only the battle system that changes.
In fact, mine is a group project composed of some graphic designers, a musician, a couple of concept artists and two programmers, so working together is not as easy since we all must agree to share the work.
Since SNES assembler coding is up to me, I'm really willing to share my part, but not other's parts.
Thank you for your response, I sent PM
Kannagi wrote:
Thank you for your response, I sent PM
I replied
It would be a great idea to share pieces of code made be different people to do different things: animated sprites, ring menus, effects, sound effects, and so...
Hi,
I think I show here the progress of my project.
So I'm advanced collision NPC / hero, IA, and text + window.
Here's a video:
https://www.youtube.com/watch?v=t-QAH-531aoI hope you enjoy my demo.
Ca a bien progréssé
Merci,
Un autre Français ici
Mais en peut parler Français que sur le forum international malheureusement, ici il faudra parlé Anglais.
Thank you,
Another French,
But can speak French as the international forum, it will here speak English.
Looks good. I hope there will be an english version if you finish this game.
Quote:
ici il faudra parlé Anglais.
Encore faudrait-il savoir écrire le français. (désolé je n'ai vraiment pas pu résister)
Il faudrait mettre une font plus lisible (par exemple, lettres en blanc avec un contour noir), et enlever ces fautes d'orthographes abominables.
@mic_
Yes there will be an English version.
@Bregalad
C'est méchant mais j'avoue que je suis pas très bon , oui je suis d'accord pour les lettres par contre pour les fautes c'est principalement du que sur mon font je n'ai pas d'accents.
(et j’espère que de ton coté ça avance sur le moteur sonore
)
Bonjour, je ne pas parle en francais tres bien mais tu as fais un travail merveilleux!
(Sorry if that is a horrible abomination to a native speaker, I've forgotten a lot since my last mandatory Canadian French class several years ago but nonetheless keep up the great work, your project looks amazing!).
Thank you,
I understand what you say, it motivates me to continue.
(French is a difficult language even for me ! ).
So I have news.
I added a second background with a 'ZOrder' on the characters.
Map change, transition between the map, and transparency (water + animation).
https://www.youtube.com/watch?v=HQQKH3dfvJM
I had a hard time reading the text because of the low contrast against the background. Other than that it looks good.
I know, I think I'm going to really do a font make instead of taking one that is not suitable.
I look forward to working on the gameplay fighting.
The real problem is the background actually (or better said, the total lack of background).
I'm back.
I redid my project to zero, the code is optimized and easier to modify
You can push the NPC.
I add the menu ring.
It will be possible to have 3 heroes + 9 NPC at the same time on the screen for cities.
I have to finish some details, but I think I can finally started programming enemies
Nesbox :
http://pixelretro.hebergratuit.net/NesBox/snes.html
Awesome progress.
Thank you, and good luck with your project
I am really looking forward to seeing this complete. this looks very good.
Thank you,
I made a new demo.
-add 11 character display
-Start the battle system
I think I have managed to overcome key constraints.
The rest are details, the calculation time is enough
I made a video :
https://www.youtube.com/watch?v=y4A-z9-6opMNesBox :
http://pixelretro.hebergratuit.net/NesBox/snes.html
I did some updating.
-add a new character
-in the menu, I add item, magic and option (up, down to change)
-for the damage, if the damage is greater than 200, they are bigger display
I just tested on my SNES:
NesBox :
http://pixelretro.hebergratuit.net/NesBox/snes.htmlRom :
http://www.mediafire.com/download/wxkh7 ... in.smc.zip
This looks incredible! Thanks for the updates, I can't wait to see what's next.
Thank you.
I don't think there will be big update.
There are also many details that I have to adjust and are invisible in the game.
I think working on a magic, then make music or mode 7 , I don't know.
My objective for now is to test the performance and difficulties.
For info I use 97 sprites:
-48 For the characters / enemies / NPC
-18 For the damage
-20 For the ring menu
-3 For the future icon
-8 are used for initialization
31 sprites will be used:
-23 For magic / effect
-8 For the boss (+ 24 sprites of enemies).
I finally put the magic ,it is really hard I got a lot of bug.
I put two shortcut L and R for magic.
For lightning, you must select:
For fire you can select the menu also.
Screen :
NesBox :
http://pixelretro.hebergratuit.net/NesBox/snes.htmlRom :
http://www.mediafire.com/download/wxkh7 ... in.smc.zipI think I'll rest a little
Your project is really, really cool, but I think you should reconsider your camera system. Camera systems in which you have to get close to the edge of a given direction to move in that direction are probably the most hated type of camera system among reviewers and speedrunners because you have very little room to see new enemies/obstacles ahead in the direction you're moving. A lot of games almost employ the opposite system where the camera is ahead of the player in the direction the player is moving, rather than behind the player.
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.beScreen :
You have to press Start / select for go Mode 7.
NesBox :
http://pixelretro.hebergratuit.net/NesBox/snes.htmlRom :
http://www.mediafire.com/download/wxkh7 ... +Demon.zip
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
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
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=nQ6wKROnWGQNesbox :
http://pixelretro.hebergratuit.net/NesBox/snes.htmlI 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
Excellent job kannagi ..
Can't wait to see a more advanced version ..
This is getting more and more impressive
Thanks for the update and keep up the good work!
You can kill me now, but I want to know how you're at 40% CPU usage with only 4 objects onscreen.
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
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...
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.
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
Well if I have some news:
NesBox:
http://pixelretro.hebergratuit.net/NesBox/snes.htmlrom:
http://www.mediafire.com/file/9ton5dtzs562fb6/main.smcI 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
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)
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.
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.
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.TXTInterestingly, 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...).
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-SoundWhen it is finished, it will also have me do a documentation of the use of my driver.
I'm still wondering why it takes 40%. None of the stuff you mentioned sounds too complicated.
Wait? It runs at 40% with 1 sprite, 50% with 4 sprites. There must be some kind of BG compression going on.
Quote:
I'm still wondering why it takes 40%. None of the stuff you mentioned sounds too complicated.
one 'sprite' of 32x32 = 4 sprite of 16x16
one 'sprite' of 48x48 = 1 sprite of 32x32 + 5 sprite of 16x16
(The 32x32 are optimized, the 48x48 is not optimized)
I looked more closely.
calculating the scrolling is 10% (I made the calculation even if the camera does not move).
10% for draw 3 monsters 48x48
8% for 3 monsters collision/IA/animation
text 2-3%
zorder 3%
one hero 5-6%
clear OAM 1-2%
Of course these are approximate + other thing that I have not taken into account.
Kannagi wrote:
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-SoundWhen it is finished, it will also have me do a documentation of the use of my driver.
I'll guess this is the reason why the .sh files don't exist yet (and that automatically means I should be able to execute them on my end without much trouble... and I can get a new version of WLA DX on the fly if I want to manually compile this).
If you want, I can e-mail you some feedback. I've already noticed some things about the code while attempting to document the format in its current state.
Sorry forgot the .sh.
Quote:
If you want, I can e-mail you some feedback. I've already noticed some things about the code while attempting to document the format in its current state.
yes, you can email me
Couldn't you double the max amount of characters if it only takes about 6% per character?
Yes of course, the final game will be with 2 character + 1 summon + 3 enemy.
For cities / villages will be 2 character and 9 villagers.
I want to avoid 3 player , in Secret of Mana the last character was often blocked by walls or other.
For to fight I can not add more, I don't have enough palette for more enemy.
2 palette for players
1 palette for summon
3 palette for enemy
1 palette for weapons
1 for hit/magic