GamebuinoClassic archive

Archive of the Gamebuino Classic forum (2014-2018), rebuilt from the pages kept by the Wayback Machine: only part of the topics and pages were captured. Read-only. Removal on request: hi@gamebuino.com.

Forum › Project Guidance & Game development

[community project] RPG

Sorunome Tue Mar 22, 2016 9:44 am
superfreaky wrote:
Also, added to the demo for tilemap loading now dynamic flashing of sound data off of the sd card (damn, that is so fast, it's done in the blink of the eye)

Are you using the sd card that came with your Gamebuino? Or are you using a larger size, faster one?
I did indeed use a different one, after removing a minor glitch in my sd library I tested one that shipped with the gamebuino (IDK where my second one is, i just noticed o.O) and I didn't notice a speed difference, so yay!
superfreaky wrote:As for the black/white idea, it's not original [https://games.yahoo.com/game/shift-flash.html] but it's been floating around in my head for a while. I was inspired by the fact that black and white are the only colors available anyway, why not make a game utilizing that concept? Also, give me your honest opinion of the storyline. I can always start with a blank slate, new original ideas, but I thought I would start with a rather generic RPG story.

Well, I am un-innovative with story anyways, so yeah.... :P I think it's good ^.^ But, what do the others think?

As for black/white, fortunatly I just happened to read up documentary on the screen the gamebuino used recently and it has a negative mode which will be able to turn the entire screen negative without any effort! :D

deeph wrote:Can you upload your code ? Or we should maybe make a repo.
I thought of maybe a private repo and not release the source until the game is done? What do you think? For a private repo I'd use bitbucket as it allows private repos for free, unlike github :D

_____________________________

We'd also need to think about data structures. For tilemaps my current demo code uses a simple 12x8 tilemap, 8x8 sprites.
I thought another way to save PROGMEM would be to maybe have a 256-byte buffer (8 * 32) in RAM which can hold 32 sprites, so that along with each tilemap the sprites are stored, so that on the SD card you will have [<tilemap-data><sprite-data>]. While this would allow for many unique sprites it would make the tilemap datafile on the sd card large rather quickly.
Also, how to store what is walkable? Should that use the same 8x8 pixel grid or something finder, like 4x4? What about enemies / interactable objects?
deeph Tue Mar 22, 2016 5:00 pm
I'm ok with the story, as far as it's not too complicated to explain to the player with small texts/npc dialogs.

Concerning the repo, I don't think it needs to be private.

Sorunome wrote:I thought another way to save PROGMEM would be to maybe have a 256-byte buffer (8 * 32) in RAM which can hold 32 sprites, so that along with each tilemap the sprites are stored, so that on the SD card you will have [<tilemap-data><sprite-data>]. While this would allow for many unique sprites it would make the tilemap datafile on the sd card large rather quickly.

Yes we could put multiple tilesets on the SD card, separatly from maps data, and load them on the SRAM when needed. We just have to attribuate an ID to the tileset that will be indicated with maps data.

Sorunome wrote:Also, how to store what is walkable? Should that use the same 8x8 pixel grid or something finder, like 4x4?

The easiest solution is to sort the walkable tiles from the non-walkable ones, like I did with this tilemapper. That way all we have to do is to check which tile is under the player's sprite, and if its number is above a certain one, then it is either walkable or not.

Sorunome wrote:What about enemies / interactable objects?

I think that we need to separate enemies handling from every other "events" handling : those which triggers when the player walks on certain coordinates (warps, "cinematics"), and those that are "interactive" (triggered by the player, typically facing something and pushing the A key).

It shouldn't be too hard to code, that's what I do with my current project. I'll show you the code when I got time to clean it up a little bit.
Sorunome Tue Mar 22, 2016 5:32 pm
deeph wrote:I'm ok with the story, as far as it's not too complicated to explain to the player with small texts/npc dialogs.

Concerning the repo, I don't think it needs to be private.
Alright, github then?
deeph wrote:
Sorunome wrote:I thought another way to save PROGMEM would be to maybe have a 256-byte buffer (8 * 32) in RAM which can hold 32 sprites, so that along with each tilemap the sprites are stored, so that on the SD card you will have [<tilemap-data><sprite-data>]. While this would allow for many unique sprites it would make the tilemap datafile on the sd card large rather quickly.

Yes we could put multiple tilesets on the SD card, separatly from maps data, and load them on the SRAM when needed. We just have to attribuate an ID to the tileset that will be indicated with maps data.
I also thought about dynamically creating the current tileset needed, but that might result in quite a few SD card reads. Did anyone benchmark the read speed already? If not I can do it ^.^
deeph wrote:
Sorunome wrote:Also, how to store what is walkable? Should that use the same 8x8 pixel grid or something finder, like 4x4?

The easiest solution is to sort the walkable tiles from the non-walkable ones, like I did with this tilemapper. That way all we have to do is to check which tile is under the player's sprite, and if its number is above a certain one, then it is either walkable or not.
Yeah, that is also what I did for an engine once, that only allows for a tile to be fully or not at all walkable, though, not like "only lower half is walkable" or something
deeph wrote:
Sorunome wrote:What about enemies / interactable objects?

I think that we need to separate enemies handling from every other "events" handling : those which triggers when the player walks on certain coordinates (warps, "cinematics"), and those that are "interactive" (triggered by the player, typically facing something and pushing the A key).

It shouldn't be too hard to code, that's what I do with my current project. I'll show you the code when I got time to clean it up a little bit.
So what kind of different objects would we need? I can think of:
  • enemies
  • NPCs
  • droppable/collectable items, switches


Also, just so you know, I already have some RPG programming experience (only turn-based, though) in z80 ASM with tilemap compression and stuff, which is obviously not needed here.
deeph Tue Mar 22, 2016 6:05 pm
Ok for github (I don't remember if I have an account yet, though).

Sorunome wrote:I also thought about dynamically creating the current tileset needed, but that might result in quite a few SD card reads.

Mmh why not but it seems to be a little too complicated, to me multiple tilesets of 32 tiles are enough to make maps with different environments (indoor/outdoor etc..). We should start making so mock up first. If anyone else has 8*8 monochrome sprites that we could use for an A-RPG, feel free to share :)

Sorunome wrote:Yeah, that is also what I did for an engine once, that only allows for a tile to be fully or not at all walkable, though, not like "only lower half is walkable" or something

Yes but again I don't think we need too complicated things like one-way tiles for a such a "basic" game.

Sorunome wrote:So what kind of different objects would we need? I can think of:
enemies
NPCs
droppable/collectable items, switches

Enemies are not technically objects, because we'll have to handle their AI appart from the player. I think that all the other things are triggered by the player (even the objects that falls after an enemy death), and so are part of one of the two categories of events I cited.
Sorunome Tue Mar 22, 2016 6:55 pm
deeph wrote:Ok for github (I don't remember if I have an account yet, though).
Made a repo here!

deeph wrote:
Sorunome wrote:I also thought about dynamically creating the current tileset needed, but that might result in quite a few SD card reads.

Mmh why not but it seems to be a little too complicated, to me multiple tilesets of 32 tiles are enough to make maps with different environments (indoor/outdoor etc..). We should start making so mock up first. If anyone else has 8*8 monochrome sprites that we could use for an A-RPG, feel free to share :)
It would allow for way more flexibility, with only set 32-sprites-maps using unique sprites is next to impossible while dynamic loading still works well.

deeph wrote:
Sorunome wrote:Yeah, that is also what I did for an engine once, that only allows for a tile to be fully or not at all walkable, though, not like "only lower half is walkable" or something

Yes but again I don't think we need too complicated things like one-way tiles for a such a "basic" game.
I thought we wanted to push the gamebuino to it's limits and beyond :P Plus, it would allow for some way cooler setups IMO. But yeah, we'd need to think of a memory-efficient way of storing that.
Actually, I just got an idea!
If we use 32-sprites spritesheets that will only be 5 bit, leaving the upper three bit for additional data for the tile, maybe have those upper three bits encode how the tile can be walked on? Or maybe use those upper three bits for some other flags, such as if something is supposed to happen when you step on it etc. and have a 32-bye buffer for the sprite walk-data elsewhere?
deeph wrote:
Sorunome wrote:So what kind of different objects would we need? I can think of:
enemies
NPCs
droppable/collectable items, switches

Enemies are not technically objects, because we'll have to handle their AI appart from the player. I think that all the other things are triggered by the player (even the objects that falls after an enemy death), and so are part of one of the two categories of events I cited.

Oh, sorry, I meant programaticall objects, objects when talking about OOP (Object-oriented programming) In that sense enemies are clearly objects :P
deeph Tue Mar 22, 2016 7:43 pm
Can you add me as a contributor ? I've created a new account : https://github.com/deeph-z80

Sorunome wrote:I thought we wanted to push the gamebuino to it's limits and beyond Plus, it would allow for some way cooler setups IMO. But yeah, we'd need to think of a memory-efficient way of storing that.
Actually, I just got an idea!
If we use 32-sprites spritesheets that will only be 5 bit, leaving the upper three bit for additional data for the tile, maybe have those upper three bits encode how the tile can be walked on? Or maybe use those upper three bits for some other flags, such as if something is supposed to happen when you step on it etc. and have a 32-bye buffer for the sprite walk-data elsewhere?

Well we could do that too, it's just a little more complicated.

Sorunome wrote:Oh, sorry, I meant programaticall objects, objects when talking about OOP (Object-oriented programming) In that sense enemies are clearly objects

My bad, I'm just not really used of OOP :oops:

I generally prefer using arrays for that kind of stuff, which I think is a concept more close to what the processor understand (so translated more optimally ?).
superfreaky Tue Mar 22, 2016 8:37 pm
deeph wrote:I'm ok with the story, as far as it's not too complicated to explain to the player with small texts/npc dialogs.

I'm thinking I should put the background story in the .INF file to save space (I haven't written it out yet but I know it's gonna be kind of big) and then just put little details at trigger points in the world. (This is a warp portal. Walk through it to access a parallel world!( said when you approach the first one)). Also, some brief text when major plot events happen, like when the sword gets found.
Sorunome Tue Mar 22, 2016 8:58 pm
deeph wrote:Can you add me as a contributor ? I've created a new account : https://github.com/deeph-z80
Done!
deeph wrote:
Sorunome wrote:I thought we wanted to push the gamebuino to it's limits and beyond Plus, it would allow for some way cooler setups IMO. But yeah, we'd need to think of a memory-efficient way of storing that.
Actually, I just got an idea!
If we use 32-sprites spritesheets that will only be 5 bit, leaving the upper three bit for additional data for the tile, maybe have those upper three bits encode how the tile can be walked on? Or maybe use those upper three bits for some other flags, such as if something is supposed to happen when you step on it etc. and have a 32-bye buffer for the sprite walk-data elsewhere?

Well we could do that too, it's just a little more complicated.
I think it would allow for quite more awesome map design
deeph wrote:
Sorunome wrote:Oh, sorry, I meant programaticall objects, objects when talking about OOP (Object-oriented programming) In that sense enemies are clearly objects

My bad, I'm just not really used of OOP :oops:

I generally prefer using arrays for that kind of stuff, which I think is a concept more close to what the processor understand (so translated more optimally ?).

Well, it's basically the same, i'd make an object array pointer thingy, and in that you have pointers to objects. The only thing that requires ram are the variables that go along with the object, the shared methods are in PROGMEM anyways.

superfreaky wrote:
deeph wrote:I'm ok with the story, as far as it's not too complicated to explain to the player with small texts/npc dialogs.

I'm thinking I should put the background story in the .INF file to save space (I haven't written it out yet but I know it's gonna be kind of big) and then just put little details at trigger points in the world. (This is a warp portal. Walk through it to access a parallel world!( said when you approach the first one)). Also, some brief text when major plot events happen, like when the sword gets found.

What's the point of that if all the data is read from the sd card anyways, that wouldn't add any overhead?


Also, after benchmarking the read speed it seems like we can safely assume at least 140 KB/s which is more than enough for loading data on every screen transition. More detailed benchmarks here.
deeph Tue Mar 22, 2016 9:13 pm
Thanks !

I need to find time to look at everything more in details now ;)

