12

Find an engine that runs on all three platforms (i.e., is cross-/multi-platform) and meets your requirements. The latter will vary with time and only you know all the requirements you need, so finding the correct engine is left up to you.


11

At our studio we are working with Haxe and NME, and the advantages are great. Performance and cross-platform are the more important points (at least for us). Pros Even with only a few people in the forums, you can receive a lot of help. It's a very active community. Check at haxenme.org, haxe.org, and haxe group in Google groups. Numerous people ...


9

As I said in the comments, a 2D array would probably help you out. Lets say this is our 5 by 5 grid and we have a match So we know 3 tiles will be removed, therefore we need to randomize 3 new values for 3 spots. The catch is however we first need to move the tiles in the same column that were above( blue ) the tiles that were removed (red). It would be ...


9

There are 360 degrees (2π radians) in a circle. Divide that by the number of objects, and that tells you the correct angle between the objects, for even spacing. If you want to keep the objects the same distance apart no matter how many objects are in the circle, we need to calculate the distance out from the center at which points are that distance apart. ...


9

Here is my complete learning experience, resulting in a pretty much functional version of the movement I wanted, all using Nape's internal methods. All of this code is within my Spider class, pulling some properties from its parent, a Level class. Most of the other classes and methods are part of the Nape package. Here's the pertinent part of my import list:...


8

Flash is dying. Whatever some Flashers may tell you, HTML5 is slowly taking its place. Slowly, because HTML5 still isn't really production ready in many senses, for full-fledged and straightforward game dev. You can see solid stats for the shift over the last year if you look (for example) at those jobseeking sites that record these things, Flash demand is ...


8

How about making any "stick" surface a character touches apply a force along the inverse normal of the surface? The force remains as long as they're in contact with the surface and overrides gravity as long as it's active. So jumping off the ceiling will have the expected effect of dropping down to the floor. You would probably want to implement some ...


6

Gals Panic, is a Qix type game. You may search for Qix to get more information on how things work. The general concept here is, having two images. One is the picture that you want to be revealed. The 2nd one is the actual gamefield where the game is checked against. These two are combined to produce the end result. So suppose the filled game area is white ...


5

As a subquestion, I'm also assuming here that the best way to store data that will be bundled with the final game and not read externally is simply to declare everything in AS3. Seems to me that if I used, say, XML or JSON I'd have to use the associated AS3 classes and methods to pull in the data, parse it, and convert it to AS3 object(s) anyway, so it would ...


5

I guess you're referring to the default entries in the Flash-Player menu: The entries there can be customize (to a certain degree) by using the ContextMenu class. Here's an example. In a frame of your timeline (preferrably at the beginning), place the following code: var menu:ContextMenu = new ContextMenu(); var items:ContextMenuBuiltInItems = new ...


5

(1) You may be able to adapt an algorithm used for creating word clouds. Here's one example algorithm, based on Wordle's strategy. This works by choosing a start position/size/orientation for each object (generally starting with the biggest/most important ones), and trying to place it there. If it collides with an already-placed object, move it ...


5

Here's what I normally do with my states. It might not be the best way, or even the second best (but remember, the thing that matters is not the architecture of your game code, but the actual end result.). I start with a basic State-class (all code in Pseudo-C++): class State { virtual void Event(Event e); virtual void Update(float deltaTime); ...


4

"I want to see where my movieclip colliedes with another another movieclip." Actionscript offers pixel perfect collision detection between bitmapData objects. It does not offer straight out of the box a tool to detect the exact points where the two objects overlap. How to detect where two objects are 'touching' on another? Create two bitmapData objects ...


4

You're not working with bitmaps here. The graphics object you're using uses vector graphics. So basically you're painting a lot of rectangles to your mask... The only reasonable way to determine whether or not your mask is entirely filled would be to render it to a BitmapData (using BitmapData.draw) and then iterate through the pixels until you hit a ...


4

Note, that DisplayObjectContainer has 3 main methods: addChild, removeChild and getChildAt. All other mehtods (addChildAt, contains, getChildIndex, removeChildAt, setChildIndex, swapChildren, swapChildrenAt) are redundant (unnecessary) and can be implemented using 3 main methods above. Adobe added them for convenience, but it doesn't do quite what you're ...


4

