Early look: Turn-based tactics in Demo Town

Hi everyone,

Turn-based tactics like X-Com or Jagged Alliance: There is some enemies placed on the map. Shoot them before they shoot you (duh). Briefing and tutorial in-game.

:joystick: Play sneak peak now

Just to be clear: “Demo Town” is not the name of the game. It is just a WIP title :smiley:
:100: Bonus points for those who get the reference (tip: Demo Ville)…

What has happened since this initial post

  • Destructible environment (made possible by Havok!)
  • Way cleaner user interface
  • More consistent art style
  • Tutorial

Thanks for your feedback Babylon community!

Some todos

  • Animations are lacking transitions. Wanting to see if I can get away with it…

  • Art style. I am going with a no-texture art style - except maybe for terrain and floor. You might see some experimentation.

  • Sound design. You mean I need to do more than just downloading some wave files from the Internet??! :o

  • AI is a bit dumb at the moment. But GOAP and UtilityAI are in place. It is the fine tuning of action conditions and effects which is lacking. (I hope)

  • There is some bugs :face_with_peeking_eye:

Special notes

  • Beware: there is cartoony violence.

Found a bug, sucky gameplay or anything else? Feedback always welcome :slight_smile:
:speech_balloon: Message me here, over on itch.io or on X @JoeKerr_GameDev.

Best wishes


This looks really good even if I do not exactly understand what to do :slight_smile:


Oh! @sebavan may I ask whether there is something unclear concerning the controls or the interface? E.g. you wanted to do something, but the game didnt sufficiently convey how?

Or is it more in terms of gameplay? If that, to be honest, there is not much to do at the moment. There is a couple of hidden enemies. They can be shot. But that is it… Hm, probably would not hurt if I add a little briefing at game start explaining what I just did.

@Joe_Kerr Being a complete Xcom and Xcom-like gameplay fan, I would have loved to test this.
Sadly, I’m encountering this CORS policy related error (SS below)


Oh snap. Not good. Investigating…

All I have at this moment is a screenshot, but I think I can answer this question about design: Keyword = ‘Consistency’. You need to choose a design (and color palette) and STICK TO IT. This includes your map texture, your characters and… your GUI. Currently the typo used in the ADT FS might not be the best. It does not really match the design of your boxes. In the icons for movement you are also using rounded corners but nothing else in your GUI uses rounded boxes. The colors of the ‘2AP/1AP’ icons are also not to be seen anywhere else and have gradients while nothing else uses gradients. I don’t mind the flat colors textures on characters, but in this case, the map and objects should go the same way. To add volume, you could use a color palette and create 2- or 3-steps simple gradients instead of fully lit objects. Again, no matter the choice of design, for me ‘Consistency’ is key. I hope this helps.


@mawa sorry, for the inconvenience :frowning: I was unable to reproduce the issue. I tried so hard to break it, lol. Anyway, from what I could google, I think it has something to do with how itchio embed my game in their site and in conjunction with browser type and security settings. tl;dr they recommend to not rely on localStorage. I have just put localStorage in a try/catch for now and hope it is working for you.

@mawa Thanks this is super helpful. Yeah, you got me :smiley: The mainmenu box is a leftover from a carbon copy of the X-com (dos) style borders. The tactical UI contains elements from like 3 different “Free-ui-set.psds”. More streamlining! Less shape variety. Also, no more gradients on icons!

The “stick to it” part is difficult with regards to textured versus flat-colored meshes. The dilemma is: I can’t get flat-colored environments to not look bland. And the moment I put a texture on the ground/wall/wherever, suddenly it looks good (in my eyes, lol). But then again, there is no way in hell I could ever draw textures for my characters (or for anything else). Might as well ask a zebra doing it. Same result. Hm, need to think about this some more. Thanks for making me think mawa!

Oh, btw. Sorry for the dumb question. But what does “ADT FS” mean?

not exactly understand what to do

@sebavan and all: Ok, here we go. Added some general briefing at game start and offering an optional interface tutorial (design is not final).

1 Like