Also we really need to get graphics :)
superfreaky Tue Mar 22, 2016 9:16 pm
What's the point of that if all the data is read from the sd card anyways, that wouldn't add any overhead?


Also, after benchmarking the read speed it seems like we can safely assume at least 140 KB/s which is more than enough for loading data on every screen transition. More detailed benchmarks here.

Ok cool. Interesting that the 2gb sd card was actually slower. What class sd card is it?

I wasn't thinking about how it's all streamed from the sd card, but that allows for much more than a basic text intro. Something like a cutscene complete with music and transitioning images augmenting the text.
Sorunome Tue Mar 22, 2016 9:25 pm
deeph wrote:Thanks !

I need to find time to look at everything more in details now ;)

Also we really need to get graphics :)

Yes, we need graphics. And somebody who can compose music, heehe.
Be sure that you'll need my GB_Fat library to build.

superfreaky wrote:
What's the point of that if all the data is read from the sd card anyways, that wouldn't add any overhead?


Also, after benchmarking the read speed it seems like we can safely assume at least 140 KB/s which is more than enough for loading data on every screen transition. More detailed benchmarks here.

Ok cool. Interesting that the 2gb sd card was actually slower. What class sd card is it?
It doesn't really matter, the card probably isn't the bottleneck. Keep in mind we are talking about kilobytes, heehee.
superfreaky wrote:I wasn't thinking about how it's all streamed from the sd card, but that allows for much more than a basic text intro. Something like a cutscene complete with music and transitioning images augmenting the text.
Exactly, the possibilities are only limited by ram! If we don't have enough progmem for code we could also make the code swappable, so that maybe the title screen / intro run on totally different code than the actual game.
Such a technique could actually make minigames quite possible, now that I think of it. Anyhow, we should probably focus on the main game first anyways :P
Sorunome Wed Mar 23, 2016 3:15 pm
deeph wrote:I'm in :)

Ok for an A-RPG.

I think we should make some mock up before coding. We could maybe use some of the sprites from this project, if the author is ok.

So, I contacted NanoWar and he sent me all the sprites he created for it, thanks a lot NanoWar!
deeph Wed Mar 23, 2016 6:26 pm
Nice, thanks NanoWar ;)

Can you send them to me ? I need to know how many frames has the player sprite while moving etc... before starting to code.

I've been able to compile the project so far, but I need to make an .img of a fat16 SD card with the data files in it in order to test it with Simbuino. Do you know if there's a way to do it without an actual real SD card (don't have mine with me right now), eventually for windows ?
Sorunome Wed Mar 23, 2016 10:45 pm
Sorry, I don't know of any way to test this stuff other than on actual hardware, also, I run linux and simbuino doesn't really run on linux, plus I didn't know it supported sd cards, heehee.
For linux creating an image should be rather straight-forward, thoguh (dd if=/dev/device of=myfile.img).
Can you PM me your email so that i can send you the stuff or something?
deeph Thu Mar 24, 2016 5:41 am
Ok, done :)

I'll try to find something like a virtual SD card software. And too bad you can't run simbuino on linux, because it's a great tool that saves a lot of time...
Sorunome Thu Mar 24, 2016 11:13 am
Sent you the mail!
Also, no worries, I'm used to insane building / testing procedures....heehee.

As to collision, if we do end up doing that 4x4 pixel collision I think it'd be a good idea to have the player collide like this:
Image

And if we do have a quick-stat bar that shows like HP or something, it would be the easiest to have it on the left side of the screen or on the right one, due to how the screen works that would allow for some dark magic optimizations (especially if i have to pull my last trick out of my sleeve to free up something like 256 bytes ram.....which I want to avoid if possible due to how trickery it is). This sidebar wouldn't even have to be a multiple of eight pixels wide without any speed boost
deeph Thu Mar 24, 2016 7:40 pm
Thanks for the mail, those graphics are just what we need, it's just too bad that the player sprites are missing, but I'll certainly be able to rip them from some screenshots :)

I managed to create an .img of my original SD card (with data files on it) as explained here, and I created a virtual one too using this, but either way I can't test the program on Simbuino... Here's the best I got :

Image

I even tried LOADER.HEX, which is said to be working (at least reading titles of the programs on the SD card), and it's not :?

I really need to be able to use an emu, because it will be much more complicated and long to test everything on real hardware... :cry:
Sorunome Thu Mar 24, 2016 11:17 pm
deeph wrote:[...]
I really need to be able to use an emu, because it will be much more complicated and long to test everything on real hardware... :cry:

What i do is flash over usb with the arduino ide, that still allows for a rather quick development process
MechanicalPen Sun Mar 27, 2016 7:47 pm
Simbunio emulates petit_fstfs and standard SD card library directly, and since Sorunome wrote a custom SD card read library it's not going to work. It sounds like a stripped down version of petit_fstfs though, so for emulation perhaps you'll be able to replace GB_Fat and get emulation working that way.
deeph Sun Mar 27, 2016 8:33 pm
Ok I've gave up trying to make it work on emu after a lot of attempts :?

I finally managed to flash my gamebuino over usb, the original cable wasn't working...

So I've made a commit, however the files ended up not where I wanted, so another trunk/ folder was created... I tried using TortoiseSVN but it didn't want to let me log, so I did it using the upload form. I'll look for a better SVN client.

Anyway, I started playing with the sprites, and converted them using a tool I made with PureBasic. I made a start of a map editor too (currently only for windows, sorry :oops:), so I can create easily new data files.

I've modified the tilemapper too but I can't test it out, now I'm stuck at "SD card not found." (while it was working with the original files).

I'll try to fix it all as soon as I've time :?
Sorunome Sun Mar 27, 2016 10:41 pm
You should look for a git client, github uses git, not svn ;)
I'll check out code once I'm home tomorrow.
Sorunome Mon Mar 28, 2016 4:04 pm
deeph wrote:Ok I've gave up trying to make it work on emu after a lot of attempts :?

I finally managed to flash my gamebuino over usb, the original cable wasn't working...

So I've made a commit, however the files ended up not where I wanted, so another trunk/ folder was created... I tried using TortoiseSVN but it didn't want to let me log, so I did it using the upload form. I'll look for a better SVN client.

Anyway, I started playing with the sprites, and converted them using a tool I made with PureBasic. I made a start of a map editor too (currently only for windows, sorry :oops:), so I can create easily new data files.

I've modified the tilemapper too but I can't test it out, now I'm stuck at "SD card not found." (while it was working with the original files).

I'll try to fix it all as soon as I've time :?

So, follow up stuff:
1st: imma write a custom asm routine for drawing masked sprites
2nd: any reason you removed the player object? That neatly bundled everything for the player togeather!
3rd: when I compile and upload the sketch the gamebuino just keeps resetting itself.... :/

EDIT: the resetting is due to the player being drawn, i'll do some asm on that anyways, so yeah

EDIT2:

4th: camera position should be enough to be char*
5th: having a fixed tilemap size would be better IMO as we know exactly how much ram it needs to occupy if we want to squeeze so much in there

so, what do you think?

EDIT3:

6th: I had the camera position calculation in the sprite routine so that i don't have to care about camera in other game logic, any reason why you moved that away?

7th: I saw you added animated sprites, I like it! How large is a sprite now, though?

8th: Did i read it correctly that the camera movement is tile-by-tile? Because if so there can be done great speed+size optimiations, however IMO it looks more awesome if camera movement is fluently
deeph Mon Mar 28, 2016 4:54 pm
I've copied a lot of things from my mapper, but feel free to modify everything you want. I just wanted to try it out quickly but I did not even could.

Sorunome wrote:2nd: any reason you removed the player object? That neatly bundled everything for the player togeather!

As I said, I'm not used to objects, and what I've coded is not meant to be final, so feel free to go back to it if it's better.

Sorunome wrote:5th: having a fixed tilemap size would be better IMO as we know exactly how much ram it needs to occupy if we want to squeeze so much in there

I don't know, we would lost space on SD card, but I guess just a small amount. So why not ?

Sorunome wrote:6th: I had the camera position calculation in the sprite routine so that i don't have to care about camera in other game logic, any reason why you moved that away?

