Wednesday, May 30, 2007

Change of focus, bigger screen size, reached end marker, and dying

So the most important thing I've coded today is the change of focus. This is used a lot to give some visual cues to the player. For example when he throws an arrow, the focus is now on the arrow (until the player decides to moves or the arrow strikes something). It is also used when he activates some lift and we want to show him what he activated. It will later be used when he clicks on the minimap and when we want to show the players the waypoints.

Another important thing is the concept of dying. Well the player doesn't really die. We just reset him to the start position. The player dies when he falls at a certains speed, or (when we have health and damage implemented) when health reaches 0.

I've also increased the screen size to 640 x 480.
And I've made a "very good" sign to appear on the avatars' icon that reach the exit point.
Also I've added the ping that is automatically sent every 10seconds and displayed under the respective avatar. Give's an indication of how much the latency is ;)

Tuesday, May 29, 2007

Mantis bug tracker installed

I needed a central place where to put the number of features being proposed and also the number of bugs that crop up ;). So I've installed Mantis... it's open source and free plus easy to use and installs within a couple of minutes.

I will later give access to anyone who takes part in the development ;)

Fixed some bugs and new help screen


Today I didn't do much as regards to new features. However, I've fixed the following bugs:
- arrow falling from help sign (this was actually funny)
- character not having right characteristics (was using a static variable pfff)
- tile glitch fixing (was moving the tiles with floating point and so some seams where appearing)
- initial speed of projectiles
- no aim for the runner (doesn't need it)
- some minor code cleanup

I've also tried out Sven's idea for zooming out. Ofcourse it was very crude... I just modified _xscale and _yscale of the _root movie, but still got an idea if it would be useful. Let's say that i need to feel it in a bigger level before I take out the guts of the level class to cater properly for this feature. The effect looks pretty cool though ;)

I also created a new help screen. Hopefully it gives a better idea of what keys are to be used and the characteristisc of each player.

Coming up next is the notion of having a focus point for the level. So I can follow an arrow, another player, or show the players where they need to go before they start playing.

Monday, May 28, 2007

ActionScript3, Proxy Servers and Binary Sockets

I tried to show the prototype to a friend of mine, but he cannot do a direct connections. In fact he uses a proxy server for browsing too.

I made a quick search and apparently there are some hints that ActionScript3 supports the CONNECT method which basically uses HTTP to tunnel a connection. Although I'm not really sure how to do this.

Another interesting thing I've learnt is that now in AS3 there are Binary Sockets... (rather than using XMLSocket)

I've also found this blog entry (which is almost 1yr old) of this guy who seems to work @ adobe who has done some class that uses the CONNECT method. Will look into it sometime later on.

If anyone has ever used these or would like to dig deeper on how we can use it for the prototype, leave a comment or send me an email ;)

Exit pointer

I've just implemented an exit indicator which is shown when the exit area is not on screen. It renders itself near the edges of the screen and it also displays the distance the player is from the exit area. Nothing special but gives some bearings to the players ;)

Attachmovie and Graphic type

Be ware when you're using attachMovie(). Make sure that the type of the object you want to attach is actually a Movie type and not a Graphic. Else you will be manipulating _level0 without knowing!

Game sessions,minimap and in-game chat

I have finally updated the server code so proper game sessions are held. Basically when you're playing you don't receive lobby related commands, and when u're in the game you will only broadcast game related messages to your level players only.

Also I have implemented the minimap. It will show the other players' positions with small colored pins. Your pin will be white. For now it is not clickable. However in the future I will make it clickable so the view will jump to where you clicked.

I've also placed the avatars' faces at the top. And whenever someone chats, a speech bubble is displayed under the avatar which talked. Cool :D