Scrolling Game Development Kit Forum
SGDK Version 2 => General Discussion => Topic started by: bluemonkmn on 2006-10-04, 05:09:41 AM
-
I figure the time is not far away when I will be ready to start incorporating some template artwork, sprites and code into the SGDK2 project. I better start organizing now.
OrionPax, are you still out there? Is there anybody else who'd like to work on and submit their efforts for consideration for inclusion in the initial SGDK2 release when it's ready?
-
I'm open for some "light" graphics work (I got time restraints)... depends on what you need.
-
I don't exactly know what I need. I just need some art libraries/templates to deliver with SGDK2 when the time comes. So complete sets, probably, not just pieces... although if a team is assembled, maybe each member doing just some of the work would work out. But in order to have a consistent artistic style within a set of graphics, there should probably be one person doing the drawing of discrete chunks of related styles of graphics.
Looks like I may have to email OrionPax to get his attention.
-
A sound library would be good too. I have about 200 sound effects on my computer I could send in, but they're all stolen from other sources. Do you want them anyway?
-
I think original sounds would be a better idea. We don't want to get in trouble here. Also, it would just seem unoriginal if SGDK2's library is just full of assets from other places.
I think all Game Makers that come with a library (RPG Maker, Klik'n'Play, Reality Factory, etc.) comes with an original library of their own devising, not something stolen from elsewhere.
Now, if you have a way to make sounds, I'm sure that would be appreciated when that step is reached. Just as a "throw it out there" thing, if anybody does have any sounds they want to contribute that are their own, I'm sure there will be a time for that.
Music goes with that, too. If you have any easily-loopable music in OGG, Tracker, or MIDI format, that would go well in the library.
-
Still here =]
I've been poking around the lastest version the past couple days. Thanks to the test project/experimenting with it I shouldn't have any problems building/testing a tileset.
I'll see about putting the improved shfl set together. It's rather disorganized at the moment but somewhere in there is something usable so I'm currently sorting through it. I'll see about updating whats there to take advantage of some of new things that can be done in sgdk2. I've got some interesting ideas for the graphics to try out after the bulk of the existing work it is sorted/completed. I'm not sure how long it'll take but I'll see what I can get done on it over the next month or so.
Is there going to be a way to change the opacity of a tile, perhaps in the frameset editor? Hue, saturation, luminance? If not then in engine/runtime?. I ask so I know what I need to render on the tilesheets vs. what to do in the SGDK2 environment. I know I can flip, rotate, resize and combine multiple tiles. Though I can't seem to both combine a number of tiles and animate it at the same time, example: an object blinking over a few static images as 1 tile animation.
-
i got some midi's i wrote...you want to put those in?
-
Bat,
Thanks for the offet, but I have discovered that FMOD's support for MIDI, while consistent cross-platform, doesn't sound as nice as it should on high-end sound cards, so I'm thinking most of the music library will probably have to be in MOD or MP3 format, preferrably MOD format (in which I include whatever format FastTracker II uses, I forget the extension). Anybody got any good freely distributable mods they want to share?
Orion Pax,
Yay, you're still here! I guess I kind of neglected looking into the possibility of runtime adjustment of alpha/HSV values. I added it to the list of things to investigate, but don't count on it being available. I'll try and let you know soon so you know whether you need to make those adjustments in the graphic sheet or not. BTW, if you want the recently added colorwheel rotation (hue remapping) and Add Noise features in the graphic sheet editor, let me know and I can make another pre-alpha release with those in it.
It should be possible to make an animated tile where each frame consists of multiple "sub-frames". Frames are compounded by setting the frame delay to 0. If you add a number of frames with a delay of 0, then add a frame with a delay of 1, then add some more with a delay of zero you should end up with an animated tile consisting of 2 "compound frames". Let me know if this doesn't work. It's designed to and needs to be fixed if it doesn't.
-
It should be possible to make an animated tile where each frame consists of multiple "sub-frames". Frames are compounded by setting the frame delay to 0. If you add a number of frames with a delay of 0, then add a frame with a delay of 1, then add some more with a delay of zero you should end up with an animated tile consisting of 2 "compound frames". Let me know if this doesn't work. It's designed to and needs to be fixed if it doesn't.
It seems the problem I was having is related to not closing the tileset editor window before running the project. The animation wasnt behaving in accordance to the delays I set and i was getting some odd behavior. After closing the tileset editor before running the project the animation responded as intended. Similarly this likely explains the problems I was having when changing the size/binding box for the sprite (to indent into the surface) and getting some odd behavior, crashing (sprite falling off the screen), falling through tiles walking one direction but fine the other.
Just tested it, it was indeed the cause of the problems I was having while adjusting the player sprite's binding box (side note: do you think there will be a feature to align the bindingbox: left,right,top,bottom,center?). I had assumed everything was updated without closing the windows.
-
I have three good looping MP3's, do you want them? They are much better than the ones in my last game. I am now using Hammerhead, which makes great drum sequences.
-
I'd prefer to provide only MOD files in the sound library as far as music because MP3 files are so big that a collection of them would overwhelm the size of the library.
-
It seems the problem I was having is related to not closing the tileset editor window before running the project. The animation wasnt behaving in accordance to the delays I set and i was getting some odd behavior. After closing the tileset editor before running the project the animation responded as intended. Similarly this likely explains the problems I was having when changing the size/binding box for the sprite (to indent into the surface) and getting some odd behavior, crashing (sprite falling off the screen), falling through tiles walking one direction but fine the other.
I don't know how you managed to see this behavior. If I change the "Tile Width" or "Tile Height" or "Repeat Count" in the tileset editor, it takes effect immediately. I change the tile width from 32 to 16 and then activate an already-active map editor window, and I instantly see the map drawn with tiles overlapping horizontally. Similarly, I change a Repeat Count from 5 to 50 and Press F5 without even leaving the field, the game will animate that tile according to the new parameter. This is scary if the program is behaving differently for no apparent reason. Do you know what version(s) of .NET Framework you have installed?
Just tested it, it was indeed the cause of the problems I was having while adjusting the player sprite's binding box (side note: do you think there will be a feature to align the bindingbox: left,right,top,bottom,center?).
I was hoping it wouldn't be necessary. What could you do by changing the alignment of the "binding box" that you can't do now? By "binding box" are you referring to the "solid area" of the sprite (with respect to the way it interacts with tiles) relative to where the sprite is drawn? That you can manually control in the frameset editor, right? You just move the graphics up if you want the box to be lower on the sprite... are you just referring to an automated way of aligning the graphics to a particular region relative to the solid rectangle of a sprite? Maybe I could make a wizard for that if that would be helpful... it would just change a frameset frame's parameters based on the settings of a particular sprite that uses the frame (or change all the frames that a sprite state uses). If that's what you're talking about, it shouldn't be too big a deal.
I had assumed everything was updated without closing the windows.
In my environment that does seem to be the case... everything updated without closing any windows.
Can you reproduce the strange behavior, maybe send me project/instructions if you think I might be able to get the same behavior if I do it right with the right data?
Actually you know what? I did make a change recently that ensures all data in the current window was persisted to the project before allowing an F5 (Run) command (and a few other commands) to proceed. I bet that would make a difference and might save you some grief in designing sprites and sprite plans. I thought it only affected the rule editors, but it could have effects throughout the IDE. I should make another pre-alpha release for you soon if this is causing you difficulty.
-
I've just been using the test project so far. After playing around with it bit more it seems to do with not recording thw last value I type , in this case the repeat count, if it was the very last thing I did before hitting f5. if i deselected the frame, selected another frame, activated another dialog box, closed the dialog box.. anything afterward confirmed the value I typed in and the project ran as expected. My .net framework folder contains 2 version folders, v1.0.3705 and v1.1.4322.
are you just referring to an automated way of aligning the graphics to a particular region relative to the solid rectangle of a sprite? Maybe I could make a wizard for that if that would be helpful... it would just change a frameset frame's parameters based on the settings of a particular sprite that uses the frame (or change all the frames that a sprite state uses). If that's what you're talking about, it shouldn't be too big a deal.
yep =] In the Sprite definition window I changed the height of the player sprite from 32 to 16 for the walk left and walk right states. Frameset editor to then adjust the Y offset of the individal frames. I was thinking some quick alignment buttons in that dialog box or even what if black box(solid area) on the layer mask window(when mask lvl set to zero) was positionable but you're right, part of the functionality of the frameset editor just seemd more convienant.
Oh incidently If I changed the player sprites width from 32 to 16 the test project crashes when I try to run it with . I'm not sure I understand why that is happening, is their something in the test project that depends on the player sprite's width being 32? any value up or down caused a crash apoun loading/running.
-
1) I'm pretty sure now that the behavior you're seeing with the last value typed not persisting to the project is the thing I fixed recently.
2) Would it make sense for the auto-alignment feature to be a wizard that is launchable from both the Frameset editor and the Sprite editor? Would there be any use to also supporting alignment with respect to, for example, an animated tile (and allow it to be launched from the tileset editor)? I suppose I could figure this out myself, but having your opinion could be helpful and expidite my own decision making :)
3) The test project might be crashing when the width of a sprite changes if the size of the collision mask doesn't match the size of the sprite or something... but I think the mask is gereated at runtime so that's not it. I'll have to try this and see what happens.
4) I discovered that support for runtime adjustment of alpha and hue levels is easy and have begun adding support for it. In the frameset editor, I am exposing 4 new fields that allow you to adjust the R, G, B and A channels of the overall frame to a percentage of the full value. (Actually a value between 0 and 255, not a percent.) So 255 in each channel keeps the original image. A value of 127 in the A channel makes the frame semi-transparent. I am also planning on adding a sprite parameter to all sprites that can override this value. There will be functions like "SetSpriteAlpha" that can set the alpha value of a specified sprite to 50% or something, and then it will effectively override the alpha level of all the frames within that sprite until it is reset or something. I'm thinking for optimization purposes that it will just override the frame settings (as I just described), but if you think it would be especially valuable to be able to combine the color adjustment of the frames with the color adjustment of the overall sprite at runtime, I could try to make that work too. What do you think?
-
I must have been in a work-reducing mode this morning because I was changing my mind on a couple things:
2) Do you think a wizard is helpful, or were you just saying that handling all the alignment issues manually in the frameset editor would work and wouldn't need a wizard or other alignment tool?
4) I don't think I will put a color override on the sprite itself. It doesn't have any other overrides for transformations on the frame, so it seems like that kind of thing should remain exclusively in the frameset. It wouldn't be a huge hinderance to require that the color transformation (like the matrix transformation) be defined in a frameset and just use sprite states to maintain which set of frames it's using, would it?
-
I did find that the cause of the error in changing the sprite width to 16 was realted to the mask. It occurrs on a sprite without a mask (alpha = 0) when the width is not a multiple of 32. I fixed it.
-
Unless you wanted to change the sprite separately from its regular animation. If, for example, you wanted your sprite to pulse red, whether or not it was moving, you would want to be able to change the color values of the sprite no matter how it was being animated so that when it changed states the pulsing red wouldn't be choppy due to the pulse be dependent upon what frame of it's walking animation it's currently displaying.
Just a thought.
-
Ooh, now that I think about it, there isn't a good way to animate a sprite along two timelines -- for example, I can't think of a way to both animate the sprite's walking and animate its flashing (without this modification). I thought people had done that in GameDev 1.x... how'd they do that!? :) (Was it scripted?)
I guess I should include a color channel adjustment override on the sprite itself for this if nothing else. But I wonder if that's enough (or if I'm missing some other animation feature).
-
Well, if you want the sprite to throb noticeably larger and smaller, you'd have to include a transformation matrix override too... but I don't see that as being quite so necessary :)
-
What format does SGDK2 use for Graphics? Does BMP work in SGDK2?
-
All graphics in SGDK2 are stored within the project, rather than as external files. So if you have ready-made images, you have to import them in one of the file formats that can be read. BMP would be the most obvious format for readability, after PNG.
-
Has anyone heard of MP4? ??? I just discovered it today. The file size is less than half of MP3 and the quality is not noticably lower! ;D But does SGDK or SGDK2 support MP4? ???
EDIT : I just tried it in SGDK and it works. Will SGDK2 support MP4?
-
SGDK2 does not yet have built-in support for video, but if you just use the audio layer of MP4 (sometimes referred to as M4A) there may be ways to play it. I'm not sure if FMOD supports MP4. The SGDK2 IDE only uses FMOD to preview sound files right now, but really you can use any library you want to play sounds and video at runtime if you have the code to access the library in C#. Just paste the code into your project and write a few lines to link it up to SGDK2's interface and you can use it (that's how FMOD works with SGDK2 at runtime, I've just made that one a bit easier by providing the sound library in that format so it's really easy to import sounds that use FMOD as a player). It looks like the preferred digital audio solution of FMOD is OGG (I don't even know if it supports MP3), but that doesn't limit the kinds of sounds/video that SGDK2 will support, just the kind that you can preview in the IDE.
-
Before I do all the boring stuff, (putting in a tileset) Do you think these would be included as SGDK2 sprite template things. (they're gifs so you can see how they look when running)
http://www.pivothost.org/upload/v2/Jam0864/40qx2.gif
http://www.pivothost.org/upload/v2/Jam0864/382qd.gif
http://www.pivothost.org/upload/v2/Jam0864/26bwd.gif
http://www.pivothost.org/upload/v2/Jam0864/1l9f1.gif
They're made in pivot that's why they aren't very colourful characters. I have made four characters so people can have 4 different looking players in multi-player.
-
If you plan to do some more work to show what the character looks like when standing still and maybe jumping and climbing (and of course remove the ground), it might be useful. You'd also have to convert the anti-aliased (gray) pixels to alpha-blended pixels if possible so it looks good on backgrounds other than white. Can pivot help with that in any way -- output to PNG instead of GIF? Let me put it this way: the SGDK2 template should demonstrate that it can be used in a respectable-looking game, and then be exported from that. Then you know it's complete and ready-to-use (unless you had to kludge some of the rules to get it to work right). But if you think you're close to getting it looking good and working well, I can help out with the rules. Of course if I have a lot of submissions, you might have to compete for "slots" in the library, but right now I don't have many people submitting library content, so whatever you've got is probably better than nothing. Some color would be nice, but I can imagine a certain style of game where it might be interesting to have a monochrome character... maybe :).
-
I only needed the ground so the feet always stop going down at the same point. It looks sloppy if I have to guess where the ground is. Also there is no anti-aliased pixels, just when I saved it I made it smaller than it started, so it had the same amount of pixels in a smaller space. Pivot can export as BMP, and then when i put it all in a tileset I'll save it as PNG. I already have standing still graphics and I plan on doing jumping and climbing a ladder. If I get around to it I might do some other things too. (Playing with a yoyo if you stand still too long etc) I also have some ground tiles and backgrounds already in tilesets that I tested in SGDK. Although they are fairly simple, they look really good when you get the parallax scrolling right. The monochrome style characters can look pretty good if they have well-animated movements. Not as good looking but usually have better movements because they're much easier to animate. Just take a look at N.( http://www.harveycartel.org/metanet/downloads.html ) Although that is on a white background, they also look good with colour backgrounds.
-
1) You could generate the character at a large size, then replace the background pixels with transparent pixels, and reduce the image to get nicely anti-aliased graphics.
2) Maybe the characters could be generated in white and black so that they could be used on light and dark backgrounds.
3) Maybe keep a couple different sizes when generating the different sizes (resizing the original). One version could be recuded to 1/2 and another could be reduced to 1/4. The smaller one could be used on map screens or when the character moves to a background layer or something.
-
Good ideas Bluemonkmn! But with #2, isn't that done with that colour replacement matrix. (I think that's what it's called) I can see that in the example project player 2 is red, it uses that colour replacement matrix doesn't it? Or do you still have to save the graphics for red and normal versions?
-
I think what I have is not exactly a color replacement matrix. I think a color replacement matrix is more sophisticated than what I have which is just color channel modulation. It just scales the color channels down by a certain degree. So if I want a sprite to appear red, I scale down the green and blue channels. But if the sprite is already black, there's nothing that can be done. That's a good thought, though. If you generate the character in white, then it can be modulated to any color without having separate graphics for all the colors.
-
I thought black was full for every colour, or is it nothing for every colour?
-
Ok, I just relized how long this was going to take.(putting in a tileset) I thought I could just import tiles using SGDK but the images are too big and they stuff up. Does anyone know a tool that can put it all in a tileset quicker than MS Paint? I'll try tilestudio, although I never liked it I might change my mind if it works out well.
-
How big are they? You should be able to import images 256x256 pixels in SGDK2 if you set the zoom level to 1 (actual size). Also, I just noticed a bug that will cause SGDK2IDE to abort if you click on the import image without dragging, so make sure you drag over the size you want to import instead of just clicking or the IDE will abort. I fixed it here so the next version will not have that problem.
Otherwise, if your source images are all the right size, you could just use the tileset re-slicer from version 1.x's tools menu.
-
Tileset re-slicer eh? I've never really used that. (never needed it) that's probably why I forgot about it altogethor. I'll try that.
-
Whoa! That tileset-slicer thing was great! :o I tested it on what I have already done and got a tileset really quick. :) I would suggest having something like that in SGDK2 too. ;) I should have this all done in a week. I could probably do it all in a day or so, but school just started again and now I have homework.>:(
PNG has a very small file size doesn't it? :) At first I thought I didn't save it right when I seen the file size. BMP was 9MB, PNG was 0.1MB! :D
I think I've got the landscape finished. I'm still adding more movements to the sprites. (climbing a ladder, jumping.) If someone can think of something to add to it just say so, i want these template graphics to be good. ;) This is everything I've got so far. http://www.pivothost.org/upload/v2/Jam0864/Jam0864sTemplateGraphicsvtly.zip
WOW! :o That's a lot of smilies!
-
Whoa! That tileset-slicer thing was great! :o I tested it on what I have already done and got a tileset really quick. :) I would suggest having something like that in SGDK2 too. ;)
Remind me later. The first release is going to be the bare minimum, I think, so people can get a usable/supported release in their hands, then I can start prioritizing what people want next.
PNG has a very small file size doesn't it? :) At first I thought I didn't save it right when I seen the file size. BMP was 9MB, PNG was 0.1MB! :D
Yeah, especially when your image is mainly just two colors with large solid areas.
I think I've got the landscape finished. I'm still adding more movements to the sprites. (climbing a ladder, jumping.) If someone can think of something to add to it just say so, i want these template graphics to be good. ;)
Landscape? I thought this was just characters. Oh, but I suppose you'll be including some landscape if you're demonstrating how to use the characters in a game. Are you going to keep the landscape or export just the characters as I mentioned earlier?
This is everything I've got so far. http://www.pivothost.org/upload/v2/Jam0864/Jam0864sTemplateGraphicsvtly.zip
Wow, from a size that large, I can go down to 25% (horizontally and vertically) and still have a full size sprite. All the better for nice anti-aliased edges. (I'm using GIMP... what did you use to set transparency?)
You might want to split the 4 separate characters into 4 separate graphic sheets, unless you think anyone using one character in their project is usually going to want to use all 4. Either way works, though. The SGDK2 sprite import wizard will let you import one sprite at a time and re-use the same graphic sheet if it sees that multiple sprites refer to a graphic sheet you've already imported.
-
I already had some landscape done for my unfinished game Stickmen. So I thought I'd put that in too.
-
I wanted to test how the graphics looked so far in SGDK2, and I can't figure out how to import a tileset. I've tried right clicking on the tilesets folder and then clicking import from but it only wants .SGDK2 files.
-
I don't have SGDK2 handy right now, but I think if you open the graphic sheet editor (where you can draw) and look in the file menu, the choice will be apparent. Er, actually, I think you might want to look in the graphic sheet manager first (where you create a graphic sheet) -- there might be a button there too. Can't remember.
-
Yep, that was it, thanks! Graphics are done, I'm making a test project to make sure the graphics look alright. I've already found a couple of things that I didn't do right. The ladder had a row of 1 pixel empty at the top, it didn't tessalate right, same as the bricks. I forgot to add a sky tile to a tileset, the sky ended up black. etc
-
arg... i lost my sample project... lol? Well i still have the graphics fortunately.
http://www.box.net/shared/j18n8eptz1
Do i need to make a sample project to go with it?
-
I haven't decided what to do with projects and libraries yet, except the sample libraries that I've already posted, and I'm not sure if everything related to SGDK2 should go in that library. I may add content to the current sample library, but if I do that, I think it would have to be pretty spectacular, showing off the best of what SGDK2 is capable of (something unique and better than everything else in the library). So unless you can create graphics of the quality seen from OrionPax (Forest tileset and SHFL), I don't think I have a good place to include your work yet (I might later when I decide what to do with extra contributed content). But if those sprites can be reduced to about 50% so they're anti-aliased and a sprite definition defined with them, they might be worth including because I don't think I have any really well-animated sprites like that yet. I can't tell how well animated they are for sure, but they look like they'd be pretty good. If nobody else takes on that task, I might try making a sprite definition out of them myself. At the moment, I'm working on a project to demonstrate the ability to do an isometric view (semi-3D).
-
alright, I shall make them into a sprite. I'm interested to see how they look as a sprite myself actually. All ive ever seen is the animations done seperate, not as an actual game sprite.
-
alright, I shall make them into a sprite. I'm interested to see how they look as a sprite myself actually. All ive ever seen is the animations done seperate, not as an actual game sprite.
Alright I cant figure out the tile height and width. I divided the width by 10 and hieght by 8 which should work... but it makes some cut off tiles. Am I doing something wrong here?
-
I didn't have any problems (I reduced the image to 306x450 first to get good anti-aliased images). See the attachment. I just noticed you said you divided the width by 10 and the height by 8, but I think you got that backwards.
-
oh lol. I was kinda in a hurry and musta stuffed up lol. Thanks for including the graphics sheet. Now I just needa put it into a sprite and get the climbing working as well.