• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Indie Game Development Discussion Thread | Of Being Professionally Poor

Status
Not open for further replies.

Limanima

Member
Nice! That's quite some work spent. That C/C++/SDL thing is a solid one,
indeed! :+ Is Box2D free of any license issues? One more question (if you
don't mind); are you using TTF fonts in-game? If yes, what's the font rendering
engine behind? Or are you using a font editor converting TTF fonts to bitmaps
and using those in-game?

I'm using btimap fonts. I usually want to add outlines, color effects etc to my fonts, and I can't do that with TTF fonts, besides bitmap fonts are faster to draw and look better. However scaling is a downside.
I usually use illustrator do draw the fonts "ABCDEF" etc, and then export to a PNG and add effects in photoshop. Then I use the font editor to define the rectangle for each char and export to a XML file with the font definition. Then I use that XML in-game to load and create the font.
This process needs to be improved because it takes some time to create a font. But it works, and for now it gets the job done.

Edit: Box2D is free
 

friken

Member
I spent today doing some character art. I'm kinda iffy on the second design, Pupus, but the rest I'm pretty happy with:

BelfCharacterPlot.png

Nice characters! I've been meaning to check out Spine. We are using a Unity specific plugin called smooth moves for our alien animations. It works well, but is pretty feature light.

Question for everyone here regarding Dev Log / Blog etc. Do you guys maintain your own dev/blog website for your project(s)? I've let our website go neglected for years (literally) and just decided to get it uptodate from our TIG Dev Log. It was tedious and most of the time was spent getting WordPress to support posts w
 

razu

Member
nPXO0qL.gif


Can't help, but it's so enticing to tinker around... xD Anyone? Since I have
the rasterizer under control, am going to render some cool retro stuff
serving as the background for the client area. :+

Nice! :D


I started developing "Roll Playing Game" with Unity3D and had a prototype ready in March. Before I could start with the "real" development, UE4 was suddenly released. I decided to check it out by rebuilding the prototype in UE4. Turns out I'm liking UE4 better for this project because I feel like I can achieve much more on the graphics side as a single developer (still also love Unity though) and don't need to pay for Unity Pro.

A comparison between new (UE4, top) and old (Unity, bottom):
RPGCompare.png





Also, a short video showing the prototype level:
https://www.youtube.com/watch?v=O-Z7-iVxftA

Looks good man! :D


If any beginners are interested, 3dbuzz have made a free 20 hour course on creating a 2d game in Unity.

http://www.youtube.com/watch?v=cL9iHR1JxcE&list=PLt_Y3Hw1v3QSFdh-evJbfkxCK_bjUD37n&feature=share

They have also made a free course on 2d art for programmers -

http://www.youtube.com/watch?v=6Bp_DDlgCdY&feature=share&list=PLt_Y3Hw1v3QTsLeihLYhHLkDV0dFTWDSS

Thanks for the links. I like watching how-to videos, no matter what level they're aimed at. You almost always learn something.
 

missile

Member
I'm using btimap fonts. I usually want to add outlines, color effects etc to my fonts, and I can't do that with TTF fonts, besides bitmap fonts are faster to draw and look better. However scaling is a downside.
I usually use illustrator do draw the fonts "ABCDEF" etc, and then export to a PNG and add effects in photoshop. Then I use the font editor to define the rectangle for each char and export to a XML file with the font definition. Then I use that XML in-game to load and create the font.
This process needs to be improved because it takes some time to create a font. But it works, and for now it gets the job done.

Edit: Box2D is free
Sounds cumbersome. ;) You are doing everything what a good font rasterizer
would do by carrying out each step manually using different tools. Quite
intensive. But as you said, it gets the job done.

So Adobe Illustrator is your font rasterizer.

Am still considering how to handle the fonts in my engine ... will stick with
bitmaps for awhile, but before going through the hassle of your approach (no
offense!), I would program a true-type font rasterizer.

About "... I usually want to add outlines, color effects etc to my fonts, and
I can't do that with TTF fonts, ..."
;

You can.

Freetype has an option to get the outline of a TTF font/glyph. Basically,
freetype is able to return the spans (rasterizer terminology) making up the
glyph under consideration. Using these spans you can render whatever you
want the glyph to look like by just drawing these spans/lines with whatever
shader is in place. If you don't have any more cycles to waste, you could
still use this approach to save/cache/precompute the glyphs as bitmaps and
use them as usual. This would allow you to use various different TTFs while
still being able to shade them as you please. Heh? :)


Nice! :D ...
Bump some new SSS pix. I need some new material for my next tinkery. xD
 

Limanima

Member
Sounds cumbersome. ;)
Sounds, and it is!

Freetype has an option to get the outline of a TTF font/glyph. Basically,
freetype is able to return the spans (rasterizer terminology) making up the
glyph under consideration. Using these spans you can render whatever you
want the glyph to look like by just drawing these spans/lines with whatever
shader is in place. If you don't have any more cycles to waste, you could
still use this approach to save/cache/precompute the glyphs as bitmaps and
use them as usual. This would allow you to use various different TTFs while
still being able to shade them as you please. Heh? :)

