Recent posts by Argl on Kongregate

Flag Post

Topic: Game Programming / Daily Connection Tracking

Thanks for your answer. Actually I’m not too worried about SharedObject hackers. Because they are a few, and whatever we do, they will always find a way to break into the save file. So if I had a safe way to get the real date, I would reward the player, save a SO, and nevermind of hackers. But ==> I looked around about retrieve date on external server but each time I find an answer it implies using php on your own web page, which is out of purpose…

Just by curiosity, I’ve checked on “Pingu The Ping Idle Rpg” here on kong, I modified my pc clock, and I got multiples daily rewards… So maybe if a 1M played game use Date class, I could use it too….

 
Flag Post

Topic: Game Programming / Daily Connection Tracking

Hi there,

I’m trying to add a “Daily Connection Reward” feature in my next game, but I’m not sure how I could do that. I’ve been thinking about using a sharedObject to save last connection date, but it would be very easy to hack by simply changing the computer clock…

Would you know if there is a way to do that without having a private server to stock data ? Maybe use an external API, a public server… ?

Thanks for reading, I appreciate any suggestions.

 
Flag Post

Topic: Game Programming / Looking for testers!

Well, just subscribed, not sure where I can’t find the game and actually test it ?

 
Flag Post

Topic: Game Programming / Keys config survey

Yep that sounds like the best thing to do. Thanks.

 
Flag Post

Topic: Game Programming / where's the problem?

Just check that your Enemy class constructor takes two parameters. I’m pretty sure it doesn’t.

 
Flag Post

Topic: Game Programming / Keys config survey

I first thought you were mentionning Dvorak the composer, I really didn’t see the point. So I checked on google and I discovered a new kind of keyboard :) Didn’t think about QWERTZ either. Thanks.

Nice idea with 1, 2, 3 keys. That would be a logical solution. However, in the previous episode when I defined “D, F, G” for the default controls because it was common to QWERTY & AZERTY, everyone started to ask “why such weird controls” ! Players don’t like to be disturb in their habits…

Anyway, I’ll make sure everyone is aware that he can customize controls as he wish :)

 
Flag Post

Topic: Game Programming / Keys config survey

Okay, thanks for the answers. I will try to add the configure option in the choice as well.

 
Flag Post

Topic: Game Programming / Keys config survey

Hey, nice to hear from you Ace_Blue,

Glad you confirm that JKL and Space are fine with WASD.
For sure you’re right but I’ll just do my best so most players will not have to whine. (what’s wrong about AZERTY crowds ? ;p)

Thanks for your answer

 
Flag Post

Topic: Game Programming / Keys config survey

They are already, you can change every keys in the option menu. But players who complained didn’t check the options. That’s why I want to give them a fast choice at the beginning of the game between two nice control schemes.

 
Flag Post

Topic: Game Programming / Keys config survey

Hi guys,

In a very dynamic action game, with 4 keys for moves, and two actions keys, I think the most common config would be :

- UP, DOWN, RIGHT, LEFT : move
- Z : action1
- X : action2

But lot of people asked for WASD controls, so what actions keys would you prefer for a WASD config ? J & K ? O & P ? others ?

Thanks for reading

 
Flag Post

Topic: Game Programming / Find the error

@ BobJanova : B3 is just a graphic class, automatically made by Flash.

There is no error in the EnemyBox code, it has always worked fine in the previous episode of the game.

Got some news, I hunted and deleted all the elements which thrown this kind of error. Now the sequence is fine, but after a while, everything in the sequence still goes crazy for no reason WITHOUT even throwing an error. I have a problem down there and the error displayed is clearly not the real cause.

Let’s hunt the ghost bug… such a nice week-end is waiting for me.

Thanks for your help guys.

 
Flag Post

Topic: Game Programming / Find the error

The interval delay between sequences ends and dispatches the event so another sequence can be created.

 
Flag Post

Topic: Game Programming / Map movement slows game down =/

I’m clearly not the expert here regarding tiles and maps. But, here are a couples of notes which might help you :
Most of the time in Flash, lags come from vectorial graphics… If you use vectorial graphics for your tile, you have to cache them as bitmap. Simply use “myMovieClip.cacheAsBitmap = true;” when you create your tile. That said, be carefull, once your clip is cached as a bitmap, if you change its size or his rotation, it won’t be cached anymore. Hopefully, you are allowed to change its x and y properties. This is a very powerful way to optimize fps.

Personal and subjective comment : I never use more than 30 fps in my games. The reason ? Passed 30 fps they always get laggy due to massive use of graphics :)

Good luck

 
Flag Post

Topic: Game Programming / Find the error

Thanks for the quick answer.

