Game Development Community

dev|Pro Game Development Curriculum

Emergency July Blog: Fancy Ribbon FX: The Ribboning

by Steve Acaster · 07/28/2014 (7:01 am) · 8 comments

No dev blog this July? Ah there were multiples last month ... but let's sort that out.

Some time ago I'd asked/pleaded/badgered (delete as applicable) Tim from MaxGaming Tech (whose mech combat game is on steam now) on their IRC channel (irc://irc.maxgaming.net/garagegames) for some old code for attaching fancy ribbons to moving objects in a FreeSpace type manner. He duly obliged and after a cursory look at it all and some grumbling about a lack of code comments - I make gameplay, fancy C++ and rendering stuff isn't my area of expertise - I ended up being snowed under with other dev related things.

www.yorkshirerifles.com/gallery_airdrag/images/ad_steam11.jpg

Originally I'd envisioned using the ribbon effect for a tech demo of another game concept but continued Airship Dragoon dev had put the kibosh on that.

However noting that Lukas of WinterLeaf had created a ribbon emitter based on the stock particle emitter. This was quite cool and a quick compile later I had a Nyan Cat trooper running about. And here's the relevant thread for it all: www.garagegames.com/community/forums/viewthread/138188




Turned out he wasn't actually supposed to be trippy Nyan Cat colours after all, and the shader was taking the colour from the normals rather than the colour because the addresses in the rendering code were not matching order. I nodded sagely in pretense that I knew what any of this meant while other people asked me to swap code lines around and report the effects. That fixed, it was a pretty simple job to create ribbon types based on ammunition types for all weapons. Swag.





Whilst testing my latest build I annoyingly found that the instanciating file for arid level 2 had corrupted for reasons beyond mortal man's understanding (stares suspiciously at the stars and blames the Reptoids/Cthulhu/Ming) and whilst collision for troops was working it wasn't passing collision for raycasts or projectiles. Simply updating the file and resaving it fixed this annoyance. All this and a few other tweaks and fixes for minor issues will be finding their way into the next update/patch.

Right now I am mostly working on the forthcoming Steam build. My original trailer is now woefully out of date as the characters, animation, audio and various other stuff has changed since release. It's also boiling hot even in my dreary little bit of Yorkshire and my ancient PC coughs and splutters as I run Airship Dragoon full screen with the settings on high to try and get some decent video footage.

#1
07/28/2014 (9:05 am)
"(stares suspiciously at the stars and blames the Reptoids/Cthulhu/Ming)"

The UFO's took your Slack away!
#2
07/28/2014 (12:03 pm)
Oh, and as I found some issues with the current ribbons build, here's the files I'm using: www.yorkshirerifles.com/random/ribbons.zip note: you'll still need to make the changes in Lukas' branch for gfx/gfxVertexTypes.h github.com/lukaspj/Torque3D/blob/Tim-MGT-Ribbons/Engine/source/gfx/gfxVertexType...
#3
07/29/2014 (6:43 pm)
MMMore vids... That's the way to go!

Great @Steve, keep up the good work! :)
#4
07/30/2014 (5:21 am)
Just FYI, I fixed my build and removed the optimizations. So you don't need to download Steve's own stuff :P
#5
07/30/2014 (7:16 am)
Tim-MGT posted some optimizations on pastebin. I think TRON said they were okay but I've not put them into my code yet.
pastebin.com/vs8W9XDU
#6
07/30/2014 (7:19 am)
Also new trailer since my old one is kinda out of date. 1080p HD though converting to youTube's mp4 seems to have lost a bit of smoothness.


#7
07/30/2014 (7:30 am)
@Steve ah those changes make sense, I was trying to always cache verts even when new verts were added. It makes sense that if no new verts are added then you can use the old buffers without having troubles with data on the verts not being updated.
#8
08/04/2014 (11:40 pm)
Airship Dragoon is growing into maturity. Well done Steve!