Battle ::.

Fight enemies in time based, retro battles using four unique classes. Gain power by equipping crystals.

» Read more

Discover ::.

Explore the lands of RpgLegend while uncovering story driven quests, taking you from catacombs to mountain tops.

» Read more

Team Up ::.

Join worlds of up to 6 players and group into parties. Work together to explore dungeons and defeat bosses.

» Read more

Play for Free ::.

RpgLegend is free to play and requires no downloads or installation, just Flash Player 11 or later.

» Read more

Latest News ::.

Development Update
Auto Tiles and Animated Tiles
Written by thephantom on May 11th, 2013 at 2:09 pm:
Over the last couple of weeks lots of progress has been made. Autotiles and Animated tiles are fully functional. Just to recap, autotiles are special tiles that allow us to map terrian transitions automatically without having to piece together the edges of various tiles. For example the edges of dirt to grass, or grass to water. Normally to place these edges require the piecing together of each edge manually. With the autotile feature these edges are placed together automatically when the map loads. And animated tiles are autotiles but that also animate through several frames. These are great for animated water autotiles, for example.

Below is a screen shot of animated water that is fully animated in-game. Sadly the screen shot is not animated, but you can try to imagine it animating. Also, note that the water in the screen below was quickly placed for testing, so it may not look like a very good map. :lol:




To get the engine ready for autotiles and animated tiles , I first needed to create a Tileset editor. This editor allows us to quickly assign collision, layering, auto tiling, animation frames, and other properties to tiles that will be used in mapping. Here is a screen shot that shows the Tileset editor if you were curious how it looks...



Then, it was time to get the autotiles and animated into the engine. One concern was to make sure that the performance was not affected by these added features. I won't go into all the details of how it was coded. But it is done, it is in the engine, and the performance is running great.

Finally, today I also improved the performance a bit of the map render while I was reviewing the code. This showed a 15% increase in performance. But let's let the graph show the difference! Notice the spikes are even lower than before!

Before:


After:


So what is next? Event Rendering!

More soon.... Thanks for reading!
Development Update
Starling Rendering : Success!
Written by thephantom on April 17th, 2013 at 2:26 am:
I have not posted any updates in a while, but this doesn't mean I haven't been hard at work. And tonight I have just completed a few key features. So let me tell you about them!


One of the main reasons the project has been delayed and what some call "starting over" is because I wanted to switch to the Starling rendering platform.

Now you may ask why did I switch to the Starling rendering platform. You may even be wondering what Starling is. Well, I will briefly explain... Starling is rendering platform for Flash that uses 3D quads (flat 3D objects) to render 2D games with better performance and hardware acceleration. Normally, Flash's rendering is decent enough, but doesn't get that boost Starling gets when you have a decent video card. For these reasons I decided to switch to Starling.

Over several months I have been learning how the Starling platform works, I have been learning how to manage textures for the most performance and redesigning and altering the game around these changes (mostly backend stuff, nothing gameplay related).

Now with all the planning done I have been working on actually implenting Starling. Surpisingly, the coding has been smooth. Partly because I can reuse ideas and concepts I used in the previous version of RpgLegend, but also Starling just works so well.

While I have been referencing the code from the previous version, I have also been spending time performance tuning and using better coding practices. One of the biggest mistakes I made before was having every object in the game, every process, using its own timer. Now I am using a main game loop.

All of these improvements have resulted in a very smooth game engine, and it is most noticeable and worth the time and effort.


So, let's get down to what was achieved... I have successfully completed the following key pieces of the final game engine:

- Rendering of large maps. Currently capped at 500 tiles by 500 tiles, mainly due to the time it requires to construct the arrays of such magnitude on map load. The test successfully rendered a map of 250 by 250 tiles with no lag or performance issues.

- Smooth character movement. The hero's walk animation is smooth, perfectly timed, with each step accounted for. An issue with the old engine, sometimes the walking animations would look choppy and get out of sequence. Additionally, screen panning while walking seems to be fairly smooth, nothing compared to how bad the old engine was.

- Camera re-centering. A brand new feature to this engine. The camera can refocus around the hero instantly. Allowing instant teleporting between any locations on the same map. We will be taking advantage of this feature by creating towns and cities outdoors and indoors on the same map, so you can instantly enter and leave buildings with no load times.