I tried SDL_ttf which uses Freetype I think. I don't remember exactly why I gave up on it in favor of bitmap fonts. Maybe I bumbed into some performance issues. Not sure. Maybe I'll give it a try after my game is finished and I start a new one.
 

Jobbs

Banned
I know I said I wasn't going to post gifs here anymore, (read up if you want to know that whole story, we're not supposed to discuss it further) but I'm altering the deal, and pray I don't alter it further. :D

Anyway: figured out a way to increase the native resolution of ghost song without it being too painful.

I was reflecting on two separate issues -- One, the game feels a bit clausterphobic (which *can* be good, depending on the area) and two, although I've done much to combat the issue by way of sharpening shaders and contrast shaders, it still just looked a bit blurrier than I'd like when upressed from the native 720p to a full screen 1080p.

I don't know why it didn't happen sooner, but I realized -- why not just extend the bounderies of the screen, show more of the level with smaller characters? I changed the native res to 1600x900, aka 900p. Now it not only looks much sharper full screened, since the images aren't being enlarged much, but it PLAYS better!

example: http://gfycat.com/SadVillainousJunebug

There are some things that need to be fixed up, like the overlays, and certain level design stuff will need to be updated. But it's worth it, and it also opens up some new possibilities with new ways of thinking about the level design and level art.
 

missile

Member
Sounds, and it is!



I tried SDL_ttf which uses Freetype I think. I don't remember exactly why I gave up on it in favor of bitmap fonts. Maybe I bumbed into some performance issues. Not sure. Maybe I'll give it a try after my game is finished and I start a new one.
Performance can be an issue if Freetype has to translate (character mapping /
loading) and render/rasterize the glyphs again and again. But these problems
can be solved by caching.



Edit:
I know I said I wasn't going to post gifs here anymore, (read up if you want to know that whole story, we're not supposed to discuss it further) but I'm altering the deal, and pray I don't alter it further. :D

Anyway: figured out a way to increase the native resolution of ghost song without it being too painful.

I was reflecting on two separate issues -- One, the game feels a bit clausterphobic (which *can* be good, depending on the area) and two, although I've done much to combat the issue by way of sharpening shaders and contrast shaders, it still just looked a bit blurrier than I'd like when upressed from the native 720p to a full screen 1080p.

I don't know why it didn't happen sooner, but I realized -- why not just extend the bounderies of the screen, show more of the level with smaller characters? I changed the native res to 1600x900, aka 900p. Now it not only looks much sharper full screened, since the images aren't being enlarged much, but it PLAYS better!

example: http://gfycat.com/SadVillainousJunebug

There are some things that need to be fixed up, like the overlays, and certain level design stuff will need to be updated. But it's worth it, and it also opens up some new possibilities with new ways of thinking about the level design and level art.
Signed. :+
 

Five

Banned
Nice characters! I've been meaning to check out Spine. We are using a Unity specific plugin called smooth moves for our alien animations. It works well, but is pretty feature light.

Question for everyone here regarding Dev Log / Blog etc. Do you guys maintain your own dev/blog website for your project(s)? I've let our website go neglected for years (literally) and just decided to get it uptodate from our TIG Dev Log. It was tedious and most of the time was spent getting WordPress to support posts w and [url] shortcodes, without which it would be tediousX10.[/QUOTE]

Thanks, but I'd say probably don't switch animation suites unless you already know what you're missing, and know how the advantages of a different suite will help you. Spine is (essentially) 2D only, so that might be something that keeps you away from it.

I wish I could say more about dev blogs, but I'm pretty bad at keeping one myself. Given the choice between work more on the game and tell people what I've just been working on, I almost always pick work more.

[quote="Jobbs, post: 116198891"]I know I said I wasn't going to post gifs here anymore, (read up if you want to know that whole story, we're not supposed to discuss it further) but I'm altering the deal, and pray I don't alter it further. :D

Anyway: figured out a way to increase the native resolution of ghost song without it being too painful.

I was reflecting on two separate issues -- One, the game feels a bit clausterphobic (which *can* be good, depending on the area) and two, although I've done much to combat the issue by way of sharpening shaders and contrast shaders, it still just looked a bit blurrier than I'd like when upressed from the native 720p to a full screen 1080p.

I don't know why it didn't happen sooner, but I realized -- why not just extend the bounderies of the screen, show more of the level with smaller characters? I changed the native res to 1600x900, aka 900p. Now it not only looks much sharper full screened, since the images aren't being enlarged much, but it PLAYS better!

example: [url]http://gfycat.com/SadVillainousJunebug[/url]

There are some things that need to be fixed up, like the overlays, and certain level design stuff will need to be updated. But it's worth it, and it also opens up some new possibilities with new ways of thinking about the level design and level art.[/QUOTE]

Yeah, that's fantastic. I can already see how it will help to be able to see a little further down the halls in most places. Keep up the good work!
 

Ashodin

Member
I know I said I wasn't going to post gifs here anymore, (read up if you want to know that whole story, we're not supposed to discuss it further) but I'm altering the deal, and pray I don't alter it further. :D

Anyway: figured out a way to increase the native resolution of ghost song without it being too painful.