Same reason : I used the one from my mapper, which really centers everytime it can the player sprite. I don't remember if the original did it too, but if yes we can go back to it.

Sorunome wrote:7th: I saw you added animated sprites, I like it! How large is a sprite now, though?

There are 3 frames per direction and the sprites are 8*8, and each one has a mask so I guess 192 bytes.

Sorunome wrote:8th: Did i read it correctly that the camera movement is tile-by-tile? Because if so there can be done great speed+size optimiations, however IMO it looks more awesome if camera movement is fluently

Yes at the time the mapper was done for a RPG, not an A-RPG, this will have to change.
Sorunome Mon Mar 28, 2016 5:22 pm
I meant the size of the normal sprites, not the player :P
So that being 8*3 = 24 bytes?

Also which tilemap size? 12 x 8? I used that one before as it is the size used for the gameboy zelda games, heehee ^.^
superfreaky Mon Mar 28, 2016 5:31 pm
I came up with (I think) a decent name! The Legend of the Blade: Odnipar's Prophecy. I came up with the name "Odnipar" all by myself. (Can't you tell?) Odnipar is the wizard who prophecies of the protagonist. The game is playing out the prophecy. It's designed for a(n eventual, and I haven't even begun to plan for one) sequel, the same Legend of the Blade: (rest of title here) type title.
I could change the name if it's too awful.
Sorunome Mon Mar 28, 2016 6:26 pm
superfreaky wrote:I came up with (I think) a decent name! The Legend of the Blade: Odnipar's Prophecy. I came up with the name "Odnipar" all by myself. (Can't you tell?) Odnipar is the wizard who prophecies of the protagonist. The game is playing out the prophecy. It's designed for a(n eventual, and I haven't even begun to plan for one) sequel, the same Legend of the Blade: (rest of title here) type title.
I could change the name if it's too awful.

I think the name is ok :)

Also @deeph your masked data was invalid.....there are multiple ways to create a masked sprite (that I know of), however each method requires some modification of your data and I wonder which one to do:
1st: AND the outside of the sprite and then OR/XOR the sprite in
2nd: OR the shape of the sprite and then AND the sprite while the outside of it is black
3rd: OR the shape of the sprite and then XOR the negative of the sprite

Which one should I implement? All are the same difficulity-wise and efficiency-wise. It's literetally just a preference of data creation.

The one I found with your data to work (shape of sprite and actual sprite) was OR the shape, XOR the sprite and then XOR the shape, but as that are three operations it is less efficient!
deeph Mon Mar 28, 2016 6:42 pm
Yes you need to inverse masks. They were made to be used with the classic sprite routine but I did'nt changed them yet.

Here are masks to be used with AND :

Code: Select all
const byte maskset_player[]={
   0x87,0x87,0x01,0x01,0x81,0x01,0x6f,0xc0,
   0xff,0x87,0x80,0x00,0x00,0x80,0xf7,0xfb,
   0xff,0xff,0x01,0x01,0x81,0x01,0x5f,0xdf,
   0xc0,0x41,0x01,0x81,0x01,0x01,0x87,0xff,
   0xc3,0x40,0x00,0x80,0x00,0x00,0x87,0xff,
   0xdf,0x41,0x01,0x81,0x01,0x01,0x87,0xff,
   0xc0,0x6f,0x01,0x81,0x01,0x01,0x87,0x87,
   0xfb,0xf7,0x80,0x00,0x00,0x80,0x87,0xff,
   0xdf,0x5f,0x01,0x81,0x01,0x01,0xff,0xff,
   0x87,0x01,0x01,0x81,0x01,0x41,0xc0,0xff,
   0x87,0x00,0x00,0x80,0x00,0x40,0xc3,0xff,
   0x87,0x01,0x01,0x81,0x01,0x41,0xdf,0xff };


I can't make a commit right now since I didn't get git to work yet.

Sorunome wrote:Also which tilemap size? 12 x 8? I used that one before as it is the size used for the gameboy zelda games, heehee ^.^

You mean the standard map size ? The current one I made to test is 30*30. Here's a screenshot of the map editor with it :

Image
Sorunome Mon Mar 28, 2016 6:50 pm
30x30 is kinda huge....that's already 900 bytes! I think we should settle on something way smaller and instead have multiple screens, as that wouldn't eat ram like a crazy person.
deeph Mon Mar 28, 2016 6:56 pm
Yes, it's temporary and made to debug, too ! :)

12*8 is ok to me.
Sorunome Mon Mar 28, 2016 7:20 pm
How would you like to store which tilemap goes where?

Maybe something like....

<header size INCLUDING this flag (1 or 2 bytes, probably 2?)>
<map width (1 byte)><map height (1 byte)>
<map offsets or 0xFF if doesn't exist>
<tilemap data of the maps>

This doesn't handle things like enemy data, npc data etc. yet, though....

EDIT:
pushed now to the repo with a custom masked sprite routine and stuff, IDK how your camera boundry logic worked, though, so i just turned it off for now.... >.>
Once there is a test map that fits 12x9 i could add collision detection :D
deeph Mon Mar 28, 2016 7:52 pm
Maybe we should get at least one fully working map (player movements/scroll/etc...) before, no ? Have you been able to run anything ?
Sorunome Mon Mar 28, 2016 7:54 pm
I think I may have just ninja-edited you, i kinda need a test map for colission detection, player animation, sprite animation and the camera moving along with the player is working. The player is masked.

EDIT: Oh, also, how is your stuff set out now with animated tiles? As in, how are sprites stored etc.?
deeph Tue Mar 29, 2016 4:33 am
Ok, I'll try your code as soon as possible.

Sorunome wrote:EDIT: Oh, also, how is your stuff set out now with animated tiles? As in, how are sprites stored etc.?

Tiles are currently simply stored together, walkables ones first and then the non-walkable ones. A constant make the limit, as for animated tiles.

Maybe we should make the map editor using Python ? This way we could both easily create maps with events etc... I would ease a lot of things. I've not programmed much with it yet, but looks like there are GUI, so it shouldn't be too hard.
rodot Tue Mar 29, 2016 6:04 am
Sorunome Tue Mar 29, 2016 11:31 am
So, for dynamic sprite loading....I think it would be a good idea as that allows us to use a great number of different sprites!
I kind of like the idea of how you have animated sprites at the end resulting in non-animated ones using fewer data. Am I seing it correctly that the animated sprites are two-frames?
Anyhow, here is what I propose: a 256-byte buffer for the currently displayed sprites for the tilemap (that is excluding player, enemies and stuff). 256 as in 32*8, maybe we could shrink it if it is too large, anyhow, here's what I'm thinking:
While loading the tilemap from the SD card fetch the sprite data from the card, too, only the one needed for this tilemap.
For great diversity I'd say we go beyond 256 different sprites, those fill up quickly and mainly only take space on the SD card anyways, which is next to unlimited for us. So two-byte identifiers for the sprite, that's 65536 different sprites which is more than enough!
Anyhow, here is what I picture the process like currently:
Load the entire 12*8*2 tilemap into RAM (192 bytes) (probably the screen buffer as that isn't used during screen transitions). Fill out (0xFFFF's) another 64 byte buffer, i'll call that used ID's for now.
Now loop through the temp-tilemap buffer, two bytes at a time as a sprite ID is two bytes in this proposed thing. For each encountered ID i'd check if it exists in the used-id-buffer, if it is, take the two-byte offset thingy and put it into the real tilemap buffer as that is the new sprite ID then, if it isn't do one of the following things:
Non-animated tile: loop through the used-id-buffer from the front, until the first blank space, write it's ID in and copy the sprite data into the 256-byte sprite buffer from the appropriate slot
Animated tile: loop through the used-id-buffer from the back, take up two slots (as animated tiles are two-frames, the second one could be marked with 0xFFFE) and write both of it's sprites to the 256-byte sprite buffer. Next adjust a one-byte variable for the marker where the animated tiles start.

If a tile is passable could be stored in a seperate 32-byte buffer, also allowing for an easy implemention of that 4x4 pixel grid for passable stuff, and animated tiles being walkable!

After this process the used-id-buffer and temp-tilemap buffer aren't needed anymore, thus me thinking of putting that into the screen buffer.

This way we could have up to 32 non-animated sprites or 16 animated sprites, depending on the need (and ofc anything in between, as long as the 32*8 bytes allow it). Or do you think that is overkill-too-much? Any other suggestions/ideas/maybe you don't like this?

EDIT: Oh, also, I reverted in that commit to my camera movement thing because I couldn't figure out your logic to keep the camera in bounds, feel free to apply your logics, though, as they looked more optimized, heehee

EDIT2: On an unrelated note, I updated GB_Fat to save two dynamically allocated bytes when performing a read.
deeph Tue Mar 29, 2016 4:23 pm
rodot wrote:How about http://www.mapeditor.org/ ?


I never tried it, though I knew it, but I think it may be more difficult to customize it and to get what we want instead of creating our own.

Sorunome > It looks a bit too complicated to me, I'm not even sure to understand everything. To me, the best solution is to have 12*8 = 96 bytes of tiles data (sprites ID) +1 byte to indicate which tileset we want to load (256 sprites per tileset, or we could do less and shrink the tiles data). The other things (walkable/animated) are much more optimized the way I did, yet it is simplier. And yes, animated tiles are currently 2 frames.
Sorunome Tue Mar 29, 2016 4:30 pm
The thing is that I didn't want to have large tilesets in flash as flash wears out when using too many write cycles, and thus I didn't want to reserve another huge flash block for sprite data, thus overgoing that by using 256 bytes of ram. This would also allow for three-bit flags on the tiles for some neat stuff.
Yes, your collision is more optimized, however it does not allow 4x4 pixel collision which would allow for some very neat puzzle/tile/stuff IMO (just play one of those zelda games and notice how often you are actually walking on half a tile rather than a full one) and it would make it way harder for walking on animated tiles as all wall-tiles would have to be animated then, thus taking up more space.

The more simplified version of what I said up there is:
Fetch the map data off of the sd-card and on-the-fly convert the IDs and load the needed sprites into ram while dynamically determining where the animated sprites start and use another lookup thing for the data which sprite ID is walkable in which way.
Sorunome Fri Apr 01, 2016 5:32 pm
deeph wrote:
rodot wrote:How about http://www.mapeditor.org/ ?


