Profile for *i


Recent posts

Pages

AuthorRecent posts
OBoE Suggestion List in Blades of Exile
The Establishment
Member # 6
Profile #1
Suggestions are more than welcome, of course. To be implementable in OBoE, things must not break BoE scenarios in the way of actual errors or game balance. In other words, a scenario should created in BoE (theoretically) behave exactly the same when loaded in OBoE.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Mage and Priest Spell Nodes in Blades of Exile
The Establishment
Member # 6
Profile #4
It could, but it would be impossible to preserve backward compatability in that case.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Pointers in Blades of Exile
The Establishment
Member # 6
Profile #4
I've been rethinking (I didn't edit because it is a major shift in thought). That it would be better to just do one node. It sets a pointer to reference to a flag. If you change the value of the flag, the pointer value also adjusts. This way we do not need any comparison or other tests, just one node to reference.

A loop structure would look like this:

1: Set Pointer 10 to reference flag 100,0
2: Set flag 100,0 = 0
3: Give Mage Spell (-110) [reference pointer 10]
4: Increment 100,0 by 1
5: If 100,0 less than 10, goto 3, else goto 6
6: Set Pointer 10 to reference flag -1,-1 (nullify)

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Pointers in Blades of Exile
The Establishment
Member # 6
Profile #3
To better answer your question, there are four nodes planned:

Set Pointer: sets a pointer to a specific numerical value (which may be another pointer). ex1a = pointer ID (0-99), ex1b = value to set

Pointer to/from Flag: transfers data from a pointer to a flag and vice versa. sd1,sd2 = flag. ex1a = pointer ID (0-99), ex1b = 0 for send value from pointer to flag, 1 for send value from flag to pointer. Note that set flag can do the send value from pointer to flag.

Pointer arithmetic: does expression a +/- b = c. ex1a: pointer a, ex1b: pointer b, ex2a: pointer c, ex2b: 0 for add, 1 for subtract. Pointer c may be the same as a or b.

Compare pointer?: Does a comparison of a pointer with a value (or another pointer). ex1a: pointer id (0-99), ex1b: value, ex2a: 0 for equal, 1 for greater than, ex2b: special to jump to if condition met.

Total cost is four nodes. But it drastically expands the power. I thought about using flags, but as is we need two values to reference a flag which is difficult to port into one individual field.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Pointers in Blades of Exile
The Establishment
Member # 6
Profile #2
Yes, the current nodes for manipulation are: Set Pointer, Pointer to/from Flag, and Pointer Arithmetic. I'm working on comparison ones now.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Pointers in Blades of Exile
The Establishment
Member # 6
Profile #0
I've been thinking and I plan on introducing a new concept into OBoE that will drastically expand its programming power. A pointer is a value from -100 to -199 that when inserted into a node field references a value specified in an array of length 100.

Why do we care? Because as of now it is impossible to insert a dynamic value inside a field. Suppose I want to create a node to give all of the level 4 mage spells. Currently I would need to create a unique node for each one. With the pointer, I can put a dummy value (say -110 representing variable index 10) of 0. After I call the add spell node, I can increment the value of the pointer by 1 and recall it until I have given all of the mage spells.

I've done some basic testing and it appears to work. Before implementing this, I need comments. The one cost of this power is that it will break current save files. I may try to fix this, but I don't know how quite yet. Any comments or objections?

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Monsters Calling Specials in Blades of Exile
The Establishment
Member # 6
Profile #0
I have been playing around, and I have figured out how to give the ability of a monster type to call a scenario special node during its combat turn. This works sort of like START_STATE in BoA. I put it in the same place as radiating fields and summoning monsters.

This modification is to combat.c

I need to add more nodes to facilite better handling of this, but it should improve what people can do with their monster types. Comments?

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Open source project startup in Blades of Exile
The Establishment
Member # 6
Profile #38
Test.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Open source project startup in Blades of Exile
The Establishment
Member # 6
Profile #37
quote:
Note: by "units" I mean the classes (C++), that still have to be designed (I have designed only those for the "generic" game engine up to now).
Remember there is a fine line between elegance and readability. While the BoE code as is can be a hack at times, try not to go overboard with your classes as to make the whole thing unreadable by people without lots and lots of C++ experience. If in doubt, err on the side of readability. It is not a crime to use procedural logic if it is simpler for others to understand.

Also, we should probably distinguish between the efforts in OBoE, which I see as a broad class to describe the various efforts going on. I'm currently making changes to the source code, more in the actual game side of things. If you deal with that at all, make sure you keep things distinct between the two efforts.

OBoE specifically is not meant to be forward compatable. In other words things created in BoE will work with OBoE, but not necessarily the other way around. Anything that is still compatable in every way with the old BoE, should just be a subsequent release of BoE.

