I had fun with this demo ! ...well, until I got stuck in front of the unbeatable garrison #2 lol.. I had to skip ahead almost 100 or 150 days until my little team became good enough :/
Other than that, the skill trees are a bit too complex for my taste, but I liked the Warcraft 3 vibes coming from the visual and also the music.
And I'm super glad I have experienced a released three.js game !! ^^
Hiya - from the screenshots and the comments, your game seems pretty awesome! However, no matter how many times I reload, I can't quite get it to load? I'm using Chrome, any advice?
Hey Pigeon, thanks for checking out the game. There are a few reasons that can happen, usually it has to do with Chrome plugins interfering with the game engine, ad-block is usually okay, but I have seen problems with some "anti-virus" plugins messing with the engine. A lot of plugins basically go in and modify code at run-time, which usually doesn't interfere with how the original code works, but plugins are made by people, normal guys like your or I, they make mistakes. Plugin might be working great on 99.99% of the code, but my game engine is not "usual" piece of JavaScript code, so it trips up some of the these Chrome plugins.
The game has no ads or miners or anything like that, just the game code.
Anyway, TL;DR: Try to disable your Chrome plugins
Also, the game will work even if it's not 100% loaded typically, if some resources don't load - you should still be able to play, as long as they are not "critical" resources, such as world layout data. Try pressing "play" - see what happens :)
I really enjoy your game and had some pretty hours in it.
The graphics shines, the combat is simple but fun and the skill tree keeps me motivating to progress. All in all one great game.
Only two problems: First, I don't know how to add more troops to my party. How to get more than three?
Second, the class-system is a bit odd. Why is a male archer an archer but a female archer a tank? The hashtag tank sticks on every second unit, what I don't like. Maybe simplifying the classes and changing genders choice towards a just cosmetic feature is the better way to go?
How to add more troops to your party: Your party size has a limit, this limit depends on the hero level. At level 1 you have 2 slots unlocked, so you can have your hero and 1 more unit, at level 2 a third slot gets unlocked, next one at level 5, then 8, then last one at level 11. Here's a helpful table:
Hero Level
Troop Slots
1
2
2
3
5
4
8
5
11
6
Class system. There used to be fewer classes and male/female used to be purely cosmetic. We wanted to add more variety into the game, but didn't want to spend time to create a lot of additional art, so we decided to specialize male and female versions into separate sub-classes that function similarly, but have strong distinction. The "hashtags" are just there for help the player, if a unit has a tag "tank" - it doesn't change how the unit plays. This information is also used by the "Army Generator" system inside the game to decide how to arrange units and which units to create. For a player the tag is just a visual thing. A female archer has a little more health, a little more armor and a little more absorption than the male archer, so she can survive better, especially later on in the game.
Progress Save. Currently the progress gets saved automatically every turn, when you come back to the game - you can continue. The progress is saved in your browser, so if you load the game on a different computer or a different browser - you won't have access to that save data. Also, if you clear your browsing data - that can delete the saved data too, lastly - if you're in "incognito" mode, that data gets deleted by the browser automatically once you close the window. Other than that, game save should work. Let me know if you have any issues!
thank you warmly for your detailed response, it helped me a lot!
Thanks to your table was I able to extend the party up to four members so far and man, your game becomes even more enjoyable as it progresses. Unfortunately, my progress never gets saved. May I ask you against what browsers you tested your game. I use Firefox and checking website-date it only shows me one cookie from your site but no "offline-data".
Sorry to hear that the progress is not being saved for you! I will look into it. I am testing my game against Chrome and Firefox, so I haven't encountered this issue yet. Can you tell me which version of Firefox you're using? Also, It would help me to know your Operating System, like Windows, Linux, Android, iOS etc. If you can also share your console log with me, it would help even more! :)
To get access to the console, it's quite easy on Firefox, just press F12 on the keyboard, you will see a bunch of tabs there, one of them is called "Console":
You can copy the console log to https://pastebin.com/ and copy the link to the bin here or send it to me via a private message.
The save data is stored in something called IndexedDB, it's not the same as a cookie. It's a more modern kind of browser storage, and it's super fast compared to other options, that's why I'm using it.
I am using Firefox 68 on Windows 8.1 64bit. I already saw the problem by reading the console log - I was blocking third-party cookies previously; after allow everything is working fine.
Sorry for making you trouble! If you are still interested, you will find the console-log here https://pastebin.com/gL1hB5BZ
what do you mean by "enemies growth rate"? Currently there are no difficulty settings, the game is fixed difficulty. I plan to add difficulty settings in the future, but for now it's completely fixed. Sorry about that!
Maybe I'm missing something but I don't understand how to defend the garrisons. Even if I leave mercenaries in them, in just a few moments the attackers are way too powerful to be dealt with, and it seems like I have to run around like a chicken with it's head cut off just to keep the garrisons locked down.
Am I missing something about how to level the mercs in garrisons or something?
I guess I could rotate out mercenaries and train them in my party but I feel like that would be a losing battle too.
Edit:
Do you have any sort of analytics in the game to detect what is tripping people up?
You're completely right about the defense. Right now you can only get lvl 1 mercenaries, these are too weak to defend against most enemies. I'm working on a feature that will allow you to train your troops to a higher level for money. It will be ready sometime next week.
With respect to analytics, I collect some event data, but not enough to draw solid conclusions. I'm having trouble figuring out what type of metrics to collects that would be helpful. I have win/loss metrics for the player in general, for each unit specifically, talent learning metrics, item usage metrics, button clicks metrics. But it's hard to draw conclusions as the metrics engine (Google Analytics) doesn't let you transform the data (for free that is). I have learned a bit from these metrics, but not a huge amount. Do you have some ideas?
I have no strong recommendations about the analytics, it's a problem I've butted up against once in a while but I am not well versed in the options for rich logging, and without some detailed knowledge of your game's architecture I would probably just lead you astray. I tend to just review the relevant packages in NPM and see which one most closely aligns with my style and intent.
In the work I've done before I liked a paradigm called event-sourced architecture. I am not sure that it is relevant to your game, but the basic idea is that all user interactions and sources of random data are logged to a single table in a database with a timestamp, so you can rewind and replay events to reconstruct application state for testing / debugging. Although it is done for performance reasons too.
It's a bit of a watch and it is more targeted to large web applications, but if you are interested:
I would suggest you try out "feature flags". For example, if I was working with the codebase right now, I might put the ability for wandering parties to attack garrisons behind a feature flag until garrison defense was implemented, maybe as a cookie or session storage item. I would also have a special development flag for 'turn everything on'. Then when the feature is complete, just delete the if-check that determines whether or not the feature should be available, and keep it on all the time. This would allow you to not have to manage testing and release branches and make it relatively easy for you to enter the test mode on most setups.
Although that particular example might be moot considering your upcoming release, in general it's a good way to keep features merged in to your main codebase and up to date, while keeping the rest of your app (game) well-oiled.
I am starting to feel like I am clogging up your page with comments, is there a way we can DM?
Edit: I just now realized I discombobulated some paragraphs here. The event sourcing stuff was in relation to analytics.
Haha, Even Sourcing is an interesting thing. I never seen that particular name for it, I used to just think of it as Operation Log. My engine is written with a lot of that in place, many things are written as small virtual machines with very small instruction set. I do record some of that, but I haven't found it very useful with Google Analytics. Having complete traced in a somewhat managed way would be super nice, I might get to writing such a management system one day or find a good enough fit.
I work with git branches for features, seems to be fine. The project is so small that there's barely 2 people working on it, and I'm the only developer. So there's very little "process" in place.
Feature flags are an interesting concept too, I will give it more thought, right now I'm not sure it's a good fit for a few technical reasons specific to how the engine is implemented.
Hey myffril! Thanks for checking out the game, I will be releasing an update later today that changes the balance a bit, I brought the level of those attacking enemies down quite a bit and reduced the frequency at which they spawn. Hope you'll find it more enjoyable! The patch also fixes a large number of stability bugs, so you should see fewer crashes/freezes.
The adventuring interface (overworld map?) is a bit confusing at times, it's difficult to tell when I'm waiting for an action to complete vs. needing to end my turn, which seems to cause me press "end turn" while I am actually just waiting for some minor action, which means I now waste 1.5 turns of AP. It would be nice to have maybe a "status" indicator that told you if it was still your turn.
This game has a lot of potential IMO, if you make good money off of it I hope you invest in some story, for a sequel / game family.
The engine so far seems like it could be well suited to many different styles of old school turn based games.
It feels like Arcanum / Fallout 1 & 2 hybridized with older JRPGs and a Diablo 2 (and family) skill tree. If you haven't played the named games before it might be worth a dabble to see what you can glean from them.
Things I like:
The radial action menus
The skill trees, although some of the skills themselves could use more flair / distinctiveness
The character classes - although I don't think they are made clear enough in the choice dialog, maybe let us peek at the talent tree / stats?
The drawn art is cool, reminds me of some of my favorite late 90s / early 00s RPGs
Things I don't like:
Can't use my herbalist to heal characters in the overworld map so I have to pick off the strongest enemies first and then heal my characters up until they are good enough to start the next battle, then I can get the last one
Items rarely seem worth using (except to heal in the overworld map, and the free XP from some of them). And can't be sold, so I accumulate a huge list of items I won't use
Items can't be used in the battles, so I tend to forget about them altogether
Defend / wait talents feel really risky given how fragile characters can be in the game, which makes me want to spend those points in less interactive talents.
Just my $0.02, don't let anyone tell you how to make your game.
I'm a developer myself (not games though), and I would suggest setting up some way that users can store the savegames to a disk, for two reasons:
Trying out multiple character / party styles
When a repeatable bug happens, now we can share the savegame back to you
I would suggest putting an export button somewhere in the config / settings / options dialog.
I haven't actually profiled it but the game behaves like there is a memory leak somewhere, after an hour or so everything grinds to a halt, refreshing the page / closing & reopening the tab fixes it (even on the same save game).
Hey, I really appreciate the feedback. It really helps to know which areas to focus my work on.
About the "end-turn", I agree, I have made it so that there are notifications that tell you "Your turn" and "Enemy turn", but those are not sufficient I feel. I will get to it, hopefully soon!
I take what you said about the engine as a compliment, it makes me feel less like a fool for writing the engine myself :)
I have played Arcanum and Fallout and Diablo 1 and Diablo 2 and some jRPGs, I have definitely been inspired by the RPG genre! :)
The game draws a lot from turn based strategies like Heroes of Might and Magic and Disciples, but with the RPG progression system and much deeper combat mechanics.
Things you like/dislike - super useful, thank you!
I think the idea with saves is really good, for the reasons you described, but we wanted to also make sure that the actions feel consequential, you can't just reload and undo what has happened, since that's not even an option. It's not 100% successful, since you can still "reload" after a bad fight due to the fact that Auto-save is done at the end of your turn. Putting it in the settings might be a good way, like you said.
About the memory leak - you're right, there was a fairly serious memory leak. It's fixed in the new patch (1.2). The problem was inside particle engine, some resources were not disposed properly.
← Return to game
Comments
Log in with itch.io to leave a comment.
I had fun with this demo ! ...well, until I got stuck in front of the unbeatable garrison #2 lol.. I had to skip ahead almost 100 or 150 days until my little team became good enough :/
Other than that, the skill trees are a bit too complex for my taste, but I liked the Warcraft 3 vibes coming from the visual and also the music.
And I'm super glad I have experienced a released three.js game !! ^^
awesome game! I want to start developing my own game in Three.js, could you guide me where to start? could you give me your email? I'll be very happy!
lets keep the conversation on Discord, cheers :)
Hiya - from the screenshots and the comments, your game seems pretty awesome! However, no matter how many times I reload, I can't quite get it to load? I'm using Chrome, any advice?
Hey Pigeon, thanks for checking out the game. There are a few reasons that can happen, usually it has to do with Chrome plugins interfering with the game engine, ad-block is usually okay, but I have seen problems with some "anti-virus" plugins messing with the engine. A lot of plugins basically go in and modify code at run-time, which usually doesn't interfere with how the original code works, but plugins are made by people, normal guys like your or I, they make mistakes. Plugin might be working great on 99.99% of the code, but my game engine is not "usual" piece of JavaScript code, so it trips up some of the these Chrome plugins.
The game has no ads or miners or anything like that, just the game code.
Anyway, TL;DR: Try to disable your Chrome plugins
Also, the game will work even if it's not 100% loaded typically, if some resources don't load - you should still be able to play, as long as they are not "critical" resources, such as world layout data. Try pressing "play" - see what happens :)
Thanks for the reply! Will do :)
No worries, let me know if you have any more problems!
awesome game! I want to start developing my own game in Three.js, could you guide me where to start? could you give me your email? I'll be very happy!
Hello Lazy and thank you for your gem!
I really enjoy your game and had some pretty hours in it.
The graphics shines, the combat is simple but fun and the skill tree keeps me motivating to progress. All in all one great game.
Only two problems: First, I don't know how to add more troops to my party. How to get more than three?
Second, the class-system is a bit odd. Why is a male archer an archer but a female archer a tank? The hashtag tank sticks on every second unit, what I don't like. Maybe simplifying the classes and changing genders choice towards a just cosmetic feature is the better way to go?
Ohh, and will progression save come one day?
Anyways, it's a great game, thanks again!
Hey MyCasualGaming,
Thanks for writing! Glad you enjoy the game.
hope that helps :)
-A
Hello Lazy Cat,
thank you warmly for your detailed response, it helped me a lot!
Thanks to your table was I able to extend the party up to four members so far and man, your game becomes even more enjoyable as it progresses. Unfortunately, my progress never gets saved. May I ask you against what browsers you tested your game. I use Firefox and checking website-date it only shows me one cookie from your site but no "offline-data".
With best regards,
Alex
Hey @MyCasualGaming,
Sorry to hear that the progress is not being saved for you! I will look into it. I am testing my game against Chrome and Firefox, so I haven't encountered this issue yet. Can you tell me which version of Firefox you're using? Also, It would help me to know your Operating System, like Windows, Linux, Android, iOS etc. If you can also share your console log with me, it would help even more! :)
To get access to the console, it's quite easy on Firefox, just press F12 on the keyboard, you will see a bunch of tabs there, one of them is called "Console":
You can copy the console log to https://pastebin.com/ and copy the link to the bin here or send it to me via a private message.
The save data is stored in something called IndexedDB, it's not the same as a cookie. It's a more modern kind of browser storage, and it's super fast compared to other options, that's why I'm using it.
thanks!
-A
Hello Lazy,
I am using Firefox 68 on Windows 8.1 64bit. I already saw the problem by reading the console log - I was blocking third-party cookies previously; after allow everything is working fine.
Sorry for making you trouble! If you are still interested, you will find the console-log here https://pastebin.com/gL1hB5BZ
With best regards,
Alex
No problem, I'm glad the issue is resolved! :)
Well there doesnt seem to be a way to up with the enemys growth rate. Ran it a couple times and i just dont see it.
Hey Lazyjay,
what do you mean by "enemies growth rate"? Currently there are no difficulty settings, the game is fixed difficulty. I plan to add difficulty settings in the future, but for now it's completely fixed. Sorry about that!
-A
Maybe I'm missing something but I don't understand how to defend the garrisons. Even if I leave mercenaries in them, in just a few moments the attackers are way too powerful to be dealt with, and it seems like I have to run around like a chicken with it's head cut off just to keep the garrisons locked down.
Am I missing something about how to level the mercs in garrisons or something?
I guess I could rotate out mercenaries and train them in my party but I feel like that would be a losing battle too.
Edit:
Do you have any sort of analytics in the game to detect what is tripping people up?
Hey,
You're completely right about the defense. Right now you can only get lvl 1 mercenaries, these are too weak to defend against most enemies. I'm working on a feature that will allow you to train your troops to a higher level for money. It will be ready sometime next week.
With respect to analytics, I collect some event data, but not enough to draw solid conclusions. I'm having trouble figuring out what type of metrics to collects that would be helpful. I have win/loss metrics for the player in general, for each unit specifically, talent learning metrics, item usage metrics, button clicks metrics. But it's hard to draw conclusions as the metrics engine (Google Analytics) doesn't let you transform the data (for free that is). I have learned a bit from these metrics, but not a huge amount. Do you have some ideas?
I have no strong recommendations about the analytics, it's a problem I've butted up against once in a while but I am not well versed in the options for rich logging, and without some detailed knowledge of your game's architecture I would probably just lead you astray. I tend to just review the relevant packages in NPM and see which one most closely aligns with my style and intent.
In the work I've done before I liked a paradigm called event-sourced architecture. I am not sure that it is relevant to your game, but the basic idea is that all user interactions and sources of random data are logged to a single table in a database with a timestamp, so you can rewind and replay events to reconstruct application state for testing / debugging. Although it is done for performance reasons too.
It's a bit of a watch and it is more targeted to large web applications, but if you are interested:
https://www.youtube.com/watch?v=8JKjvY4etTY&t=1s
I would suggest you try out "feature flags". For example, if I was working with the codebase right now, I might put the ability for wandering parties to attack garrisons behind a feature flag until garrison defense was implemented, maybe as a cookie or session storage item. I would also have a special development flag for 'turn everything on'. Then when the feature is complete, just delete the if-check that determines whether or not the feature should be available, and keep it on all the time. This would allow you to not have to manage testing and release branches and make it relatively easy for you to enter the test mode on most setups.
Although that particular example might be moot considering your upcoming release, in general it's a good way to keep features merged in to your main codebase and up to date, while keeping the rest of your app (game) well-oiled.
I am starting to feel like I am clogging up your page with comments, is there a way we can DM?
Edit: I just now realized I discombobulated some paragraphs here. The event sourcing stuff was in relation to analytics.
Haha, Even Sourcing is an interesting thing. I never seen that particular name for it, I used to just think of it as Operation Log. My engine is written with a lot of that in place, many things are written as small virtual machines with very small instruction set. I do record some of that, but I haven't found it very useful with Google Analytics. Having complete traced in a somewhat managed way would be super nice, I might get to writing such a management system one day or find a good enough fit.
I work with git branches for features, seems to be fine. The project is so small that there's barely 2 people working on it, and I'm the only developer. So there's very little "process" in place.
Feature flags are an interesting concept too, I will give it more thought, right now I'm not sure it's a good fit for a few technical reasons specific to how the engine is implemented.
Thanks for the suggestions :)
Geomancers sometimes cause the game to freeze when they summon an Earth Elemental
It's happened to me twice now
If I had instructions on how to save the save game for the dev I would do so.
What did you think of our game? We'd love to get your feedback! 🐈
Around level 20 I keep getting swarmed with lvl 25 parties, am I doing it wrong?
Maybe I'm not leveling fast enough to outpace them?
Edit: also the parties spawn so rapidly it's impossible to move at some point.
Hey myffril! Thanks for checking out the game, I will be releasing an update later today that changes the balance a bit, I brought the level of those attacking enemies down quite a bit and reduced the frequency at which they spawn. Hope you'll find it more enjoyable! The patch also fixes a large number of stability bugs, so you should see fewer crashes/freezes.
The adventuring interface (overworld map?) is a bit confusing at times, it's difficult to tell when I'm waiting for an action to complete vs. needing to end my turn, which seems to cause me press "end turn" while I am actually just waiting for some minor action, which means I now waste 1.5 turns of AP. It would be nice to have maybe a "status" indicator that told you if it was still your turn.
This game has a lot of potential IMO, if you make good money off of it I hope you invest in some story, for a sequel / game family.
The engine so far seems like it could be well suited to many different styles of old school turn based games.
It feels like Arcanum / Fallout 1 & 2 hybridized with older JRPGs and a Diablo 2 (and family) skill tree. If you haven't played the named games before it might be worth a dabble to see what you can glean from them.
Things I like:
Things I don't like:
Just my $0.02, don't let anyone tell you how to make your game.
I'm a developer myself (not games though), and I would suggest setting up some way that users can store the savegames to a disk, for two reasons:
I would suggest putting an export button somewhere in the config / settings / options dialog.
I haven't actually profiled it but the game behaves like there is a memory leak somewhere, after an hour or so everything grinds to a halt, refreshing the page / closing & reopening the tab fixes it (even on the same save game).
Hey, I really appreciate the feedback. It really helps to know which areas to focus my work on.
About the "end-turn", I agree, I have made it so that there are notifications that tell you "Your turn" and "Enemy turn", but those are not sufficient I feel. I will get to it, hopefully soon!
I take what you said about the engine as a compliment, it makes me feel less like a fool for writing the engine myself :)
I have played Arcanum and Fallout and Diablo 1 and Diablo 2 and some jRPGs, I have definitely been inspired by the RPG genre! :)
The game draws a lot from turn based strategies like Heroes of Might and Magic and Disciples, but with the RPG progression system and much deeper combat mechanics.
Things you like/dislike - super useful, thank you!
I think the idea with saves is really good, for the reasons you described, but we wanted to also make sure that the actions feel consequential, you can't just reload and undo what has happened, since that's not even an option. It's not 100% successful, since you can still "reload" after a bad fight due to the fact that Auto-save is done at the end of your turn. Putting it in the settings might be a good way, like you said.
About the memory leak - you're right, there was a fairly serious memory leak. It's fixed in the new patch (1.2). The problem was inside particle engine, some resources were not disposed properly.
I really appreciate the feedback, thanks a ton!
-Alex