I never tried it, though I knew it, but I think it may be more difficult to customize it and to get what we want instead of creating our own.

[...]

So I just started modifying one that I wrote for another project which runs in the webbrowser. It's hosted on my server, being able to access it you need to make an acc on my website and tell me your username so that I can add the permissions for that!
I already made data creation (as in, sprites, animated sprites, tilemaps and tilemap layouts) working, still need to do a bit of stuff to get exporting to gamebuino-readable files.
deeph Fri Apr 01, 2016 6:07 pm
Nice ! :)

But I can't register : "<br /> <b>Fatal error</b>: Cannot access private property Security::$newestPwdType in <b>/var/www/www.sorunome.de/index.php</b> on line <b>1499</b><br />".

Plus, unfortunately, I don't have that time to code lately and the next week I'll certainly be busy too. But it don't mean that I give up the project ;)
Sorunome Fri Apr 01, 2016 6:48 pm
deeph wrote:Nice ! :)

But I can't register : "<br /> <b>Fatal error</b>: Cannot access private property Security::$newestPwdType in <b>/var/www/www.sorunome.de/index.php</b> on line <b>1499</b><br />".

Plus, unfortunately, I don't have that time to code lately and the next week I'll certainly be busy too. But it don't mean that I give up the project ;)

No worries, i'm working on good map loading right now anyways. Also the register bug should be fixed now ;)
deeph Fri Apr 01, 2016 7:10 pm
Ok I've registered (same username as here). Thanks :)
Sorunome Fri Apr 01, 2016 9:42 pm
deeph wrote:Ok I've registered (same username as here). Thanks :)

you should have perms to view the dev-tool now, it should appear in the navigation menu, if it doesn't try logging out and back in again!

Anyhow, map loading when going to the sides is done, i made a little demo video!
deeph Sat Apr 02, 2016 7:46 am
Sorunome wrote:you should have perms to view the dev-tool now, it should appear in the navigation menu, if it doesn't try logging out and back in again!

I don't see it, even by logging off/in.

And nice video, I have'nt even seen it working yet neither on emu nor gamebuino :)

But the player sprite don't look that nice to me. Maybe we should swith to something more zelda-like ?

Image
Sorunome Sat Apr 02, 2016 9:19 am
deeph wrote:I don't see it, even by logging off/in.
Woops I accedently changed the wrong column in the database, you should have access now, though
deeph wrote:And nice video, I have'nt even seen it working yet neither on emu nor gamebuino :)
Thanks!
deeph wrote:
But the player sprite don't look that nice to me. Maybe we should swith to something more zelda-like ?

Image

I'm fine with that! Mind creating the data for that? the sprites are ordered the same way animation-and-direction-wise as you had it, only the mask and the sprite itself are merged into one thing, there's a mask byte and then the sprite byte etc. so that it alternates all the time if the byte is from the mask or from the sprite.


Also, how quickly does flash wear out? Because we could save some more RAM by flashing the sprites used for tilemaps instead of putting them into ram.
Sorunome Sat Apr 02, 2016 5:58 pm
So I got now collision detection in a 4x4 grid working, it could probably need some optimization, though. Especially looking at https://github.com/Sorunome/gamebuino-c ... ty-rpg.ino function getWalkInfo.

The way it is set up it easily allows for tiles such as lava or even jumping down to a lower area! Enemies could easily use that system to check if they can walk somewhere, too.
Sorunome Sun Apr 03, 2016 3:32 pm
Enemies, we need enemies! What kind of enemies, how should they look like, what should they do? I am doing some testing right now and everything seems to be running super-smoothly, even though due to a bug i spawn way too many movable objects, heehee
superfreaky Sun Apr 03, 2016 4:05 pm
I'll try to think up enemy classes today.
Sorunome Sun Apr 03, 2016 4:16 pm
superfreaky wrote:I'll try to think up enemy classes today.

Sounds good to me!

I already started with some enemy stuff here: https://github.com/Sorunome/gamebuino-c ... /enemies.h
For different enemies I thought of passing a variable to the constructor and use a giant switch or something, but that is lame?


Anyhow, have another demo vid of progress:
erico Sun Apr 03, 2016 4:32 pm
Looking nice!

ps: about developing with music...you should try movie editing :lol:
superfreaky Sun Apr 03, 2016 10:22 pm
Is that the song from 101 starships?
Sorunome Sun Apr 03, 2016 10:44 pm
superfreaky wrote:Is that the song from 101 starships?

Yes, I used it to test the sound engine, that's all. It'd be super awesome if somebody would be willing to compose songs for this! :D
superfreaky Mon Apr 04, 2016 4:12 am
Are you ok with photocopied handwritten sheet music? Cuz that's easiest for me. I also draw sprites with graphing paper :D
Sorunome Mon Apr 04, 2016 8:53 am
Something like that is better than nothing, the background music can have up to two tracks.
As for the sprites, if you make an acc here: https://sorunome.de I can give you access to the dev tool which would allow you to create sprites directly for it.
If you don't like that option i guess you might as well graph on paper and i'll plug it into there.

EDIT: So, just for fun I started customizing the gamebuino library to optimize for ram in our usecase. So far I managed to scrap out 27 bytes of ram by 100% removing code for the battery indicator and by simplifying how buttons work a lot. I haven't tackled sound or the display yet.

But, do you guys think it's worth it to modify the gamebuino library to scrap some ram? According to my calculations, the gamebuino library plus the SPI library (without the 512 bytes screen buffer) use 478 / 451 bytes, out of which sound uses currently 96 bytes.

EDIT2: So I added some more information stuff to the first post, especially good for people seeing this thread for the first time and not wanting to read the whole of it.
superfreaky Mon Apr 04, 2016 4:25 pm
I may try actually figuring out how the development tools work for music and sprites. :D
Creating enemies, I think not to many. What I want for this game is not to be primarily focused on fighting to carry the game, but more just quests and puzzles with some fighting. The game should start the player in the middle of the map(s) with paths leading in all directions, with lots of people asking for things. I think once you complete enough quests, you get a key to the other half of the game/story, but have the option of staying and finishing every side quest, as I think that would automatically give the game more replay value for most people. And a few secrets would be cool too!
My first enemy class (no sprite yet) is Guards. Logically enough, Guards stand in front of certain gates, and attack if you get too close, chasing you off screen. I haven't started making a sprite yet, any artists would be nice for this. Anyone?
PS: good call editing the first post.
PPS: I think I'm gonna come up with a 2 syllable name instead of " Odnipar" because it just sounds too weird, and wizards seen to have 2 syllable names in general.
PPPS: more RAM is better, I am not too bothered by no battery indicator or stuff like that. The battery is practically infinite anyway!
Sorunome Mon Apr 04, 2016 10:01 pm
superfreaky wrote:I may try actually figuring out how the development tools work for music and sprites. :D
Unfortunatly I didn't write anything for music, only for sprites :/
superfreaky wrote:Creating enemies, I think not to many. What I want for this game is not to be primarily focused on fighting to carry the game, but more just quests and puzzles with some fighting. The game should start the player in the middle of the map(s) with paths leading in all directions, with lots of people asking for things. I think once you complete enough quests, you get a key to the other half of the game/story, but have the option of staying and finishing every side quest, as I think that would automatically give the game more replay value for most people. And a few secrets would be cool too!
Yup, l like it that way. Just, like, not too few fighting, either, like, it should also be not too easy on the fighting part, but complex puzzles are awesome
superfreaky wrote:My first enemy class (no sprite yet) is Guards. Logically enough, Guards stand in front of certain gates, and attack if you get too close, chasing you off screen. I haven't started making a sprite yet, any artists would be nice for this. Anyone?
Yeah, we kinda need artists >.<
superfreaky wrote:PS: good call editing the first post.

Thanks!
superfreaky wrote:PPS: I think I'm gonna come up with a 2 syllable name instead of " Odnipar" because it just sounds too weird, and wizards seen to have 2 syllable names in general.
That's fine to me!
superfreaky wrote:PPPS: more RAM is better, I am not too bothered by no battery indicator or stuff like that. The battery is practically infinite anyway!

Ok, so custom gamebuino library it is, then. You can find it here: https://github.com/Sorunome/Gamebuino/tree/rpg_test

I also started adding a basic scripting system to it. Before saying that it'd be overkill, let me line out why it isn't overkill and what it could be used for :)

This scripting system can already be used for running scripts when walking onto a tile, this would easily allow such things as walking into a house, walking onto a switch, walking into a trap and things like that.
It would also allow for easily scripted cutszenes and thelike.
The scripts themselves are streamed off of the sd card, so don't expect too much performance on them, though it is more than sufficient for its purpose.
This is an example of a simple script:
Code: Select all
fade_to_white
set_map(2)
update_screen
fade_from_white
return_true

It should be quite clear what it does, i could easily add "set_map_with_fade 2" or something which will expand into that (but I won't just now as I'll be adding more arguments for player position and stuff...). The 2 is the map id displayed in the dev tool, i plan on adding named aliases because that's more human-readable.

These are the commands I currently implemented:
  • fade_to_white - Fades the screen to white
  • fade_from_white - Fades the screen from white to whatever contrast your screen was in previously
  • set_map <num> - Sets the current tilemap and loads it
  • set_player_x <num> - Sets the x-position of the player, in pixels
  • set_player_y <num> - Sets the y-position of the player, in pixels
  • focus_cam - Focuses the camera onto the player
  • update_screen - Updates the content of the screen
  • return_false - Returns false
  • return_true - Returns true

