Need help planting this MD project on a solid foundation

SGDK only sub forum

Moderator: Stef

camous
Interested
Posts: 23
Joined: Sun Jan 05, 2014 12:28 pm
Location: Denmark

Need help planting this MD project on a solid foundation

Post by camous »

Hi all

A few months ago I happened upon a development enviroment for the Sharp X6800, a Japanese exclusive platform, and on a whim started work on a game project for it.

After a month or two of development progress started get stalled by the lack of proper english language documentation on the platform as well as the lack of proper tools for making asset production, and import easier.

We are talking about boring stuff that no one thinks about when venturing boldly upon a new game making voyage.

Stuff like, where do I find a tile based level editor that meets my modest requirements and is able to save level, and object location data in a format that I can use directly in my game?

Stuff like how in the deuce do I take all these sprites I got and create a structure which allows the game engine to know they belong to an attack animation of so and so character or enemy.

Having no choice I was defining all assets by hand and it got to be a bit too much. I was wasting too much time on stuff that should have been automated.

I've now decided to scrap my work on the X68000 and start over on the Mega Drive. It is a more popular system, is very well documented, has a large development community and it seems to have some of the aforementioned tools.

But before I begin I would like more seasoned developers on the system to recommend me which tools I should use for what things. I notice a lot of the tools I've found have not been updated in ages and are as such discontinued, or are just not very well documented, so I thought I'd ask you guys first.
kubilus1
Very interested
Posts: 237
Joined: Thu Aug 16, 2012 2:25 am
Contact:

Post by kubilus1 »

I've been working on setting up a decent Genesis development toolchain. The thing is, there is definitely not just one way to go about this. A lot of it comes down to personal preference and where your experience lies.

I more or less do the following:

* Basic framework - I use Linux and SGDK for the basic compilation of my projects.

* Graphics - I use the Gimp (with a colormap) to create most of the images I use, and I use Imagemagick to do palette conversion, tile splitting etc.

* Sprites - I create a sprite list in Gimp and run it through a shell script that uses Imagemagick to convert it into a format for sprite manipulation. I then have a data structure that is a super set of the SGDK sprite structure that allows me to more easily animate the sprite. Also I have some datastructures that track all the sprites and allow adding and deleting these at will.

* Maps - I use Tiled to layout maps from images I create in the Gimp. I wrote a tool that converts these tile maps into a format I can load directly in C. I have a data structure that I created that handles all this and allows scrolling arbitrarily large maps. So far I don't deal with multiple object layers, but I may add this when I need it.

* Music - I generally use Deflemask to create music which I export as a VGM file. I then load this directly in the game using the SGDK VGM driver (which is soon to be updated, BTW!)

* Sound effects - I'll typically pull some free sound file from the net and use ffmpeg to convert it into an unsigned PCM. Played with the new, yet to be released update to the SGDK VGM driver.

So important chunks of my toolchain are taken from other projects, which I built upon to get something that I feel comfortable using. Eventually I may release more of the bits and pieces I wrote for other people to use, but I'll probably leave it all as individual chunks to be picked as needed, as opposed to a comprehensive toolset. I don't know.

If you want something more complete as is, you may want to take a look a Propeller, or the Basic Genesis thing, neither of which I have used.
djcouchycouch
Very interested
Posts: 710
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch »

My setup:

- Writing code: SGDK on Windows. Python to write converters and exporters. Visual Studio as IDE.
- Tile graphics: Graphics Gale. I use SGDK's built-in genres to import GG-created bitmaps into code.
- Sprites and animations: Graphics Gale, again, but with an exporter that converts the animations to C.
- Maps: Tiled. Converting map data into C.
- Music: I had tried Echo a long time ago and got some basic things to work but didn't get too far with it, mostly because of time. I'm not familiar enough with other sound/music options to suggest anything else.
- Sound Effects: Echo.

SGDK and Tiled are still current. Echo hasn't been touched in a while but I think it should be pretty usable as is.
camous
Interested
Posts: 23
Joined: Sun Jan 05, 2014 12:28 pm
Location: Denmark

Post by camous »

Did you write the GG exporter yourself, and how do you handle collision boxes for your sprite animations?
KanedaFr
Administrateur
Posts: 1154
Joined: Tue Aug 29, 2006 10:56 am
Contact:

Post by KanedaFr »

- Writing code: SGDK on Windows with Eclipse CDT
- Tile graphics: Graphics Gale + SGDK's built-in genres (BITMAP)
- Sprites and animations: Graphics Gale + SGDK's built-in genres (SPRITE & ANI)
- Maps: Mappy + MDPPY + SGDK's built-in genres (MAP)
- Music: MVSTracker (moving to Echo.)
- Sound Effects: SFXR + SOX (+wip genres SND) + custom z80 driver

