Ex Nihilo, the game

game
#21

@DolphinIQ
Heya, thanks for checking out the game!

  1. That’s a really good point, i should probably change the camera a bit to make those units more visible
  2. Thanks for that! I was working on stats for a while and it seems I have messed up, I fixed this one. Well spotted :sweat_smile:
  3. That was intentional really, I didn’t want to complicate that UI further, it’s there to give a bit more information as the order of cards represents turn order, so you get info on units that are about to take a turn. I’m not sure how I would go about make it scrollable without having to do a lot of work or using ugly scrollbars :crying_cat_face:
  4. The console stuff shouldn’t impact performance very much, it’s there for bug reporting mainly right now. I haven’t used any dedicated logging here, which, in hindsight might have been a bad move on my part :thinking:

About auto-scrolling, around the edges - that’s a really neat idea, thanks for that!

When it comes to animations, I worked together with a wonderful artist on the models, but when it came to animation - neither of us had the skill, and it really shows, I’m looking for a replacement to these models and animations, but it’s really hard to say goodbye to years of work :upside_down_face:

Thanks a lot for your feedback!

#22

this is insanely well made and fun to play! Will get back with more feedback. Crazy how much you can do with threejs and creativity! Well done!

Edit
I played around an hour and really like it so far. However I managed to get stuck with a guy in the desert area (geomancer guy). See the findings below :slight_smile:

  • How can I fight as melee tank against guys which are on the last row? I play as a tank and support and fought against a geomancer which summoned in front of the tank every time a new round started. I used auto resolve and lost the match. It seems like I can fight any guy on the row in front of me, even if they are on the bottom column. Not on the same column but last row though. Not sure on how to progress now since the guy I fight is unreachable.

  • Would be nice to turn down the music and have more ambient sounds (wind, trees, birds?).

  • Enemy round keeps going even after you’ve been killed

  • Easy to select a talent not wanted (since double click without confirm popup). Perhaps make it possible to select many at the same time and have an overall confirm button instead of forcing to double click to select)

1 Like
#23

Hey Markus, thanks for checking out the game!

  • When the game starts, you only have 2 slots available, so your tactics are quite limited. As you play you gradually unlock additional slots, at Hero level 11 you unlock the 6th slot, then you can have some archers or mages to help you deal with those enemy back-liners. It’s generally impossible to beat a summoner with a melee warrior, sorry! :crying_cat_face:
  • great idea, thanks! I added it to the backlog :+1:
  • that’s a bit of an obscurity, combat ends at the end of a round, this gives other units (especially healers) an opportunity to act when you have already won.
  • this one is a bit tough, you learn talents with 2 clicks, one to select and one to confirm, so double-click makes it fast and easy to learn:
    image
    image
    image

If you have some suggestions how to make it more clear - I’d appreciate it! :pray:

1 Like
#24

Hey, Im back with more height-related problems ;D


Maybe put the GUI stuff in separate divs with enabled overflow? (assuming its created using html) With some CSS tweaking, it could work pretty well. In the worst case, there will be an ugly scrollbar for the time being, but at least the player will be able to see all available talents ;p
Also here my height is so unfortunate that i cant really see whats the squad limit
image
My screen resolution is 1366x768 (although not using full screen so its a little less)

When it comes to choosing talents, I think a good idea is to have a clear [confirm] button, so the player doesnt accidentally pick something random while looking. A system I’ve seen somewhere and like is:

  • left clicking on icons to spend a talent point
  • right clicking on icons to take back the point if I changed my mind
  • a nice [ CONFIRM ] button if im done and certain about my choices. After clicking on it, all changes are saved and cant be taken back

Regarding performance - I believe I have around 20-30 fps, which is a shame because I got kinda hooked up lol. I noticed you have enabled shadow casting on almost all objects. Have you considered using light maps? It could greatly increase the performance if the shadows were baked into the terrain, especially since trees etc are static objects and the shadows arent changing. Then you could use shadow casting only on moving models. Also in my humble opinion, baked soft shadows look nicer x)
If not, then maybe allow the user to disable shadows completely in the options menu? They are nice, but I’d rather have smooth fps :sweat_smile:

