Search Results
Searched for posts by fejoa in all forums

Showing results 591 - 600 out of 1011 total
Modify your search
Posted by fejoa, Mar 5, 2016 at 4:44 pm
I use a modern distribution of MinGW 32-bit. I also store my SDL 2.0.4 distro inside the MinGW file system - which is really bad practice, so you will want to edit the makefile to point the SDL 2.0 in a separate folder.
If your IVAN code is in say
C:\ivan

You can use the following command:
C:\MinGW\bin\mingw32-make.exe -f C:\ivan\makefile.mak

On this makefile:
# Iter Vehemens ad Necem makefile for MinGW environment

# Copyrights (C) Timo Kiviluoto / IvanDev 2002-2004

CC       = g++ -o
FeLibDIR = C:\ivan\FeLib
FeLibGCH =
FeLibOBJ = $(FeLibDIR)/Source/bitmap.o $(FeLibDIR)/Source/config.o $(FeLibDIR)/Source/error.o $(FeLibDIR)/Source/feio.o $(FeLibDIR)/Source/felist.o $(FeLibDIR)/Source/femain.o $(FeLibDIR)/Source/femath.o $(FeLibDIR)/Source/festring.o $(FeLibDIR)/Source/fetime.o $(FeLibDIR)/Source/graphics.o $(FeLibDIR)/Source/hscore.o $(FeLibDIR)/Source/rawbit.o $(FeLibDIR)/Source/save.o $(FeLibDIR)/Source/whandler.o
SDL2DIR = C:\MinGW\include\SDL2
IVANDIR  = C:\ivan\Main
IVANBIN  = IVAN.exe
IVANGCH =
#IVANGCH = $(IVANDIR)/Include/action.h.gch $(IVANDIR)/Include/actions.h.gch $(IVANDIR)/Include/area.h.gch $(IVANDIR)/Include/bodypart.h.gch $(IVANDIR)/Include/char.h.gch $(IVANDIR)/Include/command.h.gch $(IVANDIR)/Include/cont.h.gch $(IVANDIR)/Include/database.h.gch $(IVANDIR)/Include/dungeon.h.gch $(IVANDIR)/Include/entity.h.gch $(IVANDIR)/Include/fluid.h.gch $(IVANDIR)/Include/game.h.gch $(IVANDIR)/Include/gear.h.gch $(IVANDIR)/Include/god.h.gch $(IVANDIR)/Include/gods.h.gch $(IVANDIR)/Include/human.h.gch $(IVANDIR)/Include/iconf.h.gch $(IVANDIR)/Include/id.h.gch $(IVANDIR)/Include/igraph.h.gch $(IVANDIR)/Include/iloops.h.gch $(IVANDIR)/Include/item.h.gch $(IVANDIR)/Include/level.h.gch $(IVANDIR)/Include/lsquare.h.gch $(IVANDIR)/Include/lterra.h.gch $(IVANDIR)/Include/lterras.h.gch $(IVANDIR)/Include/materia.h.gch $(IVANDIR)/Include/materias.h.gch $(IVANDIR)/Include/message.h.gch $(IVANDIR)/Include/miscitem.h.gch $(IVANDIR)/Include/nonhuman.h.gch $(IVANDIR)/Include/object.h.gch $(IVANDIR)/Include/pool.h.gch $(IVANDIR)/Include/proto.h.gch $(IVANDIR)/Include/rain.h.gch $(IVANDIR)/Include/room.h.gch $(IVANDIR)/Include/rooms.h.gch $(IVANDIR)/Include/script.h.gch $(IVANDIR)/Include/smoke.h.gch $(IVANDIR)/Include/square.h.gch $(IVANDIR)/Include/stack.h.gch $(IVANDIR)/Include/team.h.gch $(IVANDIR)/Include/terra.h.gch $(IVANDIR)/Include/trap.h.gch $(IVANDIR)/Include/traps.h.gch $(IVANDIR)/Include/worldmap.h.gch $(IVANDIR)/Include/wskill.h.gch $(IVANDIR)/Include/wterra.h.gch $(IVANDIR)/Include/wterras.h.gch
IVANOBJ  = $(IVANDIR)/Source/actset.o $(IVANDIR)/Source/areaset.o $(IVANDIR)/Source/charset.o $(IVANDIR)/Source/charsset.o $(IVANDIR)/Source/command.o $(IVANDIR)/Source/coreset.o $(IVANDIR)/Source/dataset.o $(IVANDIR)/Source/dungeon.o $(IVANDIR)/Source/game.o $(IVANDIR)/Source/godset.o $(IVANDIR)/Source/iconf.o $(IVANDIR)/Source/id.o $(IVANDIR)/Source/igraph.o $(IVANDIR)/Source/itemset.o $(IVANDIR)/Source/levelset.o $(IVANDIR)/Source/main.o $(IVANDIR)/Source/materset.o $(IVANDIR)/Source/message.o $(IVANDIR)/Source/object.o $(IVANDIR)/Source/roomset.o $(IVANDIR)/Source/script.o $(IVANDIR)/Source/slotset.o $(IVANDIR)/Source/trapset.o $(IVANDIR)/Source/wmapset.o $(IVANDIR)/Source/wskill.o
FLAGS = -DGCC -DUSE_SDL -DWIZARD -DWIN32 -IInclude -I$(SDL2DIR) -I$(FeLibDIR)/Include -O0 -std=c++11 -ffast-math -s -W -Wall -pedantic -mwindows
LIBS =  -lmingw32 -lSDL2main -lSDL2 -static-libgcc -static-libstdc++
#IVANRES = C:\ivan\Main\Resource\Ivan.res