For whatever you did, it’s working now :smiley: May be I should have mentioned I was using ‘private mode’ (although we all know that ‘private mode’ isn’t really ‘private’ anymore :grin: Anyways, it works! I’m having a busy day today, so I will return on it tomorrow and let you have my (likely useless :wink:) comments :joy:

1 Like

haha! :rofl: Not sure how to relate this though. Are you missing the designer skills or the app? or both? If it is one or the other, or both (fair enough)… I’m missing the skills that would make me a ‘true dev’ :grin: In that case, may be you could give it a try at some AI to help you? It could be worth giving it a try eventually. May be @CodingCrusader could give you a shortlist of some AI you could put to the challenge. He’s got an extensive knowledge of what’s available out there. Personally, my concerns using an AI for this part is not so much on the design side than it is about ‘following the rules’. It’s often that they deliver fair and consistent design but tend to ignore the rules (which implies that you will further have to resize, crop, modify the texture in some way… which means you would still need a software and at least some basic skills to perform simple operations).

Oh sorry. I cut it short. It goes for ‘Advanced Dynamic Texture’ (assuming you are using the 2D GUI from BJS), and then FS goes for ‘Full Screen’ (mode).

1 Like

I can only say that every seemingly unsolvable problem can be broken down into smaller problems, which in turn can be broken down into even smaller problems until they are solvable.

From the level of mini-solutions, larger solutions can be assembled until you reach the top, where the problem that initially seemed impossible no longer exists! :slight_smile:

The first step is to recognize what exactly the problem is. Writing helps immensely.

Asking a zebra is not such a bad idea. :slight_smile: Telling someone your problems helps you to listen to yourself and this leads to insights into what is important and what is unimportant and where the goals are.

1 Like

@mawa & @CodingCrusader Yeah, unfortuntely it is the skills.

But the good news is, and this connects to CodingCrusader, I went back to Blender and have reduced the problem down to what’s not right with my no-texture flat-colored environments (or what I dont like about it). In fact, I also asked for some help over in the Blender forums. Also meanwhile I have googled a ton of low-poly images to figure out why theirs look nice and mine not. I think I am getting somewhere.

The big advantage, with regards to my skill limitations, if I can pull off the flat-colored art style, I do not need to draw textures :smiley:


This was it :slight_smile:

1 Like

Hey, it was definitely interesting enough for me to play maybe 4 times now when i should have been working so thats a plus…
a Couple of specific bugs, keep in mind i havnt really played the genre though so maybe some behaviour is expected:

  • the yellow glow effect that appears on your characters when they are behind cover sometimes sticks, so its on even when there is nothing obscuring the character
  • sometimes enemies disapear. an example is the axe guy who is in one of the nearest buildings to you, he was behind the door, my character walked into the room and he disapeared (he was definitely in the space as i couldnt move into it) meaning I couldnt shoot him. He then obviously materialised next turn and killed me, maybe he disapeared into a pocket dimension for a turn… :thinking:

Heres the space i mean, highlighted:

I think as a new player i would want some idea of where the enemies were last seen, like maybe a greyed out version of their last known position? but thats more a new feature and as i said im not so sure of the conventions of this kind of game


Hey cool, thanks for the feedback @awenine :slight_smile:

The yellow glowy bug: should be fixed now (now in terms of next deployed version 0.0.2)

Visibility bug: This needs some serious work. The screenshot is extremely helpful for that!

Hmm, yeah I see. Admittedly, it was a deliberate decision to hide enemies if none of your team members look at them anymore. I wanted to make that a tactical decision. However, as far as I remember X-Com or Jagged Alliance keep enemies visible for the turn in which you spotted them. Hmm. Let me experiment with it some more. I am thinking about maybe easy/hard option.

I agree with the comment from @awenine and … yup, this is not the common behavior to hide the enemy on the same turn. I find it quite disturbing and it is also buggy. I.E. If you simply turn your back on the enemy (without moving further), the enemy disappears. Also, if you are behind high cover (say on the edge of a wall) you cannot see the enemy. Which makes the high cover pretty much unusable :grin:

I would have a couple more comments:

I don’t really like it that after selecting a character, you first need to click once on the map to see the move area. It also feels weird to me that the number corresponding to the moves is shown when hovering the map, but not the entire area which appears only on click. But may be, that’s just personal.
Speaking about these numbers, I also found a bug(?) that when you hover the other character (the one not selected), it shows the number 2 although it’s only one cell away from you and you cannot move there (or can you? swap positions? in which case, I couldn’t figure how).

I would think it would be a good idea to be able to switch characters from the character box. Same as in Xcom, may be, with an arrow left and an arrow right to cycle through characters. In that case I would also remove the 2 icons with the remaining APs, since this information is already in the character box. This same character box could do with a small portrait of the character.

Shooting is also kind of unclear to me at this moment. I suppose I would want to be able to cycle through the targets in range, view their stats and then select my shooting mode and then press ‘shoot’ on the selected target. Again, Xcom-like based.

But then, that’s just my two cents and just to make this clear, I’m already admirative of all the work you did so far :heart_eyes:… and I’ll be happy to play the role of the ‘stupid player tester’ :crazy_face: to review your progress, if needed. You can ping me if you’d like to have more of my ‘useless comments’ :grin: :sweat_smile:

Meanwhile, have a great day :sunglasses:

1 Like

@mawa Thanks for the great feedback!

Gotcha: Show walkable area immediately. Done and will be included in next version.

About that weird number 2 showing up. Should not be shown when hovering any character. Fixed and included in next version. Oh, btw. There will be a player ability called “Mate rotate” which will indeed allow swapping positions :wink:

Cycle player chars via two buttons? Man, even X-Com (dos) had buttons for it. How could I miss that? Done. (They are not pretty yet…)

Sorry about the shooting. It is old school clicking on stuff. I cannot promise a shoot button due to some code complexities surrounding that big info box (which should house the shoot button). But since the TAB key is unassigned, I made it the official cycle-enemies key now. Ready for deploying.

Finally, just to be clear. I am not going to ignore you guys on thsi one. But the line of sight / how-much-to-see-in-cover issue may take a while.

Ah, I get it. It is opposite day :upside_down_face: It is of course “super helpful comments” and “smart player tester”. Agreed :grin: And I haven’t fogotten your last one either! I have been putting quite some work into the consistency problem. I only hope I didn’t distract you too much from working on MOE :astonished:

1 Like

Hope you are well. Thanks for considering my feedback. I just love to feel being considered :grinning: :rofl:

I’m not sure I fully understand the complexity behind it. From a simple design/UI perspective, I would probably attempt to make it a ‘shooting panel’ and show/hide it only on ‘shoot sequence target selection’. I quickly did a very rushed sketch to try better explain. See SS below. An image is worth a hundred words, isn’t it what they say? :grinning: Sorry though, for it really is very rushed (15min old-school photoshop-ing :face_with_hand_over_mouth:) . Again, very rushed… not the best for someone who claims ‘consistency’ is essential :sweat_smile: :grimacing:… but I hope you get the idea behind it.

Nah, don’t worry. It’s actually a relief for me to be able to simply shit comment the work of others, completely disregarding all that lies behind it :laughing: I myself are into some trouble these days fixing performance and logic issues + having to normalize 70 new assets for my museum new ‘auditorium’ :sweat_smile:… so believe me when I say that taking half an hour or so to check on your progress is a welcome change :hugs: GL with your tuning of the base logic (I believe it’s important you make this step of creating a solid game logic and UI BEFORE proceeding further… A mistake I tend to reproduce in my own personal projects for some reason :grin: :face_with_hand_over_mouth: :sweat_smile:… Meanwhile, have a great day :sunglasses:

Edit: Forgot to mention that if you want to discuss things with me, you can of course PM me. I left this message open so that others can share their thoughts at this stage. And also, it pushes your thread back to the top :grin: which I believe is well deserved for what I think is one of the first promising turn based tactical made with BJS (sorry for the others, if I missed it :pray:)

1 Like

Oh, hey look how small and yet efficient this can get, lol. Thanks a bunch :slightly_smiling_face: I will take inspiration!

Also, now seeing the character portraits. Aww man. So much nicer. But I cannot promise them though. That will be quite some extra work. But I do realise that the UI will always end up on every screenshot

It is nothing impossible! But if the info box disappears when hovering away from an entity, it makes things easier for me in terms of coding.

Looking forward to it - or more like listening forward to :smiley:

Huh! Good point. :face_with_monocle:

1 Like

Update: v0.0.2

:boom: Finally: destructible environment. It is a first preview. Needs more effects and details. In the current iteration the important part was to reverse the painstaking work of merging all the environment meshes into one big mega mesh and make them individually destructible again.

In case the video does not show:

:fire: Brand new UI. This is what took so f* long. Anyway, now using a CSS framework http://augmented-ui.com; all procedural. If you do anything scifi or cyberpunk, go check it out.

Oh, and don’t worry if you do not like it. HTML now structured in clean Vue components, there is proper CSS modules and I put the color palette in css variables. So I can pretty much change the UI style once every week, without breaking everything. :wink:

:fire: Also brand new art style! Almost no painted textures anymore (the desert terrain is one color, with a normal map; indoor grounds are leftovers). Personally, I would prefer textures since they just look nicer. But there is so much more benefits in having plain colors. I might sneak in some painted ones for floors/terrains. But then again I might just add way more clutter. Not sure yet.

:eyes: Moreover I am throwing in the first player ability into the public version:

Try now

:joystick: https://jokrgamedev.itch.io/demo-town-tactics

:speech_balloon: Do yell at me if something sucks or drop a feature request!

What happened since the last version:

  • New destructible environment
  • New ability “Faces off”
  • New “almost no texture” art style (thanks @CodingCrusader, @mawa)
  • New UI (thanks @mawa)
  • New streamlined target info box (thanks @mawa)
  • Added tutorial (thanks @sebavan)
  • Improved newly added tutorial (thanks @mawa)
  • Fixed crash bug caused by Itch.io’s strict iframe security policies (thanks @mawa)
  • Reduced UI shape variety by 70% (thanks @mawa)
  • Increased UI consistency by 80% (thanks @mawa)
  • Removed UI gradients (noise textures do not count, right?) (thanks @mawa)
  • Change line of sight rules: enemy visibility is sticky for current player turn (thanks @awenine, @mawa)
  • Fixed character obstruction overlay staying on for too long (thanks @awenine)
  • Fixed move costs displaying on tiles where characters stand (thanks @mawa)
  • Added UI buttons to cycle between characters (thanks @mawa)
  • Added experimental character portraits (thanks @mawa)
  • Changed preview of walkable area is always on now (thanks @mawa)
  • Streamlined scene interaction: e.g. shooting is like Wasteland 2 now
  • Huge cleanup of UI code: proper Vue components and clean CSS now
  • Finally got texture merging right (i.e. uv merging). Now can merge all meshes that use palette textures
  • Destructible environment adapted to work with merged meshes
  • Bullet holes! (That take one draw call and get cleaned up if their wall is destroyed)
  • Camera controls will not get consumed anymore by other UI elements
  • Added new column to bug tracker: “priority”, meaning it must be fixed before next public release