Java defaults to using GDI (AWT, Swing). JavaFX supposedly will be able to make use of OpenGL in future. Java + LWJGL (an OpenGL wrapper that accesses native opengl32.dll via JNI) provides more direct hardware-accelerated support for Java. Flash Player 11 onward made use of OpenGL via Stage3D. Without using Stage3D, it is using a software renderer built to ...


4

They have console commands. There is a reason skyrim has all the commands in it. That game was very extensibly tested. And because it has couple hundred hours of content with every cave and guild, and some of this content is bound to a level, there is no way to make everyone play through everything. Do the same, create some commands whivh put you on an ...


4

When developing games it is important to separate the game mechanics from the game representation on the screen. The game mechanics of bowling can be simplified to a pure 2d simulation by looking at the game from above: You wouldn't lose too much of the core gameplay of bowling by not allowing the ball and pins to jump up from the lane. But using a 3d ...


3

first off not to descurage you or anything, but collison detection and response is quite math intensive, but luckily there are some good resourses and frameworks that can help out with this. if you are just looking for a quick fix a toolkit or library is your best bet, otherwise if you want to write it from scratch it is quite complex, but there are some ...


3

Well typically, garbage collection speed and efficiency depends on the object count and size. Returning a full array deep copy is requires both more memory and and time, and creates more new objects. To me, creating a single object copy is more efficient. However there are most probably exceptions for some particular situations (accessing same index ...


3

The native Flash Events such as ENTER_FRAME etc. are quite fast and there's no way around them. If you want to learn more about the event flow, read this article. Personally I try to avoid the event system whenever possible though. Custom events (subclasses of Event) are slow. Using events can also cause memory issues when not used carefully (because a ...


3

I was looking for a solution to this too, but I found a easier, and performance-wise better one. Just draw everything in your graphics object again, but with a slightly fatter linestyle, wich is white and has an opacity of let's say 0.2. It gives you a nice little glow effect, and you probably won't even notice the difference until you zoom in (or if the ...


3

What the .hitTestObject() function does is compare the position and transformation of objects to see if the object's bounding boxes overlap at all. If you require more precise collision than that, it is usually better to test for collision between an object and various points on the other object using the .hitTestPoint function. For example in your scenario ...


3

When you set level to a new value, you lose the reference to it in your code. Its parent FlxGroup still maintains a reference to it in its members array, however, so it continues to display. Using remove is a good idea, but I suspect you're doing it like this: level = new FlxTilemap(); level.loadMap(FlxTilemap.arrayToCSV(data2,40),FlxTilemap.ImgAuto,0,0,...


3

You can't confine the system cursor to a region with Flash. What you can do is hide the system mouse-cursor using Mouse.hide() (only works when the cursor is over your game-area), then use a custom cursor instead. There's also an event called Event.MOUSE_LEAVE which will fire whenever the mouse leaves the stage area. You can't tell where the mouse will be on ...


3

It is not possible to deduce X and Y stretch factors to reach your goal, they simply do not exist. One solution is to first rotate your object so that its main axes coincide with the main X and Y axes, then apply the squash/stretch transformation, then rotate the object back to its original orientation. In terms of matrices, this would be the matrices ...


3

It sounds like you already have most of a terrain generator up and running. If your only concern is not leaving any walkable terrain isolated from other walkable terrain one thing you could do is run a blob finder over the entire map. With one pass over the map grid you should be able to put together a collection of "blobs" which are separate walkable ...


3

Using Flash's built inTimer isn't a great idea in Flixel. You should really use the Update function in conjunction with FlxG.elapsed, as this will respect pausing and resuming the game using Flixel. Here's an overview of how to use Flixel's timing: http://flashgamedojo.com/wiki/index.php?title=Timer_(Flixel)


3

When you say Z.y += 1, you will get an error because Z is the zombie class, not the zombies themselves. The class is the blueprint you use to create zombies, by doing new Z. new Z is what actually creates a zombie object, and the zombies objects are what have the y property, not the Z class. This lets you create multiple zombies, each with their own ...


3

There's no heap memory allocation taking place here and that's the only type of memory allocation you should worry about. var bullet:Bullet = collide("bullet", this.x, this.y) as Bullet; This line checks if the entity collided with another entity of type "bullet" and returns the first entity of that type. And since the method is Entity, there's a cast to ...


Only top voted, non community-wiki answers of a minimum length are eligible