Slowdive's Little Daily Blog

Discuss anything in general about the IceBlink Engine + Toolset project (or anything else) here.
Post Reply
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Slowdive's Little Daily Blog

Post by slowdive »

Time to kick off a new blog on the new forums.

A follow up from the legacy forums:
youngneil1 wrote:Do you experience the bad performance on regular laptos/notebooks/desktops, too (or only on phones/tablets)? Edit: And in case it happens on regular laptops/notebooks/desktops (Windows systems in this case), does normal IB show the same slow performance on these systems, too?
I see about 30-40 fps on my windows 10 laptop (Lenovo Legion Y520) when running IBx for UWP. I see about 4-7 fps on my android tablet, iPads, chromebook, and iPhone X. This is on the first main map screen for Blackwinter, other screens are different. I see 50-70 fps on my windows 10 laptop when running IB.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Thank you for cheking this out, Jer. On one hand this is good news as IB performance is good on your laptop, too. On the other hand this underlines that we will need to disable a few cosmetic features for IBx to run well. I will try more ways to turn off scrolling on main map after next IB release. First test for turning off scrolling I did were not very successful - I fear there will be no easy hack, but we will get there :) .
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Let me do some more testing on my side before you try to add graphic toggles. I’m trying to track down the main culprits first by turning one feature off (and then back on after testing) at a time. I saw your notes in the code about the two resource heavy functions in the main map screen and it looks like the main layout ui draw routine is the bigger issue. I’ll dig into that and see what I find. Turning off the call to draw the ui took me from 4 fps to 15 fps on my iPad.15 is quite playable on the iPad so it looks promising. The main map drawing routine is the other that I’ll inspect next. I bypassed the update function on the main map, but it didn’t impact fps so it is okay. Also, I bypassed the scrolling system, but it didn’t impact fps so it is okay as well.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Biggest fps gains for me during optimization were related to the drawing of fonts. I dont recall the details right now but I think I reduced the numbers of calls for new writeFactories (or some such) to one 1/9. It was related to the way we draw the bigger letters (slightly shifted, multiple draw calls for each letter) and their black outlines. Before I optimzied I think each word had to be drawn nine times with 9 different creations and destructions of write factory objects. I shifted all of this into a single writeFactory, I think (doing its job nine times before being discarded). Well, maybe it was a bit differnt but it was definetly related :lol: ... I also drew them a bit less bold (less iterations, I think from 16 to 9), iirc...

Also, I think there was an important optimziation when it comes to drawing "blank" layers. Iirc the old code drew (loaded) each tiem a blank transparent graphic for this - just not drawing these blank layers gained a few fps, too. Again, I might rember this incorrectly :roll: .
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

When switching to skiaSharp drawText I had to reintroduce the 25 calls to draw black outline of text. I removed that and am now drawing just a single black text shifted 2 right and 2 down, then draw actual text color on top of that. So only two text draws now and I went from 4fps to 18 fps on my iPhoneX :lol:

Now IBx plays very well on my phone and iPad :D

From my iPhone X:
3C1205B5-C32E-4ED6-8065-AD5B0E89BE0D.jpeg
3C1205B5-C32E-4ED6-8065-AD5B0E89BE0D.jpeg (292.93 KiB) Viewed 450316 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

slowdive, you would know better what works with the mobile platforms. Regarding the buttons on the bottom of the screen, would it make sense to reduce the words to the single initial for each command?

So M for move, A for attack, C for cast, and so on.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

That could be an option. I probably need to use smaller text on the buttons at least. Another option would be to use icons like I use in IBbasic...
8E2BCE5B-398F-4A8F-B64B-984D5132B900.png
8E2BCE5B-398F-4A8F-B64B-984D5132B900.png (1.34 MiB) Viewed 450312 times
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Amazing news about the performance gains, well done :) !
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Today I did some more play testing and clean up work. I also added panning buttons to the combat screen to take place of the arrow keys on keyboard. Eventually, I would like to use a swiping gesture to pan the map. touch and hold down while sliding finger to pan. I also fixed a few bugs. One thing that I haven't fixed just yet is that when tapping an arrow key to move up on the main map, The players move two squares almost every time. Only one square for other directions. I think it has to do with the scrolling or move while holding down feature, but I'm not sure how to fix it just yet.

I'll probably release another version of IBx to Google Play for people to test this weekend some time.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Today I fixed a bug that has been "bugging" me for awhile. Moving up was jumping two spaces each time. It was a timer issue, but I fixed it so I'm back to one space at a time. I also removed the panning buttons and instead replaced it with a tap and drag feature to do the panning on the combat screen. It works very well, is super easy to pan around, and hopefully intuitive.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Posted IBx (1.182.009) to the internal testing group on Google Play. If you would like to be added to the group, send me a PM and I'll add your gmail email address to the list.

https://play.google.com/apps/internalte ... 9560214193

Give it a try and let me know if you see improvements to FPS on your device. Maybe try recording your current FPS before updating.

Next, I am going to look at creating an iOS release through Apple's TestFlight system. Not sure on the timeline just yet, stay tuned.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Reading amazing progress there in short time! I will try out fps increase, scrolling move and camera pan tomorrow... fine times for IB indeed :) .
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

I did a first round of test driving, great work :) :

- feels much more responsive on my note9 (around 15 fps, ranging from 10 to 20)
- combat panning is awesome - wish I could get it in for IB normal (or just free scrolling via key down in combat screen)
- double move on up is gone

Some observations on top of that:
- scrolling movement on mainmap not working, likely intentionally for fps reasons
- a tap to move would be nice on mainmap (as it works in combat already)
- party tail movement behaviour is still somewhat off (it is supposed to move tot the square that the party was on beforehand, from its scurrent position)
- combat movement speed is tied to frame frate, this is likely a bug in normal IB; it should use some normalized elpase based value instead
- Blackwinter is not using the mainmap traits, so these should be turned of on main map screen (this would also speed up draw times a bit); the trait values currently do not react to leader chnage
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

The planning code is very simple and small. You can look at my last commit to see it... well two commits ago

Great catches and feedback. I’ll look into these once I have implemented all the new commits to v183.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Last night I added another IB commit to IBx. Only two more commits to go to get IBx up to v183 :P
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Awesome, almost there :) !

I will look into the panning code, it would be really great to get this in. Oh, I fear the last (or maybe even both) commit for IB is quite large as it changes so many log entries in so many places. It's a very tedious work unfortunately (had to do it in chunks to not overly frustrate myself). A shortcut might be to to intercept everthing later in the text draw function hierarchy (for combat log) and turn all colors to white. Then turn all entries that match a pc name to green and all entries that match a cr_name to red. This would catch quite a lot of the changes (not all though unfortunately, it would miss healing to green and damage to red as well as more substantial changes concerning the info provided for new and existing, but modified entries to log).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I typically just copy and paste entire methods over the existing one in IBx. As long as there are no sharpDX or file management stuff it works flawlessly. If it doesn’t work and I get lots of red underlines, then I undo the paste and copy over one or a few lines at a time and rewrite the parts that are IBx unique. It usually goes fairly quick since the code base is practically identical (probably 98% is the same).
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Ah, that's a very efficient approach :) , should work smoothly this way...
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Three down and one more commit to go. Script functions is a doozy, but I think I can copy whole methods at a time. Should have IBx ready tomorrow night to be caught up to v183.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Finished updating IBx to v183 and tested the UWP build on my PC. Now I need to start testing on my phone... so far it seems to be working fine. I need to figure out a way to do right and left clicking functions on a touch screen.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Screen shot of v183 on my iPhone X... looks great, but I need to do some ui adjustments and missing color fixes for skiaSharp.
DC20E37F-D2D8-4E9E-956A-C9312F201119.png
DC20E37F-D2D8-4E9E-956A-C9312F201119.png (2.17 MiB) Viewed 344305 times
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Big gratz for synching up to v183 :) ! The next commits will be smaller again, for sure. The screenshot looks great - it seems like the pc/creature (later: trigger, prop, effect) info works very well on the smaller screens, too.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Looks good. Always fun clearing out bugbears.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I uploaded an iOS version of IBx (v1.183.003) to Apple's TestFlight program. I invited Karl and Zach to the IBx internal testing team. Others will be able to sign-up once the build finishes going through an Apple approval process. I'll then have a link for others to use.

I'll post IBx v1.183.003 to Google Play internal beta testing program tomorrow.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Very nice progress there :) . I will try to get it up and running on my old ipad...
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

youngneil1 wrote: Sat Feb 01, 2020 2:18 pm Very nice progress there :) . I will try to get it up and running on my old ipad...
It requires iOS 13 as a minimum so if your old iPad is on 12 or earlier, it won't work. I just uploaded v183 to Google Play in the Beta program this time (instead of internal testing track). It should show up in the store today after their short check.

EDIT: On my next build of IBx for iOS, I'll try and target iOS 12 and above.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Here is the link to IBx on Google Play:

https://play.google.com/store/apps/deta ... ne.ibb.ibx
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Ah good to now concerning the ios version - I really should get a new ipad here. The old one is just indestructible it seems though :lol: .
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

youngneil1 wrote: Sun Feb 02, 2020 8:48 am Ah good to now concerning the ios version - I really should get a new ipad here. The old one is just indestructible it seems though :lol: .
What iOS version is your iPad running? I should be able to target iOS 12, but I don't want to go back to iOS 10 (I think it lacks some of the file handling benefits).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Testing GIFs to see if they work on these new forums with new and fancy phpBB version.

797A6D31-3F51-4778-A1E7-6CC9E0826F07.gif
797A6D31-3F51-4778-A1E7-6CC9E0826F07.gif (1.92 MiB) Viewed 344279 times
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Hey there cutie :D ! Works nicely :)

My iPad runs on iOs 10.3.3 (ie Stoneage :lol: ).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Today I worked on fixing some of the main map and combat UI layout issues for different sized screens and aspect ratios. I also increased the font size as much as possible without creating other issues. Next up, I will try and finish implementing the script file loading part of IBx.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Today I finished implementing sound in IBx. It is great to hear all the wonderful music in Hearkenwold on my iPad and iPhone X. Plus I get those fun attack sounds too :D

I also worked on fixing the script loading issues and I think I have that fixed now. It will need further testing by those who use scripts in their modules.

I should have a v1.183.009 ready for this weekend for testing. I'll post it to TestFlight (Apple iOS) and Google Play (Android).
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Great progress there. I cannot give enough credit to Islet Sounds for the music tracks he provided to me for use in Hearkenwold.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So this weekend didn’t go as planned as I have been out sick. I started trying to address some graphic engine issues I introduced in IBx that are different from the way IB does them for the smooth move feature. I’m trying to fix IBx to work the way IB does and this may take a bit time to implement.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Get well soon, Jer. The scrolling as well as the party tail code are especially messy, I fear, so this is likely quite cumbersome to port over to IBx. This stuff gets extra tricky in a streaming, seamlessly connected scneario (neighbouring areas set up) and even more so in darkness/night when the lighting system has to kick in.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

youngneil1 wrote: Sat Feb 15, 2020 10:51 am Get well soon, Jer. The scrolling as well as the party tail code are especially messy, I fear, so this is likely quite cumbersome to port over to IBx. This stuff gets extra tricky in a streaming, seamlessly connected scneario (neighbouring areas set up) and even more so in darkness/night when the lighting system has to kick in.
I wasn't changing any of the code in the screenMainMap or the screenCombat classes. I only needed to make my DrawBitmap overloads (all contained it the GameView class) match up to the ones in IB. So all the party tail and scrolling code was actually just imported to IBx "as is". It was the IBx draw routines that were messing things up. Really IBx is almost identical to IB code except for some things in the GameView class and everywhere that a specific item for SharpDx is used like Color and Size. If we used a generic method for getting the size of a bitmap and assigning Colors, that would make all the classes identical except for GameView.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

That seems very straightforward indeed - still utterly amazing to me how the almost very same code base does its josb on different operating systems and device types, from windows desktop pc to iPhones.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Side note: I was having troubles logging in to the forums before I realized I was using an old password. It got me thinking that (just in case) I should give someone else admin rights so that we never get locked out of the forums if my account gets messed up in some way. So I changed Karl to "red" :lol:

I fixed the issue with combat smooth move by just completely copying all the IB code over the top of the IBx code in screenCombat (except for the file handling and draw methods). That did the trick. So now IBx is up to v183. I'll add all the v184 code this week and should have builds ready for iOS and Android this weekend.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Oh, i am red now, feels like me v2.0 :lol: 8-) .

Great to hear you could resolve the issue with the combat screen. I am still a bit more stressed by RL here than usual, the real estate market in big cities in Germany has simply stopped functioning imho. I already see myself knocking every door in our city quarter, bible left hand, picture of our cat Azrael in the cold rain right hand and begging for a place to live :roll: ;) . Ah, it's not that bad but it's awfully time consuming.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Yuck, that’s horrible! I saw an article the other day that popped up in my Google news about the housing market in Germany and how crazy it has become in the past few years. The article was mostly focused on Berlin, but I am assuming it is being felt everywhere. Berlin was proposing to cap rent at no more than $1 per square foot. If you need to take an extended vacation to the States until it cools down, let me know 😄... keeping fingers crossed from over here that you guys find something, anything, soon.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finished updating IBx to v184. I still have some UI issues to work out and other old bugs noted by Zach and Karl that I am working on. I should have iOS/Android builds ready this weekend for testing.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Thank you, Jer, with such support I am 100% sure that all turns out fine in the end :) .
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I posted IBx v184 to Google Play and Apple TestFlight. It may take a few hours to show up though.

Google Play (Android):
https://play.google.com/store/apps/deta ... ne.ibb.ibx

Apple TestFlight (iOS):
you should get an invitation email or try from TestFlight app... look for version 5 or v1.184.3
(if you are not part of the TestFlight group and would like to be, send me a PM.)

This build does not have all the bugs reported from v183 fixed yet, I'm still hunting those down.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Great news there - I will give the Android version a test drive tomorrow :) !
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

First impression is that the fps have improved again by quite a bit (from average 15 to average 20 on my note9), well done :) The movement on the main map feels much more fluent now, proper scroling now working. It might be great to add a "keep walking forward on arrow button held down" functionality. I move this way on pc, too (holding arrow/wasd key down) and it feels very convenient, especially as on pc you can additionally hold shift key down for a very fast movment which makes it a joy to cover greater distances.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

RL has been too busy at the moment with work audit going on the past weeks and preparing for it. I hope that well change this weekend since the audit ends this week. Maybe I can catch up to v187 and post to Google Play and Test Flight. We shall see :P
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Started playing more Hearkenwold since I have the weekend at home (teleworking during the week). My 6 year old boy took over at one point. He doesn’t read very well yet so I’m reading the conversations to him. He really likes the combat part. We came across a group of goblin wizards and my boy started letting them have it with all our web spells! He really loved that and I didn’t have the heart to tell him that they weren’t planning on moving anyway😂 He mopped them up with the thief since the fighter was held. Made some good progress this weekend in Hearkenwold. Most everyone is level 5 now. Stay safe and healthy everyone!
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

slowdive wrote: Sun Mar 22, 2020 10:35 pm Started playing more Hearkenwold since I have the weekend at home (teleworking during the week). My 6 year old boy took over at one point. He doesn’t read very well yet so I’m reading the conversations to him. He really likes the combat part. We came across a group of goblin wizards and my boy started letting them have it with all our web spells!
Sounds like good progress there, slowdive. Web spell is useful later on when there are more melee enemies you want to hold in place. So I guess it is good to practice on goblin wizards!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Dorateen wrote: Mon Mar 23, 2020 12:53 pm
slowdive wrote: Sun Mar 22, 2020 10:35 pm Started playing more Hearkenwold since I have the weekend at home (teleworking during the week). My 6 year old boy took over at one point. He doesn’t read very well yet so I’m reading the conversations to him. He really likes the combat part. We came across a group of goblin wizards and my boy started letting them have it with all our web spells!
Sounds like good progress there, slowdive. Web spell is useful later on when there are more melee enemies you want to hold in place. So I guess it is good to practice on goblin wizards!
He is getting LOTS of practice with web 😂. We just picked up fireball so I see a new favorite spell of his in the near future 😁
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I hope everyone is doing as well as possible. I have been fortunate to be able to work from home with my job (transmission planner). Schools are closed for the remainder of the year. My daughter and I have started playing through the original campaign of NWN2 (her first time) in parallel. I don't think you can do MP any more so we are just playing on two separate computers next to each other. We are also trying to stay near each other in the story. I am trying a male wood elf ranger/sorcerer build and my daughter is a female halfling monk. I also am using mods for the first time. I am trying the Tchos HD UI, some portrait additions, and the face lift pack. We are almost to high cliff.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

for IBbasic, I am looking to add some additional tactical combat mechanics. I want to add attack and/or defense bonuses based on the number of enemies and companions that are adjacent to the attacker/target. I used to play a game called "Lord's of Conquest" on my c64 that used similar mechanics and it was fun. It makes some of your moves/position on the battlefield more like a chess game. Karl had some square bonuses in combat that I would also like to use for things like ground elevation, coverage, etc. Also, some creatures that have regeneration features will be able to "respawn" on the battlefield unless a PC is stand on their square (like in the goldbox engine for trolls). This also could work for PCs not being able to pop back up (healed after being below 0 hp) if a creature is standing on top of them. I will also look to have some traits that will allow for moving without the "attack of opportunity" triggering (maybe for thief). Position of attacking a creature could provide bonuses such as front +0, side +1, and back +2 (or something like that).
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

These sound like great tactical options. I always enjoy pondering over the best placement on the battlefield. I think the first games of the Battle Isle series had such ruleset, too (support for neighbours for both sides), or my memory tricks me :lol: .
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So I am changing directs a little bit as I am now working on IBbasic Jr. for Kids :lol: (short diversion from IBbasic, but should help with ideas for IBbasic as well).

Both of my kiddos have been showing some interest in making IBbasic modules, but the learning curve is still steep so I am making a much simpler version for them. I am looking to have fewer options and focus on a more intuitive toolset. So there won't be as much flexibility, but it should be easier for kids to make something. I have the PC version mostly done and I am now working on adding the more complex combat AI and mechanics mentioned before. This will make those encounters more fun for the kiddos :lol: .
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

That is a great idea :) ! It brings you best of both worlds - fun with your kids and quality programming time. Also, I dont think there are many kid friendly rpgs, let alone toolsets.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I am starting to add a feature to use a weapon in the off-hand. I have equipping the item working so far. I'll need to add the impact to combat (such as one additional attack per round) and traits (like two weapon fighting L1 and L2 to reduce the penalty for using two weapons). I'll also add a lower penalty if the off-hand weapon is "light". I'll need to add the new information text to the party screen to show the different attack info for both hands.

EDIT: I have the combat part working now for two weapon fighting and the party screen info showing MainHand and OffHand info. Just need the traits and "light" weapon parts for the penalty reductions.

OffHand01.PNG
OffHand01.PNG (146.9 KiB) Viewed 335872 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

slowdive wrote: Sat Jan 16, 2021 11:59 pm I am starting to add a feature to use a weapon in the off-hand.
This is great, slowdive. Duel-wielding with a thief or ranger is something I missed in IceBlink.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Dorateen!

Here is the code for checking what the two-weapon fighting penalty/modifier should be depending on having a trait and/or having a light weapon in the off-hand:

Code: Select all

