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

Help Needed Debuging New Content

Discussions of the development process of the game.
Salzano
Posts: 8
Joined: Mon Jan 02, 2017 3:22 pm
android_version: 5.1 - Lolipop

Help Needed Debuging New Content

Post by Salzano »

Hi, I downloaded Andor’s Trail several weeks ago played through it and loved it. Found the forums and that user-created content is accepted.

Using Tiled and the content editor, I created a “mini” quest with 2 new map tiles, 2 new NPCs, dialogues, monsters, and drop items (all using existing images).

If my quest works, I want to try something more ambitious. However, I wanted to debug the quest/items I created before submitting it.

I tried to follow the tutorial, which suggested using Eclipse but the link redirects to Android Studio (AS). I installed AS, SDK, emulator, and pulled the AT build from GitHub.

I then copied my content to the appropriate folders (xml/raw). I enabled debug mode in “AndorsTrailApplication.java.” I also edited “loadresources_debug.xml” to include the references to my new content. I edited the debug map to connect to my maps.

I was able to run the game through the emulator and corrected most of the issues with my quest.

My quest requires you to defeat a boss who drops a key. The key is needed to open a treasure chest with the reward for completing the quest.

I was able to edit the debug resources to give the player the key at the start and confirmed once you get the key everything works from that point. I also confirmed everything works with my quest up to the point you get the key.

I want to confirm the boss will drop the key and advance the quest. The boss appears on my map and approaching him starts the dialogue exchange, which should end with a battle.

However, every time I start battle with the boss, the game crashes and gives a similar error each time. Two examples of the error are below.

Any help would be appreciated.

Thanks.

- Mike

BOSS BATTLE ERRORS
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.gpl.rpg.AndorsTrail, PID: 2684
java.lang.NullPointerException
at com.gpl.rpg.AndorsTrail.controller.SkillController.getDropChanceRollBias(SkillController.java:59)
at com.gpl.rpg.AndorsTrail.model.item.DropList.createRandomLoot(DropList.java:17)
at com.gpl.rpg.AndorsTrail.model.actor.Monster.createLoot(Monster.java:69)
at com.gpl.rpg.AndorsTrail.controller.CombatController.playerKilledMonster(CombatController.java:193)
at com.gpl.rpg.AndorsTrail.controller.CombatController.executePlayerAttack(CombatController.java:171)
at com.gpl.rpg.AndorsTrail.controller.CombatController.executeMoveAttack(CombatController.java:132)
at com.gpl.rpg.AndorsTrail.controller.InputController.onRelativeMovement(InputController.java:54)
at com.gpl.rpg.AndorsTrail.controller.InputController.onClick(InputController.java:67)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Application terminated.

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.gpl.rpg.AndorsTrail, PID: 2495
java.lang.NullPointerException
at com.gpl.rpg.AndorsTrail.controller.SkillController.getActorConditionEffectChanceRollBiasFromResistanceSkills(SkillController.java:131)
at com.gpl.rpg.AndorsTrail.controller.SkillController.getActorConditionEffectChanceRollBias(SkillController.java:124)
at com.gpl.rpg.AndorsTrail.controller.ActorStatsController.rollForConditionEffect(ActorStatsController.java:344)
at com.gpl.rpg.AndorsTrail.controller.ActorStatsController.applyUseEffect(ActorStatsController.java:332)
at com.gpl.rpg.AndorsTrail.controller.CombatController.applyAttackHitStatusEffects(CombatController.java:556)
at com.gpl.rpg.AndorsTrail.controller.CombatController.attack(CombatController.java:546)
at com.gpl.rpg.AndorsTrail.controller.CombatController.monsterAttacks(CombatController.java:515)
at com.gpl.rpg.AndorsTrail.controller.CombatController.attackWithCurrentMonster(CombatController.java:394)
at com.gpl.rpg.AndorsTrail.controller.CombatController.handleNextMonsterAction(CombatController.java:365)
at com.gpl.rpg.AndorsTrail.controller.CombatController.beginMonsterTurn(CombatController.java:305)
at com.gpl.rpg.AndorsTrail.controller.CombatController.endPlayerTurn(CombatController.java:293)
at com.gpl.rpg.AndorsTrail.view.CombatView$2.onClick(CombatView.java:75)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Application terminated.
User avatar
Zukero
Lead Developer
Posts: 2028
Joined: Thu Jul 21, 2011 9:56 am
android_version: 8.0
Location: Eclipse