I was reflecting on two separate issues -- One, the game feels a bit clausterphobic (which *can* be good, depending on the area) and two, although I've done much to combat the issue by way of sharpening shaders and contrast shaders, it still just looked a bit blurrier than I'd like when upressed from the native 720p to a full screen 1080p.

I don't know why it didn't happen sooner, but I realized -- why not just extend the bounderies of the screen, show more of the level with smaller characters? I changed the native res to 1600x900, aka 900p. Now it not only looks much sharper full screened, since the images aren't being enlarged much, but it PLAYS better!

example: http://gfycat.com/SadVillainousJunebug

There are some things that need to be fixed up, like the overlays, and certain level design stuff will need to be updated. But it's worth it, and it also opens up some new possibilities with new ways of thinking about the level design and level art.

Looks MUCH better.
 
Thanks! I'm using Adobe Illustrator. I've heard great things about Inkscape, which was free last time I checked, but I've never had a reason to use it. Illustrator's the industry standard, and I was raised on it since my dad was in clothing design when I was younger. So Inkscape hasn't been something I've ever looked into.

Regarding Spine, the main reason I'd advocate for professional is the use of auto-keying animations. When you move stuff in a new frame, it automatically stays there instead of you having to manually confirm it each time. I pretty much always have auto-key on, and can accidentally lose a good amount of work if it accidentally gets toggled off. Most of the other pro-only features have been pretty handy as well, but not necessarily essential to my workflow. To be honest, it feels a lot like they cut out some features from the software so they could get away with charging more, but I like Spine enough and it's helped me enough that the price was worth it.

But maybe you find you don't need that. It's why I mentioned that Spine has a trial version. If you find yourself able to work well without the pro features, don't let my discouragement keep you down!

To further elaborate, my general process is this: draw the character in Illustrator, specifically drawn to be in segmented articulations. Export the art as a PNG at 2x2 size to get better interpolation. Import the art into Spine. Build the skeleton. Animate it there. Export the animation and load it in my runtime (GameMaker Studio).

This is what Saepe looks like drawn in AI, first to scale and then split up into her individual articulations. Spine builds the actual texture atlas for you, and does it much more efficiently than I have here.

BelfHeirLayout.png


Then it's pretty simple to build a skeleton in Spine and attach the images to it.

BelfHeirSkeleton.png



I have a Spriter liscense, and I wanted to look into getting Spine, but it's not cheap. The integration into GameMaker makes me want it more, but don't know if it's a wise thing.

I work in Illustrator to build my characters the same way, but was wondering your thoughts?
 

Five

Banned
I have a Spriter liscense, and I wanted to look into getting Spine, but it's not cheap. The integration into GameMaker makes me want it more, but don't know if it's a wise thing.

I work in Illustrator to build my characters the same way, but was wondering your thoughts?

I would say, without a doubt, it's one of the best moves I've made for my game this year, if not the best move. The integration into GameMaker is about as simple as it gets, with pretty much everything working as you expect it to.

Previous to using Spine, I'd spent a good while setting up a decent set of animations for my main character, so that actually was fine. But I wasn't going to spend nearly as much time on any of the other characters, whether minor enemies or bosses. So I ended up with a lot of fairly static characters: only the legs would move, or the animation was just simple rotations of a few hinges, or something equally bad. But, since using Spine, I've been able to make much more lively and active animations in roughly the same amount of time. In some cases it's been faster.

I'd say check out the trial version at the least. I think it comes with an animation already built (Spineboy) that you can import into GameMaker and test out. It won't let you save your projects, but you can get a good feel for how simple it is to build a skeleton and animate it. If I'm wrong and it doesn't come with Spineboy, or you can't find the files, PM me and I'll send you a couple of my game's animations so you can test them out.
 

Jobbs

Banned
thanks guys. :) I'm feeling pretty pumped!

Regarding Spine,

This is a good post, and I like to see someone using Spine, because I have been thinking hard about getting it and learning it. How bad is the learning curve? I generally do not do well with learning new things quickly, I'm a bit slow on the uptake. I've been seeing the necessity of something like Spine if I want to do any REALLY big enemies, (pst, I do!) and Jon (Stencyl owner) has mentioned that he thinks he can get it integrated properly once someone has good need of it.
 

Five

Banned
thanks guys. :) I'm feeling pretty pumped!



This is a good post, and I like to see someone using Spine, because I have been thinking hard about getting it and learning it. How bad is the learning curve? I generally do not do well with learning new things quickly, I'm a bit slow on the uptake. I've been seeing the necessity of something like Spine if I want to do any REALLY big enemies, (pst, I do!) and Jon (Stencyl owner) has mentioned that he thinks he can get it integrated properly once someone has good need of it.

After watching a few of the tutorial videos, I built my first skeleton in about five minutes. Then, just another five minutes later, I had my first idle animation (only four key frames, but still!).

It's hard for me to be objective when grading it since most of the production software I use (Adobe Products, GameMaker, Sony ACID) I've been using for nearly a decade. But I'd say that it's a lot less daunting than, for example, Blender or Maya. I'd give it about two hours (including watching videos) before you feel like you pretty much understand the whole program, and then maybe two weeks before you actually do (because you hadn't noticed a feature before, or hadn't had a reason to try it before, or something to that effect).
 

