Helping is fun!
by Cardin on Feb.07, 2010, under Misc
I found another time-buster technique!
When I’m trying to find some stuff to do [and thereby avoid other stuff], it’s cool to help others on Flash forums. =)
It really keeps you updated on the obscure portions of Flash, and makes you feel really humbled, because some questions are just too hard and require some experimenting to get the answer.
In a bad way, I don’t have the time to experiment and conclude results for the guy.
In a more reassuring way, I am not knowledgeable enough to handle the question. Because sometimes, the question is a compound question.
The problem he faced is part of a larger problem, that requires someone knowledgeable in the field to provide guidance and direction. Just solving the problem isn’t enough.
And when you are the first poster to help, the ownership for solving it kinda moves onto you solely. Others might avoid a topic that someone else is already handling. I know I do somewhat. Unless the helper explicitly requests help, it’s a matter of respecting his competency to handle the question.
I like discussion questions better. They’re more community-orientated lol.
And the really lost sheep
This happens often enough. They are trying to tackle a problem above their skill, and their problem is time-urgent. So basically, whatever solution you advise to them is useless in the short-term, because they don’t have the time to learn the skills to understand what to do.
It pretty much might end up with you becoming the developer, not him.
Haha… so basically, I try to stick to what I am really good at [relatively]. Fixing Actionscript 3 code. There’s enough oddities that basically no one can get it right the first time they try it.
Actually anyone can do that. =( But I try to help.
Should sleep now… otherwise tomorrow might just doze off at my desk. o.o
Future of Flash
by Cardin on Feb.05, 2010, under Commentary, Technology
When their technology is threatened with becoming obsolete, every programmer must consider his choices.
Flash will not be replaced
Flash has many unique features. It has many niche areas. But I suspect the general public will gradually grow to prefer AJAX + HTML 5. Let’s just call it HTML 5.
Flash had better get better performance
Because WebGL is catching up. It’s using Javascript to access OpenGL on your graphics card. Eg, your game running better than the iPhone preview of Quake. Maybe I don’t get it, but why hasn’t Adobe implemented this? Instead of silly geometric transformations for 3D rotations?
Flash’s problems will not go away
They will simply take on another form. The Javascript CPU hog. Crashing WebGL. Annoying HTML 5 Canvas advertisements.
Is Javascript faster? With bad web-design [aka overusage] anything can get slow.
WebGL accesses your graphics driver. Remember nv4display.dll Blue Screen of Death?
And Flash is not the only thing that animates and is a banner.
Flash is single platform
Single Platform on multiple devices.
While consider that browsers have yet to synchronise their Javascript rendering. And CSS 3, a W3C standards recommendation since 5 years ago, has yet to be implemented properly. And I’m referring to cool spazzy CSS 3 features that everyone would love to use. [which i can't remember, but i'm sure everyone web-designer has their favourite CSS 3 feature not yet supported]
One way I can see HTML 5 getting out of this is, Firefox and Chrome takes over the world. Then you only have 2 browsers. The browser Google develops, and the browser Google sponsors. See a pattern?
Flash is single package
More pertaining to its delivery and development format, Flash does not require you to learn multiple technologies to achieve your goal. A single video and audio codec. Complete full-screen take-over support (though easily emulated by browsers, if chose to). Its design centric model is also very good, even if you hate the Flash Player.
Many have suggested that will be Flash’s eventual outlook, as a development platform for HTML 5. It does seem feasible.
Actionscript has too many rules
Way too many, even if you want to do something simple. Whereas Javascript is what Actionscript used to be, clean, easy and functional. Though Javascript still uses prototyping which I don’t prefer. [Flash hides it indirectly].
Future of Flash
- Flash will retain its strength in niche areas.
- HTML 5 will succeed if browsers get their act together.
- WebGL will be the crux of HTML 5’s success.
- Flash may evolve to a tool [eg. DreamWeaver] instead of a platform [Flash Player]
- Flash needs to get faster. WebGL faster.
- Flash’s problems will just become Javascript’s problems. It’s the designer that counts.
HTML 5 is coming. Flash, go on the offensive and build features, maybe you’ll last longer. Isolate yourself and rot; integrate with the enemy and survive.
So sad… =( Worst comes to worst I go Java, or pick up WebGL.
Friday! And away from Shadow to Terrain
by Cardin on Feb.05, 2010, under Projects
It’s Friday night!!! Waiting for this day for an entire week is simply terrible, the simmering impatience worsens with each day. =(
The problem is just that there’s really nothing really too interesting to look forward to each weekday. Of course, I try my best to make it worth looking forward to, apart from dismissal from work.
Like on Tuesday, I was assigned this awesome desk that didn’t have a computer, twice as small as everyone else’s, had no drawers, in a dusty corner. It was a challenge to look forward to on Wednesday. -.-
On Wednesday my IPod battery was running low, and I dared myself to push it to zero. It shut off halfway on the trip home. =|
On Thursday I decided to listen to Jap Podcasts instead of listening to music. Learnt a bit more about ni agerugi and kawai sou. [allergic to & what a pity respectively]
Next week I can look forward to CNY! A week long of factory shutdown. =) Then 2 more months without holidays, until Labor Day. Tough.
Full Metal Alchemist: Brotherhood is getting a bit interesting again. It lulled because of the Fort Briggs plot of late. It’s understandably sleepy. Next week Envy vs Dr. Marcoh.
——————- Ceases to be interesting or understandable ———————-
On Shadow
Considering the scheme of things, cloud shadows and dynamic lighting will not play an important role in a turn-based RPG. Especially one that does not have exploration or adventure.
So I’m concentrating only on the Shadow Map. There’s enough possibilities there. I’m refining it, more after the discussion on Terrain.
Terrain
Surprisingly I forgot about how hard terrain was. When you think of doing something different, you sort of forget how difficult the fundamentals were. That is, large object z-sorting and slope.
Flat is easy
That’s why most games feature flat terrain. Or ridged terrain, like Pokemon. Because Isometric has many limitations, we must always remember to limit ourselves first, then extend what we can from there.
So slopes have predefined angles. 0, 45, 90; flat to vertical. As a possibility we throw in 22 and 67. We mustn’t have too many variety, because…
Every Permutation requires a Custom Tile
This might seem at first, just a artist’s problem that can be accomplished with hardwork and time. That’s what I thought too, and it’s wrong. Every graphic loaded in consumes RAM. It doesn’t take much to peak. Modern games feature hyper compression, what with DXT1 and DXT5 images. 3D designers are even supposed to memorise what color channels these compressions do best. So let’s say you chose DXT1, which loves Blue channels. If you have a primarily red tinted image, you’ll invert it to blue, so that it’ll compress better with less lossy. Otherwise the red will compress really badly compared to blue.
And because we chose to go custom art all the way, rather than generate ugly distortions, for every terrain we need every angle. Awesome, not.
Splitting up Large Objects
It seems as if large objects can be pasted in. It’s hard to get why not, until you see the few special scenarios which cause problems. Tall objects are fine. It’s fat objects that are a problem. They span multiple tiles, so they must be split up into multiple segments, one for each tile.
Furthermore, imagine standing beneath a bridge, that’s another problem. If you’d used Movieclip’s z-depth sorting you’ll be shuffling a lot of Movieclips. I’m using BitmapData blitting instead. I think that will resolve some issues. I think so.
Shadow of hills and slopes
If every building and object has a self-casting shadow, then so does the hilly slopes too. But the slope tiles are mix and match. They might also be placed on a different angle.
Solution is to give each tile their own shadow map. So it’s switched on if the normal vector is rightwards, off if leftwards. This saves us the trouble of thinking of the slope as a custom object conceptually, and having to cast its own shadow in the proper art style. I think.
Not the end of it
Usually it’s impossible to foresee all problems; you solve them as they come. Graphics-wise I don’t think there’s any more generic problems. Maybe it’s time to think about gameplay. Which is really hard, because it’s subjectively fun, and it’s guesswork on how smoothly the game will run at.
If AIR can create socket servers on par with FPS ping latency, then I’ll go real-time turn-based. That does take out the possibility of 2 player on one computer though – Flash cannot handle dual-screen.
Whereas if it’s turn-based, we can simply switch turn and wait. The problem is waiting. It’s boring. It makes the game harder to balance, and easier to play.