public int CalcPcMeleeTwoWeaponModifier(Player pc, bool isMainHand)
        {
            if (gv.sf.hasTrait(pc, "twoweaponfighting2"))
            {
                if (isMainHand)
                {
                    if (gv.cc.getItemByResRefForInfo(pc.OffHandRefs.resref).isLightWeapon)
                    {
                        return 0;
                    }
                    else
                    {
                        return -2;
                    }
                }
                else
                {
                    if (gv.cc.getItemByResRefForInfo(pc.OffHandRefs.resref).isLightWeapon)
                    {
                        return 0;
                    }
                    else
                    {
                        return -2;
                    }
                }
            }
            else if (gv.sf.hasTrait(pc, "twoweaponfighting1"))
            {
                if (isMainHand)
                {
                    if (gv.cc.getItemByResRefForInfo(pc.OffHandRefs.resref).isLightWeapon)
                    {
                        return -2;
                    }
                    else
                    {
                        return -4;
                    }
                }
                else
                {
                    if (gv.cc.getItemByResRefForInfo(pc.OffHandRefs.resref).isLightWeapon)
                    {
                        return -2;
                    }
                    else
                    {
                        return -4;
                    }
                }
            }
            else
            {
                if (isMainHand)
                {
                    if (gv.cc.getItemByResRefForInfo(pc.OffHandRefs.resref).isLightWeapon)
                    {
                        return -4;
                    }
                    else
                    {
                        return -6;
                    }
                }
                else
                {
                    if (gv.cc.getItemByResRefForInfo(pc.OffHandRefs.resref).isLightWeapon)
                    {
                        return -8;
                    }
                    else
                    {
                        return -10;
                    }
                }
            }
        }
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Good work there :). Dual-wielding was always missing and it's a classic staple of many D&D settings.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

For IBbasic Jr, I needed to create an editor for working on the default PlayerClasses, Races, Effects, Spells, Traits, creatures, and Items. So that is what I have been working on the past few days. I am pretty much done and now I am ready to start creating the needed two-weapon fighting traits and flag any light weapons. I'll also need to go through all the default creatures, items, spells, and traits to create all the default ones for builders to use. Lots of cleaning and organizing ahead :lol:
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I created the two traits and finished implementing the system. I just need to go through each weapon and flag the ones that are "light" weapons.

In the images below you can see that the ranger has the trait, but since the off-hand item hasn't been changed to be a light weapon yet, it still shows -4/-4 instead of -2/-2... I'll fix that next.
OffHand02.PNG
OffHand02.PNG (148.58 KiB) Viewed 331454 times
OffHand03.PNG
OffHand03.PNG (126.63 KiB) Viewed 331454 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Finished adding the "light" weapon flag to all light weapons. In the item description, it now shows "Light Weapon: yes/no" as seen in the image below. Also, the correct attack modifier is calculated due to the light weapon.
OffHand04.PNG
OffHand04.PNG (148.59 KiB) Viewed 331453 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

That is wonderful. Another mechanic I think has been missing from IceBlink is critical hits. It doesn't have to be an elaborate system, could be just double damage on a roll of a natural 20. But something like that can dramatically change the feel of combat.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I added the mechanics for critical hits as suggested by Dorateen. It basically works like d20, or is close. A 20 always hits, but does not automatically result in a critical hit. If the threat range is exceeded, then another roll is made with the same bonuses to see if you make the critical hit (another 20 or threat range is not needed for this roll). The critical hit damage uses the item's or creature's CriticalMultiplier value which could be x2 or x3.

Here is the important code for PCs (for Creatures is similar):

Code: Select all

            int attackRoll = gv.sf.RandInt(20);
            int attackMod = CalcPcAttackModifier(pc, crt, isMainHand);
            int attack = attackRoll + attackMod;
            int defense = CalcCreatureDefense(pc, crt);
            int damage = CalcPcDamageToCreature(pc, crt, isMainHand);
            bool criticalHit = false;
            int critAttackRoll = gv.sf.RandInt(20);
            int threatRange = 20;
            
            Item itChk = gv.cc.getItemByResRefForInfo(pc.MainHandRefs.resref);
            if (!isMainHand)
            {
                itChk = gv.cc.getItemByResRefForInfo(pc.OffHandRefs.resref);
            }
            if (itChk != null)
            {
                threatRange = itChk.threatRange;                
            }
            
            if (attackRoll >= threatRange)
            {
                //determine if a critical hit is applied
                if (critAttackRoll + attackMod >= defense)
                {
                    criticalHit = true;
                    damage *= itChk.criticalMultiplier;
                }
            }

            bool automaticallyHits = false;            
            if (itChk != null)
            {
                automaticallyHits = itChk.automaticallyHitsTarget;
            }
            //natural 20 always hits
            if ((attack >= defense) || (attackRoll == 20) || (automaticallyHits == true)) //HIT
            {
                crt.hp = crt.hp - damage;
                gv.cc.addLogText("<bu>" + pc.name + "</bu><br>");
                gv.cc.addLogText("<wh>attacks </wh><br>");
                gv.cc.addLogText("<gy>" + crt.cr_name + "</gy><br>");
                if (criticalHit)
                {
                    gv.cc.addLogText("<gn>CRITICAL HIT (-" + damage + "hp)</gn><br>");
                    gv.cc.addLogText("<wh>ATT: " + attackRoll + "+" + attackMod + ">=" + defense + "</wh><BR>");
                    gv.cc.addLogText("<wh>CRIT: " + critAttackRoll + "+" + attackMod + ">=" + defense + "</wh><BR>");
                }
                else
                {
                    gv.cc.addLogText("<gn>HITS (-" + damage + "hp)</gn><br>");
                    gv.cc.addLogText("<wh>" + attackRoll + "+" + attackMod + ">=" + defense + "</wh><BR>");
                }  
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Wow, I did not expect the full system of threat range and varying crit multipliers. Amazing!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Dorateen wrote: Thu Jan 21, 2021 2:50 pm Wow, I did not expect the full system of threat range and varying crit multipliers. Amazing!
Thanks Dorateen! Today I fixed a couple of bugs with the two new systems after testing. I also added more feedback in the combat log about attack rolls and critical rolls. I updated all weapons in the new IBbasic Jr. data editor to add threat ranges and critical multipliers (used the values from the d20 SRD). Next up I will create a trait for "improved critical" that will double the threat range. I will also add a trait for "two-weapon defense" that will add a +1 AC bonus when using a weapon in the off-hand and maybe a L2 as well that uses a +2 AC bonus.

So who should have access to these traits and at what level do you suggest?
two-weapon fighting L1
two-weapon fighting L2
improved critical
two-weapon defense L1
two-weapon defense L2
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

slowdive wrote: Fri Jan 22, 2021 4:50 am

So who should have access to these traits and at what level do you suggest?
two-weapon fighting L1
two-weapon fighting L2
improved critical
two-weapon defense L1
two-weapon defense L2
Presently in IceBlink we have the Two Attack trait available for Fighters at 4th level. I think that would be a good place for the Two Weapon Fighting trait, so players have a choice to build a character who attacks twice with one weapon, or attacks with two weapons. Then maybe add the L2 version at Level 6.

Since two weapon fighting is often associated with rogue or ranger builds, perhaps make the traits available for those classes at Level 2 and 4, respectively.

Improved Critical could be pretty powerful, how about an odd level like 5. Would make available for Fighters, Rangers, Paladin and Thief classes.

I would probably put the Two weapon defense traits on odd levels, maybe 3 and 5. I don't see these traits being abaillable for wizards or clerics.

But this is all dependent on a module builder and the scope of their project. The traits available and at what level can always be adjusted in the toolset. The above is just some thoughts as a starting point.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Dorateen, I'll use those as the default values and of course builders can modify them as needed.

Today I implemented the two-weapon defense traits and the improved critical trait. I also add more text info on the character screen, party inventory screen, and item selector screen to show the threat range and critical multiplier of a weapon.
OffHand06.PNG
OffHand06.PNG (149.72 KiB) Viewed 331420 times
OffHand05.PNG
OffHand05.PNG (94.41 KiB) Viewed 331420 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I added a new trait called "Bandage". It is available to all Player Classes at level 1 and is automatically learned. It is an active trait and it uses up your turn. You need to be adjacent to a PC in order to use it. If a PC falls below 0 HP and starts bleeding, you will want to use this trait to bring them back to 0 HP so they don't die. I think it will work out okay, but I'll have to wait and see if it is too powerful of a feature/trait. Maybe it should be available to only some classes or it has to be learned so that players have to make a choice on selecting this trait or others. I haven't implemented it for outside combat use just yet.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

The past few days I have been working on the Xamarin version of IBbasic Jr. Xamarin has evolved a bit since I worked on IBbasic last so some changes had to be made. It looks like the future is in .net standard so it automatically put me in that direction when creating a new project. The project is structured differently than it was when I was doing a "shared" project. So far I have the UWP and android versions working. I still need to add all the changes that I have implemented with the PC version as posted above. I will need to renew my Apple dev account and pay the annual fee before I can get the iOS version running. I briefly looked at maybe moving IBbasic to Unity, but I think I will stick with Xamarin for now.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Sounds good. I really like the idea of a bandage trait that you mentioned in the previous post. That can be critical if the party runs out of healing options with characters reduced to negative hitpoints and bleeding every step as they try to reach a place to recover. I think making it available to all classes at level 1 is fine.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So I have the Xamarin version and the PC version all synched up for the new IBbasic (dropping the IBbasicJr name) (including the iOS and android versions both working). I am now looking at adding portraits back into IBbasic. I removed them previously because I wanted to focus on art assets that would be easy to make in the built-in art editor. I miss having the portraits for PCs and conversations so I will be adding them back in and adjusting the art editor to allow for creating and editing them. Also, I am moving back to the original focus of 2D areas, 4 attributes, 4 item slots, and no ammo (similar to the original version of Iceblink). IBbasic will go back to being truly a basic version of IB (basic compared to the current version of IB) with a focus on easy building (faster, easier, intuitive), story and party based fun modules, and interesting and varied encounters (better AI, tactics, more combat mechanics, traits/spells).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Here is the layout I am thinking will work. I need to fix the centering a bit. I am not sure if I should move all the items to one side, the traits/spells/effects/info to the other side and have the token under the portrait.
OffHand07.PNG
OffHand07.PNG (175.4 KiB) Viewed 332185 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Here is what the revised main map screen looks like with a full party and portraits:
IBbasic01.PNG
IBbasic01.PNG (236.43 KiB) Viewed 332177 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Those screenshots look great. For the character sheet above, it would indeed be nice to have the token positioned under the larger portrait. But looks like that will require moving the other elements around and possibly scaling them down in size.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Yeah those screenshots are looking great! Loving all the new stuff that's been added recently, like two weapon fighting.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Pongo and Dorateen! Pongo, I am looking to have Blackwinter be the default module that comes with IBbasic. I see that there are a number of maps and other parts that were not finished and I know this was just a demo module at the time it was released. It still plays well and has a full story with a start and a finish so I think it would be fine. I could also use The Raventhal as before. I will of course have The Raventhal and The Elderin Stone as part of the in-app download modules as before. Thoughts?
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I adjusted the layout of the party screen and also added The Elderin Stone default player portraits back in:
IBbasic02.PNG
IBbasic02.PNG (178.85 KiB) Viewed 332162 times
IBbasic03.PNG
IBbasic03.PNG (159.4 KiB) Viewed 332162 times
You can see that Murray hasn't learned the two-weapon fighting trait (L1) just yet, but he really wants to dual wield those long swords :lol:

Do you like this layout better? Or should I have the 4 item slots in the first two rows and the spell/trait/effect/info in the last two rows? They are very easy to move around in code.

This is what the other layout looks like:
IBbasic04.PNG
IBbasic04.PNG (159.02 KiB) Viewed 332160 times
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Yeah that's great, thanks Slowdive! I haven't played Blackwinter in years, I'll have to have another look at it at some point. I had all kinds of plans for it that never actually happened (which wasn't unusual, sigh!). I think there's a couple of outstanding bugs in the Elderin Stone that I need to check out as well at some point.

Personally, I prefer the second of the screenshots - something about having the dual wielding weapons on the left and right of the portrait appeals to my OCD. But I'm happy with either.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

I absolutely agree, the dual weilding looks better on the left and right of the portrait.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I guess the votes are in and the split items (last image) is the winner :lol:
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Yesterday and today has mostly been code clean up work and some UI clean up as well. Nothing exciting to show :lol:

I also did some work on Blackwinter to have it in sync with IBbasic and prepare it to be the default module that comes with IBbasic (other modules are easily downloaded in the app from the IB server).

I started a features list (or maybe a task list) for IBbasic and included it in the IBbasic area of the forums.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

The past few days I have been working on the in-app comments, module review, and module endorse systems. I converted them to use a mySQL database so that all functions are automated. Everything seems to be working as intended. It took me sometime to figure it all out as it is all new to me. I retired the old web based comment system page as it was overrun with bots anyway (even with the recaptcha). The only way to access the new system is through the IBbasic app (PC, iOS, Android). Next, I want to try and see if I can come up with a system for submitting a module to the server and having it be available to other users to download and play. Right now, I have been uploading modules myself through ftp, but I would rather have a system that the builders can post them from within the app to the server directly.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I was able to successfully upload and download a module package (info and file) to and from the server. So now builders can upload/update their modules directly to the server for players to download (and all from within the IBbasic app). This was the last part that was not being handled with in the app. This will make it much easier and more intuitive for builders to share their modules with others. I still need to work on the logic for checking if the module already exists on the server and just needs certain fields updated or if it is a new module. I also will check and verify that a builder has the right to update a certain module (verify it is their module)... you can only update your modules. I'll need to also have an option to remove a module from the server (from within the app).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I added in all the logic and notifications for checking if a module being submitted is owned by the submitter and if the module version on the server has a lower module version than the one being submitted. Everything seems to be working as designed. I'll still need to add a remove module from server option. Maybe I'll add a button for requesting to view a list of modules on the server and some of the basic module info (module name, author name, version, description, etc.). That way a builder can check to make sure their module was indeed uploaded successfully.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So the above system seems to work on PC and iOS, bt not on Android. After some more research, I now realize that the way I am doing it really isn't the best way when allowing other users to interact with the database. So I am researching how to setup a Web API. So the app will just query this Web API which then talk to the database. This way only the Web API talks directly to the database and this is supposed to be more secure.

Another feature I have wanted to add will be to allow players to upload one save game to the server that only they will have access to. I'll probably switch out the "autosave" button to something like "server save". This way a player should be able to save to the server and load that save from a different device as long as they have setup the same unique userID on all their devices (PC, phone, tablet, etc.)

Thoughts?
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

A server save sounds useful - good idea!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finally was able to get the file uploading functionality working with the php web api. So I have the uploading of a server save game file and the ability to upload modules directly from the IBbasic app. Now I need to have a corresponding module info post to the mysql database with the path to the module file and all the other metadata. After that, I will implement the download functionality to download your server save game files (one for each module you are playing) and any modules that are on the server that are new to you or updated versions of modules you already have on your device.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I was able to get the server save game working. You will now be able to save a game to the server (one save per player per module) and continue that save from any other device where you use your same unique userID. Next I will focus on the getting the module upload and download fully working. After that, all the server features will be fully implemented and I will go back to actual game play features.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

The past couple of days I have been cleaning up a lot of the file handling systems and using a common file handling system instead of platform specific. It is one of the newer xamarin.forms features that I am trying to incorporate that should make managing the code easier going forward. The fewer platform specific code the better.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Finished the common file handling and the server features. Back to actual game engine stuff now :D
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I did some play testing and fixing bugs this weekend. I play tested The Raventhal twice and enjoyed playing it... it had been awhile since I played it. I played once with the default Havfel and on the second playthrough I was a ranger with two-weapon fighting :D.

Also, my two kiddos started working on modules and so I was able to see when I need to add more intuitiveness to the in-app toolset. It is really nice to have all the server features. The kids are having fun instantly sharing their module updates with each other and leaving comments on eachothers modules.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

My kiddos are finding lots of bugs while working on their modules. The one feature they keep asking for is a "return to main menu" button on the launch, title, and party builder screens... so I added that for them :P very tough and demanding group they are :lol:

My son's (7) module is more like a character build creator and battle arena build tester type module. He likes to give you lots of XP and all the best items and then throw you right into huge battles :o :P

My daughter (11) is working on an adventure where you must solve the mystery and save the jungle. She has lots of fun conversations and interesting NPCs to meet. Plus, she has unique animal companions that may join you. She is doing a lot of artwork in her own unique style.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

After the "return to main menu" button request, my kids next most requested feature was to make setting up transitions easier. My daughter suggested having a map pop up and tap on where you want to transition to. So I added a button "setup transition" that when pressed, you are presented with a list of all the areas in the module. After selecting an area, a map is shown and you tap on the map where you want the transition to take you. The location marker is a red arrow. After tapping "accept transition", the trigger infor for area filename and x,y locations are automatically completed for you. Super easy and no need to memorize coordinates while you switch back and forth between area maps :D
TransitionWizard.PNG
TransitionWizard.PNG (246.16 KiB) Viewed 329236 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

The transition wizard seems like it can be pretty handy.I know when you have a lot of transitions, placing them can get tedious. Good suggestion.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I've been working on the data editor a bit and adjusting the engine to look for either a "data.json" file or a "data_append.json" file in the module's module folder. If you have a "data.json" file, it will be used instead of the default data file allowing you to have something completely different than the default Classes, Races, Effects, Spells, and Traits. If you use a "data_append.json" file instead in your module (you can't use both), then you can add your module specific Classes, Races, Effects, Spells, and Traits on top of the existing default ones. If you don't have either of these files, your module will just use only the default stuff. The IBbasic Data Editor allows you to create both of the data type files.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I added the ability to create and edit portraits in the in-app toolset art editor. I also added a function to copy the idle frame to the attack frame for tokens in the art editor. This way you can create a token in the idle frame and once you are happy you can copy it to the attack frame and adjust as necessary. For the toolset creature and item editors, I changed the select image for item and creature token to use the image selection screen instead of a drop down list of filenames. I updated the "todo list" in the IBbasic forum section: viewtopic.php?f=10&t=24
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Good work! I hadn't seen that list, it looks great - mirror image and stonrskin would be great additions for Spellcasters, I was just thinking about them the other day.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Pongo and I added your suggestions to the task list. Yesterday and today I worked on animations triggering for attacks of opportunity. My kids would keep forgetting that if they moved away or around a creature it would get a free attack. Now they get a visual reminder with a creature attack animation, a miss or hit symbol, and floaty damage text as well :lol:
I also fixed a bug that was causing the attack animation for creatures not showing for normal melee attacks.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Made a few more additions and organization to the "IBbasic Features List". Plus, I added a flag to each feature/bug fix to indicate if it is needed for the initial release or if it can wait for subsequent versions.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I added a "delete" module button (trash can icon). This will allow you to remove a module folder from your device if you no longer want that module.

The kids and I have been playing a bit of BG3 (I have them skipping all the cutscenes) and the kiddos really like the turn-based combat. I think they mostly like creating characters, but that is kind of their MO in all RPGs. We have played through the starting area a number of times and then they go back to creating a different character to try different things. We have player in multiplayer with the three of us, but it crashes every once in awhile. Lately, we have just been playing concurrent single player runs and trying to wait for each other to get to the same places before moving forward.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Sounds like a nice way to spend some time with your kids! Mine are just stuck on marble runs at the minute (which is actually more entertaining than I expected!), but I'm thinking of investing in one of those new Hero Quest box sets for the future. I think it would be a nice introduction to tabletop when they're a bit older.

Delete will be helpful, thanks! On a kind-of-related-note, when you click module "save as" there isn't an option to cancel so you have to create a new, differently titled version of the module. Even after eight years I can't help but click that option from time to time by mistake. You'd think I'd have learned by now. :) A cancel option would be nice.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