- Collision detection. Preventing the player from leaving the map bounds, walking through walls, and other impassable tiles. This feature was effortlessly implemented using the previous engines code and logic and works flawlessly with the new engine.

- Tile layering. Allowing the player to appear behind objects and tiles. This feature was taken from the previous engine and works flawlessly.

While this may not seem like a lot, considering I have been working on this for the last few months. Most of the fantastic progress was made within the last 24 hours. Previously I was working on other items with the new engine which I won't get into, but they were time consuming, yet needed.

Moving forward, I do not believe there will be many issues catching up to the previous engine. The main hurdles have been overcome. It is now just a matter of me refactoring the previous engine's features into the new engine. This process overall should go smoothly with the exception of having to carefully change the code to use better practices and to update the various parts that need to be changed to work with the Starling rendering platform.

I hope to have another update very soon.

Thank you for reading!
-thephantom
Development Update
New Technologies, New Design
Written by thephantom on February 1st, 2013 at 8:56 pm:
A few months ago we had a partially working game client. This client rendered the map and characters using the native Flash Display List. Even with weeks of performance tuning changes and considerations we were having problems. We couldn't have a lot of animated objects on the screen at once. Even having lots of events on the same screen slowed the game down greatly.

Well, this should not be a surprise to some of you... you see the native Flash Display List is not designed for intensely animated games. It was designed to render simple flash animations and basic UI controls. Not to create games with tons of objects, much less animated ones. So something had to give. We either were going to design the game to use only a few objects per screen. Even then, this wouldn't have been enough for some computers, as even a few objects made the game gitter and unresponsive for brief seconds. Then... I remembered something. Something that would save the project....

I remembered a framework called Starling. Starling uses the fairly recent addition to Flash-- Stage3D. I realized that Stage3D may be the thing needed to improve the project. You see, Stage3D uses the graphics card itself to render graphics. Starling uses the Stage3D engine to render 2D games. It seemed like a perfect fit.

Over the following weeks to months I started to evaluate how Starling worked and realized I would need to change the way the game handles all of its graphics to support the new rendering platform. For example, all graphics need to be sent the graphics card within textures. And you get even better performance if you can manage to combine all textures into one huge texture atlas. Further, movieclips are not really supported by Starling, at least now the native Flash movieclips. We were going to use movieclips for animated tiles and events. Nope... we needed to include the movieclips frame by frame in a grid of images (within a texture) to get them to work with Starling. Needless to stay I had to rethink how graphics were handled within the game.

Then the thought of having to go back through all the old code and adding Starling to it sounded awful. You see, the old code is kind of messy. I should say very messy.

I also took a few days to re-evaluate the project as a whole. Since I was planning on doing a huge overhaul to the client, I might as well see what other areas I can improve yet simplify so we don't get too far behind schedule.

We looked at changing how equipment, inventory, and skills worked. Simplifying it, yet making it more fun in the process. I don't want to go into too many details in this post. But the new inventory, equipment and skill systems have been reworked to work together. Your equipment allows you the power to equip skill crystals, each giving you new abilities and spells as they increase in power. This system ties into the storyline of the game, and is inspired from one of the greatest RPGs of all time.

Additionally, we decided to take the game away from the "massive multiplayer" experience of a persistent world of hundreds of players interacting with each other, and scale it down to something that we can handle, but also can scale it self to support as many players as we can gain. We have decided to design the game around a "room" based system. Where players first interact in a lobby and then create a new world where they and their friends can team up and play together. With this model each world can be distributed onto different servers within a cluster and allow us to add additional servers easily as the game grows.

So here we are! So much is planned, so much has changed. And we are kind of back at square one when it comes to the client. But over the coming days, weeks, and even months the client should catch back up to speed and the rest of the game will be developed.

And as always, stay tuned! I will keep you guys updated on the latest in the development of the RpgLegend.

Thanks!
thephantom
Announcement
Welcome to the new RpgLegend site!
Written by thephantom on February 1st, 2013 at 8:30 pm:
Much has been happening over the last few months. And just as the site has been updated, the game is in the process of being completely updated as well. :)

Over the coming days to weeks we will be actively updating this site to reflect the new plans and features for the game.

Stay tuned!