I noticed the gameplay gets much more interesting with more units in the squad. Also I feel like the computer takes more time to make a move than necessary. Why would it need 1-2 seconds when a foot soldier can only attack my 1 front guy? :smiley:

#25

Hey @DolphinIQ,

thanks for the feedback, there are actually some interesting reasons behind not using light maps. I have baked a lot of AO into diffuse maps already, but doing so for the environment was simply too memory intensive, so I opted out of doing that, i was toying with the idea of writing a virtual texture (also called “Mega Texture”) implementation do by-pass the memory constraints, but it seems like a bit too much work so far.

With respect to FPS, there are a few main weak points, you mentioned one:

  • shadow maps
  • separate pass for depth texture (i’m planning to roll that into the main diffuse pass via depthTexture extension)
  • deferred pipeline, i use a separate pass for fog of war and another one for outlines, these take up a chunk of memory bandwidth
  • large number of textures. The models are not very well optimized in terms of textures, so there’s a lot of texture switching, which again hits the bandwidth.

I’m glad you’re liking the game :slight_smile:

The reason behind AI being… slow… is that I implemented it using Monte-Carlo Tree Search, that thing doesn’t really have a termination criteria, you just run it for as long as you like, and it produces progressively better results as it goes along. I put the AI into a simulated thread, which is an abstraction I have in my engine, it’s ensures that you can run expensive stuff in the UI thread without causing FPS spikes, but the abstraction adds about 20-30% performance overhead. I was toying with the idea of just writing a rule-based AI or re-writing the whole thing in webassembly for speed, but I haven’t gotten to that desperate state yet. Ideas? :thinking:

I like your suggestions about unlearning stuff, I think i can make that implicit, let you allocate/reallocate points until you leave the talent page. There is an item that resets talents also.

Also, i’m curious, what are the specs of your machine like?

#26

I have a Lenovo ideapad 100 laptop

Nice to see the stats being fixed :smiley:
image
It looks very nice and clear now, however other elements can still cover them. I feel like, since the stats are temporary and the user can turn it off anytime, they should render above everything else.

I dont know if its a bug, or something but when I added a team + %HP talent to the Baroness, it still shows the previous level of it in combat, as well as the Squad menu. It updated only after closing the tab and opening again.

Also this ;p
image

#27

Thanks for sharing the info, I think I have an idea, I believe that your laptop uses custom firmware that allows using either integrated or discrete graphics card on per-application basis. I have a lenovo thinkpad and it has that quirk. Basically, when you use a browser - it switches to Intel HD 5500, meaning you’re actually running the game on integrated GPU. It’s my guess only though, based on the low FPS that you’re seeing and your machine config :wink:

Yeah, that’s a bug. I looked into it, and it was a persistence issue, a silly programming mistake. Thanks for pointing it out! :face_with_hand_over_mouth:

That’s nasty :crying_cat_face:

1 Like
#28

Oh my God, you’re right. I thought I switched it to Nvidia card a few weeks ago, but it turns out that I’ve set the Opera launcher (which had the same icon) and not the actual Opera program. Big Whoopsie :sweat_smile: Thanks a lot for helping me figure it out :smiley:
It runs smoothly now, even with 4098 shadows :joy:

1 Like
#29

I’ve just played for a bit. Tremendous work.

2 Likes
#30

Thanks @moritz4, I appreciate it! :slight_smile:

#31

Hey @Usnul, I’ve captured Repaire de Barbiche :smiley: However, the objectives didn’t change. I assume there is just world exploring left now?

1 Like
#32

This was annoyingly addictive. I am kind of happy it crashed after many hours…

(Nothing reported in the console.)

Edit: Oh, nooo!!! The game was saved…

1 Like
#33

Haha, I’m super happy that you finished the game! Sorry to say, but yeah, there is no Victory screen. Let me do it personally instead: congratulations! You’re awesome :smiley:

How’s your impression?

#34