Re: Help Needed Debuging New Content

Post by Zukero »

Looks like you have errors in your content.
At least one ActorCondition lacks the "category" field - mental, physical, blood or spiritual (second error message).
For the first message, I'd say your item is not loaded (not in the load_resources.xml, or typo in the item id in the droplist), but your droplist is. Your droplist then points to a non-existing item, and when creating the loot from that droplist, it crashes. That's the most likely.

Are you using ATCS as your content editor ?
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
Salzano
Posts: 8
Joined: Mon Jan 02, 2017 3:22 pm
android_version: 5.1 - Lolipop

Re: Help Needed Debuging New Content

Post by Salzano »

Yes, I am using ATCS.

Thanks, you were correct. My boss's droplist included a regular potion, which I guess isn't loaded by default in debug. I deleted the potion from the droplist and that fixed the issue. My quest is now fully debugged from start to finish.

The only thing left is the world map. I have two outdoor maps. How do I get my maps to appear on the world map once the player has walked onto them for the first time (like it does for any other outdoor map)?

Do I just create a .png of my map in Tiled and save it somewhere? Or is that step something you guys would do if my quest is accepted?

If so, my content would be ready to commit, which leads to my final question. I used Android Studio for the project and in addition to my added content, the program created several files in an ".idea" folder. These files don't appear relevant. Should I omit them from the files I commit to Git?

Thanks again.
User avatar
Zukero
Lead Developer
Posts: 2028
Joined: Thu Jul 21, 2011 9:56 am
android_version: 8.0
Location: Eclipse

Re: Help Needed Debuging New Content

Post by Zukero »

For the worldmap, use ATCS too.
Check the worldmap "world1", alter it, and include your maps at the desired location.

