Tristan and Iseult - Initial Release

10 Apr in nano, programming, videogames, VNs

An initial release of Tristan and Iseult is available - go to the game page to download.

It's been a productive project, and not just in terms of getting a game done - I've also turned up quite a few Ren'Py bugs/annoyances that I'll be sending on to PyTom at some point, and found several weak areas in the battle engine that I've fixed up as I've gone. There's some significant new functionality which will make it into the next release of the engine, such as A*-pathfinding for AI fighters and lots of condition/event stuff. The game itself includes some examples of cut-in scenes in the middle of battles, which people have been asking about since more or less the first release of the system. The development of this game has also shown me some places where the engine could be improved in such a way that I didn't try and do in NaNo - for example, the fog-of-war implementation in Tristan is fairly inefficient, and I know I can do a lot better with a bit more time.

There are a couple of known bugs - most notably, the TileMap displayable I wrote to facilitate the battle maps shows up some OpenGL texture/draw-alignment issues in Ren'Py if you change the window size (either by dragging the window border or by switching to fullscreen). This is a little better in 6.12.1, but that's just a pre-release right now and has some other problems of its own.

I'll more than likely be releasing a more-fixed-up version sometime in the near future, especially if any Ren'Py issues get fixed which would affect the game; sometime in the not-so-near-but-still-not-that-far future, I intend to make the source code to the game available so people can see how it all works, but the engine code needs re-integrating back into the main engine project and some hacky works-for-NaNo bits need to be straightened out before then...!

Gratuitous Screenshots:

Battle ScreenshotBattles!

Story ScreenshotTalking!

Gameplay ScreenshotViolence!

Gameplay ScreenshotTerror!

Gameplay ScreenshotHarsh Language!



I've played a couple more battles and currently fighting my way in chapter 2.
I've had a strange bug happen to me on two occasions, and I beleive both times the game was panning for the ennemy units ( or mine, not so sure ) and I happen to click at the same time. What usually happens is that it speeds up the movement of the sprite, but in that case it just completely reset all the movements from all the sprites to the beggining of the battle. It was first during the battle with the second battle of chapter 1 ( introducing archers ) and then when Tristan fights for the bridges ( I think 3rd battle of chapter 1 ).

I've tried to reproduce the bug on purpose, just to catch why it occurs, but was unable to. Also, didn't come back afterwards.

On another note I lost that "bridge" battle the first time because I didn't recognize the " hero group " the hero sprite being so small.

Apart from that it was lots of fun, and I'm glad I still have some other battles to look forward to.

On a side note, I loved that Irish commander sprite ! He appeared to me as a mix between Ram man :

And a red Gouf. So cool ^^

I noticed something, but I don't know/remember if it's designed like that or a bug. When I go to load a game that was saved during a battle, the icon shows the battle when it was saved, but when I load it, I start at the begining of said battle.

I don't know if you should consider a bug the fact that your save thumbnail shows the battle as it was when you saved, but I did ask about it myself, and Jake told me that it is indeed supposed to save at the beginning of a battle.

It would have been convenient in some ways, if you could save mid-battle. :)

Ok thanks, I thought I remembered writing about this but wasn't so sure.

I started playing it and I quite like it. And it's probably one of the first games where I've become interested in seeing how it works internally, especially regarding the decisions the computer army makes (was glad but a little surprised to see it not prioritize attacking the commander units... a number of games of this ilk seem to want to game over you as fast as possible).

I believe I ran into a bug in the first fog of war map, though. One of my soldier units died fairly early and was kept rather far apart from the others, and yet I didn't lose any visibility upon his death. Hard to imagine that was an intended effect.

I'll reserve further opinions on the work until I finish it, which will hopefully be in short order. And congrats again on your release!

Glad you're enjoying it!

The 'AI' is probably less interesting than you think! It's mostly just done by weighting - when moving, a square is given a number describing how 'ideal' it is for that fighter; how close to its 'ideal distance' it is from enemy units, its preferred position, etc. - then once a position is chosen, it picks a target from that position at random. I do have several ideas for a better AI, and I do plan to try and implement them at some point to make a 'hard' mode. :3

As to the bug, I'm guessing that the visible patch went away the next time one of your units moved? I'll make a note and try and fix it for a patch, thanks for the report!

Ok so far so good, went through the first two battles and I must say they play really good. The second one introducing range attacks is really cool.
The Ole english is pretty convincing and helps suspension of disbeleif while still being understandable. So apart from a pan bug that I think has been there from the start of the Battle engine ( the fighter sprites seem to skid when a pan occurs ), it's all good. And I'm really looking forward to the rest of the game. Also, " Can't we just be friends ? " = lol

Yeah, I'm afraid the sliding-fighters-on-pan is a bit of a long-term problem. The basic issue is that to make sure that they all pan at exactly the same time I need to cycle through all the Displayables in the scene tell them to all redraw /right now/ so they're in synch, but Ren'Py doesn't make that list publically available, and the internal structure has changed quite a bit since the last time I wrote code to dive in and pull the information out anyway, so I'm wary of using anything other than the public interface in case there are breaking changes in Ren'Py again.

I raised the issue with PyTom a while ago, and he gave me a suggestion... but it doesn't work. So right now, it seems unproductive to spend much more time trying to make it behave itself. :/

Anyway, I'm glad you're enjoying the game so far! I originally wrote the in-battle exclaimations just as test sentences, but I liked them enough to keep them in the end. ;-)

Yay ! Finally !

Theme Originally by, hacked around by Jake, textures from