@EliasHasle

Ha, I think it’s either a memory leak somewhere, which can happen or it’s WebGL context purging, which Chrome does from time to time. But yeah, sorry to say - the game saves automatically after every turn! :stuck_out_tongue:

We’ve been struggling for a while with the identity of the game, its main strength is in the gameplay, but conveying that and getting players to invest sufficient time to “get” that is somewhat of a challenge.

My partner in crime on this adventure is a gentleman who worked on Heroes of Might and Magic series, so most of the credit for the awesome gameplay is actually his. I will make sure to pass it on :slight_smile:

1 Like
#35

Haha thank you! :star_struck:
It took me around 4-5 hours i think (not entirely sure) as well as something like 120 days in game. First let me address some technical issues:

  • With some battle experience I realized that reading and comparing stats is a very important to find the best move. Unfortunately healthbars as well as portraits (in case of the lowest row) obscure some important stuff
  • I run browser task manager at all times and the GPU memory usage seems to grow from 1mln KB to 3mln KB over time. I had to sometimes refresh the tab in order to avoid a crush. Potential memory leak?

Some minor stuff:

  • Player gets bombarded with a lot of text at the beginning
  • As someone commented before - chests seem pretty unexciting. The only items I ever look forward to getting are the XP/LVL boost books. Maybe healing salves and res books at the start when I cant afford them yet
  • Gold… You are in desperate need of it at the start of the game, but after around 5 levels, you are rich and have nothing to spend it on.
  • Back to items - consumables didnt really feel good to me. Maybe its just my personal opinion, but Ive always felt that I only look at the potions, when a tough battle is ahead. In other words, they’re not something i look forward to, but rather something I have to use just to increase my chances. Im not entirely sure if im making any sense here :sweat_smile:

Gameplay:

  • Surprisingly lots of fun, despite its simplicity
  • Some unit combinations are easier to start with than others. For example, Mage+Support was a nightmare, while Warrior+Healer was like cutting through butter.
  • The game gets definitely A LOT more fun with more units in play. I feel like levels threshold for more party members could be lowered. At least one more after capturing Godspeed. It would help to avoid problems related to battles with few units (healer+warrior not being able to defeat a geomancer, Mage+support being a horrible combo at first levels)
  • Leaving one enemy unit (preferably one that cannot attack) alive and blocking until your Healer brings all your party members back to full health is a good way to avoid ever spending any money on healing items ;p
  • Initiative is possible the most important stat to have. I invested all of my leader points to get the [Team Initiative Talent], but the game was over before I could fill the requirements for it :confused:

Game Strengths:

  • Fun, although simple combat!
    I thought a little if maybe changing the Mage AoE attack from all 6 to just a square of 2x2 would benefit the gameplay. Mostly because it seems like mage is the only unit that lacks strategic decision making, since you always just attack everyone and there isnt much thought involved.
  • Level-Ups come very often, especially with more than 3 units in the squad. Very nice and addictive way to reward the player. Big part of why gameplay doesn’t become stale easily.
  • Very pretty graphics :star_struck:

Weaknesses:

  • Lack of any plot is very visible. Currently, with there being only combat, no objectives to fill the void between Godspeed and Repaire de Barbiche, its hard to see progress and it feels sort of like a mobile game :frowning: Of course I understand that the game is still work in progress :slight_smile:
  • Animations and attacks seem to not be on the same level as the overall graphics, which is a shame, since the game relies mostly on combat (at least currently). I feel like there is a lot of room to make the battles more exciting and dynamic :smiley:

Quite a lot… If I forgot something, I’ll comment again or edit :stuck_out_tongue:

Overall: did I have fun? Sure! Otherwise I wouldn’t be able to finish the game :smiley: .Magnificent job! Nicely done! Very exciting to see the browser/three.js games push the industry to new levels. I will watch the future of this project with great interest :slight_smile:

3 Likes
#36

Thank you for your kind words and for playing the game. You gave me some solid ideas on how to improve, I’ll make sure to make good use of them! :slight_smile:

1 Like