all:	$(IVANBIN)

$(FeLibGCH) : %.h.gch : %.h
	@echo Compiling $@...
	@$(CC) $@ -c $< $(FLAGS)

$(FeLibOBJ) : %.o : %.cpp
	@echo Compiling $@...
	@$(CC) $@ -c $< $(FLAGS)

$(IVANGCH) : %.h.gch : %.h
	@echo Compiling $@...
	@$(CC) $@ -c $< $(FLAGS) -I$(IVANDIR)/Include

$(IVANOBJ) : %.o : %.cpp
	@echo Compiling $@...
	@$(CC) $@ -c $< $(FLAGS) -I$(IVANDIR)/Include

$(IVANBIN) : $(FeLibGCH) $(FeLibOBJ) $(IVANGCH) $(IVANOBJ)
	@echo Compiling $(IVANBIN)...
#	@$(CC) $(IVANBIN) $(FeLibOBJ) $(IVANOBJ) $(FLAGS) $(LIBS)
	@$(CC) $(IVANBIN) $(FeLibOBJ) $(IVANOBJ) $(FLAGS) $(LIBS) C:\ivan\Main\Resource\Ivan.res


To compile IVAN for windows.
Posted by fejoa, Mar 5, 2016 at 2:56 am
Made a bit of progress today. I delved into the code that creates undead configurations for zombies and skeletons, and our present day ghosts. I was able to use this to create humanoid style ghosts (provisionally called 'spirits', which will eventually just be known as ghosts), which preserve the bitmap positions of limbs, torsos and heads etc of the characters in the database that they are generated from.
I also found some machinery in the code that enables a maximum to be set on the alpha channel for bodyparts, meaning that I can cause the ghosts to have a certain transparency, and with the cloth colour set to a kind of gray, it makes a nice transparent fabric colour so the ghosts can still "wear" something. The skin colour is otherwise a very light blue tinge.
Posted by fejoa, Mar 4, 2016 at 8:36 pm
May be related, I get a message from windows saying IVAN has crashed when I wake my computer up from sleep mode.
Posted by fejoa, Mar 4, 2016 at 4:12 am
chaostrom wrote
What if, the magic system was the prayer system? So it wouldn't matter what your alignment was, if you learned a spell from a god you'd remember it even if you start worshipping another, but to use magic is to invoke the power of the gods, so your level of devotion would affect the outcome.

