[DIY] making html5 wesnoth-themed roguelike
Moderator: Forum Moderators
-
- Posts: 80
- Joined: July 27th, 2014, 4:34 pm
[DIY] making html5 wesnoth-themed roguelike
DOWLOADS: http://www.indiedb.com/games/wessense/downloads
Hi All,
I've been enjoying Battle for Wesnoth for many years, but now I start wondering why BfW totally escaped this html5 indie gaming hype? Where are Wesnoth-inspired fast-paced roguelikes? Polished pixel art/graphics is there, storyline is quite developed, html5 is easy to learn, but no wesnoth-driven browser-based games out there? Did I miss something? It would be really great to have one.
I'm no big expert in JS programming, but I want such game so much that I started hacking up some foundation for a single-player browser-based roguelike. Long story short: randomly generated island (forests, mountains, swamps, deserts), randomly placed monsters, kidnapped elven princess / captured old mage and one (out of six) hero to try taking this island on. Very early stage, so it is not published anywhere (no GPL violations - personal use for now).
Here are my early development screenshots (hex violated KISS principle and was eliminated, hehe):
More screenshots:
http://i60.tinypic.com/2gxnwjk.png
http://i59.tinypic.com/23svkwm.png
So, what do you think: is it worth working on (if there are no games like that found in the wild, of course)? Should it be a standalone game, or engine-like thing so interested games/programmers can have a jump start for their own versions, or it is a total waste of time?
UPD: latest version is available at the link below:
http://www.wessense.org/
DOWLOADS: http://www.indiedb.com/games/wessense/downloads
Hi All,
I've been enjoying Battle for Wesnoth for many years, but now I start wondering why BfW totally escaped this html5 indie gaming hype? Where are Wesnoth-inspired fast-paced roguelikes? Polished pixel art/graphics is there, storyline is quite developed, html5 is easy to learn, but no wesnoth-driven browser-based games out there? Did I miss something? It would be really great to have one.
I'm no big expert in JS programming, but I want such game so much that I started hacking up some foundation for a single-player browser-based roguelike. Long story short: randomly generated island (forests, mountains, swamps, deserts), randomly placed monsters, kidnapped elven princess / captured old mage and one (out of six) hero to try taking this island on. Very early stage, so it is not published anywhere (no GPL violations - personal use for now).
Here are my early development screenshots (hex violated KISS principle and was eliminated, hehe):
More screenshots:
http://i60.tinypic.com/2gxnwjk.png
http://i59.tinypic.com/23svkwm.png
So, what do you think: is it worth working on (if there are no games like that found in the wild, of course)? Should it be a standalone game, or engine-like thing so interested games/programmers can have a jump start for their own versions, or it is a total waste of time?
UPD: latest version is available at the link below:
http://www.wessense.org/
DOWLOADS: http://www.indiedb.com/games/wessense/downloads
Last edited by Shadow_Walker on February 20th, 2016, 4:34 am, edited 7 times in total.
Re: looking for html5 wesnoth-themed roguelike
Very cool, I would love playing it, especially if I could choose between various classes.
Beheld the origins of BFW.
Max G on WIF
Rank 🌟🌟🌟🌟🌟
Max G on WIF
Rank 🌟🌟🌟🌟🌟
Re: looking for html5 wesnoth-themed roguelike
That looks great!
Yes, there’s no reason not to have inspired HTML5 games.
BTW, you might be curious in Wesnoth Canvas, my (incomplete) map viewer, which is drawn in
Yes, there’s no reason not to have inspired HTML5 games.
BTW, you might be curious in Wesnoth Canvas, my (incomplete) map viewer, which is drawn in
canvas
.Wesnoth Bestiary ( PREVIEW IT HERE )
Unit tree and stat browser
Canvas ( PREVIEW IT HERE )
Exp. map viewer
Unit tree and stat browser
Canvas ( PREVIEW IT HERE )
Exp. map viewer
-
- Posts: 80
- Joined: July 27th, 2014, 4:34 pm
Re: looking for html5 wesnoth-themed roguelike
Okay, I'll take these replies as an overall positive response, will post updates as it goes. Thanks to everybody.
Stupid question: I am making sprite sheets (multiple images combined into one) to be used with the game. Should I embed GPL notice and wesnoth.org link directly into spritesheets (say, at the spare space at the bottom), or what is the recommended way to go? Html5 game is self-documented, and there is no obvious way to provide README file with GPL reference due to the simplest tablet-friendly, point-n-click game interface with no menus involved.
Stupid question: I am making sprite sheets (multiple images combined into one) to be used with the game. Should I embed GPL notice and wesnoth.org link directly into spritesheets (say, at the spare space at the bottom), or what is the recommended way to go? Html5 game is self-documented, and there is no obvious way to provide README file with GPL reference due to the simplest tablet-friendly, point-n-click game interface with no menus involved.
Re: looking for html5 wesnoth-themed roguelike
That’s a good question. Especially with the web, I don’t believe there is any kind of specific guidance.
If it were me, what I would do is leave a GPL notice in the same directory as those files (or alternatively at the root of your whole project) and create a README at the root directory explaining where the Wesnoth files came from. I would also show this during the use of the app, by making a screen (“credits” or somethng else) that says content came from the Wesnoth project, and provide a link to the GPL. That should cover your bases.
If it were me, what I would do is leave a GPL notice in the same directory as those files (or alternatively at the root of your whole project) and create a README at the root directory explaining where the Wesnoth files came from. I would also show this during the use of the app, by making a screen (“credits” or somethng else) that says content came from the Wesnoth project, and provide a link to the GPL. That should cover your bases.
Wesnoth Bestiary ( PREVIEW IT HERE )
Unit tree and stat browser
Canvas ( PREVIEW IT HERE )
Exp. map viewer
Unit tree and stat browser
Canvas ( PREVIEW IT HERE )
Exp. map viewer
-
- Posts: 80
- Joined: July 27th, 2014, 4:34 pm
Re: looking for html5 wesnoth-themed roguelike
Okay, this freeware indie gamemaking thingie goes easier than I hoped for. JavaScript is not as bad as I expected it to be. It is more about my code, which is ugly
Six heroes - is it enough? Each hero will have different hack'n'slash style (melee/ranged/move/defence/quests):
I managed to animate multiframe projectiles:
Not sure why, but Firefox and Chrome treat requestAnimationFrame differently. Chrome tries to call it as often as possible, while I really need to get it at lower FPS to reduce CPU cycles. Not a first person shooter, so I have to throttle it manually. Ugly. Is there a way to tell browser that I don't need more than 20-30 frames per second, really?
Six heroes - is it enough? Each hero will have different hack'n'slash style (melee/ranged/move/defence/quests):
I managed to animate multiframe projectiles:
Not sure why, but Firefox and Chrome treat requestAnimationFrame differently. Chrome tries to call it as often as possible, while I really need to get it at lower FPS to reduce CPU cycles. Not a first person shooter, so I have to throttle it manually. Ugly. Is there a way to tell browser that I don't need more than 20-30 frames per second, really?
Re: looking for html5 wesnoth-themed roguelike
These problems have largely been solved already. What you need is an app engine library.
Take a look at some of these: http://html5gameengine.com
Take a look at some of these: http://html5gameengine.com
Wesnoth Bestiary ( PREVIEW IT HERE )
Unit tree and stat browser
Canvas ( PREVIEW IT HERE )
Exp. map viewer
Unit tree and stat browser
Canvas ( PREVIEW IT HERE )
Exp. map viewer
-
- Posts: 76
- Joined: July 12th, 2014, 4:09 am
Re: looking for html5 wesnoth-themed roguelike
Congrats! Looks absolutely gorgeous, where to play it?
Agree, should not waste energy on laptop for example without any good reason.Not a first person shooter, so I have to throttle it manually. Ugly. Is there a way to tell browser that I don't need more than 20-30 frames per second, really?
-
- Posts: 80
- Joined: July 27th, 2014, 4:34 pm
Re: looking for html5 wesnoth-themed roguelike
Thanks for the pointers, but I have two issues with it: (1) most free game engines are maid specifically for side-scroller realtime platformers, while I am more into top-down turn-based strategy, (2) I will learn almost nothing new from ready-to-use engines. Already tried some, and they all have limitations, and do not solve things I plan to implement (requestAnimationFrame throttling is one example). I do use some external libraries, though. jQuery (obviously), PerlinJS for the random island mask generation, amplify.js for the event subscription handling, PathFinding.js for A* pathfinding etc.ancestral wrote:These problems have largely been solved already. What you need is an app engine library.
Take a look at some of these: http://html5gameengine.com
Thanks! Right now I keep it on my laptop. It is about ~30% ready, so it is a bit early to invite alpha testersoptimother wrote:Congrats! Looks absolutely gorgeous, where to play it?
It has just minimum minimorum implemented: intro screens with character selection, island + monsters + items generation, simple autotile engine (no tile transitions, just overlaps as pictured on screenshots), barebone player control functionality (move using pathfinding, melee/ranged attacks with animations, calculate enemy damage). Villages can be (re)captured, setting player flag waiving. Enemies are positioned but standing still (no reactions / AI implemented yet - it is quite a task), and game goals are not fully tracked. Ah, and there is no final screen with happy hero and saved princess, leaving island on a luxurious Cruise Liner.
Will upload this game to some free html hosting (like Google Drive) when missing pieces are implemented.
-
- Posts: 80
- Joined: July 27th, 2014, 4:34 pm
Re: looking for html5 wesnoth-themed roguelike
Oh, about those heros... They should probably have appropriately heroic names, like all characters in Wesnoth do, right? Could someone point me to the rules of making typical elvish and dwarvish-sounding names in Wesnoth? Or, even better, make a few male/female names for all six playable characters: human knight / mage, elven archer / fighter, dwarven scout / dragonguard aka rifleman? Please? Dready Necromant, Ancient Lich, Elven Queen, Dwarven King and potential hostages (Elven Princess / Human Archmage) will benefit from having names too, I suppose. Don't forget unicorn - there must be one in game, with some Nature-inspired name. Island is probably going to stay unnamed, to keep it apart from official Wesnothian history. Well, if someone has a cool name for the island - so be it.
-
- Posts: 76
- Joined: July 12th, 2014, 4:09 am
Re: looking for html5 wesnoth-themed roguelike
Nice tool set. You can use underscore.js it's quite perf. optimized and hasShadow_Walker wrote:... and do not solve things I plan to implement (requestAnimationFrame throttling is one example). I do use some external libraries, though. jQuery (obviously), PerlinJS for the random island mask generation, amplify.js for the event subscription handling, PathFinding.js for A* pathfinding etc.
throttle
and debounce
helpers. Aside of ton of other vital helpers.Some while ago I started making somewhat similar game, and wanted to look how you solved the selection of melee/ranged attack. My idea was a mix of HoMM3 combat field (moves order), Wesnoth (attacks, villages, units) and Arachnid wars (can play it here: http://armorgames.com/play/3232/arachnid-wars-15 ).Thanks! Right now I keep it on my laptop. It is about ~30% ready, so it is a bit early to invite alpha testers
If I understand the game correctly, the simplest thing is to start with some random actions. For example, attack hero if it can, else just crawl around some spot.Enemies are positioned but standing still (no reactions / AI implemented yet - it is quite a task), ..
Re: looking for html5 wesnoth-themed roguelike
I like your project Shadow_Walker.
I am working on a Javascript Game and would be glad to follow your progress and have more details about your implementation.
I've already did couple of small games in the past and I "worked" several months ago on a kind of proof of concept for testing my Javascript skill with a game based on the Naruto manga
I am working on a Javascript Game and would be glad to follow your progress and have more details about your implementation.
I've already did couple of small games in the past and I "worked" several months ago on a kind of proof of concept for testing my Javascript skill with a game based on the Naruto manga
Spoiler:
-
- Posts: 80
- Joined: July 27th, 2014, 4:34 pm
Re: looking for html5 wesnoth-themed roguelike
Well, current game model is much like Wayward: whole island is a 512x512 grid, and every move/attack marks the end of turn. "fast" units are allowed to make two steps per turn, if terrain allows it. Ranged attacks are truly ranged (work within several square radius), melee attacks apply to adjacent squares only. For the enemy AI I plan to use Finite State Machine, because simplistic model with many IFs turned out to be a tree of about 10-15 levels deep and growing - too hard to maintain, reallyoptimother wrote:Some while ago I started making somewhat similar game, and wanted to look how you solved the selection of melee/ranged attack. My idea was a mix of HoMM3 combat field (moves order), Wesnoth (attacks, villages, units) and Arachnid wars
Since we are talking about single player character / hero (not expendable), I replaced "luck" (full hit or no damage at all) with defense-based randomized damage. So, some damage is guaranteed on every attack, but it is reduced by tile/unit defense rating and randomized to achieve some gameplay variability. Same thing with wesnothian 3-5 levels per hero feature: I am currently using 30-level model, essentially 3 x 10, where every 10th level results in serious advance (improved traits, hero image changes, attack changes), while intermediate level changes just increase attack/armor/health stats by a small amount. Enemies do not progress in levels, so they are fixed to the usual 3-5 level grade.
-
- Posts: 76
- Joined: July 12th, 2014, 4:09 am
Re: looking for html5 wesnoth-themed roguelike
I was wondering how you decide if player wants a step and melee hit or ranged attack? Or you cannot use melee attack the same turn you come to enemy?Shadow_Walker wrote:Well, current game model is much like Wayward: whole island is a 512x512 grid, and every move/attack marks the end of turn. "fast" units are allowed to make two steps per turn, if terrain allows it. Ranged attacks are truly ranged (work within several square radius), melee attacks apply to adjacent squares only.
Thanks for link will take a look at Wayward.
FSMs are not the solution to all problems, but absolutely capable when done right, especially when combined with other approaches for certain states.For the enemy AI I plan to use Finite State Machine, because simplistic model with many IFs turned out to be a tree of about 10-15 levels deep and growing - too hard to maintain, really
This and later on sound very promising!Since we are talking about single player character / hero (not expendable), I replaced "luck" (full hit or no damage at all) with defense-based randomized damage. ....
-
- Posts: 80
- Joined: July 27th, 2014, 4:34 pm
Re: looking for html5 wesnoth-themed roguelike
Let's say, we have a "slow" mage with just 1 move allowed per turn. Attack action ends turn, so does absense of moves. So, in this case it would be either one step, or one attack per turn. Now, we have a knight, with two moves allowed per turn. Then it would be either two steps and no attack, or one step + one attack or just one attack per turn with potential attack bonus for unspent move(s) aka "full strike". Suggestions/comments are highly appreciated.optimother wrote:I was wondering how you decide if player wants a step and melee hit or ranged attack? Or you cannot use melee attack the same turn you come to enemy?
So far it seems to work okay - when there are no enemies around, player may just move freely with no noticeable lag between turns. It is possible to click on a tile a few moves away and travel path will be created, to be automatically executed each turn. This autopath is cancelled when player is attacked or enemy is seen.