Jobbs

Banned
After watching a few of the tutorial videos, I built my first skeleton in about five minutes. Then, just another five minutes later, I had my first idle animation (only four key frames, but still!).

It's hard for me to be objective when grading it since most of the production software I use (Adobe Products, GameMaker, Sony ACID) I've been using for nearly a decade. But I'd say that it's a lot less daunting than, for example, Blender or Maya. I'd give it about two hours (including watching videos) before you feel like you pretty much understand the whole program, and then maybe two weeks before you actually do (because you hadn't noticed a feature before, or hadn't had a reason to try it before, or something to that effect).

Yeah, I think I'll need to dedicate some time and attention to learning this. I'm aware of what it does and what it can be used for -- I saw how you can swap out individual pieces to sort of mix in traditional animation with the skeleton, and even warp pieces along a mesh, and with those tools, I just know, if used properly, you could make things move in such a way that it's barely recognizeable as a 2d skeleton. That's the goal.

So I know what it does, it's just a matter of learning how to get out of it what I need.
 

Five

Banned
Yeah, I think I'll need to dedicate some time and attention to learning this. I'm aware of what it does and what it can be used for -- I saw how you can swap out individual pieces to sort of mix in traditional animation with the skeleton, and even warp pieces along a mesh, and with those tools, I just know, if used properly, you could make things move in such a way that it's barely recognizeable as a 2d skeleton. That's the goal.

So I know what it does, it's just a matter of learning how to get out of it what I need.

Right. I think I probably watched all of the instruction videos twice. Once to see what all the program was capable of, and then a second time when I dove into the trial version and started replicating all the moves myself. It's a fairly painless process.
 

xptoxyz

Member
For those of you who use your own 3D engine how do you usually deal with animation? Anyone experienced with the .fbx SDK? Documentation seems... lacking.
 
Right. I think I probably watched all of the instruction videos twice. Once to see what all the program was capable of, and then a second time when I dove into the trial version and started replicating all the moves myself. It's a fairly painless process.

Wow dude, I just looked at your website and your game and it looks fantastic! It's just the type of game I want to play!

Could you tell me more about your level editor? It doesn't look like the one I saw in game maker (but that was a long time ago).
 

Five

Banned
Wow dude, I just looked at your website and your game and it looks fantastic! It's just the type of game I want to play!

Could you tell me more about your level editor? It doesn't look like the one I saw in game maker (but that was a long time ago).

It's custom-made. I have a video demonstrating some of its functionality here in case you didn't see: https://www.youtube.com/watch?v=zLp-6hAp6Yc

My game does its procedural generation on multiple levels. It builds a map out of rooms one to three screen widths and one or two screen heights in size. On each side of every room, there can be zero to two doors connecting to an adjacent room. So this comes out with several variations of possible room flows. For any given room type, I then fill it with platforms and obstacles (as shown in the video above).

Here are a couple of snapshots of the different rooms (labeled sub-maps) I have so far. I can click on one of the existing layouts to edit it or click on "new" to add another room. If you look at the lower-right corner, at 41209, you can see it's the room I made in the video above.


The different-colored regions do different stuff. Dark purple is solid ground, orange is obstacles/traps that get filled procedurally, red is procedural enemies, yellow is ladders, and violet is procedural platforming.


edit: to explain just another thing, the numbering system works as follows: the first digit is a number 1-6 that says what size the room is (1 = 1x1, 2 = 1x2, 3 = 2x1, ...). The second and third digits are numbers 0-3 say which parts of the sides open up to adjacent rooms. 0 = no doors, 1 = high door, 2 = low door, 3 = both doors. Then the fourth and fifth digits represent which iteration of the room flow it is.
 

Noogy

Member
I don't know why it didn't happen sooner, but I realized -- why not just extend the bounderies of the screen, show more of the level with smaller characters? I changed the native res to 1600x900, aka 900p. Now it not only looks much sharper full screened, since the images aren't being enlarged much, but it PLAYS better!

example: http://gfycat.com/SadVillainousJunebug

There are some things that need to be fixed up, like the overlays, and certain level design stuff will need to be updated. But it's worth it, and it also opens up some new possibilities with new ways of thinking about the level design and level art.

I think this was the right thing to do. I actually had the same issue with Dust, in that I made the character too big for the type of game being presented. Originally my camera didn't zoom in and out, and I spent countless hours tweaking the smart-camera to let you look down slopes and up walls. While all that code remains, I finally bit the bullet and accepted the fact that you need to see more of your environment, and added the zooming camera. It was months of painful work but I'm glad I did it.

Lesson learned... Dust was roughly 220 pixels tall (I think), which was overkill for a 720p target. Letting the gameplay design dictate graphic dimensions is key.
 

beril

Member
For those of you who use your own 3D engine how do you usually deal with animation? Anyone experienced with the .fbx SDK? Documentation seems... lacking.

When I first started working on my engine I was using xml files exported with the Ogre3D engine tools, because I had played around with that engine before. Now I have a heavily modified version of that exporter that outputs my own custom formats
 

Popstar