Oh, this scripting system will probably also save quite some space once we have longer cutscenes and thelike.
superfreaky Tue Apr 05, 2016 3:33 am
The song I pulled a little bit of inspiration from is here (https://www.youtube.com/watch?v=kC4FYlN-uJY)
It's not really theme song material though. I'm listening to a few songs from classic games for inspiration.
Sorunome Tue Apr 05, 2016 11:20 am
So I had a better idea on how to write the tokenizer (this is only the creating-the-script process that changed, the arduino part stayed the same (except for offsetting the commands)) and now the above script became this:
Code: Select all
fade_to_white
set_player_pos(tilemap_1,2*8,2*8,focus,update)
fade_from_white
return(true)

fade_to_white and fade_from_white could also have () at the end, that is optional.
Functions cannot be nested, as you might notice with focus and update, the whole concept of variable types is different.
On the arguments all the defines in defines.h are applied (useful for getting the asm id of a tilemap etc.). After that simple calculations are applied (so that stuff like tilemap_1 * 2 is actually working). Simple calculations being things that only contain digits, + - * / ( ) and whitespace.

The whole parser is working case-insensitive.
The functions defined are the same as before, only that you need () around your arguments now. There are the following new ones (they just expand into existing stuff):
  • set_player_pos() - takes between 2 and 5 arguments. If only two are applied it's simply x/y of the player. If there are three it is tilemap/x/y. For more (technically also for three) if the very last one is update it'll also update the screen, if the very last or second to last is focus it'll also focus the camera onto the player.
  • return(true) / return(false) - just an alternative syntax.

Beware, the parser assumes valid syntax. If you have invalid syntax you might blow up your house.

EDIT: videos explain way better than words

EDIT2: I improved the speed greatly now so that it is way quicker than in that video.

The code for the script in the video is:
Code: Select all
define_vars(x,y,limit)
set_var(x,16)
set_var(y,16)
set_var(limit,32)
fade_to_white
set_player_pos(tilemap_1,x,y,focus,update)
fade_from_white
do
   inc(x)
   set_player_pos(x,y,focus,update)
while(lt(x,limit))

return(true)

I don't even know why i made y a variable but w/e
Sorunome Wed Apr 06, 2016 9:29 pm
A few dark magic optimizations, some melted brains and some flipped tables later I went through optimizing sound! This strapped 65 bytes of ram away!
However, due to this, I disabled the volume-sliding command and some other stuff, i can easily add them back (did precompiler stuff for that), but that are 7 bytes of ram per channel, so for our case 14 bytes.

Anyways, if it was only for the ram i wouldn't have done it, I noticed something else: With the default sound library the sound froze when running the script. After some investigation I found out that gb.update(); actually performs essential parts for the sound system, so I moved those also to the interrupt.

I also did some other little optimizations as we always know where the sound data will be due to the dynamic flashing.

As you can probably guess, the modified library is a must now: https://github.com/Sorunome/Gamebuino/tree/rpg_test

the repo for the RPG thing is also updated accordingly.

P.S. I tried to implement triangle waves but those took next to 100% cpu :/

EDIT: So I tried again how many of those randomly moving black squares i could spawn.....seems like I run into RAM issues before I run into CPU issues, it handled 75 of those just fine without any lag at all!
superfreaky Thu Apr 07, 2016 4:07 am
I assume you're wanting an ambient music theme? Or adventurous?
Sorunome Thu Apr 07, 2016 9:12 am
superfreaky wrote:I assume you're wanting an ambient music theme? Or adventurous?

whatever you think fits well :)
There can be multiple songs depending on the mood, like dungeons could have a different tone etc.

EDIT: So, I just made the sound-data creation script work with multiple sounds, it'll also warn you if your sound is exceeding 1024 bytes. the 'name' attribute is optional, though i recommend setting it as it'll make things easier if they have a human-readable name instead of only a machine-created ID.
You can create the patterns with the Tracker, there must be exactly two tracks with the length of 20 each.

Or, well, you could just graph your two-track thingy on graph paper and take a pic and I do that work :P

Keep in mind when creating sound that you have square waves AND random noise to use, it can create neat stuff when mixing those ^.^
You can also play around with the volume in the tracks :)
superfreaky Thu Apr 07, 2016 4:12 pm
I won't have a lot of time this weekend but I'll try to get the ambient theme done.
Sorunome Sat Apr 09, 2016 4:39 pm
superfreaky wrote:I won't have a lot of time this weekend but I'll try to get the ambient theme done.

That's fine, take your time, as long as stuff gets done eventually ;)

Also for those curious, I added the server-side code of the dev tool to the repo :)
Sorunome Sun Apr 10, 2016 6:44 pm
This probably shows way better what all the scripting system can be used for:


EDIT: I added a bunch of comments to the repo to make it easier to understand what is going on
superfreaky Mon Apr 11, 2016 4:22 pm
You and the Gamebuino continue to amaze me with what you can do. :D
Sorunome Mon Apr 11, 2016 4:52 pm
Heehee, thanks!
This can't go very far without somebody doing the creative part, that is writing the story, doing the spriting and the tilemaps (for those two everything is there in the dev tool, just poke me for access) and background music and stuff like that :3

Oh, and it would be super-awesome if somebody could help me with coding the enemies :3
Sorunome Tue Apr 12, 2016 4:59 pm
Ice, who doesn't like ice? Sliding on it is fun!
Sorunome Sat Apr 16, 2016 4:51 pm
@superfreaky how's the story and the music coming along?
@deeph do you have time for coding now?
superfreaky Sat Apr 16, 2016 5:57 pm
The musics coming... It's just taking more time than I thought it would . :) The story now, I'm going to type a script and send you the file when I'm done. (Don't wanna spoil the story for anyone reading this, unless you think it's better with outside help and critique.)
Sorunome Sun Apr 17, 2016 1:47 pm
superfreaky wrote:The musics coming... It's just taking more time than I thought it would . :) The story now, I'm going to type a script and send you the file when I'm done. (Don't wanna spoil the story for anyone reading this, unless you think it's better with outside help and critique.)

Sounds good to me!

I just added sword attack (regular and spin attack), only the animation yet, though, as enemies aren't coded yet :P

We'd also need sound effects like sword swooshing and stuff, two channels are available for that.

Also, I enabled the last two channels so that all four are enabled (two for background music, two for sound effects), and global variables only use 1126 bytes of ram currently! :D
rainbowpawa Sun May 15, 2016 7:39 am
I'd love to join in the bandwagon! (If it's still going)

I'll try my best with sprite and map designing. I could do storylining too if that's fine? :D

ooh btw my username on Sorunome website is the same as here :D
Sorunome Sun May 15, 2016 8:13 am
rainbowpawa wrote:I'd love to join in the bandwagon! (If it's still going)

I'll try my best with sprite and map designing. I could do storylining too if that's fine? :D

ooh btw my username on Sorunome website is the same as here :D

Yessssss, this is still a thing! I'll PM superfreaky for what he already has on the story so that we can work from there! :D

I gave you access to the dev tool now, you'll probably have to refresh the page.
You can already play around with creating sprites & some map stuff, I guess. All maps currently made are only for testing purposes (of the demo vids and stuff), so feel free to change stuff there, too
rainbowpawa Sun May 15, 2016 8:34 am
YAY! And I have to get use to the map editor lol but I'll manage ;)

I'll create houses furniture for a start :D
Sorunome Sun May 15, 2016 9:05 am
Do you need some kind of instruction on how to use everything? I guess I could record a quick video
rainbowpawa Sun May 15, 2016 12:13 pm
Sorunome wrote:Do you need some kind of instruction on how to use everything? I guess I could record a quick video

Ooh! That would be nice! :D
superfreaky Sun May 15, 2016 3:20 pm
I've already got a working storyline, and I would appreciate it if you just left that to me please ;)
As for sprites and maps, I'm a terrible artist! So go crazy there. :D
superfreaky Sun May 15, 2016 3:30 pm
I have not lost interest. But, I haven't had much time to complete my story. I have revised it so much it barely resembles the original. Now, you are a Gadget Master, a genius of mechanical things. You need to collect favors from people to get through each level, and in return they give you garbage, when you collect all you need it tells you, "You crafted a Gadget with the junk!" And you use it to finish the level, either a puzzle you need the Gadget for or a weapon to fight a boss. I'll be gone the next few days on vacation, so I will be unable to contact you for now.
PS: I couldn't figure out the needlessly complicated pm system, so I replied here.
superfreaky Sun May 15, 2016 3:33 pm
And you still do fight the Blade Master at the end.
Sorunome Sun May 15, 2016 7:46 pm
Glad to hear you are still on board @superfreaky!
Sorunome Sun May 15, 2016 8:10 pm
rainbowpawa wrote:
Sorunome wrote:Do you need some kind of instruction on how to use everything? I guess I could record a quick video

Ooh! That would be nice! :D

Ugh, sorry, i forgot that my xserver is out-of-date, i'm trying to look for a clean alternative for me to be able to do that right now :)
Sorunome Tue May 17, 2016 8:15 am
rainbowpawa wrote:
Sorunome wrote:Do you need some kind of instruction on how to use everything? I guess I could record a quick video

Ooh! That would be nice! :D

Here you go: https://youtu.be/9gAJo7WZZtU

Unfortunately I forgot to explain that you need to do intelligent map design, as in, if on the current map there is a wall on the right side, then on the map right to it there needs to be a wall on the left side, so that it is impossible for you to switch maps and be inside a wall
superfreaky Mon May 30, 2016 10:16 pm
Music composition is up for grabs, I just don't have the talent no matter how hard I try!
j0z0r Tue Jun 07, 2016 8:26 pm
I think I have been recruited for making sprites... I do my rough sketches with graph paper and commit them to MSPaint when I feel they are complete. I'm not much of an artist, but there's not a whole lot to work with here either, so maybe I can manage. What all needs drawn up?
superfreaky Wed Jun 08, 2016 3:01 am
Main character sprite, generic soldier sprite, and a good mix of villagers, for starters. I'm planning lots of people you can interact with, who ask you for favours, so there needs to be a good mix.
superfreaky Wed Jun 08, 2016 3:03 am
You only need walking animations for the character and soldier, everyone else stays in one spot. So far.
j0z0r Wed Jun 08, 2016 3:10 am
Ok, can probably do at least most of those. 8x8? And will the walk cycle just be 2 frames, or are we thinking more than that? Even the people that sit still should probably have them facing different directions maybe
Sorunome Wed Jun 08, 2016 7:29 am
Actually, we already have two-cycle-walk-sprites for the main character here: viewtopic.php?f=13&t=3392&start=50#p11176

