Planning for Release

https://attnam.com/topics/Planning-for-Release

The Cathedral of Attnam > IVAN Development

#1 May 18, 2014, 6:18 pm Hide

Pent

List of work to be done before release:
~~Work to be completed for release of IVAN 0.51~~

* Fix any known major bugs (we'll create a separate thread for bug reports, and decide which can be fixed without too much of a hassle).
  - Playtesting for any glaring errors ~Who wants to playtest?
* Balancing (http://www.attnam.com/topics/1273/Game_Balance)
* Finish work on Boots of Kicking.
* Player mood system as per IvanCon discussion. 
* Insect clouds as per IvanCon discussion.
  - Some method of clearing gases from squares, or accessible gas immunity (generic gas mask item, perhaps?).
* Player ghosts as per IvanCon discussion.
* Fire system as per IvanCon discussion.
  - Ability to 'P'our bottles/cans onto nearby squares
// Add blob's Ivan+Vladimir artwork to the entry of GC8
   -Done, but an improved version of the image is greatly welcome
#2 May 18, 2014, 9:15 pm Hide

capristo

I think small, attainable milestones is good, especially when we first start off.
#3 May 19, 2014, 2:55 am Hide

chaostrom

Actually the biggest obstacle with previous attempts was the lack of a dedicated coder. There was no point setting milestones or deadlines without one. However, as previous organiser, you have my full blessings to do whatever you feel necessary.
#4 May 19, 2014, 3:03 am Hide

Ernomouse

Pent wrote
List of work to be done before release (to be edited as per the discussion; initially it will be quite small):
//Work to be completed for release of IVAN 0.51

* Fix any known major bugs (we'll create a separate thread for bug reports, and decide which to include).
* Finish work on Boots of Kicking.
* Playtesting for any glaring errors

With one of the original devs, "the Council" back at 2010 compiled a list of what 0.51 should include:

No new dungeon
BUGFIX: the shop door creation bug and dissolving body parts (TTY only?)
BUGFIX: Mustard gas hostility bug
Insect clouds
Fire
Mood system
Having the bones ghosts look like the original characters

I'll have to dig around for the mood system graphics, I'm afraid they might have been lost during the re-install a few months ago. Think of Wolfenstein 3D to get a picture of what it was supposed to be like.

I believe it was something the original devs were planning, and it had some effect on what the player could and could not do and how well he did it. It was supposed to be an extension for the panicked status. For example, a panicked player character can't attack directly. A near panicked PC would have a reduced attack ability (maybe -25% modifier to hit?). A player that has gone berzerk can't run away from opponents, or something like that.

Pent wrote
*Do we have permission to release work as an official continuation of IVAN development, or do we have to release what is essentially a "fanon" variant?

Permissions aside, have you thought of why would you want to keep this a continuation of the original development line? With a break this long I think it might be better if we labeled this as the official "fanon" variant that is directly descendant of the discontinued official line of development, supported by the original devs to boot. If this version is the official version for this community, I would say it's as good as being the official version since the original devs have dropped the project.

I mean, we are about the only people who care...

This way you can give credit to those who paved the way, and yet call it something that is originally yours. And it would still be the official version.
#5 May 19, 2014, 10:24 am Hide

Pent

Ernomouse wrote
Permissions aside, have you thought of why would you want to keep this a continuation of the original development line?

Well, I'm fine either way, but that seemed to be the general sentiment around here.

As far as the IvanCon stuff, it's really just a matter of who's willing to do what, and in what sort of timeframe. I wouldn't go as far as to say that the entire list of features should be required for a release, as that just increases the chance of it falling apart at some point.

I'm sure it would be easy enough to find someone to work on creating "no new dungeon".
#6 May 19, 2014, 12:00 pm Hide

fejoa

I'll put my hand up to work on the fire subsystem.
For the record, still working on the boots. Results to follow soon.
#7 May 20, 2014, 1:02 am Hide

capristo

I vote for making this a variant.

The mood system seems a little ambitious maybe but otherwise the merged 0.51 list seems good to me.

Quote
* Fix any known major bugs (we'll create a separate thread for bug reports, and decide which to include).

Were there any other major bugs besides these ones?

Quote
* BUGFIX: the shop door creation bug and dissolving body parts (TTY only?)
* BUGFIX: Mustard gas hostility bug

I have faith in Pent and Warheck, but we've had so many failed attempts to restart this so let's see if we actually get .51 released then we'll do a fundraiser
#8 May 20, 2014, 10:22 am Hide

Pent

There were the three major exploits (banana/library kicking, and ommel cerumen wishing), which are all fixed now.

Here's a list of all the bugfixes since the CVS:

- Valpurus and Mortifer always said "never prayed" in prayer screen

- Silva earthquakes caused crash in GC6

- pea soup in world map fixed

- Valdemar spawn rate and base unarmed skill

- Gas immunity bones message bug (thanks Pent, Eagle V): Fixed(?) and needs testing

- Fixed the shop door creation bug (dungeon script files)

- "Fixed" Elite guard taming: TamingDifficulty = 30;

- Double checked that Ommel Cerumen cannot be wished for (this is therefore fixed)

- Fixed the library exploit

- Fixed the banana room exploit

- Holy hand grenade arm and drop in cathedral now go to dwarf room.

- Mustard gas hostility bug fixed. Still facilitates masochism, and fixes the NPC staying in the gas
 cloud by virtue of the hostility change. Instances of GasExplosion() in miscitem.cpp, level.cpp, gear.cpp,
 level.h were also harmed.

- wand of slow no longer casts haste (thanks for the reminder Warheck!)
 

The mood system could certainly use some fleshing out: what causes each state, what are the effects of each state, etc.?

Insect clouds have a few possibilities: a simple "insects" material could be added, and anyone inside the cloud takes damage, with the only major obstacles being getting it to move, and figuring out how it will spawn. Creating an actual monster type with the properties of a gas could would be more complicated, but may not have much of an advantage over just making an insect material. A way to clear a square of gases would be good as well. I'll try out the insect material idea and see how well it works.
#9 May 20, 2014, 12:09 pm Hide

fejoa

EDIT: that is already quite a lot of work. It's taken a while for us all to find those bugs

Pent wrote

Here's a list of all the bugfixes since the CVS:


What about the haste/slow bug?

In char.cpp:
CVS version was like:
void character::Slow()
{
  doforbodyparts()(this, &bodypart::Slow);
  doforequipments()(this, &item::Slow);
  BeginTemporaryState(HASTE, 500 + RAND() % 1000);
}

But now the IVAN says:
void character::Slow()
{
  doforbodyparts()(this, &bodypart::Slow);
  doforequipments()(this, &item::Slow);
  BeginTemporaryState(SLOW, 500 + RAND() % 1000);
}
#10 May 28, 2014, 1:38 pm Hide

Pent

EDIT{Thread On Balancing}

As far as bug testing, I was thinking we could just attach the most recent build (updated as necessary of course) to a thread for play-testing and bug reporting, so that anyone can check it out and report whatever they find. Any objections/better ideas?
#11 Feb 6, 2015, 2:57 pm Hide

waylon531

What currently needs to be done for ivan to become 0.51? Would someone mind putting a milestone on github?
#12 Feb 7, 2015, 12:59 pm Hide

fejoa

Pent wrote
EDIT{Thread On Balancing}

As far as bug testing, I was thinking we could just attach the most recent build (updated as necessary of course) to a thread for play-testing and bug reporting, so that anyone can check it out and report whatever they find. Any objections/better ideas?

I think this is a good idea. What I will do with the fire subsystem when I have a first iteration done is to make a pull request. I am 50% convinced that I have 70% of the work done on the fire subsystem. Once the other bits are done, I suppose we then make a thread to play-test IVAN 0.51?

waylon531 wrote
What currently needs to be done for ivan to become 0.51? Would someone mind putting a milestone on github?
I think the consensus was as per the first post in the thread. I will root around on the github site and put these milestones up.
#13 Feb 23, 2015, 2:54 pm Hide

Zayre

I'd be game for doing bug testing.
#14 Feb 25, 2015, 4:03 am Hide

fejoa

Zayre wrote
I'd be game for doing bug testing.

So am I, because I have developed quite a bit of code and I would like that tested. I am thinking about how to manage the source at the moment. I think there should be a 0.51 branch called "IVAN051-develop" which is separate from master, where we can merge changes from various forks and feature branches into, without breaking the master branch, and where we can compile beta test versions of the game.
Once we have a stable tested 0.51 beta, we can merge that into master and then move onto 0.52 development, and so on.

OK so I added the branch IVAN051-develop. With this we can merge changes into this branch, including all the bugs, and have this compiled and play-tested. I am going to try to squash a couple more bugs on my local branch. Stand by for more action soon.
#15 Feb 25, 2015, 11:57 am Hide

capristo

We should also make use of Git tagging. That enables us to set a breakpoint and say "this is version 0.51" so that people can download that specific version in the future
#16 Feb 25, 2015, 4:27 pm Hide

fejoa

Definitely Cap! It seems like we can also package binaries with each (pre-)release (see the github article on releases). Do you think we are ready to put out a pre-release for alpha-testing?
#17 Feb 26, 2015, 8:48 pm Hide

Pent

Warheck wrote
Definitely Cap! It seems like we can also package binaries with each (pre-)release (see the github article on releases). Do you think we are ready to put out a pre-release for alpha-testing?

Yes. Frankly, as long as the game runs there's no point in not putting out binaries for people to use, and the more people playing it and (potentially) finding bugs the better.
#18 Mar 1, 2015, 6:00 am Hide

fejoa

Hehe, the merge request is up. Once merged then I will update my local copy of the IVAN051-develop branch and compile a binary for testing.
#19 Mar 1, 2015, 2:18 pm Hide

capristo

Well it is way too much code for me to look at and I don't know C++ well enough so I just merged it for you. This is exciting!
#20 Mar 1, 2015, 4:47 pm Hide

fejoa

Ok there is a release available. Scroll down and you will find IvanWin051a.zip.

I made a real hash job of releasing, but at least it is a start. I'd love to find a simple way of creating a changelog and making it available in the repo somewhere?
#21 Mar 1, 2015, 8:57 pm Hide

capristo

Great job Warheck and everyone else who contributed! This is huge!

I love that the phoenix feather stuff "rises from the ashes". I think the original devs would appreciate stuff like that

I started playing around. I've seen the fire once when I kicked a booby trapped door and some of my gear caught on fire. Warheck could you give us some tips on how we can encounter fire in the game (so we can test)?
#22 Mar 1, 2015, 11:10 pm Hide

fejoa

Well, at the moment, the only way to make things catch on fire is to get caught up in an explosion. Fire propagation has not been facilitated yet, and will be the subject of further development. I'm adding issues to the development branch

Edit: The phoenix feather thing still needs a little bit of work, like for example a message indicating that the phoenix feather material has been restored, and maybe a temporary imitation increase.
#23 Mar 2, 2015, 9:49 am Hide

Ernomouse

It is possible to put out a burning sword by dipping it into an enemy? I LIKE IT. =D

Spectacular, guys. You have all the respect I have to give. This is, indeed, huge! I might test it out, just to see the world burn.
#24 Mar 2, 2015, 10:14 am Hide

Ernomouse

Notes from my 1st death:
- A scroll of teleportation caught fire from the 1st booby trapped door! How convenient! I dropped it on the floor. 'L'ooking at it gives no hint that it's on fire although the graphics are displayed. I think the description should say "it is burning" or something along those lines.
- Dropping it, picking it up again and reading the scroll is possible even though I ran around a while in between. Scrolls should burn up faster, and reading should be interrupted every now and then.
- A giant magpie beheaded me on UT2 as I was lying unconscious tangled up in a spider web. It ripped off my right hand before turning it's attention to my eyes... I now remember why this game is awesome.
#25 Mar 2, 2015, 10:21 am Hide

red_kangaroo

You all are awsome!

Now to put off till tomorrow what I should have done today...