v0.8.9 (Bugfixes + translations) released to Google Play!

Useful links
Source code of the game - Contribution guide - ATCS Editor - Translate the game on Weblate - Example walkthrough - Andor's Trail Directory - Join the Discord
Get the game (v0.8.9) from Google, F-Droid, our server, or itch.io

AT as a game engine?

Discussions of the development process of the game.
Post Reply
carceris-magister
Posts: 50
Joined: Fri Aug 16, 2013 1:10 pm
android_version: 7.1 - Nougat
Location: North America

AT as a game engine?

Post by carceris-magister »

Has there been any effort to refactor AT so that it could be an open-source game engine for implementing many different RPGs? I was thinking of the old z-machine interpreter that hosted many different kinds of (text-based) Infocom games, from Zork to Hitchiker's Guide to Bureaucracy; an AT-derived game engine could do the same thing for top-down graphical RPGs on mobile devices.

I've noticed people in the forums mentioning that monster definitions are in XML files, so it sounds like you might already have started down the path of separating the base engine from the game definition. I haven't started exploring the code yet, but will do that soon.

CM
ctnbeh13
VIP
Posts: 309
Joined: Thu Mar 31, 2011 4:43 pm
android_version: 11 - Android 11

Re: AT as a game engine?

Post by ctnbeh13 »

carceris-magister,

I believe it's safe to say that the development goal is to produce Andor's Trail as a finished product. There are many ways to provide a game engine, and a decision on how much detail to provide in terms of accompanying creation tools to suit the needs of the level of the individual's understanding of programming language and satisfy the user regardless, can significantly determine the length of time that such a side project would take to complete. Doing such a project seems to me as a peripheral interest, but all the while delaying the progress of Andor's Trail itself.

Whether you might be looking to contribute to the development of Andor's Trail, or create your own game, let us know, and there should be one of us available to point you in a more specific direction.

Hope that's of some help...
One of even fewer...
oskarwiksten
Captain Awesome
Posts: 368
Joined: Sat Jan 29, 2011 8:51 am
android_version: 2.3 - Gingerbread
Location: Stockholm, Sweden

Re: AT as a game engine?

Post by oskarwiksten »

carceris-magister wrote:Has there been any effort to refactor AT so that it could be an open-source game engine for implementing many different RPGs?
We've heard of people wanting to implement Andor's Trail in javascript, as a browser-based game. Haven't seen any actual progress on that though. Those efforts were more of a "port the engine along with existing story" type of endeavors.
The code for Andor's Trail is not really tied to the story-line. Having some other story line that uses the same engine could be feasible, albeit a lot of work.

Our goal for Andor's Trail is to do Andor's Trail, and not a generic game engine. I'm sure the code and content can be generalized into a generic RPG-type game, but that's not our focus. We want to know what happened to Andor!

The only thing that I can think of off the top of my head that connects game content to the game engine is the skills. Skills are currently hard-coded into code, and not content.

However, our experience in doing Andor's Trail is that most of the work goes into making the story, and not the code itself. The code and game engine is fairly trivial, but what makes a good game is balancing, a compelling story, and a good balance between game elements. Code is easy. Content is hard. At least for us.
carceris-magister wrote:I've noticed people in the forums mentioning that monster definitions are in XML files, so it sounds like you might already have started down the path of separating the base engine from the game definition.
Good to see that you're interested in the internals of the game! We used to have game content as xml, but changed that to json files recently. Examples:
http://code.google.com/p/andors-trail/s ... 610_1.json
http://code.google.com/p/andors-trail/s ... ters1.json
Our reason for separating game content from game code is purely based on the fact that we have different people doing each part, and each task has a format that's suited for them.
With resources like that, it's feasible to make another game that uses the same engine but with a different story and setting.

You're of course welcome to do it. As we always say, just fork it. It's open-source. Play with it. Turn all monsters yellow. Make ants invincible. You decide :)
/Oskar
Tomcat
VIP
Posts: 1353
Joined: Tue Feb 08, 2011 7:05 am
android_version: 7.0

Re: AT as a game engine?

Post by Tomcat »