However we could need NPCs, normal backround sprites, house, forest, lake, river, you name it!
Sprites can be animated with two frames, in thd first post you can find info on how to get access to the dev-tool. Or, well, just check in the vids what's already there and use whatever program to make sprites and i'll add them manually.

All sprites must be 8x8, however you could make like a 16x16 tree consisting of four sprites. Thanks for your help!

(also if you feel like composing background-music, feel free to do so :p)

Edit: we also need enemy designs/sprites. Enemies and NPCs can contain transparency
Quirby64 Wed Jun 08, 2016 6:40 pm
I already forget if I agreed to work on music on this but screw it, I can try.
Would I have to actually code in the music or just make something in a tracker or something? I hope its the latter considering my skills at coding :?
https://www.youtube.com/channel/UCM0jv_ ... IciomDGEmQ <- uh for reference and/or shameless advertisement
Sorunome Wed Jun 08, 2016 9:07 pm
Quirby64 wrote:I already forget if I agreed to work on music on this but screw it, I can try.
Would I have to actually code in the music or just make something in a tracker or something? I hope its the latter considering my skills at coding :?
https://www.youtube.com/channel/UCM0jv_ ... IciomDGEmQ <- uh for reference and/or shameless advertisement

That would be awesome! No need to program, this is just about creating data!
You have two tracks available and two different wave forms: square and noise. In total you have 1024 bytes available for sound data, the first 40 bytes (20 entries) are used for the pattern list of track 1, the next 40 bytes (20 entries) for the pattern list of track 2. The remaining 944 bytes (472 entries) Can be used for the sound!
Take a look at this python file: https://github.com/Sorunome/gamebuino-c ... te_data.py
in tracks you have the two sound tracks, 0xFFFF marks the end (so that it repeats again), and the numbers index which pattern to play from the patternset. Make sure that both tracks are exactly equally long, else their repeating cycle will offset.

Now to creating the patterns: You can use the Tracker ( https://github.com/Rodot/Tracker ) to create the data, however volume slide, pitch slide and tremolo are unavailable to you, instead you'd have to create such effects manually.
Or, well, just graph notes on note paper and tell me to create the data for those, heehee
Quirby64 Sat Jun 11, 2016 2:52 am
Ok, that helps! I got the tracker working after a while and made the patterns to something I did awhile ago, except redone and in 2 channels / tracks. 8-)

Here's the redid version done in Famitracker for reference :
https://www.dropbox.com/s/usgthae32mdm6 ... e.wav?dl=0

And here's a text file with the patterns :
https://www.dropbox.com/s/fsg4t626voyf3 ... o.txt?dl=0

Idunno if I even did it right, but eh, I hope so :)
Sorunome Sat Jun 11, 2016 11:51 am
Quirby64 wrote:Ok, that helps! I got the tracker working after a while and made the patterns to something I did awhile ago, except redone and in 2 channels / tracks. 8-)

Here's the redid version done in Famitracker for reference :
https://www.dropbox.com/s/usgthae32mdm6 ... e.wav?dl=0

And here's a text file with the patterns :
https://www.dropbox.com/s/fsg4t626voyf3 ... o.txt?dl=0

Idunno if I even did it right, but eh, I hope so :)

Awesome, finally we are getting some music! This sounds IMO more like a dungeon theme, maybe also overworld stuff?
Also, sound effects would be nice, you have also two tracks for things like a sword swooshing etc.

EDIT: when is "Channel 1 (one octave higher in case)" used?

EDIT2: "^ Start after rb1 has played 2 times" --> can you make a pause that is the length of 2xrb1?

EDIT3: I think you may have accidentally created the data wrong....you barely have any information as to which kind of instruments at which volume are supposed to play....

EDIT4: your durations are also rather long... 99 for duration, a quarter note at 150 BPM should have a duration of about 8......

EDIT5: Just to give you a feeling, you could have made the track up to 269 commands longer. You can also make single pattern thingies longer than they are in the tracker, just make like two and append them, removing the 0x0000 from the first one as that marks the end of a track
Quirby64 Mon Jun 13, 2016 9:32 pm
OK so I would've posted this yesterday except I was playing a game so uh :?
But I at least did make tracks with decent percussion! as in a square with a pitch slide!
ye
https://www.dropbox.com/s/0u2mnp4f81dxv ... P.wav?dl=0
https://www.dropbox.com/s/zp8c3eme93zb9 ... e.wav?dl=0
https://www.dropbox.com/s/9w4o7z86hz3sa ... e.wav?dl=0
or if you have Famitracker Beta 5 you can check the tracker file here :
https://www.dropbox.com/s/vgm2zouhamup0 ... G.ftm?dl=0
Now to reply to all those edits :
1. The one that's one octave higher I think you should use, in the original song C1 is one octave higher.
2. const unsigned int rb13[] PROGMEM = {0x000}; <- do that 2 times? I dunno :oops:
3. The instrument in Famitracker is a "Blank" It basically means that Its always at its highest volume no effects and all that.
4. Ok, so the instrument that I was trying to for with that is, in the Famitracker file, it has one of its smallest duration with it at 0 (mute) then from then its at the highest volume (15).
5. Good to know!...that's really all I can think of to that :)
Sorunome Mon Jun 13, 2016 9:40 pm
Uuuuuh, where do you get famitracker? I DL'd 0.4.6 from here and it says your thing was created with a newer version.....
EDIT: nevermind, found it
EDIT2: you can also switch a track between square and noise wave btw
Quirby64 Mon Jun 13, 2016 9:48 pm
Oh yeah, probably should've put that. For anyone else who wants to try, it's at http://forums.famitracker.com/viewtopic.php?f=4&t=173
I actually tried a version of the boss battle with the regular noise, but it seemed too jarring/sudden/whatever compared. Thus the square wave percussion.
Sorunome Mon Jun 13, 2016 9:58 pm
How can i tell in famitracker how long a note is playing, so that I can properly convert it? :P

The thing is, the famitracker format is different from the gamebuino one, with your length of 99 you have super-long notes and you actually need to specify an instrument / a volume...
Quirby64 Mon Jun 13, 2016 10:00 pm
Ok so on the instrument "window" (basically the black box over the tracker notes and whatnot", right click the instrument "5B 00 - Square" and click edit, then you can see the simple box for volume.
simple as 1,2,4 amirite
Sorunome Mon Jun 13, 2016 10:42 pm
So, after some experimenting, one of the lines in famitracker is a length of 2, meaning a normal note is a length of 4, if there is that little horizontal line it's a note of length 2 followed by a pause of 2. And stuff like that. I converted track 1 already, i'll do track 2 tomorrow
Sorunome Tue Jun 14, 2016 3:36 pm
So, wanting to create the second track I got bad news.....your notes are too low, the lowest possible for the gamebuino is A#2, and because of how octaves work there's A#2 and B2 and after that C3. (I think that's how octaves are working)..... So unfortunately your song isn't working :/

Also, just so you know, the patterns don't have to be equal length, they can be any length, the only important thing is that the overall length of track 1 is the same as the overall length as track 2
konbick Tue Jun 14, 2016 8:38 pm
Hey everyone. I just got my Gamebuino the other day and have been watching this thread for a while now. Im an electrical engineering student but like to program for the arduino myself. I love to get my hands dirty with some RPG development but this is still new for me.
I will need some more time to get more information about what parts need to be considered when making an rpg (what are sprites, what are tiles) so thanks for the vid you already uploaded, Sorunome.
I will try to cooperate with j0z0r to make some spirtes.

Keep the great work up!
Sorunome Tue Jun 14, 2016 9:08 pm
konbick wrote:Hey everyone. I just got my Gamebuino the other day and have been watching this thread for a while now. Im an electrical engineering student but like to program for the arduino myself. I love to get my hands dirty with some RPG development but this is still new for me.
I will need some more time to get more information about what parts need to be considered when making an rpg (what are sprites, what are tiles) so thanks for the vid you already uploaded, Sorunome.
I will try to cooperate with j0z0r to make some spirtes.

Keep the great work up!

Awesome! Look at the first post to see how to get dev tool access to be able to easily help with sprites!
We also need enemy designs / ideas etc. in case you wanne help with that!
Quirby64 Wed Jun 15, 2016 12:29 am
Ah, I forgot about the note limit. Fear not though, Famitracker saves the day! :mrgreen:
AKA I can transpose the songs up the right amount of notes, which is what I did to the new .ftm file :
https://www.dropbox.com/s/vgm2zouhamup0 ... G.ftm?dl=0
There's also 2 new songs in there! :)
On a side note, how would I do the square C-5 and F-5 Percussion in data? I'd like to help make data for the other songs to make it easier for you, but that's my only problem I'd have doing it... :?
konbick Wed Jun 15, 2016 12:19 pm
Hey Sorunome,

I registered on your website. Please grant me rights for the dev tools. Thanks :)
(My name is the name as here)
Sorunome Wed Jun 15, 2016 12:35 pm
konbick wrote:Hey Sorunome,

I registered on your website. Please grant me rights for the dev tools. Thanks :)
(My name is the name as here)

Added permissions, if the new option in the navigation isn't appearing then reload the page!
konbick Wed Jun 15, 2016 2:45 pm
Hi all, hi Sorunome,

Could you create sections for the sprites, f.e. landscape, player, npc, enemies etc? That would make it easier to keep track of verything.
Making 8x8 sprites mochrome is not so easy. I created 3 kinds of enemies, can they be recognized?

I have some further ideas about gameplay etc. I will share my ideas later tonight.

edit: should all enemies have animations? (e.g. 2 frames, or is 1 frame okay, too?). And: for most enemies they would at least have two different direction to go and therefore have at least two sprites. Should both of these directions be saved under animated in one spritesheet?

Best,
Kon
Sorunome Wed Jun 15, 2016 4:12 pm
konbick wrote:Hi all, hi Sorunome,

Could you create sections for the sprites, f.e. landscape, player, npc, enemies etc? That would make it easier to keep track of verything.
Such differentiation already exists internally, as soon as you enter the tilemapper you will see that. I should (and will soon) add a way to create those categories / put sprites in them
Making 8x8 sprites mochrome is not so easy. I created 3 kinds of enemies, can they be recognized?
Enemies work differently, see below
I have some further ideas about gameplay etc. I will share my ideas later tonight.
I'm looking forward to them!
edit: should all enemies have animations? (e.g. 2 frames, or is 1 frame okay, too?). And: for most enemies they would at least have two different direction to go and therefore have at least two sprites. Should both of these directions be saved under animated in one spritesheet?