Member
For those of you who use your own 3D engine how do you usually deal with animation? Anyone experienced with the .fbx SDK? Documentation seems... lacking.
I've written my own Maya exporter and file formats.

Not a fan of FBX. And I like to be able to export straight from applications into game format without an intermediate step.
 

Jobbs

Banned
I think this was the right thing to do. I actually had the same issue with Dust, in that I made the character too big for the type of game being presented. Originally my camera didn't zoom in and out, and I spent countless hours tweaking the smart-camera to let you look down slopes and up walls. While all that code remains, I finally bit the bullet and accepted the fact that you need to see more of your environment, and added the zooming camera. It was months of painful work but I'm glad I did it.

Lesson learned... Dust was roughly 220 pixels tall (I think), which was overkill for a 720p target. Letting the gameplay design dictate graphic dimensions is key.

It also fits thematically, since "little blue" (the nickname other characters give to the mysterious player character) is about 5 feet tall, and supposed to be smaller than most people and things. Having the character feel bigger on screen than players are used to in platforming games, while also having the character supposed to be very small, presented a certain dissonance.

http://gfycat.com/AridScaredAfricanfisheagle

I'm working on figuring out a way to add some subtle zooming with the camera to make things a bit more organic.

p.s. you said dust had a 720p target? I could swear the game is 1080.
 

b0b

Neo Member
For those of you who use your own 3D engine how do you usually deal with animation? Anyone experienced with the .fbx SDK? Documentation seems... lacking.

I never used *.fbx format.

http://en.wikipedia.org/wiki/FBX
a short look at both links to format description (File Format section) - I wouldn't use it. far too complicated.

i would go with something simpler - like the id-software-formats
I implemented both *.md2 (quake2) and *.md5mesh/.md5anim (doom3) into my little engine. both of them are easy.
md2 is vertex-animation based, md5 is skeleton-based.

md2 is quite old and it shows. the layout isn't made for stuff like VBO-based rendering. it's very limited...


doom3's md5 on the other hand is still awesome, imo. it's very flexible. the format itself is ascii-plain-text, but you can simply write it in binary if you want, without changing the file structure itself that much. it's easy to modify the format if you want to somehow expand it.
the animation files (md5anim) are loaded externally and applied to your mesh-model. it's easy to implement the basics. but you need to come up with a solution to make all the different animations work well together - simply blending between two animations, or support for more advanced stuff like "bones 1-4 from animation1, bones 5-16 from animation2 and so on"
doom3 uses extra files to accomplish that, sadly it's very specific so it's better to come with something better suited for your needs. but the format itself is still my favorite
 

RevenantKioku

PEINS PEINS PEINS PEINS PEINS PEINS PEINS PEINS PEINS PEINS PEINS PEINS oh god i am drowning in them
So I just finished and released a new game for iOS using SpriteKit, but Apportable does not seem to support it. Has anyone used Apportable? Would I be better off just making an Android port myself or rewrite the game in Cocos2D and then try to play around with Apportable?

Just worried that rewriting the whole game might be for naught as I have had little luck getting any of my regular apps to do anything with Apportable other than show a black screen, and that is if they even compile. Just wondering how much it is me not knowing how to use it or how complicated Android/Apportable is.
 

xptoxyz

Member
When I first started working on my engine I was using xml files exported with the Ogre3D engine tools, because I had played around with that engine before. Now I have a heavily modified version of that exporter that outputs my own custom formats

I've written my own Maya exporter and file formats.

Not a fan of FBX. And I like to be able to export straight from applications into game format without an intermediate step.

i would go with something simpler - like the id-software-formats
I implemented both *.md2 (quake2) and *.md5mesh/.md5anim (doom3) into my little engine. both of them are easy.
md2 is vertex-animation based, md5 is skeleton-based.

md2 is quite old and it shows. the layout isn't made for stuff like VBO-based rendering. it's very limited...


doom3's md5 on the other hand is still awesome, imo. it's very flexible. the format itself is ascii-plain-text, but you can simply write it in binary if you want, without changing the file structure itself that much. it's easy to modify the format if you want to somehow expand it.
the animation files (md5anim) are loaded externally and applied to your mesh-model. it's easy to implement the basics. but you need to come up with a solution to make all the different animations work well together - simply blending between two animations, or support for more advanced stuff like "bones 1-4 from animation1, bones 5-16 from animation2 and so on"
doom3 uses extra files to accomplish that, sadly it's very specific so it's better to come with something better suited for your needs. but the format itself is still my favorite

Thanks for the answers. The closest I had gotten to before was maybe get keyframe vertex and interpolate them... I'll try to find what common exporters for other engines spit out and read how bone information versus vertex would work when importing in-game.
 

TunaUppercut

Neo Member
I know I said I wasn't going to post gifs here anymore, (read up if you want to know that whole story, we're not supposed to discuss it further) but I'm altering the deal, and pray I don't alter it further. :D

Anyway: figured out a way to increase the native resolution of ghost song without it being too painful.

I was reflecting on two separate issues -- One, the game feels a bit clausterphobic (which *can* be good, depending on the area) and two, although I've done much to combat the issue by way of sharpening shaders and contrast shaders, it still just looked a bit blurrier than I'd like when upressed from the native 720p to a full screen 1080p.