If you want to do something different, I would ask (nicely) that you select some way to distinguish your OBoE project from the one I am doing. It's likely the two would be combined eventually. Since there are compatability issues already in OBoE, (things created in it will not work in BoE) we should distinguish or plan to combine or something.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Select PC in Blades of Exile
The Establishment
Member # 6
Profile #2
I'll give it a look.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
After Day 180 in Nethergate
The Establishment
Member # 6
Profile #3
I don't recall a Tower of Magi in Nethergate. :P

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Town Hostile -> Set Attitude in Blades of Exile
The Establishment
Member # 6
Profile #4
You are correct, I was quick with my words. Either way, you know what I meant.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Mage and Priest Spell Nodes in Blades of Exile
The Establishment
Member # 6
Profile #0
I just made a few changes to the Give Mage Spell and Give Priest Spell nodes. All of the modifications were to specials.c. The changes are as follows:

1) It is now possible to access the level 1-3 spells. The index for these is 100 + spell number.
2) It is now possible to take away spells. If the extra1a field is <= 0, the spell is given, if it is >= 1, takes it away.

Comments?

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Town Hostile -> Set Attitude in Blades of Exile
The Establishment
Member # 6
Profile #2
Primarily because that's how Jeff had it. The -1 is there for backward compatability.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
9th Blades Contest in Blades of Avernum
The Establishment
Member # 6
Profile #0
Bain posted this earlier, but I made a new one. Preliminary rules are as follows:

The deadline is August 1, 2008 at 11:59 pm board time. Scenarios from both Blades of Exile and Blades of Avernum will be accepted. The categories will likely be similar to last time including Newcomer category. To be eligible, you must not have had an entry in a previous annual contest (does not include short scenario, 1/10, or other "themed" contests).

More to follow later.

[ Monday, February 25, 2008 09:24: Message edited by: Kelandon ]

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
OBoE Enhancement Documentation in Blades of Exile
The Establishment
Member # 6
Profile #0
Hello. This topic is to discuss ideas on how best to document the changes made in OBoE. Do people have any ideas on a good way to do this?

So far we have five changes on the Mac side:
1) Node limit has been removed.
2) Command key is an interrupt allowing a quit option during node execution for debugging.
3) Petrification touch has been added/fixed.
4) Select PC now allows random PC selection by CPU.
5) Town Hostile node has been changed to a Set Attitude node.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Town Hostile -> Set Attitude in Blades of Exile
The Establishment
Member # 6
Profile #0
I modified the town hostile node into a set attitude node. It still behaves like a town hostile node under the default behavior (all fields -1), but allows the user more control of the attitude of the creatures. The following functions were modified:

items.c :: a new function set_attitude was created.items.h :: added void set_attitude at bottomspecials.c :: node call goes to set_attitude instead of make_town_hostileThe behavior is as follows:
Extra1a: Specifies lower monster limit (-1 for first monster)
Extra1b: Specifies upper monster limit (-1 for last monster)
Extra2a: Specifies attitude (-1 = hostile type A, 0 = friendly, 1 = hostile type A, 2 = neutral, 3 = hostile type B)

Any comments?

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Select PC in Blades of Exile
The Establishment
Member # 6
Profile #0
I have just made a modification to specials.c to the Select PC node. This node now has the option (if field extra 2a > 0) to have the computer randomly select a PC rather than the player choosing one. This gives the player to randomly target PCs, and is valuable in things like special spells.

Comments?

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Petrification Touch in Blades of Exile
The Establishment
Member # 6
Profile #6
Protection from petrification items give immunity to it, of course.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Petrification Touch in Blades of Exile
The Establishment
Member # 6
Profile #4
That's a design choice and you can penalize scenarios that use it too heavily. However, I don't see why it shouldn't be an option. It definitely can make fights interesting.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Petrification Touch in Blades of Exile
The Establishment
Member # 6
Profile #2
You are correct, I already removed it. I'm not sure why Jeff did that, a placeholder perhaps?

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Petrification Touch in Blades of Exile
The Establishment
Member # 6
Profile #0
Turns out Jeff outright forgot this one. I coded it up myself in combat.c. For a chance of being petrified I did this:

r = (random # from 0 to 100) - target level + 0.5*attacker_level
if (r > 60) turns to stone

Petrification resisting items and magic immunity protect. Are people okay with this?

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00
Node Limit in Blades of Exile
The Establishment
Member # 6
Profile #18
Update: I took out the node limit entirely. It is now possible to quite the game during a node sequence by hitting the command key during execution. The same dialog for the quitting in combat comes up with options to quit or cancel. I wanted to make this nicer, but I had trouble getting it to handle menu commands. Basically, this is primarily used as an emergency feature for infinite loops, so I didn't want to put too much effort into it.

The following changes have been made to the code base:

run_special in specials.c has been modified. Node limit has been added, num_nodes has been changed to type int, and a call to a new function node_interrupt has been added.node_interrupt has been added to bldsexil.c that checks for the interrupt of the command key and gives the quit prompt. This was also added to bldsexil.h.I'll send what I have to Khoth. I think this is probably good. If anyone wants to make it better, feel free, but I think I am (for the most part) finished with this part of the project.

--------------------
Your flower power is no match for my glower power!
Posts: 3726 | Registered: Tuesday, September 18 2001 07:00

Pages