At line 49 of SequenceManager, in the function _createSequence(), I instantiate the sequence. So at this exact moment, the enemyBox which is in that sequence throws the error. But if i’m not wrong, enemyBox is not a class created by the compiler. Sure, it’s already in the sequence, it’s not dynamically instantiated, but it’s bound to a Class EnemyBox that I’ve made myself.

Thanks for the 7, I wasn’t sure it was a line. Unfortunately, at line 7 in EnemyBox there is just : import src.characters.enemies.*; which makes no sens.

 
Flag Post

Topic: Game Programming / Find the error

Hi there,

I’ve been stuck for several days on an error I got during execution. Here it is :

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at B3/__setProp___id222__B3_enemyBox_0() [B3::__setProp___id222__B3_enemyBox_0:7]
at B3[F:\Data D\flash\games\Rogue Soul II\src\system\SequenceManager.as:49]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at utils::Delay/_manage()[F:\Data D\flash\library\utils\Delay.as:59]

This is a very common error, but in this case the location of the error is quite unclear.

Here’s what I got :
- it happens when I call “_createSequence()”
- it happens when the Sequence “B3” is created.
- it happens in B3, on the layer called “enemyBox”

And there I’m stuck to read details, what are “id222” ? “setProp” ? “0:7” ? and also what means “at B3()[B3::B3:5]” ?

If anyone has an idea, I would be really grateful.

Thanks for reading,

Argl

 
Flag Post

Topic: Game Programming / animation for flash game help [as3]

Before create my own class for character animation, I used to simply make one MovieClip per hero animation. Then one structure hero clip which contains all the hero animations on different key frame with the proper label. (frame 1, label “walk”, MovieClip walk, etc.). Then at the end of each anime which are not looping (like a sword stike) you add :

AS3 : MovieClip(parent).gotoAndStop(‘walk’);

That’s clearly NOT the best and cleanest options. But still, it’s pretty simple and easy to start with.

 
Flag Post

Topic: Game Programming / Optimize Publication Time

I use FlashDevelop already, but I didn’t know we could code Flash games in AS3 with Flex as well. Haxe is actually appealing, yet mysterious for me :)

 
Flag Post

Topic: Game Programming / Optimize Publication Time

In the Flash Publication settings => ActionScript Settings (the wrench), there are two boxes : “Strict Mode” and “Warnings Mode”.

If you disable those two boxes, Flash actually compiles WAY faster. On a little project, you don’t see the difference, but I used to wait 4min for my game to compile… Now I wait 10s!

Of course, the Strict mode and the Warnings mode are useful to debug, etc. But I think i’m gonna use them just once, at the end of the day :)
Just wanted to share in case some of you are in the same trouble as I was.

Good day

EDIT : after looking around, I found this article which confirms my post : http://www.bytearray.org/?p=931

 
Flag Post

Topic: Collaborations / voice actor looking for projects!!!

Hey, I like your sounds library. I’ve no project requiring voice acting right now, but I will definitely keep you in mind too.

 
Flag Post

Topic: Game Programming / How would you do this

I’m far to be good in algorithmic but i think we could imagine a kind of loop in an loop which would start from a certain tile, then look for a 1 on each tiles around (including diagonals), if there is a 1 in those tile, then the function go on starting with this tile, and still go on until there is no more 1. However, if there is nothing around but 0, the loop stops.

Does it sound possible ?

 
Flag Post

Topic: Game Programming / Funny bugs in your games

When I was working on Rogue Soul I had this bug : I paused the game while my little rogue was on a zip-line and he basically fell down, all frozen, in a stupid way, going even through the ground.

 
Flag Post

Topic: Game Programming / Garbage Collector Enigma

Thanks you, it was very helpful.

 
Flag Post

Topic: Game Programming / Garbage Collector Enigma

Hi there,

I’ve read a few stuff about garbage collector. If it’s now clear for me that every event listeners added somewhere has to be removed elsewhere, it’s not as clear for objects : should I set any object I don’t need anymore on “null” ? Or maybe the object is automatically removed after a while if it has no references left ?

I try to prevent my games from lags and memory leak but it’s tricky. It would be nice if you guys would like to share your habits about optimization.

Thanks for reading

 
Flag Post

Topic: Game Programming / SharedObject : flush() or not ?

I’m gonna do that. Or more simply just flush() when player pause, back to menu, or loose.
Thanks everyone for the answers.

 
Flag Post

Topic: Game Programming / SharedObject : flush() or not ?

Thanks, I will now be careful with flush().

However, the lag doesn’t come for a EnterFrame flush.

Actually it’s very punctual :

function _increase (e:Event):void {
	_current ++
	_save.data.current = _current;
        _save.flush();
}