I don't know why it didn't happen sooner, but I realized -- why not just extend the bounderies of the screen, show more of the level with smaller characters? I changed the native res to 1600x900, aka 900p. Now it not only looks much sharper full screened, since the images aren't being enlarged much, but it PLAYS better!

example: http://gfycat.com/SadVillainousJunebug

There are some things that need to be fixed up, like the overlays, and certain level design stuff will need to be updated. But it's worth it, and it also opens up some new possibilities with new ways of thinking about the level design and level art.

This is a great decision. Now it will be far easier to navigate through areas as well as being able to keep track of enemy positions.
 

Noogy

Member
p.s. you said dust had a 720p target? I could swear the game is 1080.

It's 1080 and higher on PC, but hardcoded to 720p for Xbox. It took me another few months to make it resolution independent when I did the PC port :p Another lesson learned, never hardcode to a fixed resolution.
 
I would say, without a doubt, it's one of the best moves I've made for my game this year, if not the best move. The integration into GameMaker is about as simple as it gets, with pretty much everything working as you expect it to.

Previous to using Spine, I'd spent a good while setting up a decent set of animations for my main character, so that actually was fine. But I wasn't going to spend nearly as much time on any of the other characters, whether minor enemies or bosses. So I ended up with a lot of fairly static characters: only the legs would move, or the animation was just simple rotations of a few hinges, or something equally bad. But, since using Spine, I've been able to make much more lively and active animations in roughly the same amount of time. In some cases it's been faster.

I'd say check out the trial version at the least. I think it comes with an animation already built (Spineboy) that you can import into GameMaker and test out. It won't let you save your projects, but you can get a good feel for how simple it is to build a skeleton and animate it. If I'm wrong and it doesn't come with Spineboy, or you can't find the files, PM me and I'll send you a couple of my game's animations so you can test them out.

Cool, yeah, I'll give the trial a test run and possibly jump into the $70 version before going all in. It makes sense for what I want to do since frame by frame animation is taking longer than I want to do it :p
 

Blizzard

Banned
Why were they falling out of sync? Floating point errors?
I don't start cycling animations until I use them in a game, and I don't currently have any mechanism to reset a certain group of animation instances back to frame 0. I may want to do that later on.

What I had was a situation that would result in say, a red unit spawning into the field with idle animation frame 0, but all blue units would already be idle animation frame 2, and since they play at the same rate they would continue to be out of sync.

What I've done to fix it, which I have yet to test because I'm creating palette-swapped images first, is stop making animation instances tied to particular animations. This means that 4 blue PunchBot units and 3 red PunchBot units can use the same animation instance, even though they are drawing two different animations (in my engine I consider an "animation" a set of images, and the different colors are different images). A single animation instance can be shared and synchronize any number of animations, as long as they are all of the same length so they loop at the same time.
 

Five

Banned
I don't start cycling animations until I use them in a game, and I don't currently have any mechanism to reset a certain group of animation instances back to frame 0. I may want to do that later on.

What I had was a situation that would result in say, a red unit spawning into the field with idle animation frame 0, but all blue units would already be idle animation frame 2, and since they play at the same rate they would continue to be out of sync.

What I've done to fix it, which I have yet to test because I'm creating palette-swapped images first, is stop making animation instances tied to particular animations. This means that 4 blue PunchBot units and 3 red PunchBot units can use the same animation instance, even though they are drawing two different animations (in my engine I consider an "animation" a set of images, and the different colors are different images). A single animation instance can be shared and synchronize any number of animations, as long as they are all of the same length so they loop at the same time.

Neat. Thanks for the explanation!
 
I grabbed Spriter since that $25 price point for the features was way too hard to pass up. Creating animations has been pretty easy but I haven't tried plugging them into games just yet. :x

Any good comparisons between Spriter and Spine?
 
I know I said I wasn't going to post gifs here anymore, (read up if you want to know that whole story, we're not supposed to discuss it further) but I'm altering the deal, and pray I don't alter it further. :D

Anyway: figured out a way to increase the native resolution of ghost song without it being too painful.

I was reflecting on two separate issues -- One, the game feels a bit clausterphobic (which *can* be good, depending on the area) and two, although I've done much to combat the issue by way of sharpening shaders and contrast shaders, it still just looked a bit blurrier than I'd like when upressed from the native 720p to a full screen 1080p.

I don't know why it didn't happen sooner, but I realized -- why not just extend the bounderies of the screen, show more of the level with smaller characters? I changed the native res to 1600x900, aka 900p. Now it not only looks much sharper full screened, since the images aren't being enlarged much, but it PLAYS better!

example: http://gfycat.com/SadVillainousJunebug

There are some things that need to be fixed up, like the overlays, and certain level design stuff will need to be updated. But it's worth it, and it also opens up some new possibilities with new ways of thinking about the level design and level art.

What was your reasoning in the first place to make it 720p?

Your new solution looks great.

_________________________________________________________________________


With VizionEck I had a similar problem with not looking ahead. I had a fully working build of the game that included network multiplayer back in 2013. The primary focus was to test out the game mechanics and get a feel for them. However, it was built with only one local player in mind.