For your commit, yeah, put the ".idea" in .gitignore.
Alternatively, you could post your ATCS project (assuming it's all in one project) by zipping the project's folder in your ATCS workspace and posting it here. Makes it easier to review the content.
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
Salzano
Posts: 8
Joined: Mon Jan 02, 2017 3:22 pm
android_version: 5.1 - Lolipop

Re: Help Needed Debuging New Content

Post by Salzano »

I'm attaching a zip with all files for my quest (created and altered).

Let me know if you have any questions or want me to make any changes. Of course you can make any changes as needed if that's easier.

It's just a short simple side-quest but if it's accepted I would like to make something else more ambitious.

Also, I see there is other new content not in the release version. I think I have got a hand on ATCS, Tiled, and to lesser extent Android Studio. If any specific help is needed to move the project along, I’d be happy to assist.

Thanks again.
You do not have the required permissions to view the files attached to this post.
User avatar
nyktos
VIP
Posts: 3463
Joined: Wed Sep 14, 2011 5:38 pm
android_version: 7.1 - Nougat
Location: Nor City, Dhayavar

Re: Help Needed Debuging New Content

Post by nyktos »

i love the open graves!!! :twisted:

welcome to the forum, Salzano! :D
"Embrace the Shadow"

Image

[Lv: 60] [HP: 175] [AC: 361] [AD: 25-39] [BC: 75]
[Dual Wielding Swords] [Unarmored Fighting]
User avatar
Zukero
Lead Developer
Posts: 2028
Joined: Thu Jul 21, 2011 9:56 am
android_version: 8.0
Location: Eclipse

Re: Help Needed Debuging New Content

Post by Zukero »

First of all, great job. Very few people have sent me ATCS-made content on this scale yet. It's complete, fully integrated, and uses most object types, so you really found your way around it nicely.

Great job on the tree alignment with the surrounding maps. I find it painful to do, and Ian always finds mistakes in my maps :D

After a quick review, a bunch of "technical" remarks:
- ATCS choked on graveyard1.tmx. I had to replace "requireID" by "requireId" (case sensitive). I guess you made your maps fully in Tiled.
- graveyard1.tmx lacks the small continuation of the dirt road from graveyard0.tmx (really a minor issue).
- The shading over the graveyard should cover the whole map, it's weird to have a single column untouched.
- Once shaded, it'll always stay this way. A second replace area (Above->Above3) could be used to restore the broad daylight once the curse is broken.
- The mapchange areas shouldn't be more than 1 tile high.

Now, we get to the sensitive part:
- I'll let rijackson741 the opportunity to give a more precise analysis of why it's unbalanced, but it is unbalanced. That sword of yours will be the one and only weapon anyone will want to use.
- C'mon. 39 mobs, each super-strong. I'm all for a high-level challenge, but we'll have to be able to grind to Lodar's and back again without a single potion before standing a chance in there. I believe there's too wide a gap between the levels that player can reach reasonably in v0.7.1, and the one needed to go to the graveyard.
- The tone of the dialogues doesn't fit at all with the current content. Swearing should be avoided, especially in the quest log. Breaking the fourth wall is a no-go too. Not that I dislike it in general, it's just that it doesn't fit in AT IMHO.
- The "waiting for full moon" indication is misleading, as there's no gameplay element that gives hints at passing time, day/night cycles or otherwise. You could have the player give some "password" or "spell" to open the gate, but will also trigger the map shading.
- Ian will certainly be able to put better words for this (and be more constructive), but I think the graveyard1.tmx map could use some diversity. It looks a little clean and well organized for a cursed graveyard. Making the graveyard smaller could be an option to help with both this issue and the balancing one.


To sum up, I like the general idea, and I'm really impressed by the technical quality of your content, but most dialogues must be rewritten, and numbers changed. That said, I'd include it in the game, but I'll need to get the opinion of the other members of the dev team too.
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
User avatar
Zukero
Lead Developer
Posts: 2028
Joined: Thu Jul 21, 2011 9:56 am
android_version: 8.0
Location: Eclipse

Re: Help Needed Debuging New Content

Post by Zukero »

Last point. Maybe Algore should have a different name. Was that some political statement? :lol:
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
User avatar
Zukero
Lead Developer
Posts: 2028
Joined: Thu Jul 21, 2011 9:56 am
android_version: 8.0
Location: Eclipse

Re: Help Needed Debuging New Content

Post by Zukero »

Shouldn't have said "last point".
The dialogue with the key holder grants graveyard_quest:70 before the fight. If you die fighting him (more than probable), your quest log will say you killed him and got the key when you wake up in your bed, while that isn't true.

If you're not afraid of git, you could check my "stoutford_tests" branch. I have an example there where you gain a quest stage after killing the boss using "script" areas evaluated on every step, that check the number of monster killed (relevant only when you're using a unique mob, never spawned anywhere else in the game, which is your case).

The script area covers the whole map in my case, but could be limited to the area you need to be to fight the boss enlarged by 1 tile in all the directions you can walk to after the fight.

------

The "graveyardwall" script for the key area is clever, but I'd rather avoid letting the player reply to the narrator. Breaking the fourth wall again. Making the player chant a spell, why not, but not saying "Ok" to the narrator.

Alternatively, you could use a selector (null text, most demanding reply first, all replies of type "NPC keeps talking". Most starting dialogues of talking NPCs are made this way) to automatically go to the right dialogue, and have it all told by the narrator.
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
Tomcat
VIP
Posts: 1353
Joined: Tue Feb 08, 2011 7:05 am
android_version: 7.0

Re: Help Needed Debuging New Content

Post by Tomcat »

Zukero wrote:Last point. Maybe Algore should have a different name. Was that some political statement? :lol:
Does he tell you an inconvenient truth?
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
Post Reply