So you'd navigate around the four mountains by worshipping different gods, obtaining magic spells once you'd unlocked new areas?
The spell's effectivness is proportional to your relation with the god that gave you the spell?

At first I wondered whether this would preclude atheists from learning magic. It could be that magic could also be wrongfully obtained, or stolen from the gods...
Posted by fejoa, Mar 4, 2016 at 4:00 am
Zayre wrote
It ah... Everything in New Attnam was burning.

There is a lot of explosive stuff in that pile. What did you do to trigger the explosion?
Posted by fejoa, Mar 3, 2016 at 4:46 am
The clothes could get holes in them. I wonder if boots might get holes in them if you wear them for too long?
Posted by fejoa, Mar 3, 2016 at 4:30 am
The other agents I initially thought might be like a zodiac. But then we'd need to make up new "gods" or "planets". Instead, the NPC's could be the other players, so like Sherry, Guugzamesh, Xinroch, Danny and Rondol. And not to mention Ivan. They could all be the computer controlled agents in a Kahvi game.
Posted by fejoa, Mar 1, 2016 at 7:25 pm
Zayre wrote
So, I found something out the hard way. I went into Wizard Mode to spawn every item... Something caught fire, and everything exploded.

Did the game crash?
Posted by fejoa, Mar 1, 2016 at 4:49 am
4zb4 wrote
Ok so can someone help dumb this down for me?

I get that where you sit on the board determines the powers you'd have available, but I'm not clear on what - in the context of IVAN - would make you move around the board.

You're not alone in not knowing what in IVAN would make you move around the board. There are several ways this could happen:
1) Alveradok
2) The player's actions performed in the course of moving through the dungeon and killing things, eating spiders (passive actions)
3) Actions the player does with the intention of changing the movement on the board (reading books of wisdom?) (active actions)
4) a zodiac
5) irate gods
6) Sherry?

4zb4 wrote
Would it just be something as small as prayers to differently aligned gods, actively avoiding prayers, slaying certain monsters and the like?
So each of those actions would give you "experience" in a cardinal direction and when you have enough it would move you in that direction, with the tiles at the edges of the board being the most powerful?

It looks like the tiles are actions or powers, and if you act on one (on the board by moving to it), then it carries out that action and moves the other agents. You need to get pushed into new territory along the major axis by another agent to unlock additional movement (new actions). I suppose the actions the other agents perform in their turn have consequences for the player...? Either benevolent or belligerent.

In Kahvi's game, I noticed you can push the other agents outside the map, which is weird. Another topology could be to have the peak in the middle, and the low values starting tiles in the four corners and use a toroidal map (playfield wrapping), with the four peaks in the middle.

I wonder if Zeno will stop by to take a look?
Posted by fejoa, Mar 1, 2016 at 3:45 am
Ighalli wrote
...perhaps we should embrace that aspect and make them much riskier.