In VizionEck players can have different relative gravity directions. I did this in game by just rotating the entire world. This worked perfectly fine for online play since each local game could have the world rotated for the local player. It would break however with two local players.

My character controller would also break with two local players. Since VizionEck has very simple geometry, I wrote the character controller with this in mind to optimize things. The local player however has more advanced geometry behind the scenes. It wasn't a problem with one local player since the character controller ignored itself, but putting two local players in the same room broke everything.


So since this was still really early in development, in my situation it was just best to start from scratch for the final build.
 

Blizzard

Banned
I know I said I wasn't going to post gifs here anymore, (read up if you want to know that whole story, we're not supposed to discuss it further) but I'm altering the deal, and pray I don't alter it further. :D

Anyway: figured out a way to increase the native resolution of ghost song without it being too painful.

I was reflecting on two separate issues -- One, the game feels a bit clausterphobic (which *can* be good, depending on the area) and two, although I've done much to combat the issue by way of sharpening shaders and contrast shaders, it still just looked a bit blurrier than I'd like when upressed from the native 720p to a full screen 1080p.

I don't know why it didn't happen sooner, but I realized -- why not just extend the bounderies of the screen, show more of the level with smaller characters? I changed the native res to 1600x900, aka 900p. Now it not only looks much sharper full screened, since the images aren't being enlarged much, but it PLAYS better!

example: http://gfycat.com/SadVillainousJunebug

There are some things that need to be fixed up, like the overlays, and certain level design stuff will need to be updated. But it's worth it, and it also opens up some new possibilities with new ways of thinking about the level design and level art.
This scale looks like a good change for a metroidvania game, nice job.

Performance can be an issue if Freetype has to translate (character mapping /
loading) and render/rasterize the glyphs again and again. But these problems
can be solved by caching.
I think I found the same thing when I messed with Freetype. Side note, trying to learn font programming / Freetype was one of the single most painful things for me in developing an engine, and I'm still not done since I need to go back in and develop a shader approach so I can actually COLOR the text. :p

What I think I currently have is something that generates a bitmapped font when I start my engine at the size I want, so I'm presumably effectively caching the sizes and texture data as missile referenced.
 

Five

Banned
I grabbed Spriter since that $25 price point for the features was way too hard to pass up. Creating animations has been pretty easy but I haven't tried plugging them into games just yet. :x

Any good comparisons between Spriter and Spine?

They appear pretty similar from a cursory examination. I only took notice of Spine when support for it was added to GameMaker a few months ago, and I don't know that much about Spriter. A Google search brings up this Reddit thread in which one of the Spine devs posts a few thoughts, so maybe that will help!
 
Painting a long and complicated story with very broad strokes, Spine basically exists because Spriter was kickstarted a long time ago, and people got very frustrated waiting for progress with it so rolled their own solution, but then decided on some different implementations.

In usage terms, Spriter exports traditional spritesheets, so lots of different assets potentially becomes a resource issue (as, say, a recoloured sprite using the same animset is treated like a new asset) where Spine can export JSON strings that lets you 'hot swap' assets at runtime with supported engines / frameworks. I believe Spine can retain your assets as vectors where Spriter rasterises them for use too.

If you're using Unity for 2D work, you can get very similar effects as Spine or Spriter natively (and free) with the Sprites and Bones plugin which also works with Unitys built in animation blending system
 

Jobbs

Banned
What was your reasoning in the first place to make it 720p?

Your new solution looks great.

Thanks. :)

The previous Unity version was in full native 1080p, and it used really large assets (the characters were large on screen + full 1080).

The initial Stencyl version was the same, but I was having some crashing issues with the full 1080p assets and scene sizes and I wasn't sure why or what to do about it. One of my first solutions was to scale everything down to 720p, and the crashing stopped. To this day I still think a full 1080p game would be possible in Stencyl with some proper troubleshooting of the issue with the Stencyl staff, but I'm pretty happy with how everything turned out, and my now 900p game looks nearly as good as a 1080p game when full screened.
 
Thanks. :)

The previous Unity version was in full native 1080p, and it used really large assets (the characters were large on screen + full 1080).

The initial Stencyl version was the same, but I was having some crashing issues with the full 1080p assets and scene sizes and I wasn't sure why or what to do about it. One of my first solutions was to scale everything down to 720p, and the crashing stopped. To this day I still think a full 1080p game would be possible in Stencyl with some proper troubleshooting of the issue with the Stencyl staff, but I'm pretty happy with how everything turned out, and my now 900p game looks nearly as good as a 1080p game when full screened.

Strange issue, but glad to see you've found your way around it.

I agree that 900p looks fine. It's so close to 1080p anyway, plus you're covering up some of the detail with image effects to get your stylized look. Maybe even 900p is better :)
 
It's custom-made. I have a video demonstrating some of its functionality here in case you didn't see: https://www.youtube.com/watch?v=zLp-6hAp6Yc

My game does its procedural generation on multiple levels. It builds a map out of rooms one to three screen widths and one or two screen heights in size. On each side of every room, there can be zero to two doors connecting to an adjacent room. So this comes out with several variations of possible room flows. For any given room type, I then fill it with platforms and obstacles (as shown in the video above).