Best,
Kon
I think 1-frame for enemies wouldn't look too good as it'll look so static then. However, enemies itself already work differently:
The sprites in the dev tool are only those used in tilemaps, the other ones work differently, e.g. enemies have transparency, too. As such i guess it'd be possible to make a few larger enemies, but keep in mind that those also need to find space on the map! (Bosses would probably be larger, for example)
For enemies we don't only need sprites, but ideas on how they should interact with the enviroment, maybe pseudocode or even real code for that!

As for sprites.....feel free to add them to the spritesheet anyways, as the buildscript only includes the sprites which are in use on the tilemaps :3
Quirby64 Thu Jun 16, 2016 1:56 am
>suddenly, an update to the .ftm appears
It's an update to the one I put on the end of the last page. Now with SFX! :)
https://www.dropbox.com/s/vgm2zouhamup0 ... G.ftm?dl=0
Sorunome Thu Jun 16, 2016 12:10 pm
Quirby64 wrote:Ah, I forgot about the note limit. Fear not though, Famitracker saves the day! :mrgreen:
AKA I can transpose the songs up the right amount of notes, which is what I did to the new .ftm file :
https://www.dropbox.com/s/vgm2zouhamup0 ... G.ftm?dl=0
There's also 2 new songs in there! :)
On a side note, how would I do the square C-5 and F-5 Percussion in data? I'd like to help make data for the other songs to make it easier for you, but that's my only problem I'd have doing it... :?

I made a little vid for you showing how to create track data: https://youtu.be/NiMraC1kPE8
I did not end up converting that song (due to no time then), I'd be happy if you could do it :3
konbick Thu Jun 16, 2016 9:21 pm
Hi all,

updates on the enemy code:

Sorunome Thu Jun 16, 2016 9:52 pm
this is looking awesome!

Maybe i should write helper functions for line of sight where it also detects if there's like a tree in between, or do you already handle that?
albertinjo Fri Jun 17, 2016 2:12 am
When I press "active topics" every now and then this thread pops out. You guys have been developing this for quite some time now.... and I must say, well done!
I can see you are putting some serious effort in this.
Congratulations and keep up the good work!
I am even thinking of helping with the development... I'm in a rush now, but I'll report back in a week.
superfreaky Fri Jun 17, 2016 4:31 am
Speaking about delivering, it's about time I delivered the storyline. Look for it in the next few days, Sorunome! I'm not sure whether to PM you or just post so anyone involved can see.
Sorunome Fri Jun 17, 2016 5:27 am
albertinjo wrote:When I press "active topics" every now and then this thread pops out. You guys have been developing this for quite some time now.... and I must say, well done!
I can see you are putting some serious effort in this.
Congratulations and keep up the good work!
I am even thinking of helping with the development... I'm in a rush now, but I'll report back in a week.

I'm also positively surprised by the amount of contribution this is getting lately, feel free to help out! :D
superfreaky wrote:Speaking about delivering, it's about time I delivered the storyline. Look for it in the next few days, Sorunome! I'm not sure whether to PM you or just post so anyone involved can see.

Maybe keeping it secret would be better to keep the story more of a surprise, what do you guys think? If we do that I'd need to know how wants to do story editing, as, well, a story with more reviews etc is generally-speaking a better story ;)
konbick Fri Jun 17, 2016 7:11 am
Here are some further thoughts that I am partly having for a while now:

I'd like to see some features in the game that I know from other rpgs I have played in my life to be quite interesting.

1) I would like to see some little chest or similar in the game that give random loot. And it should really be random and therefore hard to get something good out of the chests. So what do I mean with "something good"? I have this idea of getting an item (with a very low chance) that influences the character and therefore the story line. This game should not be just playable linear but depending on these "something good" you should be able to go different ways and routes that wouldn't have possible otherwise. These "something good"(s) f.e. could be jewels that give a certain ability to the player (flying, swimming, to be invisible for a short time, etc).
Summarizing: I imagine for the game to offer a few possible ways to complete it with most of the ways requiring certain abilities won through rare loot from chests or similar.

2) As for the story: I would need to know what enemies are needed. Right now the player carries a sword and thats why I have these roguelike enemies in my head (sword&sorceress) that fight wird sword and arrows (and finally some fine blades :D)
Other than that I am fine for keeping the story a secret for now. But also Sorunome is right, we might need second opinions on that and some refinement.

3) @Sorunome I am not handling the event of a tree being between the player and enemy as of now. But I have ideas how to manage that. I will get back to you when I need your help ;)
Quirby64 Sat Jun 18, 2016 2:51 am
Yo ok, I didn't do the Story track because I'm not sure if I'd do it right, but I did do a shorter track, the Boss Prelude :
https://www.dropbox.com/s/5yjlvnfa17oir ... o.txt?dl=0
2 more things :
-The video did help, but how would I do pitch shifts (if possible) to make the square percussion / drums of the Famitracker versions?
-Could you remove the Regular Battle / Dungeon code from the current GitHub thing (if it's there?), I realized I screwed up putting it in the tracker, having everything one octave above does not sound good in Famitracker. I'll try doing that again tomorrow.
superfreaky Sat Jun 18, 2016 4:38 am
konbick wrote:Here are some further thoughts that I am partly having for a while now:

I'd like to see some features in the game that I know from other rpgs I have played in my life to be quite interesting.

1) I would like to see some little chest or similar in the game that give random loot. And it should really be random and therefore hard to get something good out of the chests. So what do I mean with "something good"? I have this idea of getting an item (with a very low chance) that influences the character and therefore the story line. This game should not be just playable linear but depending on these "something good" you should be able to go different ways and routes that wouldn't have possible otherwise. These "something good"(s) f.e. could be jewels that give a certain ability to the player (flying, swimming, to be invisible for a short time, etc).
Summarizing: I imagine for the game to offer a few possible ways to complete it with most of the ways requiring certain abilities won through rare loot from chests or similar.

2) As for the story: I would need to know what enemies are needed. Right now the player carries a sword and thats why I have these roguelike enemies in my head (sword&sorceress) that fight wird sword and arrows (and finally some fine blades :D)
Other than that I am fine for keeping the story a secret for now. But also Sorunome is right, we might need second opinions on that and some refinement.

3) @Sorunome I am not handling the event of a tree being between the player and enemy as of now. But I have ideas how to manage that. I will get back to you when I need your help ;)


(1) I hear you. I like the idea of a few hidden powerups throughout the game, but not just as powerups for battle. See, the concept of the game that I have is that you do favors for people, they give you items you can combine for a new gadget you need to complete the level, or collect another, more important favor. Which would give you a permanent gadget you can use as a weapon, or reach previously unreachable places. So, a powerup could get you to normally impossible to reach areas in the game where you have one shot to win some game-changing alternate weapon in a minigame. (Like in SMB3 but for weapons)

(2) Although I originally had a very generic fantasy going on before, things have changed a lot since then, and the game no longer takes place in the past, with ancient mysticness and all that. It is in the present, in a parallel universe, with superior technology. You are fighting evil construction workers in an enormous park, with enough space for small towns. So yeah, they have... construction tools as weapons, you know? The bosses will, until the final one, be workers in large construction machines. Protagonist still carries a sword, but it's more of a chunk of sharp metal he picked up at the beginning of the game (Gets upgraded over time of course). So sorry, not mystic and all that, throwing magic balls and stuff at you, but people with nail guns and, well... I dunno. You can decide what the enemies are like, maybe have different classes of enemies, like Cyber Ninjas they hired or something.

*SPOILER ALERT!* Don't read this section if you don't want story spoiled! No looking!
Ok, still here? Well, it's about a guy who's trying to save his girlfriend who is being held hostage by the evil boss, because you won't sell your park house to him to be cleared for an A-Park-Ment complex. He wants, to reiterate, to have the house property, and since you won't sell he's using your girlfriend as leverage. Your job is to save her. Anyway, more story will be PM'd to the appropriate people soon. (Warning, I may end up flaking for another month. I am a major procrastinator) Ok, I'm done now. *END SPOILER*