You have clearly all you need, but like most people here, you're free to create your own.

May I say that if you get stalled on X68000,you should use SGDK built in genres because it seems you don't (yet) know how it could be handled on any platform. The tools are only here to convert to usable format, not to make all the works for you.
camous
Interested
Posts: 23
Joined: Sun Jan 05, 2014 12:28 pm
Location: Denmark

Post by camous »

Not sure what you mean by that last part but I'll give genres a go.
Chilly Willy
Very interested
Posts: 2993
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy »

The last part means that no matter what tools are available, there will ALWAYS be much work you have to do yourself.
8)
camous
Interested
Posts: 23
Joined: Sun Jan 05, 2014 12:28 pm
Location: Denmark

Post by camous »

Oh, I know that. I've brought projects to the shipping faze on other platforms before. Some things have to be automated though. I used to write my own tools in C#, but it has been a long time since I've done one and I've all but forgotten how.

From the look of things most of the things I need already exist, I just need figure out how to use them.
djcouchycouch
Very interested
Posts: 710
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch »

camous wrote:Did you write the GG exporter yourself, and how do you handle collision boxes for your sprite animations?
The Graphics Gale site has an importer DLL to use in your tools. http://www.humanbalance.net/gale/galefile091207.zip

I use that to import GG files into a tool, scan individual frames and then build C structures of animations and tiles out of them.

Collisions boxes are hardcoded per object. I don't think I'll be using anything more complicated than that anytime soon.
r57shell
Very interested
Posts: 478
Joined: Sun Dec 23, 2012 1:30 pm
Location: Russia
Contact:

Post by r57shell »

First: I'm not making my game. I hack other games.

Code: ASM69k (Notepad++ :)
Tile graphics, Sprites , Animations, Maps... any PNG editors + my own converters into ingame formats.
Music: original game sound driver.

:lol:
Image
camous
Interested
Posts: 23
Joined: Sun Jan 05, 2014 12:28 pm
Location: Denmark

Post by camous »

I am looking at Graphics Gale and with its genres integration this is one of those programs I really missed on the X68000.

I do have a question about handling sound. This is an area about which I have absolutely no experience or understanding.

Lets say that I found a capable composer who can make nice sounding chiptunes but he has no understanding of hardware.

Is there a program in which he can compose music that then can be saved in a format which I can load into the project and play with just a few lines of code?
djcouchycouch
Very interested
Posts: 710
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch »

camous wrote:I am looking at Graphics Gale and with its genres integration this is one of those programs I really missed on the X68000.

I do have a question about handling sound. This is an area about which I have absolutely no experience or understanding.

Lets say that I found a capable composer who can make nice sounding chiptunes but he has no understanding of hardware.

Is there a program in which he can compose music that then can be saved in a format which I can load into the project and play with just a few lines of code?
There are other constraints you'd need to be consider, like:
- should the music playback system run on the 68000 or in parallel on the z80?
- should the music playback system also support sound effects? How many sound effects?
- should the music playback system support samples?

things like that.

There aren't a lot of ready-made music/effect libraries available. Everyone seems to have their own thing.

The SGDK has multiple types of music drivers, and Stef would be able to talk about how to get data into them.
kubilus1
Very interested
Posts: 237
Joined: Thu Aug 16, 2012 2:25 am
Contact:

Post by kubilus1 »

camous wrote:Is there a program in which he can compose music that then can be saved in a format which I can load into the project and play with just a few lines of code?
There is more than one way to do this, but personally I like Deflemask. It is reasonably intuitive and allows composing Genesis specific (and other platforms) chip tunes. These can then be exported as a VGM file.

The VGM file can then be loaded and played on the Genesis easily, basically a one line of code thing. The driver runs on the sub-cpu so it won't slow down processing and supports basic PCM playback.

The current VGM driver does not play sound effects as well, but I've been working on an update that will.

There are other sound drivers such as Echo, but I don't know of any good music composition tools that are directly compatible with that format.
camous
Interested
Posts: 23
Joined: Sun Jan 05, 2014 12:28 pm
Location: Denmark

Post by camous »

Sounds like deflemask is exactly what I am looking for. I am sure by the time I have game mature enough to need sound effects the support for them will have been completed.
djcouchycouch
Very interested
Posts: 710
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch »

kubilus1 wrote: There are other sound drivers such as Echo, but I don't know of any good music composition tools that are directly compatible with that format.
The author(s) suggest using OpenMPT, but it takes some doing to wrangle the format to something Echo can play.
Post Reply