Here is a 2D NPC test. You can make him always face the player. Much like games like Doom, Daggerfall and Elder Scrolls Arena.
Its very easy to add interactive dialogue via pressing the E key with him to continue his conversations. Even make him give you quests for fetching items, buy, sell and trade. However I'm not very skilled with LUA so I cannot create an interface for dialogue or even know how to make it so the player can choose different options. GG is very severally limited at the moment in terms of scripting so there is only so much you can do.
You can easily make him move. However to animate him , im not sure how to make LUA affect the effects given. To tell it which frame in the animation to choose from. And by animation I mean within the decal.
Rather than using 3D software you have to get pretty comfortable using sprite editors for this to work. You can reference the other decals in GG or FPSCx9 to see how they are set up. Basically you have a single DDS file with all your frames for your character in it. Like a spread sheet. How on earth you make GG choose which frame to load based on interaction I have no idea. It is however easy to make an NPC animate on a loop.
In terms of making dialogue... Its depressing trying to do something SO simple in GG... is always a headache or impossible. Guess we'll have to wait (more) and see what more developments come in the future to make things like this easier or even possible to do. I currently do not know how to make it so you can choose between options in a dialogue box. For now all I know is how to make it so you can press E in order to advance his dialogue.
There are ways to make his pixels more sharp and less blurry. This is mainly a test.
Here is the FPE:
;header
desc = 2D Person
;visualinfo
textured = person.dds
effect =
addhandle = decalhandle.dds
castshadow = -1
transparency = 6
;orientation
model = Decal.X
defaultstatic = 0
defaultheight = 50
scale = 300
materialindex = 0
cullmode = 1
collisionmode = 11
;statistics
strength = 0
explodable = 0
;ai
aimain = decal_flat.lua
i7 -2600 CPU @ 3.40GHz - Windows 7 - 8GB RAM - Nivida GeForce 420 GT