I believe actor conditions are read from resource files, and the code just applies the modifiers that it reads to the player stats. I wonder if skills can be converted into permanent actor conditions, so that they can be stored the same way.
Norbert
Lvl:52 XP:2597576 AP:12 HP:124 AC:282 AD:30-42 CHS:27 CM:2.0 ECC:18% BC:132 DR:2
Skills: CS:2 IF:2 Ev:3 Rg:1 DgPro:1 1HPro:2 LtAPro:2 FS-DW:2 Sp-DW:1
Equip: FP BSS JoF RoP PRoB SrpHbk GoLF EnhCH EnhCB
Other: DotSP VD GoW FB TG RoD+6 Oegyth:6
carceris-magister
Posts: 50
Joined: Fri Aug 16, 2013 1:10 pm
android_version: 7.1 - Nougat
Location: North America

Re: AT as a game engine?

Post by carceris-magister »

Thanks for the replies, Oskar and others.

I agree with staying focused if you want to finish the game. I'm impressed with its story sophistication, especially with the fact that you can choose to resolve some situations non-violently (e.g. tavern guard, Black Mountain v Prim), and that the morality is ambiguous. I get a bit bored of fighting through caves to get to a boss, but I guess that's what users of modern RPGs expect.

I think there would be great value in forking the source code and building an Android game engine as a separate project, because it could unlock a flood of creativity from other people who aren't software engineers but have great storytelling and user-engagement skills. For example, as a matter of personal preference, I think some genres, like pseudo-medieval fantasy, zombie apocalypse, and future dystopia are way overdone. I loved that the old z-machine games also included stuff like Bureaucracy, set in the present day, but still well-suited for RPG gameplay.

If, as some have suggested, the game engine portion itself is relatively simple, it would also be possible to write versions of the engine for iOS, in-browser JavaScript, etc. that use the same game-definition resources, allowing game designers to write for multiple platforms with no special software-engineering skills.

I'm not in a position to lead a project like that right now -- I've led big open-source projects before, and know how much effort is involved (thanks, Oskar) -- but I'd be a willing contributor if anyone is interested.
User avatar
Zukero
Lead Developer
Posts: 2028
Joined: Thu Jul 21, 2011 9:56 am
android_version: 8.0
Location: Eclipse

Re: AT as a game engine?

Post by Zukero »

Changing the whole game content to create a game set in another genre is totally doable without touching any code, however, the combat system is a very important part of the code, so unless your game story as no fight (only dialogues and exploration), or only close-combat fight you'll have to code.

Porting the engine to a different technology is never a trivial task. Even worse if the base language is different. At work, a very experienced engineer told me that porting gets easier with the number of ports : this is true if the programming language (Java for AT) is usable in the porting target. First port is hard, but when your code is compatible with 10 platforms, adding an eleventh is fairly trivial.

For Tomcat : skills do things that are very complex to express as pure data. They are triggered in very different portions of the game engine. This is why their effects are so varied while actor conditions are all more or less on the same principles. The way around that could be a scripting engine with powerfull features, and many hooks in the engine, and define the skills as scripts. I'd love that.
Lvl: 78, XP: 8622632, Gold: 271542, RoLS: 1, ElyR: -, RoL: -, ChaR: 1, GoLF: 1, ShaF: 1, SRoV: 1, VSH: 1, WMC: 1, GoW: 1
HP: 71, AC: 301%, AD: 38-47, AP: 3, ECC: 50%, CM: 3.75, BC: 101%, DR: 2
carceris-magister
Posts: 50
Joined: Fri Aug 16, 2013 1:10 pm
android_version: 7.1 - Nougat
Location: North America

Re: AT as a game engine?

Post by carceris-magister »

Zukero wrote:Changing the whole game content to create a game set in another genre is totally doable without touching any code, however, the combat system is a very important part of the code, so unless your game story as no fight (only dialogues and exploration), or only close-combat fight you'll have to code.

Porting the engine to a different technology is never a trivial task. Even worse if the base language is different. At work, a very experienced engineer told me that porting gets easier with the number of ports : this is true if the programming language (Java for AT) is usable in the porting target. First port is hard, but when your code is compatible with 10 platforms, adding an eleventh is fairly trivial.

For Tomcat : skills do things that are very complex to express as pure data. They are triggered in very different portions of the game engine. This is why their effects are so varied while actor conditions are all more or less on the same principles. The way around that could be a scripting engine with powerfull features, and many hooks in the engine, and define the skills as scripts. I'd love that.
Excellent tips and analysis, Zukero -- thanks!
Post Reply