slowdive wrote: Sun Mar 14, 2021 12:13 am We have player in multiplayer with the three of us, but it crashes every once in awhile.
Hey slowdive, I haven't been following BG3 closely. When you talk about the multiplayer mode, is there a way to use that to create your own party like in the original Baldur's Gates? Like you set up a multiplayer session on one computer, and you add multiple player characters to the party.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

You can do it on one computer (there is a trick), but we have three computers that can run BG3 and we have played with three PCs in multiplayer mode. When you save the game, you can then load that game in single player mode and control all three (party size is four max in BG3 for now, not sure if that will change some day). The trick with one computer is to run multiple instances of BG3 from one computer to create the four PCs in multiplayer mode, save it once the story starts, and then load that save in single player mode. You need a pretty good PC to run multiple instances I suppose. After the first instance is up and running, use "windows key" to leave full screen and then navigate to the BG3 "bin" folder in the "Baldur's Gate 3" install folder. Run the "BG3.exe" or "BG3_dx11.exe" to open more instances.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Pongo wrote: Sun Mar 14, 2021 7:49 am Sounds like a nice way to spend some time with your kids! Mine are just stuck on marble runs at the minute (which is actually more entertaining than I expected!), but I'm thinking of investing in one of those new Hero Quest box sets for the future. I think it would be a nice introduction to tabletop when they're a bit older.

Delete will be helpful, thanks! On a kind-of-related-note, when you click module "save as" there isn't an option to cancel so you have to create a new, differently titled version of the module. Even after eight years I can't help but click that option from time to time by mistake. You'd think I'd have learned by now. :) A cancel option would be nice.
We mostly have been giving Grounded a go again with the latest updates. We all four play on three computers and on a xbox one s. Grounded is a fun game for a family game. My wife and kids love it. I haven't heard of the Hero Quest box sets or marble runs, I'll need to check them out.

The delete button is for IBbasic only. It is easy enough in IB to just delete any module folder since on a PC you have easy access to the full file system. We'll need to remember to address the "save as" cancel option once Karl is back on the coding tasks.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Today I fixed the issue with some of the floaty text not triggering at the right time. Yesterday I worked on some of the issues with larger creatures not correctly accounting for their covered squares when moving. I also fixed some issues with placing and moving larger creatures in the IBbasic in-app toolset.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

This is Hero Quest:
https://heroquest.avalonhill.com/en-us
It's a simple dungeon crawl board game, a lot of fun. It's been out of production for decades and the eBay prices were horrendous so nice to see it making a comeback. They made a computer game of it as well, which was fun back in the day... https://www.myabandonware.com/game/heroquest-169
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Looks interesting! We have the Dungeon! (1980 version https://en.wikipedia.org/wiki/Dungeon! ) board game and play that as well as Rummikub, Monopoly Jr, and a simplified version of Axis and Allies. :lol:
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I'm starting to dig into the combat mechanic features from the feature board list. I'm starting with the attack from behind modifiers and having a trait effect (most likely for thief at higher level) that expands the behind width from one square to three squares.

Here are the tasks from the list that I'm working on next:
+combat mechanics: modifiers for number of adjacent friends... maybe +1 AC for every one or two adjacents (some visual indicator of the bonuses as well). So your AC goes up if you stick together, but you become more susceptible to AoE attacks.
+bonuses for rear attacks and have a trait for expanding the area and/or bonus (some visual indicator of the bonuses as well)
+create an effect that increases move distance and one that doubles number of attacks (can be used for "haste" with both effects or a special trait like "dash" and "improved dash" that increases just move distance)
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

These are lots of little changes I would love to be able to make use of in the game I'm working on. If I continue plugging away on the desktop version, will it then be much hassle to convert it to IBBasic to take advantage of these features, or is it like building the game again from the ground up?
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

cartons wrote: Mon Mar 22, 2021 1:30 pm These are lots of little changes I would love to be able to make use of in the game I'm working on. If I continue plugging away on the desktop version, will it then be much hassle to convert it to IBBasic to take advantage of these features, or is it like building the game again from the ground up?
Most likely, any of the features that I am adding to IBbasic, that make sense for IB, will be added to IB at some point when Karl has the time.

As far as converting from IB to IBbasic, I have made tools in the past that converted IB modules to IBmini and early versions of IBbasic for example. I will be doing the same again and it should work very well if you adhere to a few rules:
1) IBbasic does not use height maps, weather system, lighting system, animations outside combat, etc.
2) IBbasic does not use single area images, only tiles. Area and combat maps using tiles and only using layers 1-3 will convert well.
3) Area triggers only use events 1-3. No combat triggers.
4) IBbasic uses 48x48 images for normal tokens (96x96 for large/wide/tall tokens), props, items, etc.
5) Conversations will convert very well. The conversation system is pretty much the same for IB and IBbasic.
6) Containers, Journals, Stores should all convert directly.
7) Creatures and Items should transfer well.
8) Props are not used in IBbasic. Instead, triggers have an image option so they act like props.
9) Player Classes, Races, Effects, Spells, and Traits should come over with a few tweaks possibly needed here or there. IBbasic has a data editor available on PC to customize these.

I mostly used the tools in the past to import all the modules that are currently available for IBbasic. They were all originally created for IB and I converted them to IBbasic and then made any additional edits as needed. Most of the work in the conversion is done by the tool which I'll probably have as part of the IBbasic Data Editor app for PC.
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

Thanks for the detailed response.

I've been using single area images, but could make the switch to tiles if I needed to. Props would be the greater loss perhaps. I'm just starting to see their potential.

Something to consider...
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

cartons wrote: Wed Mar 24, 2021 2:10 pm Thanks for the detailed response.

I've been using single area images, but could make the switch to tiles if I needed to. Props would be the greater loss perhaps. I'm just starting to see their potential.

Something to consider...
The IB -> IBbasic tool converts Props into Triggers with the image. The main loss is that Triggers do not move easily and Props can move around on each round. Props are really cool and, when used with Karl's project living world system, can even have varying schedules. It was just too much overhead and complex systems for what IBbasic is all about. IBbasic is supposed to be basic and IB is the more flexible and complex app (aka larger learning curve).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Finished first playthrough of BG3. It doesn't take too long as it is just the first chapter that is available, I just have a slow play style. I didn't find any of the companions too interesting so I had two of my own made PCs. I ended up using Gale and Wyll. My two PCs were a female human BattleMaster and a female wood elf Thief. I don't think I found everything though. I'll probably do another playthrough with a completely custom party (not use any of the companions) and do a little more exploring.

For IBbasic, I'll be focusing on the combat mechanics and new effect types next.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I added an AC bonus for the number of adjacent friends next to a PC or Creature. You get a +1 for each friend. In the below screenshot, you can see that the cultist (it is the cultist one square below the text since the text floats about one square above the highlighted creature) has a +3 bonus to their AC because they have three adjacent friends. This creates an additional layer of strategy for keeping your party together for the extra AC bonus, but exposing the party to AoE attacks. You also might want to have the worst AC PC in the middle to maximize the number of adjacents.
IBbasic05.PNG
IBbasic05.PNG (163.88 KiB) Viewed 328523 times
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Nice addition!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Pongo wrote: Sat Apr 03, 2021 8:21 amNice addition!
Thanks Pongo, I think it will make tactical positioning a little more interesting in combat. Once I add in square modifiers for attack/damage (think higher ground advantage), defense (think cover), and movement (think mud or sand or snow), that should also add some additional tactics to combat.

I started working on the attack from behind system. It now should work properly for large and normal size targets. I also added a new effect that can be from a passive trait, item, or spell that increases the width of the attack from behind. So instead of triggering an attack from behind from just one square, it can be triggered from three squares (of course different on large creatures). I figure this could be used in a trait like improved attack from behind (probably a thief trait and useful for their backstab) or a ring of improved attack from behind. I have the code in place, now I need to create a trait to test the code out.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Today I added the code for a mirror image type effect and for a stone skin type effect. So far they are accounted for in creature and PC attacks, but I still need to add the code for when spells or other attacks hit them. I also still need to create the actual spells that use the effects.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I created a "Proving Grounds" module for testing all the new combat features. First I created a new trait for the improved attack from behind range. I athen created two new spells: stone skin and mirror image. I started testing them and the attack from behind range worked first try, but the mirror image and stone skin still need some work. Plus, I need to add a fx image for mirror image that shows multiple smaller images of the PC surrounding the token.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I have stone skin and mirror image working properly now. Below is showing six mirror images (just for show to see the positions of mini images, he really only has one left at this point) and the "hold" effect is a placeholder for the stone skin effect fx image. It will only show the actual number of mini images based on how many images you still have left (6 max). The spells will be mirror image (3 images) and improved mirror image (6 images).
IBbasic06.PNG
IBbasic06.PNG (95.22 KiB) Viewed 328466 times
Here is a screen shot of the fx screen which shows how many images are truly left and how many absorption points are left for the stone skin.
IBbasic07.PNG
IBbasic07.PNG (88.55 KiB) Viewed 328466 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I added the basic parts for prohibiting spell casting if currently silenced. I think at this point I will start flushing out all the larger parts and add the details as I go. I'll start with creating all the standard races first. Then I'll move on to finishing up the standard player classes, then spells and traits.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

All this looks and sounds good, slowdive. Getting closer and closer to fill out the collection of similar spells that were available in the Gold Box games. The introduction of new spell effects (mirror image, stone skin and silence) is exciting.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Dorateen wrote: Thu Apr 08, 2021 10:17 pm All this looks and sounds good, slowdive. Getting closer and closer to fill out the collection of similar spells that were available in the Gold Box games. The introduction of new spell effects (mirror image, stone skin and silence) is exciting.
Thanks Dorateen! I think with the addition of touch/attack based spells (require a successful hit) as well will add some new tactics. Spells like shocking grasp or cantrips that use little or no SP, do minor damage, and require a successful attack role.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So for now, the default races will be human, dwarf, elf, halfling, and gnome. The default classes will be fighter, paladin, ranger, cleric, druid, thief, and wizard. I started working on a list of spells for each of the classes. So far I have 24 for wizard, 31 for cleric, and 29 for druid. Paladin and ranger have a fewer amount from cleric and druid spells. So far I just have things listed in Excel, but I will start creating them in the IBbasic data editor once I have them all worked out.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Yesterday I worked on fully implementing racial traits. I saw that I had them in the toolset, but they were not being used in the engine. I have everything working now so Elves are immune to sleep, Halflings have a +1 to AC and +1 to all saving throws, and Gnomes have +1 to AC. I also fixed a few bugs with calculating saving throw values from racial traits, items, buff effects, etc. I also added the saving throw values to the character sheet again.

Below is a halfling with the +1 AC shown and the +1 to each saving throw (the default was 0,2,0)
IBbasic08.PNG
IBbasic08.PNG (171.28 KiB) Viewed 328198 times
Next, I want to go back to using Constitution and Wisdom in IBbasic so I'll add that back in and adjust the Player Classes and Race modifiers as needed.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Today I continued working on the spell lists. I also started adding the code for transfer type effects. These type of effects will transfer HP or SP from the target to the sender (caster or trait user or item user). This effect could be used for a minor drain spell, vampiric spell, magic drain spell, vampiric dagger, or a wand of energy drain. I also finished adding Constitution and Wisdom back in and adjusted the SP attribute for all player classes. I added a Half-Orc race as well.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I have the transfer hp or sp effect working now. I also have the require successful attack working for spells as well. So now you can have spells that require a successful to hit roll before they will apply their effect. I created a Mage Blast spell (level 0 cantrip type thing) that uses 0 sp and does a small amount of damage (1d3/level) and requires a successful hit roll. I also created a Minor Drain spell that requires a successful to hit roll and drains a target of 1d4+1 hp and transfers it to the caster (see below):
IBbasic09.PNG
IBbasic09.PNG (102.14 KiB) Viewed 328180 times
I'm still working on creating all the spells in the editor, but I do have a complete list of what I want in an Excel spreadsheet now.

Code: Select all

Class	Level	Name	attack	SP cost	damage	heal	buff/debuff
Wizard	0	Mage Blast	yes	0	1d2/lvl		
	1	Flame Fingers		7			
	1	Mage Bolt		5			
	1	Mage Armor		7			
	1	Minor Drain	yes		1d4	1d4	
	1	Sleep		10			
					
	3	Mirror Image					
	3	Stinking Cloud					
	3	Energy Drain	Yes		drain SP		
	3	Web					
	3	Silence					
	3	Vocalize					
				
	5	Vampiric Touch	Yes				
	5	Fireball					
	5	Haste					
	5	Hold					
	5	Lightning Bolt					
	5	Slow					
					
	7	Dispel Magic					
	7	Minor Globe of Invulnerability			blocks 1-3 level spells, not dispel magic		
	7	Stoneskin					
	7	Greater Mirror Image					
	7	Dimension Door					
	7	Cloud Kill					
						
							
Cleric	1	Bless					
	1	Magic Stone					
	1	Cure Light Wounds					
	1	Protection (from evil)					
	1	Elemental Resistance					
	1	Spiritual Hammer	yes				
					
	3	Blast of Light					
	3	Cure Moderate Wounds					
	3	Hold					
	3	Silence					
	3	Vocalize					
	3	Neutralize Poison					
					
	5	Greater Elemental Resistance					
	5	Mass Elemental Resistance					
	5	Mass Minor Heal					
	5	Cure Serious Wounds					
	5	Prayer					
	5	Free Action					
					
	7	Cure Disease					
	7	mass protection					
	7	Cause Disease	yes				
	7	Dispel Magic					
	7	Defensive Stance					
	7	Cure Critical Wounds					
							
Druid	1	Cure Light Wounds					
	1	Endure Elements					
	1	Entangle					
	1	Longstrider					
	1	magic stone					
	1	Barkskin					
				
	3	Insect Swarm					
	3	bull's strength					
	3	cat's grace					
	3	Ice Storm					
	3	Hold					
	3	Gust of wind (knockdown)					
	
	5	call lightning					
	5	cure moderate wounds					
	5	neutralize poison					
	5	Remove disease					
	5	spike growth					
	5	Free Action					
			
	7	sleet storm					
	7	Dispel Magic					
	7	Cure Serious Wounds					
	7	Flame Strike					
	7	Spike Stones					
		

Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Nice additions!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Pongo wrote: Wed Apr 14, 2021 3:03 pmNice additions!
Thanks Pongo, the new additions should be fun to use. Especially once I increase the creature AI :twisted:

Today I finished more of the spells. I have most all of the wizard spells created and tested. I'll start on the cleric and druid spells tomorrow. Paladin and Ranger spells will come after that (they are really just selecting from the cleric and druid list so will be very quick).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I'm a little more than half way through the cleric spells now. I'm flushing out the spreadsheet at the same time as it helps me when creating the spells/effects in the data editor. It also helps me see all the data at a glance so I can create more balance when choosing the amount of SP for each, the amount of damage, the range and AoE.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finished creating all the spells for Wizards, Clerics, Druids, Paladins, and Rangers. Now I need to work on the artwork for the spell images in teh spell selection screen and any new spell FX images. I'll still need to do some thorough testing of all the new spells and systems. I'll also need to merge them into the iOS/Android version (Xamarin) as well. I always work everything out in the PC version first due to its much better code editing while running in debug mode (in the Xamarin version, you have to rerun every time you want to make changes to the code).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finished the icons for the Wizard spells, next up is Cleric and Druid.
The first row are Level 1 spells and are available for learning at level 1. The second row are Level 2 spells and are available for learning starting at level 3. The third row are level 3 and the fourth row are level 4 spells.

This testing grounds wizard has all spells :lol:
IBbasic10.PNG
IBbasic10.PNG (135.07 KiB) Viewed 335297 times
This wizard has only learned one spell :P
IBbasic11.PNG
IBbasic11.PNG (133.41 KiB) Viewed 335296 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finished the icons for the Cleric and Druid spells:
IBbasic12.PNG
IBbasic12.PNG (132.87 KiB) Viewed 335288 times
IBbasic13.PNG
IBbasic13.PNG (134.64 KiB) Viewed 335288 times
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

That looks great! I love the icons - crisp and colourful.
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

Man, it's a little silly how excited I get seeing those little icons all lined up like that. Can't wait for this to get out there and for folks to start building. If IBB sees a steady rate of new modules from devs, it might be the last mobile gaming app I ever get!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thank you cartons and Pongo for the feedback! I think things are starting to come along nicely and look more uniform. I still have a ways to go on the “features list” (see in IBbasic section of forums), but I still hope to have a working beta ready for testing at the end of the month or mid May at the latest.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So the server was updated to PHP 7.4 and this created compatibility issues with the forums phpBB 3.2.5. So I made a leap of faith and tried to update the forums to the latest 3.3 version and it worked :lol: So we are now on the most recent version of phpBB, yeah!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I mostly finished updating the trait icons to fit the style of the other UI elements. I still need to work on the code and the data file to make sure that all spells and traits are working as intended.

I also will be adding a property to weapons called "finesse". If a weapon is a finesse weapon, it uses the dexterity modifier for the to hit roll instead of strength. I'll still have a trait for "critical strike" that will allow you to use your dexterity modifier for damage, but I will remove the "finesse attack" trait as this will now be determined by the weapon instead. All ranged attacks will use dexterity so the finesse property is not used for them.

Some traits with new icons:
IBbasic14.PNG
IBbasic14.PNG (132.12 KiB) Viewed 335250 times
Entangle spell applied to an area, the actual effect on creatures is still being fixed, buggy at the moment.
IBbasic15.PNG
IBbasic15.PNG (78.5 KiB) Viewed 335250 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I think I have most of the spells, traits, and effects working properly now. I added checks for immunity and saving throw checks on each step when in an effect area on the map. In the below image, the top line said that the Kobold is immune to Mage Bolt (I gave kobolds immunity to mage bolts just for testing purposes). It also shows that I set the brown bear immune to entangle, but not to web (he made his saving throw).
IBbasic16.PNG
IBbasic16.PNG (95.08 KiB) Viewed 335248 times
I'm sure there will be a few bugs to work out once I fully test everything, but so far it seems to be working for the most part.
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

The Entangle tiles look great, and I'm glad for the inclusion of finesse weapons.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

cartons wrote: Mon Apr 26, 2021 12:49 pm The Entangle tiles look great, and I'm glad for the inclusion of finesse weapons.
Thanks cartons! I'm pushing back the initial release date a couple of weeks. I want to make sure and get all the "+" features in before the first release (see the feature list for details).