It looks like Ighalli has done well to limit the number of god actions to four or five, which is good because it makes things easier to balance.
One of the features of the present system is that the Lawful gods tend to get you out of dicey situations, the neutral gods get you cool stuff and the chaotic gods pimp you with wicked powers to make you badass (but don't rely on them to save you). I like that a theme runs through the pantheon.

Holy books are all you need to change alignment, and there is no penalty for changing alignment other than forgoing benefits of other gods. Imagine if the way to increase relations would be via prayer only. Holy books would allow you only to learn about the god. The range of gods to be able to pray to would be say five, with highest chance of top relations with the centre god, and say 67% max relations with adjacent gods, 33% max with next adjacent gods. If you wanted to switch to a god with which you have negative relations, you would have to undergo a penance with that other god, so praying to them would mean you get punished until your relation with that god enters positive territory, and you start gaining better prayer effects. During this process you lose champion status and gradually that relation goes negative.
Once you reach champion, the adjacent gods lock in to 67%, 33%, 0% pattern, meaning adjacent gods give you the benefits of their lesser prayer outcomes in a tiered way.

Admittedly it sounds a bit like a frequent-flyer scheme.

It seems like there are different types of petitions (with relation requirement in brackets):
(0) common petition (pray for a new limb etc)
(1) god-specific effect 1 (0 - 33%)
(2) god-specific effect 2 (34 - 67%)
(3) god-specific effect 3 (68% - 99%)
(4) god-specific effect 4 (champion effect 100% relation)

You would be able to tell whether you can pray for an effect if it appears on the list of available petitions on the "prayer screen", giving you an idea of your current relation with that god.
You could forgo the champion effect and pray to two gods in exchange for their two tier-three effects, and on and on.

Positive relations could die away to zero (negative remain negative), so there is a reason to pray relatively frequently in order to keep relations up, until you reach champion.

One thing you could do is create two different types of behaviour, instant and delayed outcomes:
1) Instant outcome. You lose a limb or you are losing a battle. You pray, the god answers and saves your ass (or not, by some random factor).
2) Delayed outcome. There is no immediate danger, you pray to the god. He or she is busy, and they'll get back later.
2a) You get into shit, BAM! the god answers your prayer from before and saves your ass.
2b) After some random time (say within a bandwidth of 1000*(god-specific effect tier) - RAND_N(relation) or somethign) your prayer finally gets answered and you get what you prayed for (or maybe not, depending on some random factor). Prayer timer goes back to zero and then you know you can pray again for another effect.

If you pray multiple times (it resets the timer?) and you can change your petitition to the god, so the outcome of the prayer follows the last thing you prayed for. So high frequency prayer is pointless, but incurs no penalty. Means you can be a devout follower (being punished for frequent prayer seemed counterintuitive).

The trick is, IVAN would need a good way of monitoring and prioritising what sort of help the player should receive, and whether it should be instant.

If you want to make the gods more capricious: So you want to be champion to a new god? Simply offer a limb at an altar, or renounce your old god for which you are currently champion (and face punshment by being scourged - scarred and covered in blood), or do battle with an armed warrior sent to kill you in `%gd`'s name. Or maybe you get sent a kamikaze dwarf to blow you up?

In fact, I think the type of kamikaze dwarfs should be restricted to the gods that you have negative relations with.

chaostrom wrote
You can choose to pray whenever, no timer, but the amount of favour you have with the gods influences the result.
We could decouple the player's Lawful - Neutral - Chaotic meter to be restricted only to the types of deeds that the player does, as opposed to being a status meter showing the player's overall alignment to a Lawful/Chaotic god + deeds. If the central, or champion god is say neutral, and the player's deeds tend toward Chaotic for example by eating human flesh, then when the player next prays, he may be hit with a punshment instead. So the player's behaviours need to align with their chosen god's morals. So if you're in with the chaos gods, you better be looking for evil deeds to do, just to stay in the gang. In this way, the player may be punished by prayer, but it is still within the player's control somehow, and gets to play a mini game to stay in control of their alignment.
It could also be that between when the player prays and when the prayer is answered, the difference in the values of the "Deed-alignment Meter" need to stay within some band in order for the prayer outcome to be positive. If the player has prayed to a lawful god when he was Lawful, but does evil and becomes neutral, then there is a negative gradient and the god may choose to punish the player.

Building a new god system is terribly difficult. The above is only one idea out of myriad different types of models you could implement. I hope it contributes to stimulating you own ideas. The game has extensive ancilliary machinery, like the danger system working in the background, which I haven't got a good handle on, but which can be utilised to assist the automation of some things. I think the main thing is that there is some structure nailed down in order to balance out the effects. Using a table or a matrix is usually a good way.