Here are a couple of snapshots of the different rooms (labeled sub-maps) I have so far. I can click on one of the existing layouts to edit it or click on "new" to add another room. If you look at the lower-right corner, at 41209, you can see it's the room I made in the video above.



The different-colored regions do different stuff. Dark purple is solid ground, orange is obstacles/traps that get filled procedurally, red is procedural enemies, yellow is ladders, and violet is procedural platforming.


edit: to explain just another thing, the numbering system works as follows: the first digit is a number 1-6 that says what size the room is (1 = 1x1, 2 = 1x2, 3 = 2x1, ...). The second and third digits are numbers 0-3 say which parts of the sides open up to adjacent rooms. 0 = no doors, 1 = high door, 2 = low door, 3 = both doors. Then the fourth and fifth digits represent which iteration of the room flow it is.

Cool stuff!

I've been thinking about an action-y game similar to what you have and I'm thinking of ways to implement a shield. I was thinking of having a boolean isShielding and then have it set to true when the player holds down a key. Then do something like this:

if (isShielding) {
changeAnimations(); //change to animations with the shield up
lowerStaminaOnHit(); //instead of lowering health on hits, lower stamina
if (stamina == 0) {
lowerHealthOnHit();
}
}

That's pretty rough, but has the main ideas for what changes when you shield.
 

Skinpop

Member
example: http://gfycat.com/SadVillainousJunebug

There are some things that need to be fixed up, like the overlays, and certain level design stuff will need to be updated. But it's worth it, and it also opens up some new possibilities with new ways of thinking about the level design and level art.

I'm wondering, is this what the game looks like native? Kinda looks like a photographed tv-screen(maybe that's the look you are going for?). The art is is very nice but I think the overall image suffers from very high contrast/saturation and heavily crushed blacks, it's quite straining for my eyes actually.
 

Jobbs

Banned
I'm wondering, is this what the game looks like native? Kinda looks like a photographed tv-screen(maybe that's the look you are going for?). The art is is very nice but I think the overall image suffers from very high contrast/saturation and heavily crushed blacks, it's quite straining for my eyes actually.

well, this is from a captured gif, so there's a bit of degradation, but more or less this is what it looks like. The contrast was turned up pretty high because I like how it looks, I think I sorta like things to look like they're off a tv (I'm weird), but I'm always willing to tweak stuff like this if people seem to agree that it needs done. Just a matter of changing numbers.
 

Skinpop

Member
well, this is from a captured gif, so there's a bit of degradation, but more or less this is what it looks like. The contrast was turned up pretty high because I like how it looks, I think I sorta like things to look like they're off a tv (I'm weird), but I'm always willing to tweak stuff like this if people seem to agree that it needs done. Just a matter of changing numbers.

would be nice to see what it looks like in a more neutral state(without color correction and the high contrast).
 
I was reflecting on two separate issues -- One, the game feels a bit clausterphobic (which *can* be good, depending on the area) and two, although I've done much to combat the issue by way of sharpening shaders and contrast shaders, it still just looked a bit blurrier than I'd like when upressed from the native 720p to a full screen 1080p.

I don't know why it didn't happen sooner, but I realized -- why not just extend the bounderies of the screen, show more of the level with smaller characters? I changed the native res to 1600x900, aka 900p. Now it not only looks much sharper full screened, since the images aren't being enlarged much, but it PLAYS better!

example: http://gfycat.com/SadVillainousJunebug

There are some things that need to be fixed up, like the overlays, and certain level design stuff will need to be updated. But it's worth it, and it also opens up some new possibilities with new ways of thinking about the level design and level art.

This is looking phenomenal :D
 

Skinpop

Member
Honestly, you might be right. Part of the reason the contrast was so high was I was trying to find ways to make the game seem less blurry when it was full screened before, but now that's not much of an issue.

lowered contrast: http://gfycat.com/IdleDeliriousHowlermonkey

that looks much better. I don't suppose you could supply something like a png screenshot? Its hard to tell how much the gif compression distorts the image. Game looks dope :)
 

Jobbs

Banned
This is looking phenomenal :D

that looks much better. I don't suppose you could supply something like a png screenshot? Its hard to tell how much the gif compression distorts the image. Game looks dope :)

thanks, and here's a couple more 900p teases:

http://gfycat.com/BlondInconsequentialApatosaur
http://gfycat.com/IckyUniformFairybluebird

take note that while there is some degradation and artifacting caused by the gifs, the color banding very evident around the fog and glowing blue light are done by a shader, and is actually how it looks.
 

Limanima

Member

Jobbs

Banned
Everybody have said it, but I will say it again: This looks phenomenal.
Are you developing this alone?

thank you muchly :) to answer your question, I mainly do it alone - I have a little help and support here and there, for instance, someone from the Stencyl forums wrote my shaders, but generally speaking I'm alone.

I think for the second game I'll need a small team to take it to the next level, but for this specific "thing" I'm doing now, a very core style game, what I'm doing seems to be working.
 
Status
Not open for further replies.
Top Bottom