Next up I plan on working on the #/day type Traits. I'll add three new properties to Traits such as "NumberOfUsesPerDay" which will be an int array so you can assign the number at any given level. Another property would be "NumberOfUsesLeftForToday". The final property would be a simple bool property of "UseNumberOfUsesPerDaySystem". I see such uses for these type of Traits like Lay on Hands (once per day), Rage, etc. I figure it would be easiest to reset at 06:00 each day and after a long rest when using the "forceRest" script.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I basically have the Trait "number of uses per day" system working now. You set the number of uses per day at each level in the Trait Editor. It is an integer array so you could have something like [1,1,1,2,2,2,3,4,5,6]. This would mean that you get one use per day at levels 1-3, two uses per day at levels 4-6, three uses per day at level 7, four uses per day at level 8, etc. If you set the "useNumberOfUsesPerDaySystem" flag to false, you will not use the "uses per day" system for this trait and instead use the old system of just SP. Also, you have to set this trait to be isPassive = false, so that it is an active trait that you have to activate from the "use trait" screen. Here is an example of the "Lay on Hands" trait for Paladins:
IBbasic17.PNG
IBbasic17.PNG (124.46 KiB) Viewed 334493 times
I have it set so that at midnight, all your traits are reset and you can once again use them if they were deplenished. I also have it set so that if you call one of the itForceRest scripts it will reset your traits to fill their number of uses for the day.
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

Always fun to have more resources to account for when planning your next dungeon deep dive!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I figured out how to make a branch on GitHub and how to make a pull request to merge the branched code. So for now, I will work on new features of IB using branches and then have Karl or myself merge the branch. My first branch is called "TwoWeaponFighting" and will include the two weapon fighting code and the light weapon code. I will also need to add code to the toolset so I'll do a branch there as well.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Traits with "uses per day" are great, really opens up opportunities for class builds etc. Good work!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I started adding the code for two weapon fighting to IB. I still need to create an Effect property for "TwoWeaponFightingMainHandModifier" and "TwoWeaponFightingOffHandModifier" so that it can be used by a trait, item, or spell I suppose.

In the below image, the PC does not have a trait so full negative modifiers for off-hand are in place:
IB02.PNG
IB02.PNG (1.38 MiB) Viewed 334458 times
IB03.PNG
IB03.PNG (1.4 MiB) Viewed 334458 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I think I have a trait working now for two weapon fighting (a L1 and L2). The PC below has both Two Weapon Fighting L1 and L2, but only L2 is used since it is not stackable.
IB04.PNG
IB04.PNG (566.56 KiB) Viewed 334442 times
IB05.PNG
IB05.PNG (778.35 KiB) Viewed 334442 times

The Effects:

Code: Select all

{
    "traitWorksOnlyWhen": [],
    "traitWorksNeverWhen": [],
    "name": "Two Weapon Fighting L1",
    "thisEffectUsesFullSizeIcon": false,
    "squareIndicatorFilename": "fx_webbed",
    "durationOnSquareInUnits": 0,
    "modifyShopBuyBackPrice": 0,
    "modifyShopSellPrice": 0,
    "allowCastingWithoutTriggeringAoO": false,
    "allowCastingWithoutRiskOfInterruption": false,
    "affectNeverList": [],
    "affectOnlyList": [],
    "tag": "twoweaponfightingL1",
    "tagOfSender": "senderTag",
    "classLevelOfSender": 0,
    "description": "",
    "spriteFilename": "held",
    "durationInUnits": 0,
    "currentDurationInUnits": 0,
    "startingTimeInUnits": 0,
    "babModifier": 0,
    "babModifierForRangedAttack": 0,
    "babModifierForMeleeAttack": 0,
    "twoWeaponFightingMainHandModifier": 2,
    "twoWeaponFightingOffHandModifier": 6,
    "damageModifierForMeleeAttack": 0,
    "damageModifierForRangedAttack": 0,
    "acModifier": 0,
    "isStackableEffect": false,
    "isStackableDuration": false,
    "usedForUpdateStats": false,
    "repeatTerminalSaveEachRound": false,
    "isPermanent": false,
    "endEffectWhenCarrierTakesDamage": false,
    "saveOnlyHalvesDamage": false,
    "effectScript": "efGeneric",
    "saveCheckType": "none",
    "saveCheckDC": 10,
    "doDamage": false,
    "damType": "Normal",
    "damNumOfDice": 0,
    "damDie": 0,
    "damAdder": 0,
    "damAttacksEveryNLevels": 0,
    "damAttacksAfterLevelN": 0,
    "damAttacksUpToNLevelsTotal": 0,
    "damNumberOfAttacks": 0,
    "damNumberOfAttacksForEveryNLevels": 0,
    "damNumberOfAttacksAfterLevelN": 0,
    "damNumberOfAttacksUpToNAttacksTotal": 0,
    "doHeal": false,
    "healHP": true,
    "healType": "Organic",
    "healNumOfDice": 0,
    "healDie": 0,
    "healAdder": 0,
    "healActionsEveryNLevels": 0,
    "healActionsAfterLevelN": 0,
    "healActionsUpToNLevelsTotal": 0,
    "doBuff": false,
    "doDeBuff": false,
    "statusType": "none",
    "modifyFortitude": 0,
    "modifyWill": 0,
    "modifyReflex": 0,
    "modifyStr": 0,
    "modifyDex": 0,
    "modifyInt": 0,
    "modifyCha": 0,
    "modifyCon": 0,
    "modifyWis": 0,
    "modifyLuk": 0,
    "modifyMoveDistance": 0,
    "modifyHpMax": 0,
    "modifySpMax": 0,
    "modifySp": 0,
    "modifyHpInCombat": 0,
    "modifySpInCombat": 0,
    "modifyDamageTypeResistanceAcid": 0,
    "modifyDamageTypeResistanceCold": 0,
    "modifyDamageTypeResistanceNormal": 0,
    "modifyDamageTypeResistanceElectricity": 0,
    "modifyDamageTypeResistanceFire": 0,
    "modifyDamageTypeResistanceMagic": 0,
    "modifyDamageTypeResistancePoison": 0,
    "modifyNumberOfMeleeAttacks": 0,
    "modifyNumberOfRangedAttacks": 0,
    "modifyNumberOfEnemiesAttackedOnCleave": 0,
    "modifyNumberOfEnemiesAttackedOnSweepAttack": 0,
    "useDexterityForMeleeAttackModifierIfGreaterThanStrength": false,
    "useDexterityForMeleeDamageModifierIfGreaterThanStrength": false,
    "negateAttackPenaltyForAdjacentEnemyWithRangedAttack": false,
    "useEvasion": false
  },
  {
    "traitWorksOnlyWhen": [],
    "traitWorksNeverWhen": [],
    "name": "Two Weapon Fighting L2",
    "thisEffectUsesFullSizeIcon": false,
    "squareIndicatorFilename": "fx_webbed",
    "durationOnSquareInUnits": 0,
    "modifyShopBuyBackPrice": 0,
    "modifyShopSellPrice": 0,
    "allowCastingWithoutTriggeringAoO": false,
    "allowCastingWithoutRiskOfInterruption": false,
    "affectNeverList": [],
    "affectOnlyList": [],
    "tag": "twoweaponfightingL2",
    "tagOfSender": "senderTag",
    "classLevelOfSender": 0,
    "description": "",
    "spriteFilename": "held",
    "durationInUnits": 0,
    "currentDurationInUnits": 0,
    "startingTimeInUnits": 0,
    "babModifier": 0,
    "babModifierForRangedAttack": 0,
    "babModifierForMeleeAttack": 0,
    "twoWeaponFightingMainHandModifier": 4,
    "twoWeaponFightingOffHandModifier": 8,
    "damageModifierForMeleeAttack": 0,
    "damageModifierForRangedAttack": 0,
    "acModifier": 0,
    "isStackableEffect": false,
    "isStackableDuration": false,
    "usedForUpdateStats": false,
    "repeatTerminalSaveEachRound": false,
    "isPermanent": false,
    "endEffectWhenCarrierTakesDamage": false,
    "saveOnlyHalvesDamage": false,
    "effectScript": "efGeneric",
    "saveCheckType": "none",
    "saveCheckDC": 10,
    "doDamage": false,
    "damType": "Normal",
    "damNumOfDice": 0,
    "damDie": 0,
    "damAdder": 0,
    "damAttacksEveryNLevels": 0,
    "damAttacksAfterLevelN": 0,
    "damAttacksUpToNLevelsTotal": 0,
    "damNumberOfAttacks": 0,
    "damNumberOfAttacksForEveryNLevels": 0,
    "damNumberOfAttacksAfterLevelN": 0,
    "damNumberOfAttacksUpToNAttacksTotal": 0,
    "doHeal": false,
    "healHP": true,
    "healType": "Organic",
    "healNumOfDice": 0,
    "healDie": 0,
    "healAdder": 0,
    "healActionsEveryNLevels": 0,
    "healActionsAfterLevelN": 0,
    "healActionsUpToNLevelsTotal": 0,
    "doBuff": false,
    "doDeBuff": false,
    "statusType": "none",
    "modifyFortitude": 0,
    "modifyWill": 0,
    "modifyReflex": 0,
    "modifyStr": 0,
    "modifyDex": 0,
    "modifyInt": 0,
    "modifyCha": 0,
    "modifyCon": 0,
    "modifyWis": 0,
    "modifyLuk": 0,
    "modifyMoveDistance": 0,
    "modifyHpMax": 0,
    "modifySpMax": 0,
    "modifySp": 0,
    "modifyHpInCombat": 0,
    "modifySpInCombat": 0,
    "modifyDamageTypeResistanceAcid": 0,
    "modifyDamageTypeResistanceCold": 0,
    "modifyDamageTypeResistanceNormal": 0,
    "modifyDamageTypeResistanceElectricity": 0,
    "modifyDamageTypeResistanceFire": 0,
    "modifyDamageTypeResistanceMagic": 0,
    "modifyDamageTypeResistancePoison": 0,
    "modifyNumberOfMeleeAttacks": 0,
    "modifyNumberOfRangedAttacks": 0,
    "modifyNumberOfEnemiesAttackedOnCleave": 0,
    "modifyNumberOfEnemiesAttackedOnSweepAttack": 0,
    "useDexterityForMeleeAttackModifierIfGreaterThanStrength": false,
    "useDexterityForMeleeDamageModifierIfGreaterThanStrength": false,
    "negateAttackPenaltyForAdjacentEnemyWithRangedAttack": false,
    "useEvasion": false
  }

The Traits:

Code: Select all

{
    "methodOfChecking": "leader",
    "nameOfTraitGroup": "none",
    "showOnMainMap": false,
    "name": "Two Weapon Fighting L1",
    "traitEffectTagList": [
      {
        "tag": "twoweaponfightingL1"
      }
    ],
    "traitWorksOnlyWhen": [],
    "traitWorksNeverWhen": [],
    "tag": "twoweaponfightingL1",
    "associatedSpellTag": "none",
    "traitImage": "tr_twoattacks",
    "description": "Allows the player to improve their two weapon fighting skills.",
    "prerequisiteTrait": "none",
    "skillModifier": 0,
    "requiredStrength": 0,
    "requiredDexterity": 0,
    "requiredConstitution": 0,
    "requiredIntelligence": 0,
    "requiredWisdom": 0,
    "requiredCharisma": 0,
    "skillModifierAttribute": "str",
    "traitToReplaceByTag": "none",
    "useableInSituation": "Always"
  },
  {
    "methodOfChecking": "leader",
    "nameOfTraitGroup": "none",
    "showOnMainMap": false,
    "name": "Two Weapon Fighting L2",
    "traitEffectTagList": [
      {
        "tag": "twoweaponfightingL2"
      }
    ],
    "traitWorksOnlyWhen": [],
    "traitWorksNeverWhen": [],
    "tag": "twoweaponfightingL2",
    "associatedSpellTag": "none",
    "traitImage": "tr_twoattacks",
    "description": "Allows the player to improve their two weapon fighting skills.",
    "prerequisiteTrait": "none",
    "skillModifier": 0,
    "requiredStrength": 0,
    "requiredDexterity": 0,
    "requiredConstitution": 0,
    "requiredIntelligence": 0,
    "requiredWisdom": 0,
    "requiredCharisma": 0,
    "skillModifierAttribute": "str",
    "traitToReplaceByTag": "none",
    "useableInSituation": "Always"
  }
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So before I go too crazy and break everything Karl has done with IB on GitHub, I wanted to do a simple test of adding one feature and going through the whole process on GitHub. So I picked two weapon fighting which was probably not the best feature to use as a test run due to its complexity, but I think it worked out okay. I was able to create a branch, work off that branch, make a pull request, and merge that pull request into the master branch on GitHub. I'll do this from now on for each feature.

Below is the link to v198 that includes the two weapon fighting feature:

https://www.dropbox.com/s/yeibhtywqyvv4 ... 8.zip?dl=0

I also added a new Configuration Screen that opens first. It allows you to select the window size you want to use or go full screen. This is very useful for me when debugging the engine, but may just be a nuisance to others, what do you think?
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Wow! Lots of activity, very cool :D !

So, I am a little bit overhwelmed right now and my old brain must get into IB again :lol: .

For starters I cloned a fresh IB repo to my desktop (new computer),using Jers's latetst great changes. Unfortunately I get lots of namespace related errors. A heapload of them is related to sharpdx. I updated everything to newest versions via managing nuget packages. This did not help though. I also integrated a reference to sharpdx.mathematics, but still many errors remain. For example the gameview class fails to recognize a lot of its functions (like eg KeyDown or MouseWheel).

I likely botched in the cloning process (or miss some prerequisite install on my computer; right now I am using just Microsoft VS 2019). Any heads up intel welcome :) .

I have a lot of forum reading ahead :oops: ...
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Newer versions of SharpDX do not work. Just copy the ones from the v198 (or any previous IB version) and copy them into your debug folder after cloning.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

slowdive wrote: Sun May 02, 2021 5:17 am
Below is the link to v198 that includes the two weapon fighting feature:

https://www.dropbox.com/s/yeibhtywqyvv4 ... 8.zip?dl=0
This is outstanding, and good timing! I will download this week and begin building with it.

As for the windowed mode, sounds like a good idea and will be helpful for working in the toolset. Would it be an option that could be changed at anytime, or is it just from the configuration screen when you start up the application?
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I could change it to use a config file (maybe call "config.ini") with settings in the file instead. I just thought a "launcher" type screen was easier for users to use and seems to be something people are doing nowadays like BG3. I guess I could have an option for users to create a file from the launcher and then the game will always use that "config.ini" if it exists. If they want to go back to the launcher, they can just delete the "config.ini" file.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Good work with v198. It'll be nice to have the two weapon fighting option!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I have most everything done code wise for the initial release of IBbasic. I still need to do a lot of testing as I have already found some crashing bugs. The first few releases will be considered beta or early access type builds. I’ll start with v0.0.x and eventually move to v1.0.x when everything runs without crashing :lol:
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Fixed a bunch of crashing bugs mostly due to module data that was outdated with new code. I was able to make a complete play through of The Raventhal, yeah! :lol:
IBbasic18.PNG
IBbasic18.PNG (74.82 KiB) Viewed 335332 times

Progress. Next up is testing Blackwinter and then The Birthday.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So I finished testing Blackwinter and The Birthday. I found a number of bugs due to new player classes and data.json vs append_data.json stuff. I'll need to make a few more play throughs, but everything seems to be getting more robust. I'm doing my best to try and break things and test all the new spells, traits, and other features. I think I should be ready to put the first beta out there in a couple of weeks. I still need to add more default creatures, items, tiles, tokens, and portraits so that may add another week.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Testing is going well so far. First, I think I'll post the PC version to the Vault (maybe this weekend or next) so people can get an early look at where IBbasic is at (I'll post the engine/toolset and the data editor). After that, it'll take a week or so to create the beta testing sites on Google Play and Apple App Store (they take awhile to setup and get approved).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I posted IBbasic version 1.0.06 to the NW Vault for those interested in testing the beta out. If you do find some time to test, please let me know what bugs you find.

https://neverwintervault.org/project/ic ... inetoolset
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I posted IBbasic v1.0.06 to Google Play in a Beta channel for android users to test. It may not show up for a day or so, it is in review.

I started working on the "Tutorial Module" which will be the base module that comes embedded in the app. It will have most of the basic parts used in modules such as areas, encounters, containers, journal entries, quests, conversations with conditionals and actions, a shop, etc.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Awesome progress, Jer! It warms my heart to see all the action going on, you are on a fine run, for sure :).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

youngneil1 wrote: Tue May 11, 2021 7:34 am Awesome progress, Jer! It warms my heart to see all the action going on, you are on a fine run, for sure :).
Thanks Karl!