Nevermind, one more thing. I want there to be like 3 items collected in favors for each device you can create (You lose most of the common devices in the end, but sidequests give you health perks armor, or better swords and stuff, you can pick up in chests after helping people. That, or minigames in which you might win something.) But I want enough favors total in each level that you have to guess which favor items combine for what things. To add a layer of difficulty to finishing the game, so you can't just speedrun the game like nothing. I don't want it that linear. Just so everyone is on the same page.
Sorunome Sat Jun 18, 2016 8:14 am
Quirby64 wrote:Yo ok, I didn't do the Story track because I'm not sure if I'd do it right, but I did do a shorter track, the Boss Prelude :
https://www.dropbox.com/s/5yjlvnfa17oir ... o.txt?dl=0
2 more things :
-The video did help, but how would I do pitch shifts (if possible) to make the square percussion / drums of the Famitracker versions?
You can't pitch-shift, to save ram I removed that code from the library. However, the pitch-shift was literetally only about making every note only one higher/lower, so you might as well do that manually while putting the notes into the tracker.
Same goes for pitch and volume slide, you can just make your notes having a length of 1 and manually slide the pitch/volume with the command things.
-Could you remove the Regular Battle / Dungeon code from the current GitHub thing (if it's there?), I realized I screwed up putting it in the tracker, having everything one octave above does not sound good in Famitracker. I'll try doing that again tomorrow.

You mean in create_data.py? Consider it done!
Sorunome Sun Jun 19, 2016 10:07 am
superfreaky wrote:[...] Although I originally had a very generic fantasy going on before, things have changed a lot since then, and the game no longer takes place in the past, with ancient mysticness and all that. It is in the present, in a parallel universe, with superior technology.
[...]

Aaaawe, i really like the past-theme a lot, oh well :P
superfreaky Sun Jun 19, 2016 7:25 pm
Hmm... I'll see what I can do.
Sorunome Sun Jun 19, 2016 7:47 pm
superfreaky wrote:Hmm... I'll see what I can do.

Nah, you don't have to :P
superfreaky Mon Jun 20, 2016 2:26 am
Well, I just didn't think it sounded very good. I just like input to make sure people think it doesn't sound lame.
Quirby64 Mon Jun 20, 2016 5:44 pm
Sorunome wrote:
Quirby64 wrote:Yo ok, I didn't do the Story track because I'm not sure if I'd do it right, but I did do a shorter track, the Boss Prelude :
https://www.dropbox.com/s/5yjlvnfa17oir ... o.txt?dl=0
2 more things :
-The video did help, but how would I do pitch shifts (if possible) to make the square percussion / drums of the Famitracker versions?
You can't pitch-shift, to save ram I removed that code from the library. However, the pitch-shift was literetally only about making every note only one higher/lower, so you might as well do that manually while putting the notes into the tracker.
Same goes for pitch and volume slide, you can just make your notes having a length of 1 and manually slide the pitch/volume with the command things.
-Could you remove the Regular Battle / Dungeon code from the current GitHub thing (if it's there?), I realized I screwed up putting it in the tracker, having everything one octave above does not sound good in Famitracker. I'll try doing that again tomorrow.

You mean in create_data.py? Consider it done!


I tried editing the quote but i'm 2lazy, sorry. Also, thanks for removing that dungeon code, I'll get to work on creating the new data soon.
With the pitch slides, that's was I was actually referring to. Just mixed it up >.> However, I tried several variations of the square percussion using length-1 note shifts, and it sounds close to the original. However, wouldn't this make the songs take up way more data? Think of it this way - I could have note slides available to make square percussion, and only use one note of code (like the 0x0000 stuff). If I had to manually put down 4 length 1 notes to make one percussion sound, that would take up 4 times as much data. The boss battle track, for reference, has 127 square percussion notes. 127 x 4 = 508 = 4 times as much data.
tl:dr add note slides back, they would theoretically save more data
Sorunome Mon Jun 20, 2016 8:55 pm
Quirby64 wrote:
Sorunome wrote:
Quirby64 wrote:Yo ok, I didn't do the Story track because I'm not sure if I'd do it right, but I did do a shorter track, the Boss Prelude :
https://www.dropbox.com/s/5yjlvnfa17oir ... o.txt?dl=0
2 more things :
-The video did help, but how would I do pitch shifts (if possible) to make the square percussion / drums of the Famitracker versions?
You can't pitch-shift, to save ram I removed that code from the library. However, the pitch-shift was literetally only about making every note only one higher/lower, so you might as well do that manually while putting the notes into the tracker.
Same goes for pitch and volume slide, you can just make your notes having a length of 1 and manually slide the pitch/volume with the command things.
-Could you remove the Regular Battle / Dungeon code from the current GitHub thing (if it's there?), I realized I screwed up putting it in the tracker, having everything one octave above does not sound good in Famitracker. I'll try doing that again tomorrow.

You mean in create_data.py? Consider it done!


I tried editing the quote but i'm 2lazy, sorry. Also, thanks for removing that dungeon code, I'll get to work on creating the new data soon.
With the pitch slides, that's was I was actually referring to. Just mixed it up >.> However, I tried several variations of the square percussion using length-1 note shifts, and it sounds close to the original. However, wouldn't this make the songs take up way more data? Think of it this way - I could have note slides available to make square percussion, and only use one note of code (like the 0x0000 stuff). If I had to manually put down 4 length 1 notes to make one percussion sound, that would take up 4 times as much data. The boss battle track, for reference, has 127 square percussion notes. 127 x 4 = 508 = 4 times as much data.
tl:dr add note slides back, they would theoretically save more data
I'd rather have the notes take up more data, all current tracks were quite below the 1024 bytes limit, so I think that that should be fine, as long as you don't use pitch slides all over the place (with that i mean like every note)
EDIT: My point is, a song is always 1024 bytes no matter what, if it is smaller the rest is just 0x0000
naed Fri Feb 03, 2017 1:26 am
Spritesheet editor is working perfectly
Sorunome Fri Feb 03, 2017 9:52 am
Glad it's working ^.^

Are you working on a general overworld outline thing?
naed Fri Feb 03, 2017 4:23 pm
Yeah, in my spare time I am

Slowly getting there
STUDIOCRAFTapps Fri Feb 03, 2017 9:56 pm
I've an small idea for the rpg; a breakable bushes or something like that. If we break it, it will reveal a path...
Sorunome Fri Feb 03, 2017 10:12 pm
STUDIOCRAFTapps wrote:I've an small idea for the rpg; a breakable bushes or something like that. If we break it, it will reveal a path...

100% doable with the engine ^.^
naed Sun Feb 05, 2017 12:59 am
Ok, so I've been working on the new overworld map... It's a slow process using the web tools (as I'm literally having to do everything one tile at a time) but it's coming along ok

Should hopefully be able to get something worth seeing posted here soon so everyone can see some of the progress being made
Sorunome Sun Feb 05, 2017 12:06 pm
naed wrote:Ok, so I've been working on the new overworld map... It's a slow process using the web tools (as I'm literally having to do everything one tile at a time) but it's coming along ok

Should hopefully be able to get something worth seeing posted here soon so everyone can see some of the progress being made

how big do you plan the overworld to be?

In the zelda oracle games the overworld is 16x16 tilemaps large, which is actually rather huge. IMO we could do something similar ^.^
naed Sun Feb 05, 2017 3:45 pm
Bigger.... Much much bigger

It's currently sat at around 27x45 :?
Sorunome Sun Feb 05, 2017 4:14 pm
Bigger is IMO not a bad thing, the engine is able to handle way bigger after all ;)
naed Mon Feb 06, 2017 7:47 pm
That's good cause this is definitely going to be bigger
Awot Thu Feb 09, 2017 11:04 am
Hello,
i have acces to the tools and i d like to contribute with some sprites, what do you need so far ?
- items ?
- NPC ?
- Enemies ?
Sorunome Thu Feb 09, 2017 11:34 am
I don't think we have any NPCs yet, and a large RPG without any would be, well, boring.

We don't have any enemies yet, either. Just keep in mind that the game is more an ARPG, so more zelda-like where the enemies actually walk around on the screen. For enemy design there is even more to do, though, such as figuring out how their attack patterns should look like etc.
If you also do the attack pattern stuff on enemies it would be great if you could do actual dev on the game, so that you'l need to set it up to compile for you so that you can do good tsting and thelike
Awot Thu Feb 09, 2017 4:49 pm
ok,
could you explain the organisation of your sprite tool on your website ?
i see a lot of parts (sprite, .. ) were should i make Enemies sprite for example ?

also, for enemies sprites : i suppose we just make a side view and then the sprite will be flipped with the code ?

So for an enemy sprites we could make for example :
2 sprites of a walking enemy viewed from the leftside
2 sprites of a walking enemy going up
2 sprites of a walking enemy going down
1 sprite of the enemy attacking leftside
1 sprite of the enemy attacking going up
1 sprite of the enemy attacking going down

and for a NPC : it could be simpler like :
1 or 2 sprites of NPC viewed from the leftside
1 or 2 sprites of NPC going up
1 or 2 sprites of a NPC going down
but sometimes NPC doesn't move at all

what do you think ?
thanks
Quirby64 Sat Feb 11, 2017 7:48 pm
Ooh nice, this thread is alive again :)
https://www.dropbox.com/s/vgm2zouhamup0 ... G.ftm?dl=0
new version of the OST file, 4 new tracks in and not much else. You still have to open it with FT 0.5 Beta, right here :
http://forums.famitracker.com/viewtopic.php?f=4&t=173
\.o./
naed Sat Feb 18, 2017 10:21 pm
Hey, I'm still working on this... Sorry for no update recently but I've been really ill as of late and had to take a break from everything
Awot Thu May 18, 2017 2:13 pm
Hello,
Could someone share a compiled .HEX file of the game so far ? :)
Sorunome Wed Sep 06, 2017 2:27 pm
Are people still interested in this?

I have to apologize at this point - i might have killed off the project myself by coding so much engine stuff and expecting story, music, etc. to roll in. I'd love to see an RPG for the gamebuino, and thus am very willing to push this project further, however, are people still interested in this?
STUDIOCRAFTapps Wed Sep 06, 2017 4:10 pm
Sorunome wrote:Are people still interested in this?

I have to apologize at this point - i might have killed off the project myself by coding so much engine stuff and expecting story, music, etc. to roll in. I'd love to see an RPG for the gamebuino, and thus am very willing to push this project further, however, are people still interested in this?


Of course!
Sorunome Wed Sep 06, 2017 4:59 pm
STUDIOCRAFTapps wrote:
Sorunome wrote:Are people still interested in this?

I have to apologize at this point - i might have killed off the project myself by coding so much engine stuff and expecting story, music, etc. to roll in. I'd love to see an RPG for the gamebuino, and thus am very willing to push this project further, however, are people still interested in this?


Of course!

Great! Is there anything you want to help on in development of this?
STUDIOCRAFTapps Wed Sep 06, 2017 9:12 pm
Sorunome wrote:
STUDIOCRAFTapps wrote:
Sorunome wrote:Are people still interested in this?

I have to apologize at this point - i might have killed off the project myself by coding so much engine stuff and expecting story, music, etc. to roll in. I'd love to see an RPG for the gamebuino, and thus am very willing to push this project further, however, are people still interested in this?


Of course!

Great! Is there anything you want to help on in development of this?


I don't know. *Side note:* Maybe a discord server or something like that could help the development of Gamebuino games. Rodot, could you do that please?
jicehel Fri Sep 08, 2017 2:59 pm
Of course i'm interested. It's a amazing project and using the abilities of the community can only make the game better. I have not alot time but if i can help in all sorts of thing you have to do, i'll do.
Sorunome Sat Sep 09, 2017 7:49 pm
STUDIOCRAFTapps wrote:[...]
*Side note:* Maybe a discord server or something like that could help the development of Gamebuino games. Rodot, could you do that please?

I just made an in-official server to allow us to discuss stuff -redacted-

EDIT: there is now an official gamebuino discord here: https://discord.gg/GbSkRyU