Week 24: The Llama Invasion Continues
Posted On: Jun 15, 2014 23:29:02 GMT
Archangel, joppelarius, and 3 more like this
Post by Bamboozle on Jun 15, 2014 23:29:02 GMT
Birthdays this week
June 16
asterni
druceus
meow
yoshi
June 17
creehped
mvp
June 19
Falcooner
spacezg
June20
spinechill
June 21
anime9001
rtp1999
The Code
So I spent most of my time this last week getting the new website ready. I made a small script that creates accounts based on the data I "spidered" recently and we let the supporters get a quick early preview. Over the next week I'll be sending invite emails to the new website to everyone. I'll likely be sending out a few hundred each day (based on order signed up on this forum). This is the last chance to make sure your email address is valid. Once the email goes out, if you don't get it then you will have to wait until this sign-up period is over to get your account (also, check spam box). Standard registration is disabled from now until July 1st, 2014. This invitation will allow you to sign-up in the mean time using the same name as your username here on FOLegacy. The reservation is only valid through June 30, 2014. After that standard registration will be turned on and any names not claimed will be available.
Next, I did some work on the map drawing/JSON problem I was having. I got the JSON loading down to roughly 15ms which is almost low enough. For a standard game in Unity, the target FPS is 60 which equals 16.66ms per frame. So while 15ms is quick, it really isn't quick enough. Especially when there are 3-4 tiles loading because then it is 45-60ms eaten up. So there was still a slight stutter, but much less noticeable. So I implemented a queue. When a few tiles are found to need to be drawn, it adds them to a queue. On the next frame, it gets the first item in the queue and draws it. Next frame, get the next item and draws it...and so on until there is nothing left to draw. By drawing only one map chunk per frame, I am spreading out the drawinug up over a few frames which pretty much eliminates the stutter. I am still going to try to bring that loading time down a little because it makes me uncomfortable, but it does work as of now. I'll probably drop the JSON and just load similar to a config file into a custom class. I think that should work faster.
And lastly, I did some work on the movement and pathfinding. I re-worked how the movement works. I read over some character movement controller scripts that are out there for Unity and re-wrote mine to be a little more "Unity-like". Turns out I was calculating some stuff (like next position) that Unity already has built in methods to do. I'm just used to having to write so much myself that sometimes I just go off doing it myself and it turns out I didn't need to. Meh, whatever. So after fixing the movement up, the pathfinding works like a charm. It is pretty smooth and works better than I would have expected. One problem that i have (and predicted) was accuracy. Meaning that it is possible to clip the corners on some collision zones. I sacrificed accuracy for speed. This problem has to do with the smoothing for the pathfinding. I first generate a path which is tile by tile, every tile you will cross to get to your destination. Then I loop over that path and drop tiles between two tiles that can see each other. This usually brings the path down to 3-4 nodes. The corner clipping happens because I am using Bresenham's line algorithm to determine if two tiles can "see each other". It is used to find out what squares on a grid that a line will touch as it goes from point A to B. It works and extremely fast, but it isn't 100% accurate. So this can be easily solved by just adding a 1 tile buffer around collision zones. You really won't notice the buffer and it will prevent stuff like standing on the side of buildings because you are too close on the side and your sprite overlaps. Anyways, did that make sense?
Oh, and I have a video of the pathfinding working. Check this:
The Art
Been working on the forum + logo a bit as well as tiles. Still slow progress unfortunately. Hopefully I can share some of it in the next dev blog.
Here's a sneak peek of the draft i'm working on for the new forum.
Pear Talk
Hey again, Bam here to introduce a rather unique concept that we hope to implement in LQ. In short, it covers gameplay, combat, storyline, lore and the general world of the game; I'll go far enough to say it's the main thing the staff have been brainstorming and working on for a few months. I obviously can't put months of development information into a brief few paragraphs without skipping over stuff, but I'll try my best to provide the full picture.
The concept is elemental power, or simply elements, and how it affects the world and characters of the game. During the first few weeks after the collapse of FO we were trying to find a central point on which to create the new game on. We found that, after much debate, elements would provide a good cross between having influence in the gameplay, story, art and world.
[/font]
[li]Storyline: Elements will be one of the starting factors in the player's growth and will be a major plot point the character must interact with to advance in the game. There'll be a multitude of starting elements and the player can essentially choose one to gain benefits from it - this goes back to the gameplay ideas shown above, in that we feel letting players customize will give them a more rewarding experience since they can choose most of the decisions they take. We plan for quest lines to be mostly non-linear, meaning you're not forced to do the main stuff immediately, but we also like the idea of a large and sprawling main questline with several offshoot sidequests. [/li]
[li]Art style: This will probably be the place where elements will become obvious in the game, as we've planned for different areas to have different styles of architecture, landscapes and culture. We liked how FO had a sense of uniqueness across areas and we wanted to expand on that with having stark differences to show distinct places with their own feel. At the moment each element has a culture associated with it, meaning traveling across the world map will be a bit of an engaging experience. [/li]
[li]World atmosphere: The addition of elements will really shine here, since we felt alternatives didn't give as much variety to the gane's feel. For example, towns and cities in different places will have different customs, art, mobs and lore, fitting them in better with whatever element they're affiliated with. [/li] [/ul]
As always, none of these ideas are guaranteed but are simply here for testing and development; things can change drastically from now and to when we'll have a functional game going. Currently the brains of the team are focusing on mechanics as that's the hardest stuff to figure out, hence the lack of mechanics updates recently. If there are any comments or suggestions on this feel free to share them [/quote]
Pic of the Week
I cant help but share this. This video was made by joppelarius, and I still giggle about this. I just want to say that where ever Gamer is I hope he is doing fine. I hope he will come visit LQ when it comes out.
Gamers' Rage
June 16
asterni
druceus
meow
yoshi
June 17
creehped
mvp
June 19
Falcooner
spacezg
June20
spinechill
June 21
anime9001
rtp1999
The Code
iamallama said:
So I spent most of my time this last week getting the new website ready. I made a small script that creates accounts based on the data I "spidered" recently and we let the supporters get a quick early preview. Over the next week I'll be sending invite emails to the new website to everyone. I'll likely be sending out a few hundred each day (based on order signed up on this forum). This is the last chance to make sure your email address is valid. Once the email goes out, if you don't get it then you will have to wait until this sign-up period is over to get your account (also, check spam box). Standard registration is disabled from now until July 1st, 2014. This invitation will allow you to sign-up in the mean time using the same name as your username here on FOLegacy. The reservation is only valid through June 30, 2014. After that standard registration will be turned on and any names not claimed will be available.
Next, I did some work on the map drawing/JSON problem I was having. I got the JSON loading down to roughly 15ms which is almost low enough. For a standard game in Unity, the target FPS is 60 which equals 16.66ms per frame. So while 15ms is quick, it really isn't quick enough. Especially when there are 3-4 tiles loading because then it is 45-60ms eaten up. So there was still a slight stutter, but much less noticeable. So I implemented a queue. When a few tiles are found to need to be drawn, it adds them to a queue. On the next frame, it gets the first item in the queue and draws it. Next frame, get the next item and draws it...and so on until there is nothing left to draw. By drawing only one map chunk per frame, I am spreading out the drawinug up over a few frames which pretty much eliminates the stutter. I am still going to try to bring that loading time down a little because it makes me uncomfortable, but it does work as of now. I'll probably drop the JSON and just load similar to a config file into a custom class. I think that should work faster.
And lastly, I did some work on the movement and pathfinding. I re-worked how the movement works. I read over some character movement controller scripts that are out there for Unity and re-wrote mine to be a little more "Unity-like". Turns out I was calculating some stuff (like next position) that Unity already has built in methods to do. I'm just used to having to write so much myself that sometimes I just go off doing it myself and it turns out I didn't need to. Meh, whatever. So after fixing the movement up, the pathfinding works like a charm. It is pretty smooth and works better than I would have expected. One problem that i have (and predicted) was accuracy. Meaning that it is possible to clip the corners on some collision zones. I sacrificed accuracy for speed. This problem has to do with the smoothing for the pathfinding. I first generate a path which is tile by tile, every tile you will cross to get to your destination. Then I loop over that path and drop tiles between two tiles that can see each other. This usually brings the path down to 3-4 nodes. The corner clipping happens because I am using Bresenham's line algorithm to determine if two tiles can "see each other". It is used to find out what squares on a grid that a line will touch as it goes from point A to B. It works and extremely fast, but it isn't 100% accurate. So this can be easily solved by just adding a 1 tile buffer around collision zones. You really won't notice the buffer and it will prevent stuff like standing on the side of buildings because you are too close on the side and your sprite overlaps. Anyways, did that make sense?
Oh, and I have a video of the pathfinding working. Check this:
The Art
Lighterthief said:
Been working on the forum + logo a bit as well as tiles. Still slow progress unfortunately. Hopefully I can share some of it in the next dev blog.
Here's a sneak peek of the draft i'm working on for the new forum.
Pear Talk
Bamboozle said:
Hey again, Bam here to introduce a rather unique concept that we hope to implement in LQ. In short, it covers gameplay, combat, storyline, lore and the general world of the game; I'll go far enough to say it's the main thing the staff have been brainstorming and working on for a few months. I obviously can't put months of development information into a brief few paragraphs without skipping over stuff, but I'll try my best to provide the full picture.
The concept is elemental power, or simply elements, and how it affects the world and characters of the game. During the first few weeks after the collapse of FO we were trying to find a central point on which to create the new game on. We found that, after much debate, elements would provide a good cross between having influence in the gameplay, story, art and world.
- Gameplay: In short, we feel the flexibility provided by having elemental-themed (for example fire for dps, earth for tankiness) character development systems will add more variety to combat, and will make character development more strategic in terms of how to build your character. Characters will be customizable based on what elements they choose among other things, but apart from that there's not much else we can confirm finished as a development idea.
[li]Storyline: Elements will be one of the starting factors in the player's growth and will be a major plot point the character must interact with to advance in the game. There'll be a multitude of starting elements and the player can essentially choose one to gain benefits from it - this goes back to the gameplay ideas shown above, in that we feel letting players customize will give them a more rewarding experience since they can choose most of the decisions they take. We plan for quest lines to be mostly non-linear, meaning you're not forced to do the main stuff immediately, but we also like the idea of a large and sprawling main questline with several offshoot sidequests. [/li]
[li]Art style: This will probably be the place where elements will become obvious in the game, as we've planned for different areas to have different styles of architecture, landscapes and culture. We liked how FO had a sense of uniqueness across areas and we wanted to expand on that with having stark differences to show distinct places with their own feel. At the moment each element has a culture associated with it, meaning traveling across the world map will be a bit of an engaging experience. [/li]
[li]World atmosphere: The addition of elements will really shine here, since we felt alternatives didn't give as much variety to the gane's feel. For example, towns and cities in different places will have different customs, art, mobs and lore, fitting them in better with whatever element they're affiliated with. [/li] [/ul]
As always, none of these ideas are guaranteed but are simply here for testing and development; things can change drastically from now and to when we'll have a functional game going. Currently the brains of the team are focusing on mechanics as that's the hardest stuff to figure out, hence the lack of mechanics updates recently. If there are any comments or suggestions on this feel free to share them [/quote]
Pic of the Week
I cant help but share this. This video was made by joppelarius, and I still giggle about this. I just want to say that where ever Gamer is I hope he is doing fine. I hope he will come visit LQ when it comes out.
Gamers' Rage