Today I worked on adding finesse weapon, critical multipliers, threat range, and transfer hp/sp effects. Below is the effect editor with a vampiric touch effect and spell:
IB07.PNG
IB07.PNG (77.35 KiB) Viewed 330593 times
IB08.PNG
IB08.PNG (37.94 KiB) Viewed 330593 times
Add here is the finesse weapon, light weapon, threat range, and crit multiplier (and I changed the "Allowed For" to show full name, but I'll need to add a better word wrap on this one):
IB09.PNG
IB09.PNG (116.75 KiB) Viewed 330591 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Some screenshots from v199 testing:
IB10.PNG
IB10.PNG (309.37 KiB) Viewed 330572 times
IB11.PNG
IB11.PNG (319.53 KiB) Viewed 330572 times
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

Eager to play with all these new toys!

I notice in the log target 'Kobold' is not red when targeted and killed by the Minor Drain attack, but you'll probably get around to that!

Are you thinking ahead to some applications for your own games once you're satisfied with the state of the engine?
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

cartons wrote: Sun May 16, 2021 4:03 pm Eager to play with all these new toys!

I notice in the log target 'Kobold' is not red when targeted and killed by the Minor Drain attack, but you'll probably get around to that!

Are you thinking ahead to some applications for your own games once you're satisfied with the state of the engine?
v199 is already posted here on the forums:
viewtopic.php?f=6&t=46

I will need to clean up the log colors and I'm open to any suggestions of course. I don't have any plans specifically for my modules on the use of the new systems, but I will be using them.


I'm currently working on adding some default creatures to IBbasic (will be in 1.0.07):
(still need to add the SP and XP numbers)
IB15.PNG
IB15.PNG (71.75 KiB) Viewed 330563 times
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Yeah, crits ranges and multipliers are back! Great work there - they allow for more item diversication and some interesting new traits in the long run. Balancing encounters is a bit harder with them because luck plays an even more important role. Then again, it's very satifying to land a devastating crit at the right moment :D .

Vampiric drain is elegantly integrated - very easy to use for authors this way.

Coloring eveything correctly is a painful exercise. I spent lots of time trying to unify stuff (and still it's quirky here and there).

Always warms my heart to see monster tables - that's an impressive lot already :) .
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Karl! I am doing me best to import into IB all the new features I added to IBbasic.

I finished all the default creatures and items for IBbasic today. I have a few more tasks to do before I am ready to release version 1.0.07 (see the feature list viewtopic.php?p=439#p439 ). I still need to post a version to the Apple App Store, but it is such a painful and convoluted process compared to Google Play... I'll probably wait for 1.0.07 to be ready first and post that version to the App Store.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Today, for IBbasic, I added a "release notes" property for modules so that builders can describe any changes to their module in the current version. Players will be able to click on a button to see the "release notes" from the launcher screen (I'll probably add this to the module's title screen as well). I also added all the code for the server parts related to "release notes" and for "isPublic". The "isPublic" flag on your module allows you to post your module to the server, but leave as private until you are ready to make it public. The benefit to having a private version on the server is that only the module author can download their private module. This way they can work on the module on multiple devices and at different times. So when on the go, you can make some edits on your phone and then push the updates to the server (leave the "isPublic" setting to off). Then when you get home, you can download the module from the server onto your PC and do some more work and then push to the server again for when you are on the go. When working in private mode ("isPublic" checkbox unchecked), you do not have to increase the version number in order to push updates to the server.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finished the "isPublic" code on the server side and in the app. So I just need to finish adding more tokens and other default artwork then update the Tutorial module. I'll also need to verify that I didn't break anything in the existing posted modules (Blackwinter, Raventhal, Birthday) when I did work on the default creatures and items. After that, I'll be ready to post version 1.0.07.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I added a toggle in the conversation editor to set all conditionals on the current node to either "And" or "Or" logic. There are also a few notes to show if the selected conditional is (AND) or (OR) and the toggle button changes from on to off depending on which node is selected.
IBbasic19.png
IBbasic19.png (142.76 KiB) Viewed 330512 times


I have just about completed the "Tutorial Module" for IBbasic so I should be able to post v1.0.07 soon.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I posted v1.0.07 to the NW Vault and to Google Play. I still haven't set up the app for the Apple App Store, but hopefully I can work on that a bit tomorrow.

EDIT: I have IBbasic v1.0.07 (the iOS version) available via Apple's Test Flight program. For anyone who wants to give it a try, let me know.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I started working on IB v200. I have Mirror Image and Stone Skin effects mostly working (they need lots of bug testing first before I get too excited :lol: ).
Notice the 3 mini wizard images showing how many mirror images remain.
IB16.png
IB16.png (349.08 KiB) Viewed 331902 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I started adding the "number of uses per day" trait system. It may take a bit longer than I expected because I now realize that IB and IBbasic are using very different systems for handling Traits that can used like a spell (not passive). IB actually uses a spell that is referenced by the Trait and IBbasic has Traits that are basically spells themselves. So I'll need to put some additional thought into bring the new system into IB... not as straightforward as some of the other imported IBbasic features.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Again, great progress in short time :) .

The "isPublic" for Ibbasic is cool, especially once I will have to spent more time commuting again (less days in homeoffice). Having the "or" logic easily available for dialogue conditions, too, grants a lot more desgin freedom.

Uii, looks at those tiny wizards - very cute and good usage of the tiny tokens for mirror images. This is giving relevant gameplay information and enhances the looks at the same time.

IB traits are quite tricky the way they are set up, especially as in the end they root back to the very flexible effects system. "Daily usage" is a fine new mechanism for restricting the usage besides limting it via SP (which could be refilled midday). Also, depending on how campaigns interpret SP, it might be more lore friendly to have traits rely on daily usage and not on spell points/stamina points.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Karl! I think I have the use of traits figured out now. So here is some proof that I have uses per day system working in IB:
IB21.png
IB21.png (52.26 KiB) Viewed 331867 times
IB18.png
IB18.png (67.37 KiB) Viewed 331867 times
IB19.png
IB19.png (155.88 KiB) Viewed 331867 times
IB20.png
IB20.png (407.41 KiB) Viewed 331867 times
I have the Lay on Hands "trait" set to be (0,1,1,2,2,3,3,4,4) so you get more uses per day at higher levels. I just did this for testing purposes of course. You can set any number of uses per day at any specific level. The number of uses per day resets at midnight or when using any of the "forceRest..." scripts.

Notice the multiple uses of lay on hands that did not show any HP gain? That was because there was a bug that took me a few times testing to figure out, but I found the bug and fixed the code and then it started healing me :lol:

I need to do some more testing first, but I should be ready to push out v200 this week. The next update (v201) will just be a lot of bug fixing and no new features.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Nice one - flexible number of usages (depending on level) allows to replicate D&D classes even better :) .

I hope you will not encounter too many bugs, but playtesting of all theses new systems has been limited, so I fear the one or other glitch will still loom there :oops: . It's a good idea to stabilize it all first a bit :D .
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Karl! Hopefully the new systems will be fun to use. I finished v200 and it is now available here on the forums (see the IB Build Release thread). This release only has feature additions and various bug fixes associated with those addtions. I also added version text to the launcher screen so you can easily see what version is being run (it says IB v1.0.200 now). The next update (v1.0.201) will just be bug fixes. After finishing all the bug fixes and releasing v1.0.201, I'll give people a chance to submit anymore bugs found in v1.0.201. After that, I think we can release a "stable" build (v1.1.202) to the NW Vault. After that, I'll start adding features again in preparation for v1.2.xyz.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I made a few code additions to IBbasic. I added the smart dropdowns to scripts on triggers like we have on conversations. Today I mostly worked on converting The Elderin Stone to the new IBbasic. I think I have most everything converted, but I'll need to do some play testing first. It should be fun to play through The Elderin Stone with some of the new classes, races, traits, spells, finesse weapons, light weapons, two-weapon fighting, crits, and threat range. I'll need to see if it makes sense to adjust some of the spells that creatures have. I haven't started on the creature AI upgrades, but that should make things more challenging as well.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

A few bug fixes today in IBbasic. I mostly worked on updating "Lanterna - The Exile" to IBbasic and testing "The Elderin Stone" as well.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Today I did some more play testing and bug fixing with "Lanterna - The Exile". I haven't made a complete playthrough yet as I keep finding bugs to fix in the engine and the module. For the most part, everything is working well, but I am trying to find and fix every little thing so that the engine is well polished.

Something that crosses my mind is the idea of having a pop-up box when needing to make a roll (attack, DC checks, etc.) that displays all the relevant modifiers and a final rolled up "needed" number displayed and then you click a "roll" button and an animated d20 rolls to display the actual roll value with a "success" or "failed" and the rolled amount displayed on the die. Thoughts?
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Sounds good to me. When I'm gaming I find it helpful to see the modifiers etc clearly applying to a roll, otherwise I'm always a bit suspicious that the game isn't properly taking into account my traits etc. Show me the numbers! :) And the animated dice might be a nice presentational touch. Worth trying I think.
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

That was a touch I really appreciated in Disco Elysium, and I think BG3 has sort of the same feature. It would certainly be a nice quality of life addition!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks cartons and Pongo! It will have a toggle button of course. So players can turn it off and on if they want to use the original style or d20 style. Me personally, I don’t mind slowing the turn based combat down and giving it that additional pen and paper feel that we are going for. Other players may want faster combat and they can turn it off.
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

It's a point that had been on the tip of my tongue for some time, that I feel like the combat moves a little fast and that it can be difficult to follow what's happening when several enemies take their turn in succession. A toggleable option to slow it down and present the rolls could be a good way for slow-brained individuals like myself to keep up.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So I have the d20 roll screen system working for regular attacks (melee and ranged). I only have it for PC attacks, not for creatures (I don't think I'll use it for creatures). At first is shows you want you need to roll to hit. After clicking the "ROLL" button, the d20 animates for a second and then stops to reveal your roll. The screen will then show you the result (including crit roll if threat range met) and wait for you to click "RETURN" to go back to the regular combat screen. Yo will then see the normal attack animation, hit or miss animation, projectiles, death animation, etc. The whole process of the d20 roll screen doesn't take too much time and I think it is a fun addition (a toggle to turn it off will be there).

Clicking on the green d20 will cycle through various different colors for the d20 so you can use the color you really like :lol:

Before roll (using american spelling of Defense, should I use Defence instead?):
IBbasic20.png
IBbasic20.png (109.45 KiB) Viewed 329811 times
After roll:
IBbasic21.png
IBbasic21.png (111.46 KiB) Viewed 329811 times
This one landed a CRITICAL HIT :D
IBbasic22.png
IBbasic22.png (108.22 KiB) Viewed 329811 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Here is a GIF version of the roll :lol: I used giphy.com:
IBbasicD20Roll.gif
IBbasicD20Roll.gif (723.14 KiB) Viewed 329806 times
You may notice that the attack didn't end the turn :D
I am working on making it so that you can move - attack - move. So to end your turn you need to have no more attacks left and no moves left or just click on skip turn. Each attack will be made separate so if you have two attack and one off hand attack you will get three separate attacks to make (and they can be on different targets) and even moves in between those attacks. Some actions should automatically end your turn, but I am not sure which ones should do that (spells do for now and running out of moves and attacks does as well).
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

Aw dude, this is so crunchy! I like the idea of attacks not automatically ending a turn; it can make certain finesse based PCs and enemies who can move away from enemies without triggering an opportunity attack that much more slippery.

Maybe this is asking a bit much, but now that you have a visible diceroll component set up, is there any chance we could see it applied to situations outside of encounters too? Click to roll the dice to see if you make that leap across the ravine, or make a successful bluff?
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

cartons wrote: Sat Jun 05, 2021 8:08 pm Maybe this is asking a bit much, but now that you have a visible diceroll component set up, is there any chance we could see it applied to situations outside of encounters too? Click to roll the dice to see if you make that leap across the ravine, or make a successful bluff?
That's the hope. I would like to have a screen for passing DC checks. So this could pop up during a "gc_" check in a conversation or from a trigger script call. I should probably add an option to hide the d20 roll screen under some situations if you don't want the player to know you are running a check (say they pass a hidden door and if they make a DC check they detect it and if they fail they don't know any the better).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Also I added the switching die color option. Just click on the 20 sided die and it will switch colors to one of the other default colors or to one of the images you placed in the "user" folder. The game loads all the images at launch and will cycle through the list on each click. The selected color will stay the same until the game restarts.
IBbasic23.png
IBbasic23.png (99.46 KiB) Viewed 329796 times
below is a file that is in my "user" folder for a custom color die:
d20nat.png
d20nat.png (4.28 KiB) Viewed 329796 times
You could even make a realistic looking die from photos and bouncing around in the frames if you want. The file just needs to start with "d20" and be 48 pixels tall and 576 pixels wide (12 frames of 48x48).
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Blimey Slowdive, that was quick! Looks fantastic, look forward to giving it a go.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Pongo! I’m pretty much finished with v1.0.08. I just need to do more play testing and I’ll probably release it on Thursday or Friday.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I posted IBbasic v1.0.08 to Google Play and NW Vault. Give it a try and let me know if you find any bugs. I'm still working on testing The Elderin Stone and Lanterna - The Exile.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Hey Slowdive - I downloaded it on my phone and had a go on the tutorial module. All worked fine! Haven't looked at the editor yet.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Pongo wrote: Fri Jun 11, 2021 7:14 am Hey Slowdive - I downloaded it on my phone and had a go on the tutorial module. All worked fine! Haven't looked at the editor yet.
Thanks Pongo for testing it out!
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

The d20 looks ace :D ! It is the perfect fit for the ambience of a pen and paper campaign. Loving it!

Allowing - even split - attacks without ending turn adds more tactical options which is always welcome. Like the rolling screen it slows combat down a bit (in case of multiple attacks), but I think IB combat is quite swift and streamlined so it should strike a good balance.

Again, very impressive how quickly you progress from concept to implementation :) !
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

slowdive, I started porting over some of the spells and graphics from the Proving Grounds module. I have Bull Strength working, for example, but it shows a BLANK image on top of the character when it is applied. What fx graphic am I missing?

edit: Got it, in the Effect for Bulls Strength, the sprite filename had to be changed to fx_regen

Also, it appears the +4 strength bonus might not stack with magic items. Both fighters I tried it on, looks like they only received an increase of 2. I will have to test the spell on a character with 0 modifiers, and see if they get the full +4
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Started working on increasing the number of PC tokens to choose from. Here is what will be available in IBbasic in v1.0.9:
IBbasic24.png
IBbasic24.png (362.27 KiB) Viewed 332135 times
IBbasic25.png
IBbasic25.png (328.46 KiB) Viewed 332135 times
IBbasic26.png
IBbasic26.png (311.96 KiB) Viewed 332135 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

The past few days I have been going through databases of portraits. I now have selected 330 portraits for use in IBbasic for your PCs. So now we have a good selection of tokens and portraits. The portraits are a higher resolution than what I was using before (110x170 vs 55x85). The pixel sizes don't really match up with all of the other artwork in IBbasic, but I think it is okay and looks fine to me to have all the portraits one level of pixel density and everything else a different density.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I've been making some progress on the following IB bugs:
+[for v203] issue with the inventory showing only the first 20 items. You can use the filter to show more.
+[for v203] swift action, free action resets movement sometimes
+[Done v203] verify that all scripts are still there and working (from v195 to v200, something changed)
+[for v203] fix line-of-sight bug (probably deep in lighting engine)

I still haven't been able to figure out the inventory issue (haven't been able to replicate issue yet). I think I may have found the issue with the swift/free action bug, but it will need some testing to make sure that moving the "move counter" reset in the endPcTurn() method didn't create a new issue. I found all the old scripts from Karl's v197 folder and will copy them into the v203 script folder. Next up is the very trick one of LoS bug.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Nice work! Having a load of new tokens and portraits will be great. And good luck with the LoS bug - I'm looking forward to that one getting fixed, sounds like it will be tricky though. "Deep in the lighting engine" sounds ominous. :)
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Yesterday I added back in the head and ring2 slots to IBbasic so now there are six total item slots to equip. Today I started working on getting the area and combat music working for IBbasic. I am using the SimpleAudioPlayer API and if it works out well and is reliable, I will use it for IB as well.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I think I have the audio system figured out for IBbasic and I will also use it for IB as well. It seems to be more robust and should fix some of our inconsistencies with audio failing to play at times. I am also going to add the option for a titleMusic property so you can select music for the title screen and character creation. I am also looking to create a pop-up screen for adjusting music and soundFX volume levels as well.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

YEAH! Now I can hear the wonderful music from The Raventhal again (main map and combat) in IBbasic :D

And here is the Sound Setting Screen for IBbasic:
IBbasic28.png
IBbasic28.png (72.13 KiB) Viewed 329679 times
I still need to code the part that updates the sound player's volume level when changed, but that should be simple.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

All audio features are now working.

I have two more tasks to complete before v1.0.09 (which may actually be 1.1.09, the official release) is ready. Summoning and Creature AI improvements. I am going to start with summoning and I may do it a little different than what is used in IB, I'm not fully decided just yet. I want a system that works for spells like summon creature, summon animal, animate dead, etc. Plus, I want it to work for things like animal companions and familiars. So the summon would need to be able to last even outside of combat (so a trait with a once per day use could call an animal companion that lasts almost the whole day). The system would be able to handle calling multiple random creatures from a list of options with one spell (like monster summoning calling 3 goblins or 2 beetles, etc.). Animal companions would grow with users level. Maybe there would be a trait L1 for each type of companion and a trait L2 for higher versions of that companion type so that you could choose to have lots of L1 types or focus your trait selections to growing one companion type (bear, wolf, boar, badger, panther, etc.) The animal companions would be associated with one PC and the author could limit the number of allowed companions at one time from one PC.

Thoughts or other ideas?
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

I like the idea of beefing up the Summoning system. The module I'm working on is essentially 'Medieval Pokémon', and I've been going back and forth between having the creatures summonable via Spell or Rechargeable items. In both cases the creatures are static, and don't grow with the player, which isn't my preference.

One thing to consider is how the AI would respond to the mechanics of Monster Summon I,II,III-types spells being in the game. I can see a lot of enemy builds being cheesed out by just flooding the map with friendly Hobgoblins and the like. Maybe having an AI-build that deliberately targets summoners, or one that deprioritizes summoned creatures, or something weirdly specific like that?
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Definitely will need to have a function to unsummmon any summons tied to a PC that goes down and have creature AI target those summoners depending on their AI type. We could also have a module setting that limits the number of summoned allies at one time in the party.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Deep into the summon system for IBbasic at the moment, still a lot of work to do, but it is starting to come together.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

notes to self:
druid: boarL1(1)/L2(4)/L3(7), wolfL1/L2/L3, bearL1/L2/L3 summon animal 1(3)(wind)(1-2 wolf,direrat), summon animal 2(5)(disease)(1-2 wolf,snake), summon animal 3(7)(1-2 bear,snake)
ranger: wolfL1(4)/L2(7), pantherL1/L2, bearL1/L2
wizard: summon monster 1(3)(vocalize)(1-2 kobold,goblin), summon monster 2(5)(slow)(1-2 wolf,gnoll), summon monster 3(7)(none)(1-2 ghouls,bugbear)
cleric: animate dead (5)(silence, move disease to 3)(2-3 skeletons)

I have the beginning of the animal companion and summoning system working (in and out of combat). It is part of an Effect so can be used from Traits, Spells, or Items. It only works for PCs now so creatures can't summon other creatures yet.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

This looks and sounds great, slowdive. Just wanted to make sure, the new system would not interfere with existing scripts and effects used in the PC version to summon creatures? It was a bit limited, and I would probably switch over at some point to the new way you are setting up summons. But for now, it does work, allowing the player to summon a pre-made creature in the PC editor, or enemies casting a spell that will summon a specific creature blueprint.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Dorateen wrote: Sat Jul 24, 2021 3:29 pm This looks and sounds great, slowdive. Just wanted to make sure, the new system would not interfere with existing scripts and effects used in the PC version to summon creatures? It was a bit limited, and I would probably switch over at some point to the new way you are setting up summons. But for now, it does work, allowing the player to summon a pre-made creature in the PC editor, or enemies casting a spell that will summon a specific creature blueprint.
I'm only working on a system for IBbasic (which didn't have any summoning system before), not IB. I won't change the IB system as it is working fine for how IB is setup. I could add features to IB summoning system later, but I won't change the way the existing system works. The way I am setting up IBbasic summoning system is very similar to the way IB works anyway so no worries there.

EDIT: I have animal companion mostly working for IBbasic. So far I can summon the animal companion from the use Trait screen in both combat and on the main map screen. The companion will disappear when its time allowed has passed. The animal companion is a "Player" and uses a "Player" type file just like how IB works.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Here is a screenshot after summoning 3 bears to join the party. I set the animal companion summon (a once per day Trait) to summon 3 bears just to test multiple summons (normally it will be one companion and they will stay for the whole day). You can see the bear images on the portrait of the person who summoned them and a number for how many rounds (seconds divided by number of seconds per round based on the module's settings) left before they disappear. I need to work on how best to show this, but I tried this idea of showing them on the portrait and the number counts down on each map move.

Option 1 (image and text on top of portrait):
IBbasic29.png
IBbasic29.png (627.43 KiB) Viewed 329575 times
Option 2 (image only and below portrait):
IBbasic30.png
IBbasic30.png (169.91 KiB) Viewed 329572 times
Thoughts?


And here is what it looks like when casting animal companion during combat. I have it set up where if you are summoning more then one ally, the first ally will get the targeted square if it is open and then all subsequent allies will get a random square one square away (or two or three if other closer squares are not empty) from the target square. When you enter combat with existing summoned allies, the summoned allies will look for random squares near the person who summoned them.
IBbasic31.png
IBbasic31.png (174.9 KiB) Viewed 329569 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I adjusted the size of animal companions to be a bit larger (they are slightly scaled down versions of the large creature tokens). For testing, I had the ranger summon 4 random animal companions and she ended up with the following (panther, 2 wolves, bear):
IBbasic32.png
IBbasic32.png (181.54 KiB) Viewed 332126 times
So I think everything is working for the summoning system. Now I just need to create the actual ally files (Player files) for the animal companions, monster summons, and the animate dead. I also will need to create the spells and other traits for the summoning.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I was able to find a bit of time to work some more on the IBbasic summoning system. I created a "creature" class and a "creature" race and then I created specific "weapons" and "armor" for each summon. The armor/hide is where I have some of the unique data such as different move distances, resistances, reflex, will, fortitude, etc. The weapon can have special attacks like poison or knockdown. So far I have the bear animal companion completed (three versions with different stats). I'll next work on the other animal companions before moving on to the summon type spells.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Today I finished the wolf animal companions, all three versions. I still need to make an appropriate Trait icon images. I'll probably use the animal companions' head image from the tokens.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Slowdive's Little Daily Blog

Post by youngneil1 »

Back from Greece :) ! I got some catch up to do - great to see the progress rolling :) .
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Welcome back from Greece! I hope it went well! Not a whole lot to catch up on as I am still moving at our normal IB coding speed :lol:

I was able to finish up the animal companion system:

Animal Companions for Druids:
IBbasic33.png
IBbasic33.png (127.95 KiB) Viewed 332067 times
Animal Companions for Rangers:
IBbasic34.png
IBbasic34.png (132.14 KiB) Viewed 332067 times
Next up are the summoning spells for druids, wizards, and clerics.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Looks good, a nice selection of animal types for rangers/druids to play with.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Dorateen!

Today I created all the parts for the summon creatures (weapons, hides, Player files). I now need to create the Effects and Spells for animal summoning (1-3), monster summoning (1-3), and Animate Dead (plus the spell icons as well).
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finished the summoning and animal companion systems for IBbasic. Everything is up and running now.
Here are the new spell selections for druids, wizards, and clerics with their new summon spells:
IBbasic35.png
IBbasic35.png (131.92 KiB) Viewed 332040 times
IBbasic36.png
IBbasic36.png (132.68 KiB) Viewed 332040 times
IBbasic38.png
IBbasic38.png (133.62 KiB) Viewed 332040 times
The module builder can select the maximum number of summons that can be in the party at any given time. The default is 4 and it includes summons and animal companions in the total allowed.
IBbasic37.png
IBbasic37.png (90.13 KiB) Viewed 332040 times

Next up is improving the creature spell casting AI. I'll have maybe three versions of caster AI to choose from (low, medium, high strategy).
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Those new spells are looking pretty tasty - nice work. I love the icons. I haven't played with the summoning system yet but I'm going to check it out.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Pongo!

I finished copying over all the summoning system code from the IBbasic PC version over to the IBbasic xamarin version (UWP, Android, and iOS). I always program the PC version first because it is sooo much faster to build, change code while running, and debug than the xamarin version. Once I have everything working on the PC version, I copy over the code tot the xamarin version... it's a process :lol:

Now that the two are insync again, I will start with the creature caster AI. I'll make some notes here first before trying the code.
-check before casting spell that the effect is not already on the target and is not stackable (don't bless twice or put to sleep if already asleep).
-if a PC is immune to a spell such as sleep, let the caster try once, but allow them to learn that the PC is immune and then don't try again.
-decide if best to start with buff/debuff spells in the first round or two and then move to damage and heal spells.
-if the PCs are close together, use AoE spells. If they are spaced out, focus on higher damage single target spells.

What else? Thoughts?
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

-check before casting spell that the effect is not already on the target and is not stackable (don't bless twice or put to sleep if already asleep).
-if a PC is immune to a spell such as sleep, let the caster try once, but allow them to learn that the PC is immune and then don't try again.
-decide if best to start with buff/debuff spells in the first round or two and then move to damage and heal spells.
-if the PCs are close together, use AoE spells. If they are spaced out, focus on higher damage single target spells.

What else? Thoughts?
What about if casters are out of range for their offensive spells, they will move into range and then cast. Good call about not casting duplicate buff spells repeatedly.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

That all sounds great!

Some ideas below - these are random musings from someone who doesn't have a clue about programming or how difficult / achievable they might be in practice, so appreciate they might not be realistic.

- Perhaps the caster could be aware if it's primary defence spell has run out / been dispelled, and then prioritise recasting? Eg mage casts stoneskin, casts offensive spells, stoneskin runs out (or is dispelled), so then the caster prioritises recasting stoneskin in its next turn.

- I appreciate this might be too complex, but it would be amazing if an enemy caster could "react" to player spells. Eg, if the player casts a silence type spell, the enemy mage might cast vocalise; if the player casts slow, the enemy mage might cast haste. I guess you wouldn't want this to be 100% the case, because otherwise you could outwit an enemy cleric by repeatedly casting bless and having him cast bane in response instead of a better, higher level spell. Perhaps there could be a % chance - eg if the enemy caster has the correct "counterspell", there's a (30%?) chance they use it.

- As another idea, perhaps there could be different "aggressive caster" and "defensive caster" ai builds? Eg

Aggressive caster
- starts with a personal defence spell (stoneskin, mirror image etc).
- Moves straight into damage spells. Will cast AoE spells if player character numbers equal or greater than ally numbers in the area of effect (ie if the caster can drop a fireball on three pcs and three allies they'll do it; if they would hit three pcs and four allies they won't.) In around where an AoE attack isn't an option, they focus on single target damage spells instead.
- Will recast the initial defence spell if it is dispelled or runs out.

Defensive Caster
- starts with a personal defence spell
- if the caster can cast an AoE at the party at any time in the combat and hit only pcs, then will do so, but it will not cast an AoE if it will hit any allies.
- otherwise moves into buffing allies (haste etc).
- once a couple of buffs have been used, starts debuffing the pc.
- recasts personal defence spell if dispelled or runs out.

And then a "general caster" ai, which follows a more of the pattern you set out above.

Anyway, just some ideas!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Good idea Dorateen on checking to see if moving first would increase the effectiveness or availability of a spell.

Pongo, all of the ideas you suggested should be doable. For me, programming AI (I'm no expert and there is probably a better way) is just like a flowchart with decision points and some of those decisions can be based on percentages and rolls. Decisions are also based on looking at various options and applying a weighting system to the possible choices. So it is just checks (like looking to see if PCs have a certain effect on them like sleep, bless, haste, etc) with some if-then statements that use random rolls and a weighted decision tree.

I think in the end, I will have a bunch of caster AI types to choose from like Pongo suggested. I'll need to be sure and describe what each caster AI is doing so the builder knows exactly what the AI does. so I think we have a Aggressive and Defensive caster description started. Let's build from there.

I'll start a Creature AI thread and we can update that.
viewtopic.php?f=1&t=56&p=902#p902
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Making some progress on the improved caster AI. I am currently working through the General Caster AI and upgrading it based on the notes from the Caster AI thread. Nothing really to show just yet, but I think I have a framework of code that should work. I'm sure the other AIs will be easier once a code framework has been figured out once.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So today I did some play testing of The Raventhal and The Birthday to make sure they still work well with all the new additions to the IBbasic engine. There were a couple of minor bugs that I was able to fix easily enough. There is an issue with the pathfinding that I still need to figure out. I plan on testing Blackwinter, Lanterna, and The Elderin Stone as well to make sure they are ready to go for the v1.0.9 release. I'll probably release v1.0.9 for PC this weekend and maybe Android, if I can get all the code moved over and tested for the Android/iOS version. I'll save the iOS release for v1.1.0 after v1.0.9 has been out and tested for a little awhile. I'll be doing a let's play of The Elderin Stone with all the new features :D
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

If anyone wants to help test the current IBbasic build see below link:

https://drive.google.com/file/d/1liAXWw ... sp=sharing
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I posted the latest version of IBbasic (1.0.09f) to the NW Vault:

https://neverwintervault.org/project/ic ... inetoolset

Please play test if you have any spare time. Of course, we are all busy, so no expectations or pressure from me :lol:

The next release will be the official release of IBbasic, v1.1.10 YEAH!! :P :D

I'll move my main focus to IB after that.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Made a few bug fixes while testing The Elderin Stone. The link below for IBbasic v1.0.10 includes updated modules included so a bit larger download:

https://drive.google.com/file/d/1NZ7r8p ... sp=sharing

I'm still searching for bugs and play testing. I may do a few streams of my play tests, we'll see.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

A lot of play testing today in IBbasic and I found lots and lots of bugs :lol: My wife and kiddos helped with the bug hunt as well. Tomorrow, I'll have some bug fixing to do and another version to release for beta testing, v1.0.11. I have The Elderin Stone posted as well for testing as I made a play through and fixed most of the bugs I found. I still need to work on the Hearkenwold conversion, but that will be a large undertaking and I need to work on a better import from IB tool first. I also would like to import Red Carnival and finish my Lanterna 2 and H&C conversion from NWN2. And of course fix all the IB bugs and additional features, so many tasks :D
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Made a boatload of bug fixes and engine improvements in IBbasic over the past two days with the help of my family beta testers :lol:

I updated the IBbasic feature/bug board to show all the bugs fixed and the remaining ones to fix.
viewtopic.php?f=10&p=965#p965

It is starting to look and feel very polished, stable, and more intuitive.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I adjusted the save/load screen to allow one serversave, one autosave, and 10 regular saves:
IBbasic39.png
IBbasic39.png (75.63 KiB) Viewed 328820 times
What do you think?

The autosave will trigger before each encounter and when called by the module author via script (either trigger script or conversation action).
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

10 saves is nice. Would it be possible to fit the text for the Server save into the farme of the button? Maybe all lowercase letters, if that would help fit? Other than that, looks good.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Dorateen wrote: Thu Oct 07, 2021 2:47 pm 10 saves is nice. Would it be possible to fit the text for the Server save into the farme of the button? Maybe all lowercase letters, if that would help fit? Other than that, looks good.
Lower and Upper case take up the same space in IBbasic (the font is really just bitmap images). Maybe I should change it to say "Server" instead of "ServerSave"? Or maybe "ServrSav"? I am only reserving 8 characters for that part for either "ServrSav", "AutoSave", or PcName. If the PC name is less than 8 characters, it just prints the name like "Jarek" which is only 5 characters. If the PC name is more than 8 characters, it will only print the first 8 characters like "Lord Zur" for Lord Zurak. I'm accounting for the fact that XP could go into 5 digits and time could get to 6 digits. I'm accounting for 26 characters total so 8 for name, 7 for separators and labels ( , and : and XP and T ), 5 for XP, and 6 for world time.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I added a tab feature to the IBbasic toolset so it works similar to the IB toolset where you can switch quickly between open areas, convos, and encounters. The "X" button will save the module and close all open areas, encounters, and convos (basically "closing" all tabs). The "A" tabs are for areas, "E" for encounters, and "C" for conversations. As you open an area, convo, or encounter the number of tabs increases.
IBbasic40.png
IBbasic40.png (98.46 KiB) Viewed 328812 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I updated IBbasic to now have area music and area ambient sounds. The ambient sounds just loop forever, but the area music has a random delay time between 1 and 10 seconds plus whatever default delay time the builder selects for that area. So if the builder selects a value of 60000 ms for the delay time for the current area music delay, the end result will be somewhere between a 61 and 70 second delay before starting up the area music again. The ambient sounds will keep playing the whole time. If the builder selects 0 ms for the delay time, the engine will not add the 1-10 second random delay and the end result will be a 1ms (music player won't accept a value of 0) delay before playing the area music again.

This should be great for Hearkenwold, Raventhal, Zach's mods, and any others that have area music. I can now add appropriate ambient sounds for each area as well such as indoor, cave, creek, castle, forest, etc. I tested it out in Lanterna and it sounds great to have the two playing together. As of now, the area music and ambient sounds share the same volume level so make sure they work well together. Eventually, I'll give the player the option to adjust those two volumes separately, but if the builder sets them up well, the player shouldn't have to make any adjustments.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

POLL QUESTION:
I am thinking of adding an encumbrance system to IBbasic that is at party level. It would sum up the strength bonuses of each PC and compare to the total weight of all equipped items and items in inventory. This assumes that the party will distribute the load so that everyone is equally encumbered (aka, the party works well together, haha). If they go above a certain value, all PCs will have a movement penalty in combat and more time passes on each square on the main map. If the value gets too large, it may even result in no movement (moves set to zero) in combat (like you are under a web spell) and lots of time per square on main map (large multiplier on the existing area's TimePerSquare value).

I will make it optional based on a module level flag (useEncumbranceSystem). All items will default to weight value = 1, but if your module is not using the system it really won't matter what value each item has.

Thoughts or suggestions?
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

I love the idea of an encumbrance system, so that sounds good to me. I suppose it is easier to handle as party-wide, rather than individual characters just for items equipped? I guess it will incentivize players to drop unneeded items, like those extra suits of armor.

On that note, do you think this might make it desirable for characters to drop items in the game, that could be picked up later? If that is even possible. Something like placing items back into a container, and then able to access the container to pick up again.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

That's a good point. I could implement a screen that is similar to the "shop" screen where you can move items back and forth from a container. Probably have a button on the container screen that says "Place Items" which will take you to the "shop" like screen. I think containers are already able to track changes in their inventory so adding items shouldn't cause issues for save files or container changes made from the toolset after someone had a save game where they had already add/removed items from that container.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I posted version 1.0.14 which should be the last beta version of IBbasic. Once all the bugs are found and fixed, I be able to release the first official (non-beta) version of IBbasic, yeah! :D

It is here at the NW Vault for PC:
https://neverwintervault.org/project/ic ... inetoolset

and here on Google Play for Android:
https://play.google.com/store/apps/deta ... .ibbasicjr
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I copied over the code for the new General Caster AI into IB and started to play test it in "Proving Grounds" module. So far it seems like it is working as intended, but it'll need more testing I'm sure. I'll post it as v204 once I get a few bug fixes in as well. For v205, I'll try and add the d20 screen and split attacks as well as more bug fixes.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I started adding the d20 screen option to IB. I also added the system that splits up multiple attacks so you make the attacks separately and can even be on separate targets. If you still have move points, you can even move after the first attack before the second attack.

The background and gold frames can be overriden of course from your module's "ui" folder for "ui_bg_fullscreen" and "ui_minimap_frame" and the d20 die are also in the "ui" folder.

W.I.P.
IB29.PNG
IB29.PNG (380.43 KiB) Viewed 330733 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

I enjoyed the dice rolling simulation in Solasta as well. Look forward to seeing it implemented for IceBlink.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I'm thinking of turning back on the 3d view option in IBbasic and I will need to add some additional functionality to the built-in art editor. So I have a few poll questions.

POLL QUESTIONS:
-Did you like the 3d view in the old IBbasic and would you like to see it turned back on (the code is still in there, just commented out)?
-Did you like the use of that 3d view system in The Raventhal and The Birthday or should they stay close to their original design from when they were first released (only 2d maps)?
-Would you be interested in me adding the 3d view to IB as an option for builders to use? It would probably use up the entire screen with the floating UI on top of the 3d view with maybe an option for a frame around the entire screen for the "viewport" look?
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Hi slowdive,

I would very much be interested in seeing the 3D mode in IceBlink, especially as a viewport display. I do not have experience with the IBbasic version of those modules, but from the screenshots it looked pretty cool.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Here is a mock up idea, what do you think? I would maybe have more stone background parts with the normal IB UI on top instead just the black background areas. The "frame" image would be a single image that each builder could switch out to whatever they want to use and the normal IB UI would go on top of that. The mini-map and move arrows buttons UI would appear/disappear with toggle buttons. Thoughts and suggestions?
IB33.PNG
IB33.PNG (536.11 KiB) Viewed 330702 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Very nice. Even though the mini map can be toggled on and off, is it possible to make it a little smaller? I feel as a separate UI element, it should not overlap the main adventuring window so much, although I know screen real estate is limited.

Otherwise, looks great!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

How about this version? I scaled down the mini-map and made the move arrows the size of the other buttons which they would have been anyway.
IB3Dmockup02.png
IB3Dmockup02.png (667.31 KiB) Viewed 330689 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Perfect!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Okay, here is with a full background (just a mock-up and not perfectly done) which builders can use their own of course:
IB3Dmockup03.png
IB3Dmockup03.png (911.88 KiB) Viewed 330687 times
Also, the way the backdrop image in the 3d view works is you can have a single backdrop (88x88 image) or have directional and time of day (352x352 image) like below:
bd_cobble01_16.png
bd_cobble01_16.png (19.47 KiB) Viewed 330687 times
And each square has an assigned backdrop so you could transition from indoors to outdoors on the same map by using different backdrops and the engine draws horizontal slices for the appropriate backdrop in the distance. It worked well in old IBbasic.

I'll probably change IB to use 440x440 or 880x880 backdrop images so builders can create more detailed images if they want or use the old GB size of 88x88 scaled by 5 or 10. Thoughts?

EDIT: Also, I will start live streaming my HEARKENWOLD Let's Play with IB v204 later today. Version 204 has the caster AI update and the d20 screen with multiple attacks and moves split up (last attack or spell will end turn even if more moves are left). I'll be searching for bugs and taking notes so the live play might be slow :lol:
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I started my Let's Play of Hearkenwold with IB v204:

https://youtu.be/tN8iymQ76Q8

feature.jpg
feature.jpg (137.71 KiB) Viewed 330674 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Good start to the adventure, your party looks quite capable.

I noticed on its turn, the spider did not cast web. Is that because your characters moved in to melee range?

Regarding the 3d view backdrops, that looks like the way to go. I imagine it is even easier for indoor/dungeon maps where a builder does not have to worry about a sky/time of day background image.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I'll have to look at the spider encounter again to see what happened. If it is a GeneralCaster and has 100% casting, it should cast a spell unless there is no spell that passes the criteria for optimal use (may try and save SP for a later round unless if optimal).

You don't have to use the directional/time of day backdrop on exterior areas, it is just an optional thing that is nice to have. There are also overlay wall tiles that can add doors, windows, shelves, containers, furniture, weapon racks, light coming down from cave ceiling opening, etc. on top of a normal wall tile.

I just revised the load/save system in IB v204. It now has 10 save slots for the player. It also has a "quicksave" slot that can be made from the save menu or from F5. I also have an "autosave" slot that is triggered before each encounter if the module author has the allowAutosave flag set to true in the module's settings (Hearkenwold has it set to true, was that intentional?). If you try and click on the "autosave" slot in the save game dialog, it gives you a message that says (and it doesn't allow the player to use the slot for saving, only loading):

gv.sf.MessageBoxHtml("This save slot is used by the game engine only. Before each encounter, an autosave is made if the module author allows it (module setting allowAutosave = true/false). This module has allowAutosave set to: " + gv.mod.allowAutosave);
IB34.PNG
IB34.PNG (594.33 KiB) Viewed 330136 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Dorateen wrote: Sun Oct 17, 2021 2:24 pm I noticed on its turn, the spider did not cast web. Is that because your characters moved in to melee range?
So it looks like I was only checking for effects from the spells effect list and not for the event where the spell uses the spellEffectTag instead of the spellEffectTagList. IBbasic only uses the spellEffectTagList so the code I copied over was ignoring the old way of using the spellEffectTag. The benefit of switching to the list is that you could have a spell that does multiple types of effects such as a spell that does minor healing and bless, or sleep and blast of light, etc. Either way, I changed the General Caster AI to look for both instance (the old and new methods) so now Hearkenwold is working correctly (I tested it out).

SIDE NOTE: I was able to turn back on all the 3d view code for IBbasic and test it out. I still need to turn back on the toolset parts, but everything works fine so far. Once it all is back in and checks out, I'll add the code to IB v204 as well.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I'm trying to track down a few attack modifier calculation bugs so no streaming tonight. I not sure if modifiers from items or effects are being added into the attack modifiers so I'll need to verify that and fix if needed.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Do you think it is something in the latest builds? I had been testing a lot in 200, and then upgraded to 203 at the end just before I posted the module. I don't recall seeing attack modifiers not being applied. But then, I was also running higher level characters, and it is probably more noticeable in the early game.

edit: Not very extensive, but I just tested in build 203, a fighter with BAB 10 unarmed. I equipped a +1 short sword, and the character sheet shows a BAB of 11. I then fought a battle, and his attack rolls showed +11.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

It looks like the bonuses from items was being counted correctly, but not from effects such as prayer. I tried to clean up the calculation a bit so it is easier to follow the code going forward. I think I have everything accounted for now and I updated the d20 screen to show all the modifiers.

Code: Select all

public int CalcPcAttackModifier(Player pc, Creature crt, bool isMainHand)
        {
            //int modifier = 0;
            int situationalModifier = 0;
                        
            int equippedItemsMod = 0;
            int ammoMod = 0;
            int bab = pc.baseAttBonus;
            int babEffectMod = 0;
            int attributeMod = 0;
            int fromBehindMod = 0;
            int targetHeldMod = 0;
            int adjacentEnemyPenalty = 0;
            int sneakAttackMod = 0;
            int twoWeaponMod = 0;
            int poorVisionMod = gv.mod.poorVisionModifier;
            int preciseShotAdder = 0;
            int hardToKillMod = 0;


            //All modifiers from equipped items
            equippedItemsMod = gv.sf.CalcAttackBonusesNoAmmo(pc, isMainHand);

            //target is held bonus
            if (crt.isHeld())
            {
                targetHeldMod = 4;
                situationalModifier += 4;
                //gv.cc.addLogText("<font color='lime'>" + pc.name + " <font color='white'>attacks held creature: +4 att</font><BR>");
            }
 
            if (gv.sf.isMeleeAttack(pc)) //MELEE ONLY
            {
                //BAB and Effects total mod includes permanent Effects from Traits
                babEffectMod = gv.sf.CalcTotalEffectBABModifier(pc);
                
                //Attribute mod
                attributeMod = gv.sf.CalcPcMeleeAttackAttributeModifier(pc, isMainHand);
                
                //attack from behind modifier
                if (IsAttackFromBehind(pc, crt))
                {
                    fromBehindMod = gv.mod.attackFromBehindToHitModifier;
                    situationalModifier += gv.mod.attackFromBehindToHitModifier;
                    if (gv.mod.attackFromBehindToHitModifier > 0)
                    {
                        //gv.cc.addLogText("<font color='white'>Attack from behind: +" + gv.mod.attackFromBehindToHitModifier.ToString() + " to hit." + "</font><BR>");
                    }
                }

                //sneak attack bonus                
                if (pc.steathModeOn)
                {
                    if (pc.knownTraitsTags.Contains("sneakattack"))
                    {
                        //+1 for every 2 levels after level 1
                        int adding = ((pc.classLevel - 1) / 2) + 1;
                        sneakAttackMod = adding;
                        situationalModifier += adding;
                        //gv.cc.addLogText("<font color='lime'> sneak attack: +" + adding + " to hit</font><BR>");
                    }
                }

                //twoweaponfighting mod                
                if (hasWeaponInOffHand(pc))
                {
                    twoWeaponMod = gv.sf.CalcPcMeleeTwoWeaponModifier(pc, isMainHand);
                }

                //hard to kill mod            
                if (gv.sf.hasTrait(pc, "hardtokill"))
                {
                    hardToKillMod -= 2;
                    //gv.cc.addLogText("<font color='white'>" + "blinded by rage" + "</font><BR>");
                    //gv.cc.addLogText("<font color='white'>" + "-2 attack penalty" + "</font><BR>");
                }
            }
            else //RANGED ONLY
            {
                //Attribute mod
                attributeMod = (pc.dexterity - 10) / 2;
                
                //ammo used modifier                
                Item itm = gv.mod.getItemByResRefForInfo(pc.AmmoRefs.resref);
                if (itm != null)
                {
                    ammoMod = gv.mod.getItemByResRefForInfo(pc.AmmoRefs.resref).attackBonus;
                }
                
                //BAB and Effects total mod includes permanent Effects from Traits
                babEffectMod = gv.sf.CalcPcRangedAttackModifier(pc);
                
                //factor in penalty for adjacent enemies when using ranged weapon
                if (isAdjacentEnemy(pc))
                {
                    //if (gv.sf.hasTrait(pc, "pointblankshot"))
                    if (gv.sf.canNegateAdjacentAttackPenalty(pc))
                    {
                        //can ignore attack penalty due to PC having a pointblankshot type of trait or effect 
                    }
                    else
                    {
                        adjacentEnemyPenalty -= 4;
                        situationalModifier -= 4;
                        //gv.cc.addLogText("<font color='white'>" + "-4 ranged attack penalty" + "</font><BR>");
                        //gv.cc.addLogText("<font color='white'>" + "with enemies in melee range" + "</font><BR>");
                    }
                }
                
                //precise shot trait
                if (gv.sf.hasTrait(pc, "preciseshot2"))
                {
                    preciseShotAdder = 2;
                    //gv.cc.addLogText("<font color='lime'> PreciseShotL2: +2 to hit</font><BR>");
                }
                else if (gv.sf.hasTrait(pc, "preciseshot"))
                {
                    preciseShotAdder = 1;
                    //gv.cc.addLogText("<font color='lime'> PreciseShotL1: +1 to hit</font><BR>");
                }
            }

            if (situationalModifier != 0)
            {
                //gv.cc.addFloatyText(new Coordinate(pc.combatLocX, pc.combatLocY), "+" + situationalModifier + " att", "white");
            }

            int attackMod = equippedItemsMod + ammoMod + bab + babEffectMod + attributeMod + fromBehindMod + targetHeldMod 
                + adjacentEnemyPenalty + sneakAttackMod + twoWeaponMod + poorVisionMod + preciseShotAdder + hardToKillMod;
            
            return attackMod;
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I think I’ll add the adjacent ally AC bonus system to IB and make it a module setting so the author can choose to use it or not. The way it works is that a PC (or creature) gets a bonus to their AC for each ally that is in an adjacent square to them. This creates some benefit to staying close to each other and makes you think more about your location on the map. The down side is that AoE spells will take advantage of you if you group together so you will need to make a choice.

Thoughts?
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

slowdive wrote: Thu Oct 21, 2021 4:27 pm The way it works is that a PC (or creature) gets a bonus to their AC for each ally that is in an adjacent square to them.
I enjoy party mobility in tactical combat, so as a player I'm not likely to keep a character on adjacent ally square without reason. Having said that, if there is an AC bonus for doing so, I think it should be the result of some condition: like an aura of protection from a paladin, or a fighter who has the ability to block incoming attacks. I don't think by default, player characters should get the bonus for standing next to one another. But having it as a toggle in the settings is good so that builders can play around with the idea.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I think the conditional based bonus makes sense. My thought was that when close together, you don't have to focus your defense on as many sides so you AC would be higher. Also, it adds additional strategy to position on the combat field and which enemy you attack (the middle one is more protected than the fringe enemies). I used to play a game called Lord's of Conquest ( https://www.c64-wiki.com/wiki/Lords_of_Conquest ) that used this mechanic and it made it feel more chess like (partially deterministic with combat location and random with attack and damage rolls). I finished adding the code into IB and have it set as a flag in the module's settings. I will set it to true in Hearkenwold for episode 5 just for show and then I'll turn it back to false for future episodes.

Next up I'll start adding the 3d view system in the toolset and then in the engine.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

I definitely see the value in adding this additional strategic layer to positioning. And I think you mentioned it would apply to enemies, too? That should be interesting and it will be worth seeing the AC bonus setting in action.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Episode 5 (posted last night) has the near ally ac bonus turned on. I’ll turn it off in future episodes, I just wanted to show how it works in the one episode. There are pros and cons to spreading your party out with this system. And the enemies in swarms are more difficult to hit so AoE spells come in more handy.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I started looking into adding the 3d view system to IB and it may be a bit challenging to modify the Area Editor. It looks like Karl made some changes to the area editor for maybe a Way Point system, but now the designer doesn't show up in Visual Studio for editing. I tried various ways to fix this, but I can't figure it out. I guess I could make a separate Area Editor for 3d areas? Thoughts? If not, I'll just stop working on the idea of 3d areas and start focusing on bug fixing from the todo list.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

I wouldn't go through the trouble. It would have been interesting to experiment with, and even I only intended to start with indoor/dungeon areas for a 3d view. Better to focus on changes that will benefit all builders/players.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I fixed the damageAdder issue. I explained a bit in today's stream. Today's stream (ep7) was just showing some of the fixes and some of the still existing issues with the new advanced general caster AI. Most of the issues are with the move before casting system which is a real cool system when it works correctly :lol: Well, more bug hunting to do in the next day or two before getting back to a proper Let's Play stream of Hearkenwold.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finished everything on the list for v204. I'll stream a few more play tests with Hearkenwold before posting v204.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Making some final tweaks to IBbasic v1.0.15 before release. I made some changes to the way triggers are placed and edited to make it more intuitive and avoid mistakes. I have also been play testing The Elderin Stone as part of my search for bugs.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I posted IBbasic v1.0.15 to The NWVault and to Google Play.

I'm having issues with iOS since they moved to iOS 15 and my old Mac Mini having issues updating Xcode to version 13. I may have to stop worrying about posting an iOS version for now. Most downloads come from Android and PC anyway and it'll save me $100 a year in Apple Dev fee :lol: (although money never really is an issue, but dealing with Apple is just too frustrating :evil: )
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I made a basic trailer for IBbasic. I blew through my entire budget of $0 on it :lol: Don't expect too much, but here it is...

https://youtu.be/UEPS-h8LsUA

I am planning on an Official Release date of November 19th, 2021. Hopefully some "streaming parties" and mini module competition to come in December.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Nice, trailer gives a great overview of the IBBasic capabilities. And I always loved that music from the Raventhal.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

A couple of images for marketing and promoting the release date:
IMG_2050.PNG
IMG_2050.PNG (1.85 MiB) Viewed 330968 times
IMG_2051.PNG
IMG_2051.PNG (1.09 MiB) Viewed 330968 times
IMG_2052.PNG
IMG_2052.PNG (589.2 KiB) Viewed 330968 times
IMG_2054.PNG
IMG_2054.PNG (1.95 MiB) Viewed 330968 times
IMG_2063.PNG
IMG_2063.PNG (245.98 KiB) Viewed 330968 times
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I've play testing and bug fixing the past few days. One thing I noticed is how overpowered the current sleep spell is. I created a new property for Effects called "worksOnLevelOrLowerOnCreatureOrPc". I know, not a very descriptive property name :lol: It basically is used to see if a creature (or PC) is above this level and if it is, they are immune to the effect (spell, trait, item, etc.). So now the sleep spell (I haven't thought of any others that would need the value changed from its default of 99) will only impact creatures and PC level 1 and 2 (level 3 and up are immune). Hold, web, and entangle have their value set to 99 so they work on everything still (depending on DC check). I was able to put some powerful creatures to sleep and that just seemed wrong :lol:

Code: Select all

        public bool isCreatureImmuneToEffect(Creature crt, Effect ef)
        {
            //see if their level is greater than the effect works on level
            if (crt.cr_level > ef.worksOnLevelOrLowerOnCreatureOrPc)
            {
                return true;
            }
            //go through each trait to see if have trait with immune effect
            foreach (EffectTagForDropDownList efTag in crt.immuneToEffectTagList)
            {
                if (efTag.tag == ef.tag)
                {
                    return true;
                }
            }
                
            //go through each effect to see if it is a remove effect type
            foreach (Effect pcEf in crt.cr_effectsList)
            {
                if (pcEf.removeEffectTagList.Count > 0)
                {
                    foreach (EffectTagForDropDownList efTag in pcEf.removeEffectTagList)
                    {
                        if (efTag.tag.Equals(ef.tag))
                        {
                            return true;
                        }
                    }
                }
            }
            return false;
        }
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Interesting. If I could share a few thoughts on the idea:

Sleep in IceBlink has for a while been the only mass/AoE debuff spell. It is very useful for crowd control, and with the limited spell selection, often a wizard had to choose between mage bolt or sleep for their first spell choice. The spell does have a saving throw, a dc 10 fortitude check, I believe. Powerful creatures can have much higher saves, and this also leads to a sort of immunity, as with a fortitude of 6, for example, a creature only needs to roll a 4 or better to resist the spell. The chances improve with higher attributes, and a monster with a fortitude of 10 practically is immune.

Sleep is not as deadly as it was in the Gold Box games, where helpless creatures and characters could be killed in one hit. Instead, this just incapacitates the target for a few rounds, and are subject to +4 to hit them. I think that is fair, and again, it is all saving throw dependent.

Conversely, many enemy spell casters/monsters will start throwing sleep around and I think it is a good challenge for a mid-level party, should characters fail their saving throws. I would hate to take that out of a creature's arsenal, simply because PCs have reached level 3 or higher.

I think it is good to have the setting in the effects, so it can be adjusted by the builder per module. These are just some thoughts based on what I've experienced. As always, I look forward to seeing the new change in action.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

That's a good point about the DC. I guess I was looking at the SRD and it has sleep affecting up to 4HD of creatures (4 1HD, 2 2HD, or 1 4HD etc.). I was playing The Elderin Stone and putting everything to sleep, but I just checked the sleep effect and it has "saveCheckType" set to "none" so maybe that'll help. But, yeah, the value can be set to 99 so that nothing changes from now.

The SRD has:
Effects DC - base save bonus(reflex,will,fortitude) - attribute mod(dex,wis,con) + effect level + effect originators attribute mod (wis,int,cha,etc.)
natural 1 always fails and natural 20 always passes

In IBbasic, I have only been using: Effects DC - Base Save Bonus
Maybe I should include the other modifiers as well?

for example, the SRD says that the DC for a wizard is:
"The Difficulty Class for a saving throw against a wizard’s spell is 10 + the spell level + the wizard’s Intelligence modifier"
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

For IceBlink basic, if you can include the other modifiers, that would probably be good. Gives player incentive to boost their saving throws through items and such.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So for IBbasic, I changed the sleep spell back to affecting everyone (not just those under level 4) and will instead rely on save checks. I updated the entire save check system in IBbasic to use the following formula:

DC = effect DC (typically 10) + spell level (1-4) + caster's applicable attribute bonus (int, wis, cha)
saving throw bonus = base save bonus (from class table of reflex, fortitude, will) + attribute modifier (reflex=dex, fortitude=con, will=wis)

if d20 roll + saving throw bonus >= DC then you passed

I've finished the code and will start testing it out tomorrow after I update all the creatures in the various modules (I already updated the standard creatures, spells, traits, and effects)
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I changed the IBbasic apply effects in combat system to check effects at the same time each round as they were applied. I was checking all effects at the start of each round and I think IB checks the effects stored on the creature/PC on their turn. The way I am doing it now is I record the move order index of the caster onto the effect square or the effect stored on the creature/PC. Then I check on each turn to see if any effects need updating if their move order index stored matches the current move order index. So the effect is checked and applied at the time of casting and then is not checked again until the next turn of the original caster of that spell/trait/item (exactly one full round later).

Thoughts?

Also, I changed the info hover over in IBbasic to be more like what is in IB. The info now pops up in the log (over the top of the log) when you hover over a creature or PC (see images below). I used to have the info (very little info) directly over the top of the token and this was to obstructive I think. I think this new method is much cleaner, what do you think?

I also changed the AC bonus for adjacent allies to only be +0.5 per ally so you need at least two allies to gain +1. I think this makes grouping your party together a little less beneficial, but still makes you think about it. spreading out is better to avoid AoE attacks, but standing together gains a small AC bonus. I think this is more balanced.
IBbasic41.png
IBbasic41.png (131.76 KiB) Viewed 420849 times
IBbasic42.png
IBbasic42.png (132.19 KiB) Viewed 420849 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

I think that is a good change regarding effects, I guess that has to do with debuffs that would end on a round but the character would not lose the status until their next turn. Should be better now.

The AC bonus sounds right. I do like the tactical considerations, and seems a fair tradeoff between better protection and vulnerability to AoE spells.

Going back to the sleep spell, I think removing the limitation is a good call. Following the SRD is a smart guideline, but there are some mechanical/system differences with IceBlink, I just wouldn't want to make certain spells obsolete as characters reach higher levels. Also, I double checked and the dc that I have is 15 for Sleep. So it is pretty powerful, but I think encounters can be built around that.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Dorateen for the input and insight. I submitted v17 to the Apple App Store for review with a setting to not release until the 19th. Apple takes longer to approve than Google Play so I needed to get a build out now. I'll post v17 to Google Play on Wednesday with a release date setting of the 19th. I can post v17 to the NW Vault on Friday morning. So hopefully everything will be ready to go on the 19th for the initial release of IBbasic. I suppose there will be some bug reports once people start playing with it, but so far it has mostly just been me play testing. Hopefully no major bugs though.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finished a little early and Apple approved the update. I think I will release IBbasic v1.0.17 tomorrow evening so it should be officially out there on Thursday. That should give me some time on the weekend to fix any bug reports that show up.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Yeah, I finished releasing IBbasic v1.0.17 and it can be found at the NW Vault for PC, Google Play for android, and Apple App Store for iOS (and should work on M1 macs).
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Yeah, I finished releasing IBbasic v1.0.17 and it can be found at the NW Vault for PC, Google Play for android, and Apple App Store for iOS (and should work on M1 macs).
Congratulations on the big release! Look forward to seeing some projects for IBBasic.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Thanks Dorateen! They’ll probably just be my projects or my conversions of IB projects like has happened in the past :lol: . Which is fine because it may introduce some to the IB modules that may not have seen them otherwise.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

We got a nice review from RPG Crawler about IBbasic. He has some good insight and feedback on needed improvements and the parts he liked.

https://youtu.be/5VfbjjN3KA8
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So RPG Crawler mention that one of the largest weaknesses of IBbasic is the interface and clutter. I'm not as experienced or well versed as Dorateen, Pongo, and others. Do you guys have any suggestions (maybe a mock up or description) of how to improve or revamp the interface to be more intuitive and provide a better overall experience? Do you have any examples of interfaces from similar retro style games that work well and why? Thanks!
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

I thought the interface "clutter" was due to making IBBasic available for smaller screen platforms like tablets and phones? The full PC IceBlink engine I think looks fine, but that would not be possible for basic. Seems there was always going to be a tradeoff between what you can practically fit and what functions, even if its not as visually pleasing. Is making the buttons smaller an option? That might help create more room to move around UI elements.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I've tried smaller buttons before, but it is hard for phones and fat thumbs :lol:

RPG Crawler made me a video with a bunch of feedback and suggestions (is unlisted so non-public) on how to improve the UI for an app that is trying to work well for both PC and mobile. Of course that isn't really easy to do, but I tried making a few mock-ups of some ideas to maximize screen real estate. What do you think of the following layouts? Very similar to regular IB in some ways. The different UI panels could be toggled on/off and I will add the party time/location text as well:

All panels toggled off:
mainmapOff.png
mainmapOff.png (38.76 KiB) Viewed 670630 times
Layout Option 1 with all panels toggled on:
mainmapOn.png
mainmapOn.png (192.7 KiB) Viewed 670630 times
Layout Option 2 with all panels toggled on:
mainmapOn2.png
mainmapOn2.png (331.63 KiB) Viewed 670630 times
Layout Option 2 with move arrows toggled off and log automatically shifted to the middle:
mainmapOn3.png
mainmapOn3.png (330.05 KiB) Viewed 670630 times
For reference, here is the current IBbasic layout (from iPad):
IMG_2050.PNG
IMG_2050.PNG (577.96 KiB) Viewed 670630 times
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

I like Layout 2. Something about the character portraits lining up on the right of the screen. Maybe along the top was obscuring too much of the view, but on the side it looks better. I can't think of many cRPGs I have played with portraits on the top, except for showing initiative order in combat.

I also like the placement of the log, and how it automatically moves to bottom center if the arrow buttons are toggled off.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finished the UI rework of the game and the toolset. I went with a slight combination of Options 1 and 2. All UI elements can be toggled on/off for the most part. I posted v1.0.18 (PC version) to the NW Vault for those wanting to see the changes and provide feedback.

https://neverwintervault.org/project/ic ... inetoolset

Below images have some UI elements turned all on and some with everything turned off:
Capture01.PNG
Capture01.PNG (116.97 KiB) Viewed 670580 times
Capture02.PNG
Capture02.PNG (163.05 KiB) Viewed 670580 times
Capture03.PNG
Capture03.PNG (183.38 KiB) Viewed 670580 times
Capture04.PNG
Capture04.PNG (127.63 KiB) Viewed 670580 times
Capture05.PNG
Capture05.PNG (149.4 KiB) Viewed 670580 times
Capture06.PNG
Capture06.PNG (165.77 KiB) Viewed 670580 times
Capture07.PNG
Capture07.PNG (184.69 KiB) Viewed 670580 times
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Looking really nice - good work!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I updated the Android and iOS versions (v1.0.19) to include the new UI improvements from above. So now IBbasic v1.0.19 is available for PC, Android, and iOS.

Now I can get back to my Hearkenwold Let's Play, updating IB, importing Hearkenwold to IBbasic (updating the import tool for that), and maybe starting a Let's Play of The Elderin Stone in IBbasic.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

For use in an codex response:
toolset01.PNG
toolset01.PNG (142.88 KiB) Viewed 373508 times
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Merry Christmas Iceblinkers :)

Nice screenshot for Codex - good example of the convo system with conditions!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Yes, Merry Christmas fellow IceBlinkers! Always my kiddos favorite day, haha :lol:
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Hope they enjoy their presents. The first computer role playing game I got was on Christmas '89. And lots of fond memories playing D&D this time of year.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Nice! 1989 was a good year for RPGs - which one was it Dorateen? I got Space Rogue on the c64 that year and spent many hours slooooooowly making my way around the galaxy. Very impressive at the time. Curse of the Azure Bonds came out that year but I think it was a few years later when I got it.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Around 1989, I moved up (I feel it was a step up) from my c128 to an amiga 500 with the memory expansion card to a whole 1MB (512k + the expansion 512k). I was playing PoR on it and I could use the numpad to move in combat which was really nice compared to c64 mode movement in PoR. I got the memory expansion mostly so I could play Dragon's Lair which was the coolest graphics game at the time, haha :lol:
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Pongo wrote: Sat Dec 25, 2021 8:59 pm Nice! 1989 was a good year for RPGs - which one was it Dorateen?
Might & Magic II. And then Pool of Radiance shortly thereafter. That started a run of playing some amazing cRPGs throughout the early to mid nineties.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

That's a great introduction to the genre! I only got into Might and Magic much later on, I wish I'd played them on release, I would have loved them.
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

slowdive wrote: Sun Dec 12, 2021 10:41 pm Now I can get back to my Hearkenwold Let's Play, updating IB, importing Hearkenwold to IBbasic (updating the import tool for that), and maybe starting a Let's Play of The Elderin Stone in IBbasic.
Hey, this is super late and out of the blue, but could you elaborate on that point? I figured IBbasic could only import games that used tilesets for maps, and that Hearkenwold's maps were made up of large images. I'd been building my own game with images maps, but had been rethinking that approach in case I ever wanted to move it to IBb.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

cartons wrote: Wed Mar 09, 2022 1:12 am
slowdive wrote: Sun Dec 12, 2021 10:41 pm Now I can get back to my Hearkenwold Let's Play, updating IB, importing Hearkenwold to IBbasic (updating the import tool for that), and maybe starting a Let's Play of The Elderin Stone in IBbasic.
Hey, this is super late and out of the blue, but could you elaborate on that point? I figured IBbasic could only import games that used tilesets for maps, and that Hearkenwold's maps were made up of large images. I'd been building my own game with images maps, but had been rethinking that approach in case I ever wanted to move it to IBb.
You could convert a single image map into tiles (IB has this ability that Karl added), but what I did before for Hearkenwold was to create my versions of Hearkenwold maps that use tiles and are close to Dorateen's single image version. Most of the maps that Dorateen uses in Hearkenwold are using tiles to create a single image so my versions are not too different. The import tool will bring in any tiles that were used in the IB module and all the triggers, props, etc. I then go into the imported areas and add any missing tiles that were part of the single image map.
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

Sounds like a lot of work, even if its maps are already largely tile based. But hats off to you if it means I can carry Hearkenwold in my pocket :)

I'll have to test the tileset converter myself, but I imagine it'll produce unreasonably large files given how I've been drawing my maps until now. Thanks.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

cartons wrote: Wed Mar 09, 2022 1:06 pm Sounds like a lot of work, even if its maps are already largely tile based. But hats off to you if it means I can carry Hearkenwold in my pocket :)

I'll have to test the tileset converter myself, but I imagine it'll produce unreasonably large files given how I've been drawing my maps until now. Thanks.
I wouldn't worry too much about porting to IBbasic as IBbasic isn't seeing much activity or interest at this point. Just stick to IB and PC as that is where the focus will be going forward (IBbasic is pretty much feature complete at this point). The niche group that enjoys IB is mostly PC users. IBbasic was always meant to be an introduction to the regular IB (similar to how the old AD&D Basic sets were used to introduce people to AD&D). IBbasic is fun in its own right, but it was always meant to be a much simpler version and a fully complete and polished version of IB. The regular IB will probably never end in feature additions and updates as it is always growing.
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

Thanks for the advice. I stepped away from IB for awhile because there were some planned updates to IBbasic that I was hoping to use in my IB adventure, and I figured I'd wait until v204 before stepping back, but I've been bit by the bug again and just want to keep building, hah!
zach_holbrook
Posts: 94
Joined: Thu Jan 16, 2020 5:00 am

Re: Slowdive's Little Daily Blog

Post by zach_holbrook »

Just wanted to check in and say hey! Also, I haven't had a crash in a while -- I think whatever issues Windows 11 was causing might have been fixed by updates. (I hope that's the case anyway!)
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Great to hear that the Win11 crashes have mostly gone away. I have been silent for a bit since I have been in the process of replacing my old laptop. I picked up a MSI ge76 raider from Costco on sale a few weeks ago. I didn't want to install much on it or log into many sites until I knew for sure that I liked it. After a couple weeks of testing, I realized that it was crashing way too often while in idle mode so I reset the laptop and took it back to Costco. I picked another to see if it was just a bad motherboard or ram issue with power and this second one seems to be working great so far. So after a week of testing without crashes I am now installing chrome and logging into more places other than just microsoft and gog. I haven't installed Visual Studios or OBS just yet. So I'm slowly getting the thing setup :lol:
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I started playing around with the idea of a 3D version of IB. It would include the option to have 3D maps and 2D maps depending on the module's art style. It would be using Unity for rendering, audio, animations, and particle effects. So in theory, you could go pixel art style or full realistic 3D art style depending on your module. All the rest of the IB system would stay the same so existing modules would still work. For the 3D option, I would like to have first person map travel (and maybe a toggle for 3rd person) and top down combat (with rotating and panning camera as needed). So when you enter combat, the camera would rotate to a top down view. I am playing with the idea of allowing encounters to happen on the same maps as the main maps if the builder so chooses. If using separate combat maps, it would work the same as it does now with a scene switch from the main map to the encounter map.

Below is a link to a basic test of the first person movement. Of course I would use appropriate tile sets and tokens, but I'm just prototyping for now.

https://youtu.be/J3mExsAFGF0

Do you prefer the pixelated textures or the more realistic textures? I noticed that the video is not the best resolution and the real thing looks better that what is on YouTube. I like how Talespire looks and I would like for the combat view to look like a top down view on a Talespire map type of thing. That way it retains that pen and paper feel in a single player cRPG. Thoughts?

Using Unity will simplify and improve the whole graphic, audio, animation, and particle systems in IB. This should result in cleaner code for the IB game systems in the end (in theory). Of course, I'm just tinkering around to see how it may or may not work out. I spoke with Jason and Jonny (Bouncy Rock) to get some tips and a general feel if Unity could work for IB and that was extremely helpful for me. Thoughts?
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

I'm excited about the idea. Personally, I prefer the pixelated textures to the realistic ones. I think once you introduce any higher resolution graphics into an otherwise pixelated environment it creates a clash. Also, the pixels help maintain that old school charm of IceBlink.

I do like the Talespire look a lot. Understanding that project had been conceived as a tabletop supplement, I had always wanted to see that style in a computer role-playing game.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Yeah that looks nice! I agree with Dorateen about the pixelated textures.

I hadn't seen Talespire in action before but it looks pretty cool. The combat approach looks like it would work, definitely captures the tabletop feel.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I've been slowly working on testing IB in Unity to see if it will work. I was able to get area loading and drawing the layers working (not shadows, Props, grid, FoW, etc. yet) plus zoom and pan. Nothing really implemented yet, just trying to see if the main parts will work. Unity has a built in Tilemap system that is very efficient for rendering tilemaps fast. I'm trying to use it by creating Unity Tiles from the data in the IB area files. I have a title screen just to test the transition to the main map screen. I have to hit the "A" key (just for testing) to create and start rendering the tiles so that is why there is a slight delay from the black screen to the map. I have it set to 120fps just to limit it, it can run at over 1000fps on my laptop if I don't limit it :lol:

Also, I have a toggle ("B" key) to switch between perspective and orthogonal views and you will see me switching back and forth just to show that I have a 3d cube in the scene and the difference between the two modes. Regular IB maps will probably be set to orthogonal view only, but I am just playing around here to understand settings. For some reason panning only works in orthogonal view, I'll need to fix that for the 3d encounter maps (I'm starting to lean towards 3d encounter maps being separate maps just like we have now in IB).

See the link below for how it is working out so far (sorry about the weird audio noise):

https://youtu.be/8611W3-2N14
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Looks interesting. I suppose there would be a way to set the fog of war distance on a map?
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Fog of war will work like it used to with black tiles covering unexplored squares. I will adjust the zoom in/out and panning to be limited to the map edges. I’ll have the panning by click + drag and keyboard as well. Maybe zoom could have a keyboard key as well.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finished importing all the scripts from IB to the IB unity version. Maybe I'll call the Unity version IB2 or IBu? I am going through all the imported scripts one-by-one and commenting out the parts that will need adjusting (draw and animation stuff mostly). So I have a lot of "TODO" parts :lol:

I just have the "CommonCode" script left to go through. I'll then start tackling one screen at a time starting with the launcher screen and then the title screen. So overall some good progress has been made with the limited time I have.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Looking forward to see more examples of Unity IceBlink.

I think we had an IceBlink 2 version at some point. IBU could work, almost reminds me of an academic institution.
zach_holbrook
Posts: 94
Joined: Thu Jan 16, 2020 5:00 am

Re: Slowdive's Little Daily Blog

Post by zach_holbrook »

This does sound exciting. How much revision would a Unity version of IceBlink require on the builder's end?
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

zach_holbrook wrote: Thu May 05, 2022 1:39 pm This does sound exciting. How much revision would a Unity version of IceBlink require on the builder's end?
I’m coding the Unity version so that it will not require any changes from the builder. That is the plan. It should only create new options. The only parts that may change are some of the trickier code additions that Karl added that I can’t figure out how to convert (maybe the lighting system, but that should have a good Unity option to use).
zach_holbrook
Posts: 94
Joined: Thu Jan 16, 2020 5:00 am

Re: Slowdive's Little Daily Blog

Post by zach_holbrook »

Sounds great. I'm eager to test things out and play around with new options -- school ends next month, so I'll be working on Malkin a lot again very soon!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Some more slow progress here as I try to learn Unity. Unity works very different from the way IB does for handling game loop and game object stuff so it is taking me a bit to get accustomed to the new way of doing things. So far I have the launcher screen working (the UI is mostly prototype and will need some IB specific style) and the title screen comes up. On the title screen, I have the exit and load saved game mostly working. I'll probably work on handling all the trigger, fog of war, and movement blocking stuff next before returning to the create character and party builder screens for "new game" option on title screen.
zach_holbrook
Posts: 94
Joined: Thu Jan 16, 2020 5:00 am

Re: Slowdive's Little Daily Blog

Post by zach_holbrook »

Nice! Sounds like good progress to me.
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

Taking a break from building after finishing the first major dungeon in my game, but just piping in to say that I TOO am excited about this IBU!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Quick update. I have been able to get some more work done with IB v204 (which will be using Unity). I have the area transitions working and area loading happens on demand instead of all at the start of the module. This means the module will load up very quickly (I still need to clean up some additional repetitive loading code first). I also have FoW working and started on a settings screen. I'll be adding some more settings menu features that are shown in this video: https://youtu.be/YOaYQrN1oYQ

Here is a quick video to show where I am at as of today (much of the UI are still placeholder stuff):
https://youtu.be/78oxEmLy7iw
zach_holbrook
Posts: 94
Joined: Thu Jan 16, 2020 5:00 am

Re: Slowdive's Little Daily Blog

Post by zach_holbrook »

Exciting stuff. The main menu and UI look fantastic. Zooming is so nice to have too. This is gonna be so great!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Just a quick update:
I’ve been busy at work with IB in Unity. I will post another video once I finish up the main map screen UI work (which is almost finished). Most of the button don’t lead to actual screens yet and I’ll work on those one at a time. I do have the conversation system and screen mostly working at this point and area transitions.
zach_holbrook
Posts: 94
Joined: Thu Jan 16, 2020 5:00 am

Re: Slowdive's Little Daily Blog

Post by zach_holbrook »

Excellent! Looking forward to seeing the video!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Here is a quick video to show some of the items I have been working on the past week or so.

https://youtu.be/vvg2g6g0gBk

The main map UI only has right clicking on portraits (doesn't actually change the party leader or switch tokens yet), journal button, and party button working so far. The log panel has an issue with gaining and maintaining focus as well as a couple of other bugs to figure out. The UI art and text style is still placeholder-ish. Any thoughts or suggestions are most welcome.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Everything looks so smooth! I like the new layout of the journal and the character sheet, that was impressive.

One thought: when pulling up item information, would it be possible for the information box to open in the center of the screen, instead of on the right side? It would mean covering the character portrait, but I think might look better.

Also, not to put any pressure on you, do you have an approximate time frame when build 204 might be ready?
zach_holbrook
Posts: 94
Joined: Thu Jan 16, 2020 5:00 am

Re: Slowdive's Little Daily Blog

Post by zach_holbrook »

Looking great! The character sheet is much more user friendly now.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I'm not sure exactly on the timeline for v204. It depends on how quickly I can get everything working in Unity. It will also need some testing by module authors to verify that their modules are still working correctly. I'm trying not to change any of the underlining systems code and try my best to replicate the graphical systems in Unity. So in theory, all existing modules should not need any changes and should work out of the box. There may be some differences with the weather and map elevation system, but I'll try and keep as much as I can working with Unity. Right now I'm working on implementing all the different screens and then I'll go back and polish the graphical systems. I'm getting faster with each screen as I learn and understand more about Unity and how best to implement IB systems into Unity.

I was hoping to have the "tooltip" type box with the item info be more connected to the mouse position with an offset, but I had issues getting it working well in local/world space with different screen resolutions. I'll revisit that at some point, but for now, I'll just have the box show up in the middle as suggested.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Messed up my back last week so didn't get much done. Started working more on the inventory screen this week and have some parts working. I still need to address the tooltip item info location so that it is closer to the mouse location. I plan on having the party tokens on the right side of the screen and toggling them will select a player for comparison info. So when you hoover over an item, you will have two tooltip boxes next to each other, one with the item hoovered over and the other will be the equipped item of the selected PC that has the same type. For weapons and rings, you would get both ring hands and both weapon hands I guess. Anyway, it is a working thought and I'm not sure if it will work well or not. In the video below, you will see that the items are in a scrollable box instead of pages. The filter buttons are there, but not coded yet. Thoughts?

https://youtu.be/xzpVVNVxO34
cartons
Posts: 73
Joined: Mon Jan 11, 2021 5:38 pm

Re: Slowdive's Little Daily Blog

Post by cartons »

All of quality of life changes welcome! I like the idea of a comparison for equipable items.
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

Looking good! Tooltips will be much more user friendly, especially with a comparison option with what you're wielding. Look forward to testing it!
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I am thinking of doing some recurring live streams of coding sessions as a chance to connect with the IceBlink community and also to keep me on a coding schedule :D

I'll try and do either Saturdays or Sundays at 12:00 Arizona time.

Tomorrow's stream: https://youtu.be/rM7kETVl3K8

Feel free to drop by for a few minutes and say hi if you get a chance. You can also watch after the fact, but coding is pretty boring so probably not worth watching :lol:

EDIT: I switched the starting time to noon.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I posted a quick update to show where I am at with the IB Unity Inventory Screen and get some feedback:

https://youtu.be/caNVeWIxZxU

It isn't a lot of progress since the last stream, but it is some progress :lol:
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

That inventory looks a lot more modern and intuitive. I like the way it easily brings up the comparison with the equipped weapon - makes life so much easier.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I like the comparison toggle as well. Next up is to make all the UI elements load up the images from the module's "ui" folder and use those instead of the default ui images (assuming the module has a replacement image with the same filename). I will also need to think about using the builder's MainMap and CombatMap UI layout file that describes a custom layout, etc.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

To celebrate the 10 year anniversary of IceBlink Engine (yes, it has been a decade already :D ), I thought I would try and do some streams on Twitch of me playing some of the modules. Maybe I'll play some of the earlier modules first.

I'll be streaming on Sundays at 1PM Arizona time (I'm the same as Denver right now).

https://www.twitch.tv/slowdive_fan

Drop by and say hi if you get a chance :D
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

Sounds good! I can't believe it has been ten years already, but that's right. The Kickstarter for IceBlink was funded back in November 2012.
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

slowdive, I was able to watch yesterday's stream of Raventhal a few hours afterward. It was great to see the 3D view in the iceblink basic version. Looked like a lot of fun with the fans following along.
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Dorateen wrote: Mon Nov 14, 2022 2:50 pm slowdive, I was able to watch yesterday's stream of Raventhal a few hours afterward. It was great to see the 3D view in the iceblink basic version. Looked like a lot of fun with the fans following along.
It was a ton of fun! I posted it on YouTube so that you and Pongo could check it out. I think I will continue the adventure this Sunday at the same time for about an hour or so (live on Twitch) and then post again to YouTube. I stream and record at the same time since Twitch doesn't keep videos for very long. Happy to hear that you were able to watch a bit and that you enjoyed it.

IB ten year anniversary celebration EP1:
https://youtu.be/4XAmL8dE_XQ
User avatar
slowdive
Site Admin
Posts: 511
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

some WIP of IB3D in Unity https://youtu.be/gWUu3ot0Ig4
User avatar
Dorateen
Posts: 326
Joined: Thu Jan 16, 2020 3:03 pm

Re: Slowdive's Little Daily Blog

Post by Dorateen »

I just saw this... pretty amazing. Good to see more IceBlink development!
Post Reply