English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 23 July 2009, 20:28   #161
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,350
Quote:
Originally Posted by Vortex View Post
Thank you...
At your service

Frankly I think that people who do floppy-only stuff are to be pointed at and publicly humiliated.

Oh, and yes, why not encrypting the loader to make things even funnier ?
meynaf is offline  
Old 30 July 2009, 11:36   #162
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,806
Quote:
Originally Posted by meynaf View Post
I stay tuned ;-)
Okay, I've tried to find a good balance between speed gain and sound quality, and I've come to the conclusion that it's not worth it. In this case it's best to go with (almost) the maximum lossyness. There are more ways to do this, but testing every possible way is far to time consuming because of the sheer amount of combinations (some parts can have more loss than others, for example). So again, I say lets just go for almost maximum lossyness so that at least some reasonable amount of speed is gained.
Quote:
Originally Posted by meynaf View Post
Sure.
All I can say is that I can't make much sense of that code yet But I'll keep trying, although I obviously can't promise anything.
Quote:
Originally Posted by meynaf View Post
No loss, please...
Don't worry, I'm aware of that. However, is it okay to render the images in slightly different ways if this doesn't reduce the quality? It might prove helpful.
Quote:
Originally Posted by meynaf View Post
That's building castles in the air...
How so?
Quote:
Originally Posted by meynaf View Post
Better to convert it to plain text, suits me much better - even though I can do this myself for doc (not docx) format.
The problem with that is that there's a lot of tables in the text, and conversion to plain text destroys those tables. Open Office Writer does a fine job when converting the text to html, and because there are only two bit mapped images in the text, the information is completely conserved. Perhaps that is better? The only way to convert to plain text and keep the table layout is to convert the doc file to PDF first and then have Foxit convert it to text, but the text is a bit messy. Let me know which one you want (or both).
Quote:
Originally Posted by meynaf View Post
Probably same speed. You know, you can have trap-on-condition feature with just a conditional branch to an odd address.
But then you can't use trap numbers
Quote:
Originally Posted by meynaf View Post
But I still have to know what use there can be for this crash-on-condition thingy.
Probably some specific case that neither of us will ever see
Quote:
Originally Posted by meynaf View Post
Erh, I don't follow you here. What is having the instruction return without changing the status register ?
I mean having RTR just return to the return address without changing the status register. However, I misinterpreted what RTR is supposed to do, because I thought RTS somehow changed the status register, which it of course doesn't do (just checked my 68000 manual)
Quote:
Originally Posted by meynaf View Post
We can't be sure. I've read that Mot' did statistical survey on existing programs to decide of their instruction set.
Interesting, but I still wouldn't waste too much time on figuring some sort of use for those obscure instructions, it's probably not worth it.
Quote:
Originally Posted by meynaf View Post
But quite typical of the machine.
I've actually looked it up, and it seems peecees have three timers which can operate at different speeds:
Code:
IBM PC Timer Programming
Timer channel modes. 
Port details. 

[top]

Modes of timer channels

CLK=1.193MHz
0: single timeout
CLK   __--__--__--__--__--__--__--__--__--__--__--__--__--__--
GATE  ____________--------------------------------____________
OUT   ________________________--------------------------------
Count | 4 | 4 | 4 | 3 | 2 | 1 | 0 | FF| FE| FD| FC| FB| FA| F9
1: retriggerable one-shot
CLK   __--__--__--__--__--__--__--__--__--__--__--__--__--__--
GATE  __________-__________________________-__________________
OUT   ------------____________----------------____________----
Count | 3 | 3 | 3 | 3 | 2 | 1 | 0 | 3 | 3 | 3 | 3 | 2 | 1 | 0 
2: rate generator (auto reload)
      (Timer1  66.3KHz)
CLK   __--__--__--__--__--__--__--__--__--__--__--__--__--__--
GATE  ------------------------------____________--------------
OUT   --------____--------____--------------------____--------
Count | 3 | 2 | 1 | 3 | 2 | 1 | 3 | 2 | 2 | 2 | 2 | 1 | 3 | 2
3: square wave mode (auto reload)
     (Timer0  18.2Hz)
CLK  -__--__--__--__--__--__--__--__--__--__--__--__--__--__--_
GATE -------------------------------------------________-------
OUT  _------------____________------------____________________-
Count | 6 | 4 | 2 | 6 | 4 | 2 | 6 | 4 | 2 | 6 | 4 | 4 | 4 | 2

For odd counts, the timer output line will be high for (N+1)/2 counts. The output line will return low for (N-1)/2 counts. N is the loaded count value. 
4: software triggered strobe
CLK   __--__--__--__--__--__--__--__--__--__--__--__--__--__--
GATE  -------------------________-----------------------------
OUT   ----------------------------------------____------------
Count | x | x | 6 | 5 | 4 | 4 | 4 | 3 | 2 | 1 | 0 | FF| FF| FF
5: hardware retriggerable strobe
CLK   __--__--__--__--__--__--__--__--__--__--__--__--__--__--
GATE  ______-_________________________________________________
OUT   --------------------------------____--------------------
Count | 6 | 6 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | FF| FF| FF| FF| FF

[top]

Port details
Port 61h
bit 0 out Timer2 GATE
bit 1 out Speaker Enable (ANDed with Timer2 OUT)
bit 5 in  Timer2 OUT
Port 43h
  bit:    7   6   5   4   3   2   1   0
          |   |   |   |   |   |   |   |
  +-------+---+   +---+   +---+---+   +--------- 0 - Binary
  |               |               |              1 - BCD
  0 0 - Timer0    |               +------- 0 0 0 - Mode 0
  0 1 - Timer1    0 0 - Latch Counter      0 0 1 - Mode 1
  1 0 - Timer2    0 1 - LSB                x 1 0 - Mode 2
  1 1 --------+   1 0 - MSB                x 1 1 - Mode 3
              |   1 1 - 16-bit             1 0 0 - Mode 4
              |                            1 0 1 - Mode 5
              1 1 0 1 - General Counter Latch
              1 1 1 0 - Latch Status of Timers

   LSB  - r/w least significant byte only
   MSB  - r/w most significant byte only
   16-bit - r/w least significant byte first, then most
            significant byte.

Latch Counter -- counter value is transferred into the output latch register. The latched value is held until read by port 40h..42h or a new counter value is loaded into timer 0..2. Subsequent counter latch commands are ignored until the value is read. The lower 4 bits of this command byte are ignored. 

When not latched, the value read from port 40h..42h is the immediate contents timer 0..2. 

General Counter Latch -- similar to Latch Counter. Timers 0..2 can be latched independently or in combination: 
bit   3 - select timer 2,
      2 - select timer 1,
      1 - select timer 0,
      0 - unused.

Latch Status of Timers -- latches the status of the selected timer(s) into the output latch. Once a timer's status has been latched, the status is read from the respective timer port 40h..42h. Bits 0..3 used as well as in the General Counter Latch command. Subsequent status latch commands are ignored for any timer that have already been latched but have not yet been read. Status byte information shown below. 
bit   7 - State of timer's output pin
      6 - 0 Null Count, a new count has been loaded into counter
      5,4 - r/w mode (LSB, MSB, 16-bit)
      3,2,1 - Mode 0..5
      0 - binary/BCD
Quote:
Originally Posted by meynaf View Post
Not a problem, except that it can be changed at any moment by w$ without you knowing it.
Those things are porbably just documented.
Quote:
Originally Posted by meynaf View Post
Besides, if you're hitting the hardware, then you'll hit only ONE particular board - your code will not work on others.
True
Quote:
Originally Posted by meynaf View Post
And if you leave the os alive, it will probably pre-empt you at the wrong moment.
Also true
Quote:
Originally Posted by meynaf View Post
But, assuming you've solved all this, how can you wait for the next vblank without any cpu use ?
The trick is that when using a timer, you can trigger an interrupt just before the vertical blank occurs. At this time the cpu waits for the vbl using a busy waiting loop. Because the cpu only has to start waiting just before the vbl instead of waiting all the time, a lot of cpu time is freed up, because normally it's unknown when a vbl occurs, with a timer you have a good approximation (and you can't miss a vbl anymore).
Quote:
Originally Posted by meynaf View Post
On an Amiga you'll need a timer at least for music, too.
Yes, that's true.
Quote:
Originally Posted by meynaf View Post
Pc and Amiga are very different worlds, you know.
Yup, can't deny that
Quote:
Originally Posted by meynaf View Post
Game can be done for both...
Of course, but it's stil more fun on an Amiga
Quote:
Originally Posted by meynaf View Post
Ok. Just do it.
Starcraft is probably just to damned hard. It's still worth a shot, but I'm not starting on that now.
Quote:
Originally Posted by meynaf View Post
I surely don't want to play like that.
That's what I thought.
Quote:
Originally Posted by meynaf View Post
The campaign missions aren't in the maximum speed if I remember well.
The entire game can be played at any speed setting you want, and the Campaign remebers the speed setting you used. Personally I play the Campaigns in fastest only, because I only play Starcraft at the fastest setting. The single player custom games always default to normal speed, but hitting the + key a couple of times solves that.
Quote:
Originally Posted by meynaf View Post
And games you told about are online games ; we could rather concentrate on missions (maybe even adding a few ones).
Of course, it is important to realize that once you get the hang of the current multi-player style that you'll completely wipe out Starcrafts weak AI. The game would also need a strong AI for the custom playing modes.
Quote:
Originally Posted by meynaf View Post
Yeah, I finished Starcraft campaigns.
How about melee mode?
Quote:
Originally Posted by meynaf View Post
That's what I indirectly wanted to remind you, but was that going anywhere ?
There were some good ideas, I think.
Quote:
Originally Posted by meynaf View Post
Well, DM isn't worse than those games where you gain a level (what does that mean ?!) and can now cast new spells coming from nowhere !
True, but at least in DM the levels make sense, because they don't just appear as a number (which indeed doesn't mean much).
Quote:
Originally Posted by meynaf View Post
If it's standard stuff, then I'm afraid I already have a lot... maybe if it's exotic too...
... And that's the hard part. Probably most useful things have already been done. Perhaps it's better to focus on an immersive game world rather than trying to be super original in the spells department.
Quote:
Originally Posted by meynaf View Post
But it's difficult to have a good rune list, and associate that with spells. As examples, how would you do healing spell, fireball, neutralize poison ?
I don't know, it's not easy for all possible spells. A fire ball however could be described as a shape+movement+fire element, but how to do this for all spells?
Quote:
Originally Posted by meynaf View Post
Note : for a big spell list you can download the Great Net Spellbook (should be easy to find). Many spells are good for classical (not computer) RPG, but with such a list you will find every classical spell in existence...
Well, then we're done I'll have a look.
Quote:
Originally Posted by meynaf View Post
Hooo boy. Yes, lots of people write like that. And this is just what I hate : 120 lines without even a single comment !
This code is for my personal use only, that's why there are no comments (all my C code is for personal use utilities, so no comments). However, what's the code itself like considering this is one of my first C programs?
Quote:
Originally Posted by meynaf View Post
You can't take away people's right to be stupid.

Quote:
Originally Posted by meynaf View Post
Not if the list of usable frequencies is too big !
I mean that you can increas/decrease the frequency by steps of 1000 herz. Besides, what you're talking about is more like a drop down menu.
Quote:
Originally Posted by meynaf View Post
If you think you can do that, then you can try to make the audio buffering system faster....
Well, that's the problem, I thought I could just jump in, but it's a little harder than that. It also doesn't help that I have no experience with resourced code, apart from your recourced mpega library, which is cleaned up rather well, but I'll try again.
Quote:
Originally Posted by meynaf View Post
Perhaps this could replace my fast mode, but I consider it as obsolete now because it won't make the viewer that faster and it's already fast enough for everyday use.
Didn't you say you wanted your viewer to work on a plain A1200 as well? In that case this might still be useful.
Quote:
Originally Posted by meynaf View Post
No, I don't sacrifice too little quality in my quick mode. It can sometimes add ugly ham artifacts, and it is more than enough for me !
It's meant as a third render option for unexpanded A1200s.
Thorham is offline  
Old 03 August 2009, 13:18   #163
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,350
Quote:
Originally Posted by Thorham View Post
Okay, I've tried to find a good balance between speed gain and sound quality, and I've come to the conclusion that it's not worth it. In this case it's best to go with (almost) the maximum lossyness. There are more ways to do this, but testing every possible way is far to time consuming because of the sheer amount of combinations (some parts can have more loss than others, for example). So again, I say lets just go for almost maximum lossyness so that at least some reasonable amount of speed is gained.
Still tuned. I'm just waiting for some sort of a final release on that point.

Quote:
Originally Posted by Thorham View Post
All I can say is that I can't make much sense of that code yet But I'll keep trying, although I obviously can't promise anything.
That sure isn't an easy thing. Only thing I could do was to find the 14bit routine and grab a few cycles out of it.

Quote:
Originally Posted by Thorham View Post
Don't worry, I'm aware of that. However, is it okay to render the images in slightly different ways if this doesn't reduce the quality? It might prove helpful.
Quality must remain at least as good as what it is, no more no less. It might even be time to consider raising the quality at the expense of some speed.

Quote:
Originally Posted by Thorham View Post
How so?
What I meant is none of us knows much about that stuff, so we're talking on the void.

Quote:
Originally Posted by Thorham View Post
The problem with that is that there's a lot of tables in the text, and conversion to plain text destroys those tables. Open Office Writer does a fine job when converting the text to html, and because there are only two bit mapped images in the text, the information is completely conserved. Perhaps that is better? The only way to convert to plain text and keep the table layout is to convert the doc file to PDF first and then have Foxit convert it to text, but the text is a bit messy. Let me know which one you want (or both).
I certainly prefer the html.

Quote:
Originally Posted by Thorham View Post
But then you can't use trap numbers
It's not TRAP #n, there are no trap numbers with either TRAPV or TRAPcc

Quote:
Originally Posted by Thorham View Post
Probably some specific case that neither of us will ever see
Indeed...

Quote:
Originally Posted by Thorham View Post
I mean having RTR just return to the return address without changing the status register. However, I misinterpreted what RTR is supposed to do, because I thought RTS somehow changed the status register, which it of course doesn't do (just checked my 68000 manual)
Ok, so in fact you meant RTR being just the same as RTS and vice-versa

Quote:
Originally Posted by Thorham View Post
Interesting, but I still wouldn't waste too much time on figuring some sort of use for those obscure instructions, it's probably not worth it.
Not if you don't want to design your own cpu, certainly

Quote:
Originally Posted by Thorham View Post
I've actually looked it up, and it seems peecees have three timers which can operate at different speeds
Wow. Very sophisticated. Now you just have to pray it didn't change in "modern" mother boards...

Quote:
Originally Posted by Thorham View Post
Those things are porbably just documented.
Well, all you need to know is : alt-tab is the directx app killer.

Quote:
Originally Posted by Thorham View Post
True
(...)
Also true
Isn't that enough to prevent your idea from working ?

Quote:
Originally Posted by Thorham View Post
The trick is that when using a timer, you can trigger an interrupt just before the vertical blank occurs. At this time the cpu waits for the vbl using a busy waiting loop. Because the cpu only has to start waiting just before the vbl instead of waiting all the time, a lot of cpu time is freed up, because normally it's unknown when a vbl occurs, with a timer you have a good approximation (and you can't miss a vbl anymore).
I meant in the main thread of the program. How can you simulate Amiga's WaitTOF() (graphics.library call) without eating all cpu ?

Quote:
Originally Posted by Thorham View Post
Of course, but it's stil more fun on an Amiga
Sure thing.

Quote:
Originally Posted by Thorham View Post
Starcraft is probably just to damned hard. It's still worth a shot, but I'm not starting on that now.
Ok.

Quote:
Originally Posted by Thorham View Post
The entire game can be played at any speed setting you want, and the Campaign remebers the speed setting you used. Personally I play the Campaigns in fastest only, because I only play Starcraft at the fastest setting. The single player custom games always default to normal speed, but hitting the + key a couple of times solves that.
I probably chose to hit the "-" key a couple of times

Quote:
Originally Posted by Thorham View Post
Of course, it is important to realize that once you get the hang of the current multi-player style that you'll completely wipe out Starcrafts weak AI. The game would also need a strong AI for the custom playing modes.
Starcraft's AI is weak, but Broodwars AI is already better. If still weak, then it's for die hards, not for beginners or casual players. For me it's good enough.

Quote:
Originally Posted by Thorham View Post
How about melee mode?
What's called melee mode ? I didn't play since several years and I don't remember ;-)

Quote:
Originally Posted by Thorham View Post
There were some good ideas, I think.
Only ideas, no code. But if you can give me a small world composed of 16x16 tiles (I mean both the map and the tile gfx), then I might come up with something.

Quote:
Originally Posted by Thorham View Post
True, but at least in DM the levels make sense, because they don't just appear as a number (which indeed doesn't mean much).
And they make even more sense when you know that each of the 4 levels is the addition of 4 internal sub-levels...

Quote:
Originally Posted by Thorham View Post
... And that's the hard part. Probably most useful things have already been done. Perhaps it's better to focus on an immersive game world rather than trying to be super original in the spells department.
It's more about completeness than being original.

And this is where runes are useful. As they have (or should have) a meaning, some of them may or may not be available to a particular character type, e.g. druids will always know the rune of vegetation, necromancers the rune of death, and the like. We just need enough spells using them.

Quote:
Originally Posted by Thorham View Post
I don't know, it's not easy for all possible spells. A fire ball however could be described as a shape+movement+fire element, but how to do this for all spells?
It's difficult, yes. How to do this for all spells : probably by creating runes when we need to invoke something that has no rune for it. We don't need to be very precise when describing a spell ; it's more symbolic than anything else. As another example, remove poison can be water+death+void. I did healing by just water+flesh.

Quote:
Originally Posted by Thorham View Post
Well, then we're done I'll have a look.
The spell list isn't the most difficult part. There are many RPG all with their own spell system ; they can serve as inspiration.

Now I've started to read that list and it's not as complete as I thought

Quote:
Originally Posted by Thorham View Post
This code is for my personal use only, that's why there are no comments (all my C code is for personal use utilities, so no comments). However, what's the code itself like considering this is one of my first C programs?
It looks like the code everyone else writes : curly braces at the wrong place, space missing here and there .
But no comments is dirty even for personal use. If you want to obfuscate, better write them in dutch !

Quote:
Originally Posted by Thorham View Post
I mean that you can increas/decrease the frequency by steps of 1000 herz. Besides, what you're talking about is more like a drop down menu.
Go from 12 to 25 : 13 clicks. Go back from 25 to 12 : even worse (freq can go from 8 to 48). No thanks, I prefer the keyboard.

Quote:
Originally Posted by Thorham View Post
Well, that's the problem, I thought I could just jump in, but it's a little harder than that. It also doesn't help that I have no experience with resourced code, apart from your recourced mpega library, which is cleaned up rather well, but I'll try again.
And that's just a DT player (even though a huge one). Now imagine a whole game

Quote:
Originally Posted by Thorham View Post
Didn't you say you wanted your viewer to work on a plain A1200 as well? In that case this might still be useful.
My viewer works on a plain A1200 and on it it's already faster than many others.

Quote:
Originally Posted by Thorham View Post
It's meant as a third render option for unexpanded A1200s.
HAM renderer isn't responsible for more than around 20% of overall jpeg displaying speed. So even if made twice faster the user wouldn't notice the extra 10% speed - but he would notice the losses !
meynaf is offline  
Old 03 August 2009, 20:58   #164
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,806
Quote:
Originally Posted by meynaf View Post
Still tuned. I'm just waiting for some sort of a final release on that point.
Well, it depends on what you want, really. It's your optimization project, so it's your call. Unlike last time with the scaling debacle, I do have code. What I need to know is do you want maximum lossyness, or some sort of balance, or even just both? It's all possible.
Quote:
Originally Posted by meynaf View Post
That sure isn't an easy thing. Only thing I could do was to find the 14bit routine and grab a few cycles out of it.
At least it makes for some good brain training, or paining, if you will
Quote:
Originally Posted by meynaf View Post
Quality must remain at least as good as what it is, no more no less. It might even be time to consider raising the quality at the expense of some speed.
Good, I don't like it when it has to render in exactly the same way. As for increasing the quality, sounds interesting!
Quote:
Originally Posted by meynaf View Post
What I meant is none of us knows much about that stuff, so we're talking on the void.
Got it, mate.
Quote:
Originally Posted by meynaf View Post
I certainly prefer the html.
Good. Although I could have reformated everything, it would've taken a long time. After looking at the html code, I did discover that the tables are very simple. Perhaps it's time for a good html to guide converter. I actually made one once. It didn't handle tables, but it did allow me to browse a mirrored site (on cd), because most of the site was text. But that's a whole different story all together.

Here are the files:

WinExeFormat-1999.zip
WinExeFormat-2008.zip

Note that the version from 2008 has two images missing. Probably nothing serious...
Quote:
Originally Posted by meynaf View Post
It's not TRAP #n, there are no trap numbers with either TRAPV or TRAPcc.
That's what I thought
Quote:
Originally Posted by meynaf View Post
Ok, so in fact you meant RTR being just the same as RTS and vice-versa.
Yeah, I know, it's a little insane
Quote:
Originally Posted by meynaf View Post
Not if you don't want to design your own cpu, certainly.
Guess what, I don't
Quote:
Originally Posted by meynaf View Post
Wow. Very sophisticated. Now you just have to pray it didn't change in "modern" mother boards...
Yes, quite. I like the variable speeds. They probably didn't change it.
Quote:
Originally Posted by meynaf View Post
Well, all you need to know is : alt-tab is the directx app killer.
Not if handled properly. All the games I play handle this perfectly.
Quote:
Originally Posted by meynaf View Post
Isn't that enough to prevent your idea from working ?
In practical terms it becomes complicated, the theory seems sound enough.
Quote:
Originally Posted by meynaf View Post
I meant in the main thread of the program. How can you simulate Amiga's WaitTOF() (graphics.library call) without eating all cpu ?
The timer interrupt handles this. You don't need to poll all the time, because the timer interrupt happens just before the vbl happens. It still uses some cpu time, but not nearly as much as just polling all the time.
Quote:
Originally Posted by meynaf View Post
I probably chose to hit the "-" key a couple of times.
To me that would make the game a pain to play
Quote:
Originally Posted by meynaf View Post
Starcraft's AI is weak, but Broodwars AI is already better. If still weak, then it's for die hards, not for beginners or casual players. For me it's good enough.
Broodwar AI is just as weak as Starcrafts. It's fine for beginners and casual players, but if your playing level is higher than those, it's just no good, and those players have to be taken in account as well.
Quote:
Originally Posted by meynaf View Post
What's called melee mode ? I didn't play since several years and I don't remember ;-)
It's a custom game option where you can select a map and play against the Ai as if it's a human player.
Quote:
Originally Posted by meynaf View Post
Only ideas, no code. But if you can give me a small world composed of 16x16 tiles (I mean both the map and the tile gfx), then I might come up with something.
Are the Fire Emblem graphics I showed you suitable? I have the tiles, and I have sprites to go with them as well. I also have additional fighting animations, if you want them.
Quote:
Originally Posted by meynaf View Post
And they make even more sense when you know that each of the 4 levels is the addition of 4 internal sub-levels...
Normal players don't know this, and I was referring to the level titles. Those make sense.
Quote:
Originally Posted by meynaf View Post
It's more about completeness than being original.
Good to know.
Quote:
Originally Posted by meynaf View Post
And this is where runes are useful. As they have (or should have) a meaning, some of them may or may not be available to a particular character type, e.g. druids will always know the rune of vegetation, necromancers the rune of death, and the like. We just need enough spells using them.
Sounds good. As for necros, Diablo 2 has some good necro spells. In particular the summon spells.
Quote:
Originally Posted by meynaf View Post
It's difficult, yes. How to do this for all spells : probably by creating runes when we need to invoke something that has no rune for it. We don't need to be very precise when describing a spell ; it's more symbolic than anything else. As another example, remove poison can be water+death+void. I did healing by just water+flesh.
Okay, but some precision isn't a bad thing: Potions are based on water, but healing doesn't really have to be done with only potions. A healing rune can be used, so that a heal poison spell becomes like this: water-heal-poison, while a hit point restoring potion could be water-heal. A death rune in combination with some healing spell might be the resurrect spell heal-death. When selected properly the rune combinations can make perfect sense.
Quote:
Originally Posted by meynaf View Post
The spell list isn't the most difficult part. There are many RPG all with their own spell system ; they can serve as inspiration.
Indeed. Doing it with runes just seems to be the coolest
Quote:
Originally Posted by meynaf View Post
Now I've started to read that list and it's not as complete as I thought.
Pity, but we can simply fill in the blanks. Besides, which spells are needed in the game world?
Quote:
Originally Posted by meynaf View Post
It looks like the code everyone else writes : curly braces at the wrong place, space missing here and there.
But no comments is dirty even for personal use. If you want to obfuscate, better write them in dutch !
Okay, point taken, except for the personal use. This is one of my first c programs and I had no problem reading it, because it's not a mess, and it's certainly not obfuscated. Besides, I hate obfuscated code.
Quote:
Originally Posted by meynaf View Post
Go from 12 to 25 : 13 clicks. Go back from 25 to 12 : even worse (freq can go from 8 to 48). No thanks, I prefer the keyboard.
You forgot the drop down menu that can be part of the numeric up down control. Further more, leaving out features because you don't need/like them while the program is supposed to be just a piece of software that people can use is a very bad idea. With my idea, you can use the original keyboard input, you can click (and hold) the controls arrow gadgets, and you can select frequencies from a list. Much more complete, and it will suit more people that way.
Quote:
Originally Posted by meynaf View Post
And that's just a DT player (even though a huge one). Now imagine a whole game.
Yeah, that's got to suck. Like I said, I'd rather write a game from scratch.
Quote:
Originally Posted by meynaf View Post
My viewer works on a plain A1200 and on it it's already faster than many others.
The more options without bloating the software, the better.
Quote:
Originally Posted by meynaf View Post
HAM renderer isn't responsible for more than around 20% of overall jpeg displaying speed. So even if made twice faster the user wouldn't notice the extra 10% speed - but he would notice the losses !
They might, and that's the point. Furthermore, people use more formats than just jpeg, for other formats it would certainly make a difference. Besides, your jpeg codec can still be lossy optimized for plain A1200s. In my opinion you should look into that.
Thorham is offline  
Old 06 August 2009, 09:44   #165
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,350
Quote:
Originally Posted by Thorham View Post
Well, it depends on what you want, really. It's your optimization project, so it's your call. Unlike last time with the scaling debacle, I do have code. What I need to know is do you want maximum lossyness, or some sort of balance, or even just both? It's all possible.
In that case, you can finetune it so that you get maximum speed out of barely hearable losses.

Quote:
Originally Posted by Thorham View Post
At least it makes for some good brain training, or paining, if you will
For brain training I prefer my DM1 stuff, however

Quote:
Originally Posted by Thorham View Post
Good, I don't like it when it has to render in exactly the same way. As for increasing the quality, sounds interesting!
I certainly don't know how this can be done...

Quote:
Originally Posted by Thorham View Post
Good. Although I could have reformated everything, it would've taken a long time. After looking at the html code, I did discover that the tables are very simple. Perhaps it's time for a good html to guide converter. I actually made one once. It didn't handle tables, but it did allow me to browse a mirrored site (on cd), because most of the site was text. But that's a whole different story all together.

Here are the files:

Attachment 22268
Attachment 22269

Note that the version from 2008 has two images missing. Probably nothing serious...
No need to convert anything, I can read the html directly with IBrowse.

Quote:
Originally Posted by Thorham View Post
That's what I thought
Then I don't follow you, because you said branchment won't allow trap #n.

Quote:
Originally Posted by Thorham View Post
Guess what, I don't
That's what I suspected

Quote:
Originally Posted by Thorham View Post
Yes, quite. I like the variable speeds. They probably didn't change it.
It seems to lack a little bit of precision, though...

Quote:
Originally Posted by Thorham View Post
Not if handled properly. All the games I play handle this perfectly.
Maybe, but this'll change VBI timing behind your back.

Quote:
Originally Posted by Thorham View Post
In practical terms it becomes complicated, the theory seems sound enough.
I still believe it's not feasible, so perhaps you have to really try to do it

Quote:
Originally Posted by Thorham View Post
The timer interrupt handles this. You don't need to poll all the time, because the timer interrupt happens just before the vbl happens. It still uses some cpu time, but not nearly as much as just polling all the time.
No, it doesn't handle this. An interrupt certainly won't allow you to relinquish the cpu in your program because it's not the same context !

Quote:
Originally Posted by Thorham View Post
To me that would make the game a pain to play
Not for me

Quote:
Originally Posted by Thorham View Post
Broodwar AI is just as weak as Starcrafts. It's fine for beginners and casual players, but if your playing level is higher than those, it's just no good, and those players have to be taken in account as well.
Then I'm definitely a casual player

Quote:
Originally Posted by Thorham View Post
It's a custom game option where you can select a map and play against the Ai as if it's a human player.
AI was usually good enough to beat me in those, unless I rushed it (i.e. attack it at the very beginning).

Quote:
Originally Posted by Thorham View Post
Are the Fire Emblem graphics I showed you suitable? I have the tiles, and I have sprites to go with them as well. I also have additional fighting animations, if you want them.
Well, I don't need animations ; way too early for me. What I would prefer is some gfx for a room (empty area, wall, and possibly some sort of an obstacle, e.g. a table), and maybe a map for how to use those tiles (with at least one
exit).

Quote:
Originally Posted by Thorham View Post
Normal players don't know this, and I was referring to the level titles. Those make sense.
I don't think 7 levels of master make much sense, but that's another point of view
Anyway it's just a matter of presentation. Inner rules are more important.

Quote:
Originally Posted by Thorham View Post
Good to know.
But not easy to do.

Quote:
Originally Posted by Thorham View Post
Sounds good. As for necros, Diablo 2 has some good necro spells. In particular the summon spells.
Please don't tell me "game xyz has good spells" : it's more useful to list them here, with as many details as possible - or I will summon a horde of zombies to get you

Quote:
Originally Posted by Thorham View Post
Okay, but some precision isn't a bad thing: Potions are based on water, but healing doesn't really have to be done with only potions. A healing rune can be used, so that a heal poison spell becomes like this: water-heal-poison, while a hit point restoring potion could be water-heal. A death rune in combination with some healing spell might be the resurrect spell heal-death. When selected properly the rune combinations can make perfect sense.
My healing isn't a healing potion
I used the water rune because water is a (weak) symbol of life.
I used death for poison because for me poison is just water+death (i.e. death put into water).
Using just heal+death for resurrect is no good for the spell power, because having only two runes would make the spell available for low-power wizards and it must be ultimate magic.

Not so easy, eh ?

Quote:
Originally Posted by Thorham View Post
Indeed. Doing it with runes just seems to be the coolest
Coolest but toughest maybe

Quote:
Originally Posted by Thorham View Post
Pity, but we can simply fill in the blanks. Besides, which spells are needed in the game world?
Possibly everything that can be useful, isn't redundant and doesn't imbalance the game is needed.

Quote:
Originally Posted by Thorham View Post
Okay, point taken, except for the personal use. This is one of my first c programs and I had no problem reading it, because it's not a mess, and it's certainly not obfuscated. Besides, I hate obfuscated code.
You had no problem reading it by the time you wrote it, ok. And it is a small example. But imagine a much bigger thing, re-read lots of years later ? Painful, man.

Quote:
Originally Posted by Thorham View Post
You forgot the drop down menu that can be part of the numeric up down control. Further more, leaving out features because you don't need/like them while the program is supposed to be just a piece of software that people can use is a very bad idea. With my idea, you can use the original keyboard input, you can click (and hold) the controls arrow gadgets, and you can select frequencies from a list. Much more complete, and it will suit more people that way.
I don't think either +/- btns or a drop-down menu are good when there are more than 40 items in the list
Beside, drop-downs aren't standard intuition/gadtools stuff.

Quote:
Originally Posted by Thorham View Post
Yeah, that's got to suck. Like I said, I'd rather write a game from scratch.
You can attempt to write a DM clone from scratch if you want, but I still prefer my huge resourced code

Quote:
Originally Posted by Thorham View Post
The more options without bloating the software, the better.
Yeah, without bloating the software is important.

Quote:
Originally Posted by Thorham View Post
They might, and that's the point. Furthermore, people use more formats than just jpeg, for other formats it would certainly make a difference.
What other formats ? Don't tell me bmp ! On an unexpanded A1200 you don't display 24-bit bmps ; rather, you convert them to something lighter as soon as you can because they're huge files and you're low on disk space.

Quote:
Originally Posted by Thorham View Post
Besides, your jpeg codec can still be lossy optimized for plain A1200s. In my opinion you should look into that.
I already did, and I have quite a few lossy optims. But they don't get that much speed.
meynaf is offline  
Old 13 August 2009, 17:34   #166
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,806
Quote:
Originally Posted by meynaf View Post
In that case, you can finetune it so that you get maximum speed out of barely hearable losses.
I finally have some code ready for you to try. It turned out I shouldn't have tried to rewrite everything by hand, and because of this my code had a bunch of bugs which degraded the sound quality too much.

Now I've remade the original code blocks (block 2/12 – 12/12) using CygnusEd macros (should've done that in the first place ). The end result is bug free code (as far as I can tell) and it's much less messy than it was. For this version I've gone for maximum lossyness, and it sounds a lot better than the buggy half way lossy ones I was trying. Also, it's now much easier to decrease the lossyness if needed. Much better

Text file: mdct_l.txt
Zip file: mdct_l.zip
Quote:
Originally Posted by meynaf View Post
For brain training I prefer my DM1 stuff, however.
But I meant brain paining
Quote:
Originally Posted by meynaf View Post
I certainly don't know how this can be done...
It begins with generating a palette per image. Further more, more precise color difference routines will help too. The real problem is that it's not easy with your routine, because it's already quite good, and making it only a little better isn't really useful. I'm thinking Adpro quality is what you should be aiming at, but this is going to be slower of course.
Quote:
Originally Posted by meynaf View Post
No need to convert anything, I can read the html directly with Ibrowse.
For docs like this I prefer plain text, but thats just me. So, how are the docs? Any use?
Quote:
Originally Posted by meynaf View Post
Then I don't follow you, because you said branchment won't allow trap #n.
No I don't know it anymore as well
Quote:
Originally Posted by meynaf View Post
It seems to lack a little bit of precision, though...
Really? I didn't read the doc...
Quote:
Originally Posted by meynaf View Post
Maybe, but this'll change VBI timing behind your back.
Doesn't matter, because none of those games use VSYNC as far as I know.
Quote:
Originally Posted by meynaf View Post
I still believe it's not feasible, so perhaps you have to really try to do it/
It probably isn't under an os, in a hit the hardware environment it most likely is.
Quote:
Originally Posted by meynaf View Post
No, it doesn't handle this. An interrupt certainly won't allow you to relinquish the cpu in your program because it's not the same context !
All it is is a VBL interrupt emulation. It just means the cpu can do other things than wait for VSYNC, that's all. Further more, it's only interesting without an os in the way, and it might be an idea to implement this kind of thing in a new peecee os, if one would be written. I really don't see why it wouldn't work.
Quote:
Originally Posted by meynaf View Post
Not for me.
Too sloooooow
Quote:
Originally Posted by meynaf View Post
Then I'm definitely a casual player.
So am I
Quote:
Originally Posted by meynaf View Post
AI was usually good enough to beat me in those, unless I rushed it (i.e. attack it at the very beginning).
Now try that on fastest... Anyway, most players today can easily beat multiple AI opponents in fastest setting, and this skill level has to be taken in account, or you'd end up with something that plays just as bad as the original.
Quote:
Originally Posted by meynaf View Post
Well, I don't need animations ; way too early for me. What I would prefer is some gfx for a room (empty area, wall, and possibly some sort of an obstacle, e.g. a table), and maybe a map for how to use those tiles (with at least one
exit).
Okay, perhaps I can use the GoldenSun graphics I have (GameBoyAdvance RPG, I have all the graphics). Those might be suitable. The problem with the FireEmblem gfx is that it lacks things like tables, and other everyday objects.
Quote:
Originally Posted by meynaf View Post
I don't think 7 levels of master make much sense, but that's another point of view.
Perhaps, but they would make sense in a Japanese context where they have the 'dan'. In karate when you get the black belt, you can still advance in terms of those 'dan' things. Quite similar.
Quote:
Originally Posted by meynaf View Post
Anyway it's just a matter of presentation. Inner rules are more important.
Yes, they are.
Quote:
Originally Posted by meynaf View Post
But not easy to do.
No, but it does get rid of the difficulty of having to think up original spells all the time. Much better!
Quote:
Originally Posted by meynaf View Post
Please don't tell me "game xyz has good spells" : it's more useful to list them here, with as many details as possible - or I will summon a horde of zombies to get you.
Okay, I'll compile a list of spells from different games then
Quote:
Originally Posted by meynaf View Post
My healing isn't a healing potion.
I used the water rune because water is a (weak) symbol of life.
I used death for poison because for me poison is just water+death (i.e. death put into water).
Yes, water is a symbol of life, in fact it's essential for it's functioning. However, water has no healing properties and is perhaps better suited as a base ingredient, such as for potions. Just having a heal rune seems better to me.

Death and poison are also two different things. If you would cast a death spell on a target, the spell would kill the target. If you cast a poison spell on a target, then the target takes damage over time, and doesn't have to lead to death. In reality there are different kinds of poison, which vary in the amount of damage they cause, going from almost harmless to extremely damaging. In a magical world you might view death as something that takes life away, while poison cause damage over time.
Quote:
Originally Posted by meynaf View Post
Using just heal+death for resurrect is no good for the spell power, because having only two runes would make the spell available for low-power wizards and it must be ultimate magic.
Perhaps the number of runes doesn't have to matter, and it's the complexity of the runes themselves combined with how they're used that determines the magical level of a spell.
Quote:
Originally Posted by meynaf View Post
Coolest but toughest maybe.
It can be done in a way that makes perfect sense even, and perhaps that is what we should go for, difficult or not.
Quote:
Originally Posted by meynaf View Post
Possibly everything that can be useful, isn't redundant and doesn't imbalance the game is needed.
That makes things a little easier.
Quote:
Originally Posted by meynaf View Post
You had no problem reading it by the time you wrote it, ok. And it is a small example. But imagine a much bigger thing, re-read lots of years later ? Painful, man.
Yes, and that's the point actually. Although that wasn't the whole program, it's still not big, and it's easy enough to follow, plus there's no weird constructions in it. Big programs and programs you'd want to make open source need as many comments as makes sense, of course.
Quote:
Originally Posted by meynaf View Post
I don't think either +/- btns or a drop-down menu are good when there are more than 40 items in the list.
You don't need 40 items, just the common ones
Quote:
Originally Posted by meynaf View Post
Beside, drop-downs aren't standard intuition/gadtools stuff.
Really? Would it be difficult to do custom controls?
Quote:
Originally Posted by meynaf View Post
You can attempt to write a DM clone from scratch if you want, but I still prefer my huge resourced code.
Writing from scratch is better for a clone, but not for an expansion of the original, because the behavior of everything wouldn't be exactly the same.
Quote:
Originally Posted by meynaf View Post
What other formats ? Don't tell me bmp ! On an unexpanded A1200 you don't display 24-bit bmps ; rather, you convert them to something lighter as soon as you can because they're huge files and you're low on disk space.
Why couldn't you have gigabytes of storage space on a standard A1200?
Quote:
Originally Posted by meynaf View Post
I already did, and I have quite a few lossy optims. But they don't get that much speed.
Oh, I didn't know that

Off-topic:

I went back to DungeonMaster2 and loaded up my old solo Torham (not the challenge) just to beat Dragoth. Turns out he was easy to beat by just hacking away with the Vorax axe. Piece of cake, and it only took less then ten hits. Hehe. Perhaps it's just more difficult with magic because he might have high anti-magic and anti-fire.
Thorham is offline  
Old 17 August 2009, 08:07   #167
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,350
Quote:
Originally Posted by Thorham View Post
I finally have some code ready for you to try. It turned out I shouldn't have tried to rewrite everything by hand, and because of this my code had a bunch of bugs which degraded the sound quality too much.

Now I've remade the original code blocks (block 2/12 12/12) using CygnusEd macros (should've done that in the first place ). The end result is bug free code (as far as I can tell) and it's much less messy than it was. For this version I've gone for maximum lossyness, and it sounds a lot better than the buggy half way lossy ones I was trying. Also, it's now much easier to decrease the lossyness if needed. Much better

Text file: Attachment 22363
Zip file: Attachment 22364
Ok thanks. Now I have another quality vs speed trade possibility.

Btw. there was no need for two versions ;-)

Quote:
Originally Posted by Thorham View Post
But I meant brain paining
Oh it is brain paining too, don't worry

Quote:
Originally Posted by Thorham View Post
It begins with generating a palette per image. Further more, more precise color difference routines will help too. The real problem is that it's not easy with your routine, because it's already quite good, and making it only a little better isn't really useful. I'm thinking Adpro quality is what you should be aiming at, but this is going to be slower of course.
But how to generate an optimal palette ?

Quote:
Originally Posted by Thorham View Post
For docs like this I prefer plain text, but thats just me. So, how are the docs? Any use?
I prefer plain text too, and it's already converted to text
It seems complete enough, thanks
Now I wonder if the DOS version isn't better (less OS dependencies) but it's DOS/4G.

Quote:
Originally Posted by Thorham View Post
No I don't know it anymore as well
Ok, never mind

Quote:
Originally Posted by Thorham View Post
Really? I didn't read the doc...
What ? You didn't ?

Quote:
Originally Posted by Thorham View Post
Doesn't matter, because none of those games use VSYNC as far as I know.
Games can't really use VSYNC on PC, because there is none. They just compute frame after frame regardless if they can be displayed or not and use 100% cpu time for that. I've seen how a typical DirectX game main loop looks, and it made me want to puke.

Quote:
Originally Posted by Thorham View Post
It probably isn't under an os, in a hit the hardware environment it most likely is.
But you can no longer hit the hardware on nowadays machines.

Quote:
Originally Posted by Thorham View Post
All it is is a VBL interrupt emulation. It just means the cpu can do other things than wait for VSYNC, that's all. Further more, it's only interesting without an os in the way, and it might be an idea to implement this kind of thing in a new peecee os, if one would be written. I really don't see why it wouldn't work.
I prefer AmigaOS' graphics.library WaitTOF() call. No need to rewrite an OS for that.

Quote:
Originally Posted by Thorham View Post
Too sloooooow
No, it's just not too fast

Quote:
Originally Posted by Thorham View Post
So am I
As compared to me, you're not !

Quote:
Originally Posted by Thorham View Post
Now try that on fastest... Anyway, most players today can easily beat multiple AI opponents in fastest setting, and this skill level has to be taken in account, or you'd end up with something that plays just as bad as the original.
No, I won't try on fastest

But multiple AI opponents may well be easier to beat than a single one because they attack each other.

Quote:
Originally Posted by Thorham View Post
Okay, perhaps I can use the GoldenSun graphics I have (GameBoyAdvance RPG, I have all the graphics). Those might be suitable. The problem with the FireEmblem gfx is that it lacks things like tables, and other everyday objects.
Just tiles which mean accessible floor, walls and some kind of table-like objects are good, whereever they come from

Quote:
Originally Posted by Thorham View Post
Perhaps, but they would make sense in a Japanese context where they have the 'dan'. In karate when you get the black belt, you can still advance in terms of those 'dan' things. Quite similar.
I would prefer a set of numeric values describing everything...

Quote:
Originally Posted by Thorham View Post
Okay, I'll compile a list of spells from different games then
Yeah, a list of spells is good. Of course it must include full effect informations, not just the name ;-)

Quote:
Originally Posted by Thorham View Post
Yes, water is a symbol of life, in fact it's essential for it's functioning. However, water has no healing properties and is perhaps better suited as a base ingredient, such as for potions. Just having a heal rune seems better to me.

Death and poison are also two different things. If you would cast a death spell on a target, the spell would kill the target. If you cast a poison spell on a target, then the target takes damage over time, and doesn't have to lead to death. In reality there are different kinds of poison, which vary in the amount of damage they cause, going from almost harmless to extremely damaging. In a magical world you might view death as something that takes life away, while poison cause damage over time.
If you go into those details, you'll end up with just too many runes !

I think that water has some weak healing properties and it's good for low-level healing spell. But ok for the healing rune if you want.

Btw if resurrect is heal+death, how can you heal (= repair) an undead of yours ?

Quote:
Originally Posted by Thorham View Post
Perhaps the number of runes doesn't have to matter, and it's the complexity of the runes themselves combined with how they're used that determines the magical level of a spell.
If the presence of a single rune means the spell is ultimate, you won't have much use for it !
My actual system allows from 2 to 7 runes. I can't imagine simple spells with 7 runes and ultimate magic with only 2, sorry.

Quote:
Originally Posted by Thorham View Post
It can be done in a way that makes perfect sense even, and perhaps that is what we should go for, difficult or not.
Yes, sure.

Quote:
Originally Posted by Thorham View Post
That makes things a little easier.
I should've told it at first place

Quote:
Originally Posted by Thorham View Post
Yes, and that's the point actually. Although that wasn't the whole program, it's still not big, and it's easy enough to follow, plus there's no weird constructions in it. Big programs and programs you'd want to make open source need as many comments as makes sense, of course.
And I still need to actually see one which has that.

Quote:
Originally Posted by Thorham View Post
You don't need 40 items, just the common ones
If not all items are accessible, it can not be a drop-down because those (usually) aren't editable.

Quote:
Originally Posted by Thorham View Post
Really? Would it be difficult to do custom controls?
That's what I call using a tank to go shopping.
Why not even adding the whole MUI stuff just for a single entry in a configuration panel most users will just touch once in their life ?

This is just too much hassle for a little detail. This value is usually set once at start - possibly never if we provide config files for the users - and won't change afterwards !

Quote:
Originally Posted by Thorham View Post
Writing from scratch is better for a clone, but not for an expansion of the original, because the behavior of everything wouldn't be exactly the same.
But I'm ready to bet you're not about to start writing either one

Quote:
Originally Posted by Thorham View Post
Why couldn't you have gigabytes of storage space on a standard A1200?
That would be unbecoming an unexpanded A1200.

Quote:
Originally Posted by Thorham View Post
Off-topic:

I went back to DungeonMaster2 and loaded up my old solo Torham (not the challenge) just to beat Dragoth. Turns out he was easy to beat by just hacking away with the Vorax axe. Piece of cake, and it only took less then ten hits. Hehe. Perhaps it's just more difficult with magic because he might have high anti-magic and anti-fire.
Only ten hits ? I can't believe that

Btw. my custom dungeon is designed especially for people who play like that or in a similar manner (e.g. who finish DM1 in less than one hour, play without ninja levels, and so on).
It forces them to reconsider their way of playing, or they won't get far.
And you know what ? No player seems to have even reached the Corridors of fear
meynaf is offline  
Old 19 August 2009, 22:11   #168
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,806
Quote:
Originally Posted by meynaf View Post
Ok thanks. Now I have another quality vs speed trade possibility.
Try it first and thank me later, because it might not be of much use to you. On the other hand I think you'll agree that what I've done here does make it rather easy to control the lossyness. Hope you like it
Quote:
Originally Posted by meynaf View Post
Btw. there was no need for two versions ;-)
The text version is just for easy viewing in case anyone wants to look at the code without unpacking the archive
Quote:
Originally Posted by meynaf View Post
Oh it is brain paining too, don't worry.
I don't doubt it
Quote:
Originally Posted by meynaf View Post
But how to generate an optimal palette ?
You first have to calculate contrasts between pixels. In places where the contrasts are high, you need palette colors, so those color values need to be stored. The problem now is that this will yield too many colors, and you'll have to somehow assign priorities to those colors to figure out the 64 most important ones. Sadly I haven't figured out how to exactly do this properly yet. Perhaps some experiments are in order.

Of course there's also the smal problem of writing a fast routine which generates a lookup table for the palette entries. All in all this isn't going to be the easiest thing to do. Perhaps other people on the board have some good ideas.
Quote:
Originally Posted by meynaf View Post
I prefer plain text too, and it's already converted to text.
Yes, but the table layouts aren't in plain text format. You'd have to render the html table to plain text. In this case the tables are very easy and it's not really a problem, apart from the fact that it takes time.
Quote:
Originally Posted by meynaf View Post
It seems complete enough, thanks.
You're welcome
Quote:
Originally Posted by meynaf View Post
Now I wonder if the DOS version isn't better (less OS dependencies) but it's DOS/4G.
Those two are probably just as well documented. I'll see if I can find them.
Quote:
Originally Posted by meynaf View Post
What ? You didn't ?
Nope, I just wanted to know how bad the peecee timer issue was, truns out it's not that bad.
Quote:
Originally Posted by meynaf View Post
Games can't really use VSYNC on PC, because there is none. They just compute frame after frame regardless if they can be displayed or not and use 100% cpu time for that. I've seen how a typical DirectX game main loop looks, and it made me want to puke.
There is a VSYNC register. Emulators typically have it as an option, and the result is super smooth animation, except when the os preempts the task at the wrong moment, but that doesn't happen all the time.
Quote:
Originally Posted by meynaf View Post
But you can no longer hit the hardware on nowadays machines.
Don't you mean OSes?
Quote:
Originally Posted by meynaf View Post
I prefer AmigaOS' graphics.library WaitTOF() call. No need to rewrite an OS for that.
Perhaps existing peecee Oses can be modified to support this.
Quote:
Originally Posted by meynaf View Post
No, it's just not too fast.
But things take ages to build, units take ages to train and movement is just to slow. I always use fastest settings in RTS games, including Warcraft 2 and some of the Command and Conquer games.
Quote:
Originally Posted by meynaf View Post
As compared to me, you're not !
Yes, I am. I didn't breeze through the Campaigns, you know! Furthermore, I'm not an on-line player, I just know how those guys play, because of what I've seen in pro gaming videos from Korea (where they have Star Craft channels on TV ), and because of what I've read. I can't play like that
Quote:
Originally Posted by meynaf View Post
No, I won't try on fastest.
But it's the only way to play
Quote:
Originally Posted by meynaf View Post
But multiple AI opponents may well be easier to beat than a single one because they attack each other.
Not if you play custom games with the melee setting. In melee mode, all AI opponents attack only the human player.
Quote:
Originally Posted by meynaf View Post
Just tiles which mean accessible floor, walls and some kind of table-like objects are good, whereever they come from.
Okay, I'll see what I can come up with. Just a question: What about the map's data format?
Quote:
Originally Posted by meynaf View Post
I would prefer a set of numeric values describing everything...
Sorry for this, but... it's a computer, everything is as bunch of numerical values

Okay, sorry for that, but I just had to Could you specify exactly what that might look like?
Quote:
Originally Posted by meynaf View Post
Yeah, a list of spells is good. Of course it must include full effect informations, not just the name ;-)
Working on it
Quote:
Originally Posted by meynaf View Post
If you go into those details, you'll end up with just too many runes !
Perhaps. When I've compiled a suitable list of spells, I'll see how many are really needed.
Quote:
Originally Posted by meynaf View Post
I think that water has some weak healing properties and it's good for low-level healing spell. But ok for the healing rune if you want.
In reality, water can by itself only really heal dehydration.
Quote:
Originally Posted by meynaf View Post
Btw if resurrect is heal+death, how can you heal (= repair) an undead of yours ?
It's just a simple example I came up with. Although it might actually work, but that would be a coincidence.

Perhaps undead shouldn't be resurrectable, and perhaps not healable, either. In some games resurection spells cast on undead destroy the undead, while healing causes damage to them, but that might not be the best solution here.

Perhaps damage to undead should be permanent and resurrection should spells only work on corpses which are intact, undead corpses aren't intact, so they can't be resurrected, you'd have to re-summon them. Because undead summons are supposed to be disposable troops and not party members (applies to all summons), this may be the right way to do it.
Quote:
Originally Posted by meynaf View Post
If the presence of a single rune means the spell is ultimate, you won't have much use for it !
My actual system allows from 2 to 7 runes. I can't imagine simple spells with 7 runes and ultimate magic with only 2, sorry.
But I never said it would be like that In general lower level spells have fewer building blocks than higher level spells. However, if you want the rune combinations to make sense, then it's probably going to happen that some lower level spells have more runes than some of the higher level spells. I really don't see a problem with it, unless you can show me some examples.

Of course this is just part of getting the whole concept sorted out, so it's not really a big deal
Quote:
Originally Posted by meynaf View Post
And I still need to actually see one which has that.
But that's just how people write, it's not the languages fault.
Quote:
Originally Posted by meynaf View Post
If not all items are accessible, it can not be a drop-down because those (usually) aren't editable.
Because you'd have to write the control yourself, you can make it editable.
Quote:
Originally Posted by meynaf View Post
That's what I call using a tank to go shopping.
Why not even adding the whole MUI stuff just for a single entry in a configuration panel most users will just touch once in their life ?
It would've been nice if Intuition had such capabilities, seeing how it doesn't just makes it not worth the effort, although I still think it would have been more complete.
Quote:
Originally Posted by meynaf View Post
This is just too much hassle for a little detail. This value is usually set once at start - possibly never if we provide config files for the users - and won't change afterwards !
It wouldn't have been a hassle if AmigaOs was more modern
Quote:
Originally Posted by meynaf View Post
But I'm ready to bet you're not about to start writing either one
You got that right! I already have projects going on and they need to get completed someday.
Quote:
Originally Posted by meynaf View Post
That would be unbecoming an unexpanded A1200.
A harddisk in a computer with an IDE interface isn't really an expansion.
Quote:
Originally Posted by meynaf View Post
Only ten hits ? I can't believe that.
It's true. There's quite a few people on the Dungeon Master Forum who always solo DM2 and some of them say that Dragoth is comically easy to defeat, and I agree with them.
Quote:
Originally Posted by meynaf View Post
Btw. my custom dungeon is designed especially for people who play like that or in a similar manner (e.g. who finish DM1 in less than one hour, play without ninja levels, and so on).
It forces them to reconsider their way of playing, or they won't get far.
And you know what ? No player seems to have even reached the Corridors of fear
Of course they haven't, your dungeon is extremely difficult. It's going to take a while before players are able to get through it.

Edited:

Here is a small list of spells that I came up with quickly. It has spells from different games, so it's not original. Before I start working this out at a deeper level let me know what you think.
Code:
Elemental offensive spells:

Normal level:
 Fire ball		fire elemental damage
 Lightening bolt	lightening elemental damage 
 Ice shard		water elemental damage
 Earthquake		earth elemental damage

High level:
 Inferno		strong fire elemental damage, area of effect option
 Hurricane		strong lightening  elemental damage, area of effect option
 Ice storm		strong water elemental damage, area of effect option
 Terra break		strong earth elemental damage, area of effect option

Non-elemental/physical offensive spells:

Normal level:
 Magic missile		non elemtal magic damage
 Black hole		physical damage
 Quarter		reduces targets hit points by 25% of targets current hit points
			can't kill target

High level:
 Meteor			strong physical damage, always area of effect.
 Ultima			strongest non elemental damage
 Maelstrom		strong non elemental damage, always area of effect.
 Demi			reduces targets hit points by 25% of targets current hit points
			can't kill target

Time and space magic:

 Haste			increses targets time speed giving it more turns, wears off
 Slow			reduces targets time speed giving it less turns, wears off
 Stop			stops targets time giving it no turns, wears off

Status magic:

 Sleep			target falls asleep and can't take actions, weras off, hitting
			target wakes it up
 Poison			cause damage to target each turn, wears off
 Blind			cause targets hit accuracy to drop steeply, wears off
 Beserk			causes target to become stronger, but it can only attack, wears off
 Enchant		causes target to randomly attack it's allies, ears off
 Control		puts target under control of casters party, weras off

Defensive magic:

 Protect		physical damgag shield, reduces physical damage
 Shell			anti magic shield, reduces effects of magic
 Reflect		spells targeting the unit have no effect and are bounced back
			to the caster

Utility magic:

 Torch			creates light, wears off
 Light			creates more light, lasts longer than torch
 Float			makes target float above the ground, side effect: nullifies earth elemental
			magic/effects
 Open door		opens doors, etc, if they're not resistant to magical efects.
 Teleport		moves target from one position to another

Life and death magic:

Normal level:
 Heal			healing with moderate effect.
 Cure poison		removes poison status
 Remove sleep		removes sleep status
 Remove Blind		removes blind status
 Remove enchant		removes enchant status
 Remove control		removes control status
 Life			resurects target with minimal life, mana and stamina. 
 
High level:
 Cure			strong healing effect
 Clear status		removes all status effects
 Full life		resurects target with full life, mana and stamina become what they
			were before the target died

Summon magic:

Summon Golem		summon magical being that can be moved around and attack like a character
			can sommon only one.
Summon Skeleton Warrior	summon a skeleton which will attack targets on it's own, can summon multiples
Sommon Skeleton Mage	summon a skelton mage which will cast offensive spells on it's owm, can
			summon multiples
Revive Monster		revives monster from a monsters corpse, monster will attack on it's own using
			it's normal abilities, can summon multiples, monsters stay a limited number of
			turns

Potions:

Healing potion		these potions are simply the same as in Dungeon Master, thus I haven't listed
Cure poison potion	all of them, and they don't need descriptions.
Mana potion
etc, etc...

Last edited by Thorham; 20 August 2009 at 11:58.
Thorham is offline  
Old 23 August 2009, 07:22   #169
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,350
Quote:
Originally Posted by Thorham View Post
Try it first and thank me later, because it might not be of much use to you. On the other hand I think you'll agree that what I've done here does make it rather easy to control the lossyness. Hope you like it
Well, for now I've just stored it without too much look, because I'm quite busy with other things.

Quote:
Originally Posted by Thorham View Post
The text version is just for easy viewing in case anyone wants to look at the code without unpacking the archive
Then the text was enough and the archive wasn't very useful

Quote:
Originally Posted by Thorham View Post
I don't doubt it
But it's quite rewarding (when it works).

Quote:
Originally Posted by Thorham View Post
You first have to calculate contrasts between pixels. In places where the contrasts are high, you need palette colors, so those color values need to be stored. The problem now is that this will yield too many colors, and you'll have to somehow assign priorities to those colors to figure out the 64 most important ones. Sadly I haven't figured out how to exactly do this properly yet. Perhaps some experiments are in order.

Of course there's also the smal problem of writing a fast routine which generates a lookup table for the palette entries. All in all this isn't going to be the easiest thing to do. Perhaps other people on the board have some good ideas.
If some people have good ideas about that, I'm not among them. Computation of look-up table from palette is in a separate program which I didn't release, and it takes several seconds to do the job.

Quote:
Originally Posted by Thorham View Post
Yes, but the table layouts aren't in plain text format. You'd have to render the html table to plain text. In this case the tables are very easy and it's not really a problem, apart from the fact that it takes time.
Well, Ibrowse can save html to text and it's easy to reformat tables in the text afterwards.

Quote:
Originally Posted by Thorham View Post
Those two are probably just as well documented. I'll see if I can find them.
Ok. You know I have several versions of the game, so choosing the right one isn't easy. DOS is probably simpler and less OS dependent, but it's plagued with that DOS/4G stuff (which could, in turn, make things simpler if it gets understood because of the now flat memory model).
Note that I also have a 68k mac version, but it's old and buggy.

Quote:
Originally Posted by Thorham View Post
Nope, I just wanted to know how bad the peecee timer issue was, truns out it's not that bad.
Not that bad, but even an Atari ST is a lot better.

Quote:
Originally Posted by Thorham View Post
There is a VSYNC register. Emulators typically have it as an option, and the result is super smooth animation, except when the os preempts the task at the wrong moment, but that doesn't happen all the time.
Yes, there is a register, but you need to busy wait to sync with it.

Quote:
Originally Posted by Thorham View Post
Don't you mean OSes?
No, I really mean machines.

Quote:
Originally Posted by Thorham View Post
Perhaps existing peecee Oses can be modified to support this.
Who will dare to try to do that ???

Quote:
Originally Posted by Thorham View Post
But things take ages to build, units take ages to train and movement is just to slow. I always use fastest settings in RTS games, including Warcraft 2 and some of the Command and Conquer games.
You always play at fastest ? That's not surprising.

On the other hand, in a slow game you're not flooded by an opponent who clicks faster than you do . And this slows down the AI, giving you more time to react.
In fact I think non-multiplayer starcraft could've been much better if it allowed to give orders while the game is paused.

Quote:
Originally Posted by Thorham View Post
Yes, I am. I didn't breeze through the Campaigns, you know! Furthermore, I'm not an on-line player, I just know how those guys play, because of what I've seen in pro gaming videos from Korea (where they have Star Craft channels on TV ), and because of what I've read. I can't play like that
Not playing like those guys doesn't mean being a poor player. It just means not being a no-life !

Quote:
Originally Posted by Thorham View Post
But it's the only way to play
It's the only way to play for you. Pretty much like full DM party is the only way to play for me

Quote:
Originally Posted by Thorham View Post
Not if you play custom games with the melee setting. In melee mode, all AI opponents attack only the human player.
Then I would certainly not win such games.

Quote:
Originally Posted by Thorham View Post
Okay, I'll see what I can come up with. Just a question: What about the map's data format?
Map data format can just be an array of tile index. Or do what you think is good to do, I've got no spec.

Quote:
Originally Posted by Thorham View Post
Sorry for this, but... it's a computer, everything is as bunch of numerical values

Okay, sorry for that, but I just had to Could you specify exactly what that might look like?
Hey, I meant things should be presented like a set of numeric values, I wasn't talking about the internal representation !

And it could look like that :
Code:
 Characteristics
 Life points 48/50
 Stamina  22/40
 Spell points 1/18
 Skill  8
 Strength 10
 Agility  9
 Dexterity 11
 Speed  12
 Awareness 14
 Will  16
 Courage  15
 Leadership 7
 Vitality 10
 Magical power 22
 Seduction 13
 Competences
 Horse riding 11
 Medicine 7
 Diplomacy 6
 Lock picking 0
 Pick pocket 1
 Map making 11
 Fighting competences
 Brawling 4
 Stab  3
 Swing  0
 Club  2
 Thrust  0
 Parry  0
 Throw  14
 Shoot  12
 Magical competences
 Sorcery  19
 Bewitchment 0
 Invocation 0
 Mysticism 0
 Alchemy  5
 Artifice 0
 Psi  0
Quote:
Originally Posted by Thorham View Post
Working on it
Ok. Don't limit yourself to spells usable on computer games ; I like huge spell lists ;-)

Quote:
Originally Posted by Thorham View Post
Perhaps. When I've compiled a suitable list of spells, I'll see how many are really needed.
Ok.

Quote:
Originally Posted by Thorham View Post
In reality, water can by itself only really heal dehydration.
It cleans wounds, calms pain and might even help in stopping bleeding (or so I think). Anyway it's purely symbolic. Try your healing rune if you want, but I'm afraid you'll find there aren't many spells that use it...

Quote:
Originally Posted by Thorham View Post
It's just a simple example I came up with. Although it might actually work, but that would be a coincidence.

Perhaps undead shouldn't be resurrectable, and perhaps not healable, either. In some games resurection spells cast on undead destroy the undead, while healing causes damage to them, but that might not be the best solution here.

Perhaps damage to undead should be permanent and resurrection should spells only work on corpses which are intact, undead corpses aren't intact, so they can't be resurrected, you'd have to re-summon them. Because undead summons are supposed to be disposable troops and not party members (applies to all summons), this may be the right way to do it.
Undead are not only summons.
How can a lich (= undead magician) heal himself ?

Quote:
Originally Posted by Thorham View Post
But I never said it would be like that In general lower level spells have fewer building blocks than higher level spells. However, if you want the rune combinations to make sense, then it's probably going to happen that some lower level spells have more runes than some of the higher level spells. I really don't see a problem with it, unless you can show me some examples.

Of course this is just part of getting the whole concept sorted out, so it's not really a big deal
In general, yes. And it must be so because I use the runes to actually compute magic energy cost and difficulty level. I can't think of any formula which would allow level 10 spell with 2 runes and level 1 spell with 7 !

Quote:
Originally Posted by Thorham View Post
But that's just how people write, it's not the languages fault.
Languages don't appear to help anyway.

Quote:
Originally Posted by Thorham View Post
Because you'd have to write the control yourself, you can make it editable.
I certainly won't do that. Recall #1: it's just a little detail.

Quote:
Originally Posted by Thorham View Post
It would've been nice if Intuition had such capabilities, seeing how it doesn't just makes it not worth the effort, although I still think it would have been more complete.
Recall #2 : it's just a little detail.

Quote:
Originally Posted by Thorham View Post
It wouldn't have been a hassle if AmigaOs was more modern
Ha ! Now it's the OS who's wrong. Recall #3 : it's just a little detail (sorry to insist ).

Quote:
Originally Posted by Thorham View Post
You got that right! I already have projects going on and they need to get completed someday.
Sure, I have quite a few too.

Quote:
Originally Posted by Thorham View Post
A harddisk in a computer with an IDE interface isn't really an expansion.
The speed of transfers (or lack thereof) and memory usage of having large/multiple partitions will make you get an accelerator board ASAP.

Quote:
Originally Posted by Thorham View Post
It's true. There's quite a few people on the Dungeon Master Forum who always solo DM2 and some of them say that Dragoth is comically easy to defeat, and I agree with them.
But how do you handle his minions ?

Quote:
Originally Posted by Thorham View Post
Of course they haven't, your dungeon is extremely difficult. It's going to take a while before players are able to get through it.
But that place is very easy to reach ; just one stairs from the hall of champions.

And in fact the dungeon isn't that difficult. It's just that players insist on doing things the way they always did. See yourself when you first tried it : playing with a single, reincarnated character isn't a very good idea in a dungeon you know nothing about but the fact it's difficult !

Quote:
Originally Posted by Thorham View Post
Edited:

Here is a small list of spells that I came up with quickly. It has spells from different games, so it's not original. Before I start working this out at a deeper level let me know what you think.
Code:
Elemental offensive spells:

Normal level:
 Fire ball  fire elemental damage
 Lightening bolt lightening elemental damage 
 Ice shard  water elemental damage
 Earthquake  earth elemental damage

High level:
 Inferno  strong fire elemental damage, area of effect option
 Hurricane  strong lightening  elemental damage, area of effect option
 Ice storm  strong water elemental damage, area of effect option
 Terra break  strong earth elemental damage, area of effect option

Non-elemental/physical offensive spells:

Normal level:
 Magic missile  non elemtal magic damage
 Black hole  physical damage
 Quarter  reduces targets hit points by 25% of targets current hit points
   can't kill target

High level:
 Meteor   strong physical damage, always area of effect.
 Ultima   strongest non elemental damage
 Maelstrom  strong non elemental damage, always area of effect.
 Demi   reduces targets hit points by 25% of targets current hit points
   can't kill target

Time and space magic:

 Haste   increses targets time speed giving it more turns, wears off
 Slow   reduces targets time speed giving it less turns, wears off
 Stop   stops targets time giving it no turns, wears off

Status magic:

 Sleep   target falls asleep and can't take actions, weras off, hitting
   target wakes it up
 Poison   cause damage to target each turn, wears off
 Blind   cause targets hit accuracy to drop steeply, wears off
 Beserk   causes target to become stronger, but it can only attack, wears off
 Enchant  causes target to randomly attack it's allies, ears off
 Control  puts target under control of casters party, weras off

Defensive magic:

 Protect  physical damgag shield, reduces physical damage
 Shell   anti magic shield, reduces effects of magic
 Reflect  spells targeting the unit have no effect and are bounced back
   to the caster

Utility magic:

 Torch   creates light, wears off
 Light   creates more light, lasts longer than torch
 Float   makes target float above the ground, side effect: nullifies earth elemental
   magic/effects
 Open door  opens doors, etc, if they're not resistant to magical efects.
 Teleport  moves target from one position to another

Life and death magic:

Normal level:
 Heal   healing with moderate effect.
 Cure poison  removes poison status
 Remove sleep  removes sleep status
 Remove Blind  removes blind status
 Remove enchant  removes enchant status
 Remove control  removes control status
 Life   resurects target with minimal life, mana and stamina. 
 
High level:
 Cure   strong healing effect
 Clear status  removes all status effects
 Full life  resurects target with full life, mana and stamina become what they
   were before the target died

Summon magic:

Summon Golem  summon magical being that can be moved around and attack like a character
   can sommon only one.
Summon Skeleton Warrior summon a skeleton which will attack targets on it's own, can summon multiples
Sommon Skeleton Mage summon a skelton mage which will cast offensive spells on it's owm, can
   summon multiples
Revive Monster  revives monster from a monsters corpse, monster will attack on it's own using
   it's normal abilities, can summon multiples, monsters stay a limited number of
   turns

Potions:

Healing potion  these potions are simply the same as in Dungeon Master, thus I haven't listed
Cure poison potion all of them, and they don't need descriptions.
Mana potion
etc, etc...
Classical, and not precise enough. In my actual spell list (584 spells) each one has a small paragraph, from a few lines to several pages, explaining it in details (but I won't translate all that to english !).
meynaf is offline  
Old 28 August 2009, 15:57   #170
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,806
Quote:
Originally Posted by meynaf View Post
Well, for now I've just stored it without too much look, because I'm quite busy with other things.
That's fine with me, just take a look later.
Quote:
Originally Posted by meynaf View Post
Then the text was enough and the archive wasn't very useful.
You're right, it's an automatism caused by some boards CODE tag not preserving tabs, or having tab widths unequal to eight.
Quote:
Originally Posted by meynaf View Post
But it's quite rewarding (when it works).
It always is, isn't it?
Quote:
Originally Posted by meynaf View Post
If some people have good ideas about that, I'm not among them. Computation of look-up table from palette is in a separate program which I didn't release, and it takes several seconds to do the job.
Ouch, that's not very fast. I'm currently working on one that should be a lot faster if I can get it to work, that is. Could you post your routine?
Quote:
Originally Posted by meynaf View Post
Well, Ibrowse can save html to text and it's easy to reformat tables in the text afterwards.
Yes, but the problem I have with this kind of function is that all browsers out there seem to just leave out the HTML tags while they can render tables. How difficult is it to render tables with text to text while preserving the layout if you already have table handling routines? People shouldn't have to do it by hand
Quote:
Originally Posted by meynaf View Post
Ok. You know I have several versions of the game, so choosing the right one isn't easy. DOS is probably simpler and less OS dependent, but it's plagued with that DOS/4G stuff (which could, in turn, make things simpler if it gets understood because of the now flat memory model).
Note that I also have a 68k mac version, but it's old and buggy.
While I didn't search extensively, a quick look didn't yield much useful information. Do you need the docs quickly?
Quote:
Originally Posted by meynaf View Post
Not that bad, but even an Atari ST is a lot better.
Hehe, figures
Quote:
Originally Posted by meynaf View Post
Yes, there is a register, but you need to busy wait to sync with it.
Hence my timer idea.
Quote:
Originally Posted by meynaf View Post
No, I really mean machines.
What? You can't program the hardware directly anymore? How come?
Quote:
Originally Posted by meynaf View Post
Who will dare to try to do that ???
Probably no one
Quote:
Originally Posted by meynaf View Post
You always play at fastest ? That's not surprising.
Why not?
Quote:
Originally Posted by meynaf View Post
On the other hand, in a slow game you're not flooded by an opponent who clicks faster than you do.
Yes, but someone who's more skilled at playing the game will still win because of better build orders and better micromanagement. Game speed is just one aspect.
Quote:
Originally Posted by meynaf View Post
And this slows down the AI, giving you more time to react.
Not needed in the campaigns. In fact, not playing fastest in the campaigns makes them too easy. Furthermore, playing fastest in versus AI games increases your skill level more.
Quote:
Originally Posted by meynaf View Post
In fact I think non-multiplayer starcraft could've been much better if it allowed to give orders while the game is paused.
But then it's not real time anymore. Perhaps you just like turn based games more?
Quote:
Originally Posted by meynaf View Post
Not playing like those guys doesn't mean being a poor player. It just means not being a no-life !
Perhaps.
Quote:
Originally Posted by meynaf View Post
It's the only way to play for you. Pretty much like full DM party is the only way to play for me.
It's all a matter of taste And Dungeon Master allows you to play in both ways, so it's all catered for.
Quote:
Originally Posted by meynaf View Post
Then I would certainly not win such games.
Me neither. Some people can beat seven AIs I'll never be that good, of course I don't want to put in the effort to become that good...
Quote:
Originally Posted by meynaf View Post
Map data format can just be an array of tile index. Or do what you think is good to do, I've got no spec.
Okay, but perhaps you could be more specific about what the map format must be able to do. I can make it a simple single layer 2D map, a multi layer 3D map, or anything in between. You have to be more specific.
Quote:
Originally Posted by meynaf View Post
Hey, I meant things should be presented like a set of numeric values, I wasn't talking about the internal representation !
I was only joking, mate Nice list of stats and skills you have there
Quote:
Originally Posted by meynaf View Post
Ok. Don't limit yourself to spells usable on computer games ; I like huge spell lists ;-)
Seeing how you already have a list of 584 spells with detailed description, I don't see how I can come up with anything interesting if I don't have that list. I know it's in French, but post it anyway, I'll have a go at figuring it out.

Smart ass time
Quote:
Originally Posted by meynaf View Post
It cleans wounds,
Only if it's clean, like tap water, or sterilized by boiling it. It can't kill bacteria, so it can only remove dirt, and that doesn't guarantee the wound won't get infected (although it does help, but alcohol is better).
Quote:
Originally Posted by meynaf View Post
calms pain
That's not curing.
Quote:
Originally Posted by meynaf View Post
and might even help in stopping bleeding (or so I think).
It prevents blood from clogging up the wound. Keeping a bleeding wound wet keeps it bleeding.
I like some realism
Quote:
Originally Posted by meynaf View Post
Anyway it's purely symbolic. Try your healing rune if you want, but I'm afraid you'll find there aren't many spells that use it...
If you look at it from that viewpoint, you might be right.
Quote:
Originally Posted by meynaf View Post
Undead are not only summons.
How can a lich (= undead magician) heal himself ?
I don't know
Quote:
Originally Posted by meynaf View Post
In general, yes. And it must be so because I use the runes to actually compute magic energy cost and difficulty level. I can't think of any formula which would allow level 10 spell with 2 runes and level 1 spell with 7 !
That might not be a problem. Anyway, what do you propose the resurrect spell would look like?
Quote:
Originally Posted by meynaf View Post
Languages don't appear to help anyway.
No language forces programmers to use comments. It really is up to the programmer.
Quote:
Originally Posted by meynaf View Post
I certainly won't do that. Recall #1: it's just a little detail.
Indeed, but it's something I would have wanted to include if I made that program.
Quote:
Originally Posted by meynaf View Post
Ha ! Now it's the OS who's wrong.
No, it's not, it's just out dated
Quote:
Originally Posted by meynaf View Post
The speed of transfers (or lack thereof) and memory usage of having large/multiple partitions will make you get an accelerator board ASAP.
Very true, I stand corrected
Quote:
Originally Posted by meynaf View Post
But how do you handle his minions ?
You kill them. Further more, they're not very dangerous if you're playing solo, because Torhams stats will be better than characters in a four way party. Most of the time they only need two hits to die. So basically you kill his minion and hit him a few times. He summons another minion, repeat, he goes running to his master like the big baby he is Simple!

Perhaps you just need to try soloing the game once, too, just to see how it goes
Quote:
Originally Posted by meynaf View Post
But that place is very easy to reach ; just one stairs from the hall of champions.
I'm still not trying yet. First I'm going to try to handle CSB after having soloed Tiggy (reincarnated).
Quote:
Originally Posted by meynaf View Post
And in fact the dungeon isn't that difficult. It's just that players insist on doing things the way they always did. See yourself when you first tried it : playing with a single, reincarnated character isn't a very good idea in a dungeon you know nothing about but the fact it's difficult !
When (not if!) I'm playing your dungeon again, I'll keep that in mind.
Quote:
Originally Posted by meynaf View Post
Classical, and not precise enough. In my actual spell list (584 spells) each one has a small paragraph, from a few lines to several pages, explaining it in details (but I won't translate all that to english !).
As said above, I can't even hope to be of any help if I don't have that list of spells. Don't worry about it being in French, French is quite close to Dutch and English in some ways, it's not Chinese I've also had some in high school, so I might be able to make sense of enough of it with the help of a good dictionary (or, it can't hurt to try).
Thorham is offline  
Old 31 August 2009, 12:34   #171
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,350
Quote:
Originally Posted by Thorham View Post
You're right, it's an automatism caused by some boards CODE tag not preserving tabs, or having tab widths unequal to eight.
No problem with attached files on EAB, though.

Quote:
Originally Posted by Thorham View Post
It always is, isn't it?
When I break something and it no longer works I doubt this
And when after a long play time it just freezes I doubt too (this one's hopefully fixed now).

Quote:
Originally Posted by Thorham View Post
Ouch, that's not very fast. I'm currently working on one that should be a lot faster if I can get it to work, that is. Could you post your routine?
I can post my routine, but it probably won't be of much use. Basically it compares all 64 palette entries to each of the 4096 12-bit colors and gets the best result. That's simple, but makes 64x4096 loops.

Quote:
Originally Posted by Thorham View Post
Yes, but the problem I have with this kind of function is that all browsers out there seem to just leave out the HTML tags while they can render tables. How difficult is it to render tables with text to text while preserving the layout if you already have table handling routines? People shouldn't have to do it by hand
That's no big problem for me, really.

Quote:
Originally Posted by Thorham View Post
While I didn't search extensively, a quick look didn't yield much useful information. Do you need the docs quickly?
No, I don't need the docs quickly. That stuff has been on my HD since 1998 so it can wait a little bit more

But with your docs on win exes I've started disassembling that version. Same for dos/4g exes would be nice.

Quote:
Originally Posted by Thorham View Post
Hence my timer idea.
Which doesn't suppress the busy wait if you want a simple waitvbl (that is, free cpu until next vbl like our WaitTOF() does).

Quote:
Originally Posted by Thorham View Post
What? You can't program the hardware directly anymore? How come?
Hardware is just too different from one machine to another for you to do so.

Quote:
Originally Posted by Thorham View Post
Probably no one
That's what I thought

Quote:
Originally Posted by Thorham View Post
Why not?
You like arcade games, don't you ?

Quote:
Originally Posted by Thorham View Post
Yes, but someone who's more skilled at playing the game will still win because of better build orders and better micromanagement. Game speed is just one aspect.
But it's one aspect which often made me lose...

Quote:
Originally Posted by Thorham View Post
Not needed in the campaigns. In fact, not playing fastest in the campaigns makes them too easy. Furthermore, playing fastest in versus AI games increases your skill level more.
That may well be why I finished the campaigns. And perhaps I don't want to increase my skill level ;-)

Quote:
Originally Posted by Thorham View Post
But then it's not real time anymore. Perhaps you just like turn based games more?
Yes, I prefer turn based games such as HOMM2.

Quote:
Originally Posted by Thorham View Post
It's all a matter of taste And Dungeon Master allows you to play in both ways, so it's all catered for.
Yes, but some parts of my dungeon are probably impossible to do in solo.
When testing with my test character (800 hp, 700 stamina, 600 mana) I found them too difficult, but with 4 characters (I made a full game test which took me several days) they were in fact quite easy, e.g. if you have 4 deth knights in front of you and cannot dodge them, one character is hopeless but 4 can/will kill them.

Quote:
Originally Posted by Thorham View Post
Me neither. Some people can beat seven AIs I'll never be that good, of course I don't want to put in the effort to become that good...
Same for me.

Quote:
Originally Posted by Thorham View Post
Okay, but perhaps you could be more specific about what the map format must be able to do. I can make it a simple single layer 2D map, a multi layer 3D map, or anything in between. You have to be more specific.
A simple single layer 2D map is enough for now I think.

Quote:
Originally Posted by Thorham View Post
I was only joking, mate Nice list of stats and skills you have there
The stats list may look good, but there are no rules behind them. Anyway it shows how I wish the game characters to be like.

Quote:
Originally Posted by Thorham View Post
Seeing how you already have a list of 584 spells with detailed description, I don't see how I can come up with anything interesting if I don't have that list. I know it's in French, but post it anyway, I'll have a go at figuring it out.

Smart ass time
Well, you could have had some ideas I didn't have. Your list just lacked some descriptive text, i.e. how the spell would have looked like if you could cast it in real life.
And my list is a work in progress, some spells aren't very detailed - mainly because lack of ruleset.

Quote:
Originally Posted by Thorham View Post
Only if it's clean, like tap water, or sterilized by boiling it. It can't kill bacteria, so it can only remove dirt, and that doesn't guarantee the wound won't get infected (although it does help, but alcohol is better).
That's why it's a weak symbol of healing.

Quote:
Originally Posted by Thorham View Post
That's not curing.
Helpful anyway for those who suffer...

Quote:
Originally Posted by Thorham View Post
It prevents blood from clogging up the wound. Keeping a bleeding wound wet keeps it bleeding.
I like some realism
Really ? Perhaps we need to check this. I inflict you a wound and you try the water. Ok ?

Quote:
Originally Posted by Thorham View Post
If you look at it from that viewpoint, you might be right.
That's the major problem when making a rune set, you know.

Quote:
Originally Posted by Thorham View Post
I don't know
Hence the heal-the-undead spell. Of course it has to be specific to them.

Quote:
Originally Posted by Thorham View Post
That might not be a problem. Anyway, what do you propose the resurrect spell would look like?
It invokes the soul, and some sort of high power to control the flesh in order to make it live again. Not easy, never satisfying.

Quote:
Originally Posted by Thorham View Post
No language forces programmers to use comments. It really is up to the programmer.
I know. But perhaps they could have been somewhat clearer, though I don't know how they should look like then.

And most programmers write unreadable code, but as it's theirs they think it's readable. Now I still need to see an example of good code...

Quote:
Originally Posted by Thorham View Post
Indeed, but it's something I would have wanted to include if I made that program.
Then make yours.

Quote:
Originally Posted by Thorham View Post
No, it's not, it's just out dated
But still satisfying for me.

Quote:
Originally Posted by Thorham View Post
You kill them. Further more, they're not very dangerous if you're playing solo, because Torhams stats will be better than characters in a four way party. Most of the time they only need two hits to die. So basically you kill his minion and hit him a few times. He summons another minion, repeat, he goes running to his master like the big baby he is Simple!

Perhaps you just need to try soloing the game once, too, just to see how it goes
Perhaps one day, when I have nothing else to do...

Quote:
Originally Posted by Thorham View Post
I'm still not trying yet. First I'm going to try to handle CSB after having soloed Tiggy (reincarnated).
Now that's some training.

Quote:
Originally Posted by Thorham View Post
When (not if!) I'm playing your dungeon again, I'll keep that in mind.
Ok. The last version awaits you

Quote:
Originally Posted by Thorham View Post
As said above, I can't even hope to be of any help if I don't have that list of spells. Don't worry about it being in French, French is quite close to Dutch and English in some ways, it's not Chinese I've also had some in high school, so I might be able to make sense of enough of it with the help of a good dictionary (or, it can't hurt to try).
You really feel like translating a 350 kb text file ?

Hmmm... Let's take an example for a start, just to see.
Your list would have stated something like that :
Code:
Small healing - heals 3 to 8 points of damage.
And my list says that :
Code:
Petit soin
 En apposant vos mains sur les blessures d'un être vivant, vous appelez
 les forces de la vie contre celles de la mort et un fluide
 régénérateur referme les plaies et calme la douleur. Permet ainsi au
 bénéficiaire de récupérer D6+2 points de vie.
 Ce sort ne permet pas de réduire une fracture ou de faire repousser un
 membre perdu, par contre il stoppe le saignement (si celui-ci est
 abondant il peut falloir lancer ce sort plusieurs fois). Ce sort est
 toutefois impuissant face à une hémorragie provoquée par la magie (du
 moins tant que la victime est sous l'effet du sort en question), sauf
 indication contraire dans le sort en question.
 Une plaie refermée par ce sort ne s'infecte pas, sauf si la magie l'y
 force.
If after doing that one you still want the full list, ok. But remember that my list isn't finished, and I still have some downloaded spell lists I didn't check yet.
Note : D6 means 6-sided Die.
meynaf is offline  
Old 07 September 2009, 15:08   #172
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,806
Quote:
Originally Posted by meynaf View Post
When I break something and it no longer works I doubt this.
And when after a long play time it just freezes I doubt too (this one's hopefully fixed now).
Yeah, those bugs suck. Making bug free programs is not easy
Quote:
Originally Posted by meynaf View Post
I can post my routine, but it probably won't be of much use. Basically it compares all 64 palette entries to each of the 4096 12-bit colors and gets the best result. That's simple, but makes 64x4096 loops.
That's indeed simple. I have something else in mind, but I'm starting to doubt if it's going to work. I'll check in a few days.
Quote:
Originally Posted by meynaf View Post
No, I don't need the docs quickly. That stuff has been on my HD since 1998 so it can wait a little bit more.
Good, because I'm only going to have some time this week.
Quote:
Originally Posted by meynaf View Post
But with your docs on win exes I've started disassembling that version. Same for dos/4g exes would be nice.
I'll see if I can find something, and will post it in a few days.
Quote:
Originally Posted by meynaf View Post
Which doesn't suppress the busy wait if you want a simple waitvbl (that is, free cpu until next vbl like our WaitTOF() does).
No, but it doesn't need busy waiting the whole time, and the interrupt still gives an indication of when the vbl is going to happen.
Quote:
Originally Posted by meynaf View Post
Hardware is just too different from one machine to another for you to do so.
Aren't there some base standards?
Quote:
Originally Posted by meynaf View Post
You like arcade games, don't you ?
I like some arcade games, yes, but not that many. RPGs and strategy games are still my favorites, and they can be real time or turn based.
Quote:
Originally Posted by meynaf View Post
But it's one aspect which often made me lose...
Then you need to improve in that area. Did you use hotkeys and user short cuts?
Quote:
Originally Posted by meynaf View Post
That may well be why I finished the campaigns. And perhaps I don't want to increase my skill level ;-)
Perhaps it's not your game then
Quote:
Originally Posted by meynaf View Post
Yes, I prefer turn based games such as HOMM2.
So I assume that the game you want to make will be turn based?
Quote:
Originally Posted by meynaf View Post
Yes, but some parts of my dungeon are probably impossible to do in solo.
When testing with my test character (800 hp, 700 stamina, 600 mana) I found them too difficult, but with 4 characters (I made a full game test which took me several days) they were in fact quite easy, e.g. if you have 4 deth knights in front of you and cannot dodge them, one character is hopeless but 4 can/will kill them.
Good point Perhaps I'll try again a little sooner
Quote:
Originally Posted by meynaf View Post
A simple single layer 2D map is enough for now I think.
Okay, I'll post some this week.
Quote:
Originally Posted by meynaf View Post
The stats list may look good, but there are no rules behind them. Anyway it shows how I wish the game characters to be like.
Shouldn't be to difficult to add those rules.
Quote:
Originally Posted by meynaf View Post
Well, you could have had some ideas I didn't have. Your list just lacked some descriptive text, i.e. how the spell would have looked like if you could cast it in real life.
And my list is a work in progress, some spells aren't very detailed - mainly because lack of ruleset.
Perhaps I can still think of something, but I'll need that list.
Quote:
Originally Posted by meynaf View Post
That's why it's a weak symbol of healing.
It works in the setting. Perhaps realism shouldn't be forced too much.
Quote:
Originally Posted by meynaf View Post
Really ? Perhaps we need to check this. I inflict you a wound and you try the water. Ok ?

Quote:
Originally Posted by meynaf View Post
Hence the heal-the-undead spell. Of course it has to be specific to them.
Very true.
Quote:
Originally Posted by meynaf View Post
It invokes the soul, and some sort of high power to control the flesh in order to make it live again. Not easy, never satisfying.
Yes, I see the point.
Quote:
Originally Posted by meynaf View Post
I know. But perhaps they could have been somewhat clearer, though I don't know how they should look like then.

And most programmers write unreadable code, but as it's theirs they think it's readable. Now I still need to see an example of good code...
Yeah, perhaps you're right.
Quote:
Originally Posted by meynaf View Post
Then make yours.
Not likely
Quote:
Originally Posted by meynaf View Post
But still satisfying for me.
I would like to see a whole new os for 68k+aga, but that's just me.
Quote:
Originally Posted by meynaf View Post
Perhaps one day, when I have nothing else to do...

Quote:
Originally Posted by meynaf View Post
Now that's some training.
Turns out it's not that hard. Do you know the Warcry leveling trick? If not, here it is: When you get to the first Screamer in the dungeon, just keep using Warcry to gain Fighter and Priest experience. Easy.

It's actually possible to have a reincarnated character reach Journyman level in all four classes within 25 minutes of playing. Also, if you kill Rockpiles with punches, you'll keep gaining Ninja levels throughout the game, and you get rid of them easily. Even with Tiggy you'll gain plenty of Fighter and Ninja experience without much training. It also helps that Tiggy has to do everything by himself. His only problem is strength for carrying things, which is easily solved with strength potions.
Quote:
Originally Posted by meynaf View Post
Ok. The last version awaits you.
Somehow I'm still looking forward to it
Quote:
Originally Posted by meynaf View Post
You really feel like translating a 350 kb text file ?
Not in particular, no
Quote:
Originally Posted by meynaf View Post
Hmmm... Let's take an example for a start, just to see.
Your list would have stated something like that :
Code:
Small healing - heals 3 to 8 points of damage.
And my list says that :
Code:
Petit soin
 En apposant vos mains sur les blessures d'un être vivant, vous appelez
 les forces de la vie contre celles de la mort et un fluide
 régénérateur referme les plaies et calme la douleur. Permet ainsi au
 bénéficiaire de récupérer D6+2 points de vie.
 Ce sort ne permet pas de réduire une fracture ou de faire repousser un
 membre perdu, par contre il stoppe le saignement (si celui-ci est
 abondant il peut falloir lancer ce sort plusieurs fois). Ce sort est
 toutefois impuissant face à une hémorragie provoquée par la magie (du
 moins tant que la victime est sous l'effet du sort en question), sauf
 indication contraire dans le sort en question.
 Une plaie refermée par ce sort ne s'infecte pas, sauf si la magie l'y
 force.
If after doing that one you still want the full list, ok. But remember that my list isn't finished, and I still have some downloaded spell lists I didn't check yet.
Here is googles translation:
Code:
Minor Care 
  By placing your hands on the wounds of a living being, you call 
  forces of life against those of death and a fluid 
  regenerator closed wounds and soothes the pain. Allows the 
  beneficiary to recover D6 2 points. 
  This spell can not reduce a fracture or to repel an 
  member lost by cons it stops the bleeding (if it is 
  abundant it may be necessary to cast this spell multiple times). This spell is 
  however, powerless to hemorrhage caused by magic (the 
  least until the victim is under the influence of fate in question), except 
  otherwise in the lot in question. 
  Wound closed by this spell does not become infected unless the magic there 
  strength.
And here is SDLs translation:
Code:
Small care
 While affixing your hands on the injuries of a living being, you call the life forces against the one of the death and a regenerative fluid closes the wounds and calm
the pain.  Allows thus to the profitable one to recover D6+2 life points.  This goes out does not allow reducing a break or to let a lost member push back, on the other hand it
stops bleeding (if this one is abundant it can be necessary to launch this goes out several times).  This goes out is nevertheless powerless facing a hemorrhage provoked by the
magic (less as long as the victim is under the exit effect in question), except opposite indication in the exit in question.  A wound closed by this goes out does not infect
itself, except if the magic the there forces.
Although they're not quite perfect, it's possible to base a translation on those. Doing so for 585 spells is a huge undertaking, however, and it might be a better idea to wait and see which spells go into the game before translating everything. It's still useful for being able to at least understand what's in your list.
Quote:
Originally Posted by meynaf View Post
Note : D6 means 6-sided Die.
I know D&D from Baldurs Gate 1 and 2
Thorham is offline  
Old 10 September 2009, 09:21   #173
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,350
Quote:
Originally Posted by Thorham View Post
Yeah, those bugs suck. Making bug free programs is not easy
Yes, and I fixed both mine and original bugs. The code needs a lot of testing, as I really rewrote some parts completely.
Perhaps you can help without using the custom dungeon : if you grab an original DM1 dungeon (not crunched ; if first word of dungeon.dat is $8104 then it's a crunched one), you can still play it with the code and that would do some sort of non-regression testing.

Quote:
Originally Posted by Thorham View Post
That's indeed simple. I have something else in mind, but I'm starting to doubt if it's going to work. I'll check in a few days.
What is it ? (if I can ask)

Quote:
Originally Posted by Thorham View Post
Good, because I'm only going to have some time this week.
Ok. Besides, I'm kept busy with the other versions.

Quote:
Originally Posted by Thorham View Post
I'll see if I can find something, and will post it in a few days.
Thanks in advance (even if you find nothing ).

Quote:
Originally Posted by Thorham View Post
No, but it doesn't need busy waiting the whole time, and the interrupt still gives an indication of when the vbl is going to happen.
I think this idea really needs to get implemented, just to see...

Quote:
Originally Posted by Thorham View Post
Aren't there some base standards?
Old VGA PC is the base standard.

Quote:
Originally Posted by Thorham View Post
I like some arcade games, yes, but not that many. RPGs and strategy games are still my favorites, and they can be real time or turn based.
Ever played HOMM2 ?

Quote:
Originally Posted by Thorham View Post
Then you need to improve in that area. Did you use hotkeys and user short cuts?
I admit I didn't use short cuts a lot... But I'm not interested in improving now. I prefer games which can be played correctly with the mouse only.

Quote:
Originally Posted by Thorham View Post
Perhaps it's not your game then
Perhaps, yes.

Quote:
Originally Posted by Thorham View Post
So I assume that the game you want to make will be turn based?
I'm not sure, but this certainly would make many things easier.

Quote:
Originally Posted by Thorham View Post
Good point Perhaps I'll try again a little sooner
Where did you go in the game so far ?

Quote:
Originally Posted by Thorham View Post
Shouldn't be to difficult to add those rules.
You have some ideas ?

Quote:
Originally Posted by Thorham View Post
Perhaps I can still think of something, but I'll need that list.
I need fresh ideas, not a copy of my list. You don't even need to remove standard stuff, just be descriptive as I was in my example.

Quote:
Originally Posted by Thorham View Post
It works in the setting. Perhaps realism shouldn't be forced too much.
That's what I thought.

Quote:
Originally Posted by Thorham View Post
Not likely
Then stop screaming about the existing one

Quote:
Originally Posted by Thorham View Post
I would like to see a whole new os for 68k+aga, but that's just me.
I am tempted to write "then make yours" again...

Quote:
Originally Posted by Thorham View Post
Turns out it's not that hard. Do you know the Warcry leveling trick? If not, here it is: When you get to the first Screamer in the dungeon, just keep using Warcry to gain Fighter and Priest experience. Easy.

It's actually possible to have a reincarnated character reach Journyman level in all four classes within 25 minutes of playing. Also, if you kill Rockpiles with punches, you'll keep gaining Ninja levels throughout the game, and you get rid of them easily. Even with Tiggy you'll gain plenty of Fighter and Ninja experience without much training. It also helps that Tiggy has to do everything by himself. His only problem is strength for carrying things, which is easily solved with strength potions.
Perhaps you need to write "by herself", and "her only problem", as Tiggy is a female

Quote:
Originally Posted by Thorham View Post
Somehow I'm still looking forward to it
You know where to grab it, and now you can more easily hunt for imaginary walls.

Quote:
Originally Posted by Thorham View Post
Not in particular, no
I prefer sparing you that burden, too

Quote:
Originally Posted by Thorham View Post
Here is googles translation:
(...)
And here is SDLs translation:
(...)

Although they're not quite perfect, it's possible to base a translation on those. Doing so for 585 spells is a huge undertaking, however, and it might be a better idea to wait and see which spells go into the game before translating everything. It's still useful for being able to at least understand what's in your list.
After thinking about this, I believe it might be better to first create the game's skeleton and basic interface, before casting any spell.
meynaf is offline  
Old 16 September 2009, 16:52   #174
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,806
A bit late, I know (less time than I thought, and I had to write a simple map maker ), but I've made you a simple map and prepared a tile set suitable for both blitting and directly copying to screen with the cpu:

TileMap.zip

The archive contains tha map, tiles, a palette file and a source code which uses all three to show you that it works. The source code isn't very well documented and it's adopted from some existing code I have. It hits the hardware, of course, and it shouldn't be to hard to see what's going on.

The tiles are 16x16 pixels, and are stored as 16 words per plane, one plane after another, with six planes per tile, and without a mask. The routine PasteIcon blits this data to the screen, and it's also possible to write the data to screen using the cpu due to the very simple tile format.

The map is simply an array of words, where each words is the tile number. To get to the tile you need in the tile data use this formula: tile*6*2*16. The map is 20x16 tiles large.

The palette is in the BGRA format, because I used the peecee with freebasic to make the file. Check the source code to see how I've handled it. The code is actually for 0RGB format, but because I haven't changed the format yet, I've just added some temporary instructions to handle BGRA format (documented).

Note: color 0 is green, should be black (forgot to change it when remapping the tile colors), but it doesn't affect the tiles, it's just the background color

I know how you dislike undocumented source code and this isn't very well documented, hopefully it's clear enough. The reason for this is that I used the code to test if the map, palette and tiles actualy worked. Posting things that don't work is useless

To assemble the source use asmone, and copy the directory with the files to ram:

Next, the 4GW docs. Those where a little tough, but I've found two sites which are mostly text, they should work fine with Ibrowse. One is for 4GW, the other one is for the 100% compatible open source version of 4GW (dos32):

http://www.tenberry.com/dpmi/01.html
http://dos32a.narechk.net/index_en.html

Both these are about the api, which is called DPMI, and it should be what you're looking for.

Quote:
Originally Posted by meynaf View Post
Yes, and I fixed both mine and original bugs. The code needs a lot of testing, as I really rewrote some parts completely.
Perhaps you can help without using the custom dungeon : if you grab an original DM1 dungeon (not crunched ; if first word of dungeon.dat is $8104 then it's a crunched one), you can still play it with the code and that would do some sort of non-regression testing.
Perhaps I'll do that. However, I must say that to play, I prefer the Amiga version, although I can make an exception.
Quote:
Originally Posted by meynaf View Post
What is it ? (if I can ask)
The idea is to somehow write the palette values to the table. Then you start at values zero and one, and fill half of the space between the values with value zero, and the other half with value one. This is then repeated for value one and two, then two and three, and so forth, until all values are written. The problem is that it's probably not that straightforward
Quote:
Originally Posted by meynaf View Post
Ok. Besides, I'm kept busy with the other versions.
Hehe, turned out I didn't have much time last week, sorry
Quote:
Originally Posted by meynaf View Post
Thanks in advance (even if you find nothing).
Done. Hopefully it's what you need. If it is, but the online aspect bothers you, then I can probably clone the sites with a website copier.
Quote:
Originally Posted by meynaf View Post
I think this idea really needs to get implemented, just to see...
It should work, but under an os you'll still get some untimely preempts.
Quote:
Originally Posted by meynaf View Post
Old VGA PC is the base standard.
But how do those cd/dvd bootable linux distros boot into a graphics mode that seems to work on all or most hardware? I don't think they use a separate driver for each video card, or do they?
Quote:
Originally Posted by meynaf View Post
Ever played HOMM2 ?
Nope. Perhaps I can find a copy somewhere. Hopefully it will work with Winblows Xpee, because DosBox runs like a snail on my peecee
Quote:
Originally Posted by meynaf View Post
I admit I didn't use short cuts a lot... But I'm not interested in improving now. I prefer games which can be played correctly with the mouse only.
Really? I think mouse only sucks. With Dungeon Master, I think it's essential to use the numeric key pad for movement, and I never, ever use the mouse for that.
Quote:
Originally Posted by meynaf View Post
I'm not sure, but this certainly would make many things easier.
I'd go for turn based. If you want the game to have a strong strategic element, then it's pretty much essential.
Quote:
Originally Posted by meynaf View Post
Where did you go in the game so far ?
Not far. I've barely able to get to the supply area
Quote:
Originally Posted by meynaf View Post
You have some ideas ?
Not as of yet, but a lot of those skills really aren't to difficult. The thing is, it has to be seen in context of the game. The game really needs to be worked out more before you can start working out the rules.
Quote:
Originally Posted by meynaf View Post
I need fresh ideas, not a copy of my list. You don't even need to remove standard stuff, just be descriptive as I was in my example.
That's why I need your list, otherwise I'll just end up thinking up things which are already in there, and with 585 spells it's likely to happen. My big question is: Why so many spells? In my opinion, a good game doesn't need half that many. 585 might be overkill. Furthermore, it might be an idea to add a short description to the spells that get used, like this:
Code:
Minor Cure:

Restores 2D6+2 hitpoints to target.
Heals targets wounds.
Does not heal fractures.
Does not heal wounds caused by magic.
That way the player doesn't have to read long texts to know what a spell does.
Quote:
Originally Posted by meynaf View Post
I am tempted to write "then make yours" again...
It's a dream, alright. A modern '030+Aga os would be great, and it's certainly possible if done by hand. The problem is just that it's a lot of work. Might be a future project...
Quote:
Originally Posted by meynaf View Post
Perhaps you need to write "by herself", and "her only problem", as Tiggy is a female.
What? Female? Where does it say that? I've always thought Tiggy is a boy, oh well...
Quote:
Originally Posted by meynaf View Post
I prefer sparing you that burden, too
Thank you
Quote:
Originally Posted by meynaf View Post
After thinking about this, I believe it might be better to first create the game's skeleton and basic interface, before casting any spell.
Absolutely. We just need to decide on a tile set and unit animations. I say that the Fire Emblem graphics might still be good enough. There are indoor and outdoor gfx, and especially those outdoor graphics remind of of the earlier Ultima games. They're at least good enough for a skeleton.

Last edited by Thorham; 16 September 2009 at 16:59.
Thorham is offline  
Old 17 September 2009, 15:34   #175
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,350
Quote:
Originally Posted by Thorham View Post
A bit late, I know (less time than I thought, and I had to write a simple map maker ), but I've made you a simple map and prepared a tile set suitable for both blitting and directly copying to screen with the cpu:

Attachment 22723

The archive contains tha map, tiles, a palette file and a source code which uses all three to show you that it works. The source code isn't very well documented and it's adopted from some existing code I have. It hits the hardware, of course, and it shouldn't be to hard to see what's going on.

The tiles are 16x16 pixels, and are stored as 16 words per plane, one plane after another, with six planes per tile, and without a mask. The routine PasteIcon blits this data to the screen, and it's also possible to write the data to screen using the cpu due to the very simple tile format.

The map is simply an array of words, where each words is the tile number. To get to the tile you need in the tile data use this formula: tile*6*2*16. The map is 20x16 tiles large.

The palette is in the BGRA format, because I used the peecee with freebasic to make the file. Check the source code to see how I've handled it. The code is actually for 0RGB format, but because I haven't changed the format yet, I've just added some temporary instructions to handle BGRA format (documented).

Note: color 0 is green, should be black (forgot to change it when remapping the tile colors), but it doesn't affect the tiles, it's just the background color

I know how you dislike undocumented source code and this isn't very well documented, hopefully it's clear enough. The reason for this is that I used the code to test if the map, palette and tiles actualy worked. Posting things that don't work is useless

To assemble the source use asmone, and copy the directory with the files to ram:
Ok, now it's my turn of work ;-)

Your code is clear enough, and your explanations are sufficient anyway. See below for what I did with that (I needed to convert the gfx to iff, sorry).

Quote:
Originally Posted by Thorham View Post
Next, the 4GW docs. Those where a little tough, but I've found two sites which are mostly text, they should work fine with Ibrowse. One is for 4GW, the other one is for the 100% compatible open source version of 4GW (dos32):

http://www.tenberry.com/dpmi/01.html
http://dos32a.narechk.net/index_en.html

Both these are about the api, which is called DPMI, and it should be what you're looking for.
But apparently full DPMI apis aren't documented there
Moreover, the executable has some heading code added to it and I can't locate the main exe behind.

Quote:
Originally Posted by Thorham View Post
Perhaps I'll do that. However, I must say that to play, I prefer the Amiga version, although I can make an exception.
I won't ask you to make an exception, but if you prefer the Amiga version, then what has to change in mine for you to prefer it ?
I'm sorry to say that, but wall gfx looks somewhat distorted in Amiga versions, so the ST version is better from that point of view.

Quote:
Originally Posted by Thorham View Post
The idea is to somehow write the palette values to the table. Then you start at values zero and one, and fill half of the space between the values with value zero, and the other half with value one. This is then repeated for value one and two, then two and three, and so forth, until all values are written. The problem is that it's probably not that straightforward
If it's just an implementation problem I can help, but I still don't understand the idea.

Quote:
Originally Posted by Thorham View Post
Hehe, turned out I didn't have much time last week, sorry
No problem.

Quote:
Originally Posted by Thorham View Post
Done. Hopefully it's what you need. If it is, but the online aspect bothers you, then I can probably clone the sites with a website copier.
Well, a full reference is always good to browse offline, but I didn't find all necessary informations in those sites - or it's not for free.

Quote:
Originally Posted by Thorham View Post
It should work, but under an os you'll still get some untimely preempts.
It "should" work doesn't mean it "will" work. So why not just doing it instead of talking ?

Quote:
Originally Posted by Thorham View Post
But how do those cd/dvd bootable linux distros boot into a graphics mode that seems to work on all or most hardware? I don't think they use a separate driver for each video card, or do they?
They DO use a separate driver for each video card (or similar cards from the same manufacturer if they can share the driver), and for lots of other things. All those are usually integrated into the kernel (not separate modules).

Quote:
Originally Posted by Thorham View Post
Nope. Perhaps I can find a copy somewhere. Hopefully it will work with Winblows Xpee, because DosBox runs like a snail on my peecee
The Win32 version of the game should work correctly with anything starting with old P75 and 16Mb ram. There is also an extension which you may want to grab (original is The succession wars, extension is The price of Loyalty).

Quote:
Originally Posted by Thorham View Post
Really? I think mouse only sucks. With Dungeon Master, I think it's essential to use the numeric key pad for movement, and I never, ever use the mouse for that.
Of course, but there are only 6 keys for movement in DM, and numeric pad is quite standard. I don't count this as keyboard shortcuts

Quote:
Originally Posted by Thorham View Post
I'd go for turn based. If you want the game to have a strong strategic element, then it's pretty much essential.
IMO turns are a problem only for multi-player games.

Quote:
Originally Posted by Thorham View Post
Not far. I've barely able to get to the supply area
Perhaps it's the wrong way... Ever tried to get to the pit area next to the hall of champions ?

Quote:
Originally Posted by Thorham View Post
Not as of yet, but a lot of those skills really aren't to difficult. The thing is, it has to be seen in context of the game. The game really needs to be worked out more before you can start working out the rules.
What sort of work out on the game before the rules ?

Quote:
Originally Posted by Thorham View Post
That's why I need your list, otherwise I'll just end up thinking up things which are already in there, and with 585 spells it's likely to happen. My big question is: Why so many spells? In my opinion, a good game doesn't need half that many. 585 might be overkill.
My big answer : it's because it's not really designed for computer games, but for classical rpg (it's meant as a spell compendium).

Quote:
Originally Posted by Thorham View Post
Furthermore, it might be an idea to add a short description to the spells that get used, like this:
Code:
Minor Cure:

Restores 2D6+2 hitpoints to target.
Heals targets wounds.
Does not heal fractures.
Does not heal wounds caused by magic.
That way the player doesn't have to read long texts to know what a spell does.
Hmm, perhaps it's enough for a computer game after all. Well, do your full list and don't bother about mine (some spells have several pages of text).
Just be precise enough, say, most damage spells are projectiles that must be described (e.g. magic missile described as a green, spiked sphere hitting the opponent).

Quote:
Originally Posted by Thorham View Post
It's a dream, alright. A modern '030+Aga os would be great, and it's certainly possible if done by hand. The problem is just that it's a lot of work. Might be a future project...
A modern '030+aga OS is AOS 3.x and you already have it. You think it's not modern because it lacks some features ? Just add them ! This would certainly be much easier than to rewrite the whole thing.

Quote:
Originally Posted by Thorham View Post
What? Female? Where does it say that? I've always thought Tiggy is a boy, oh well...
Dungeon.dat says that, even though the game doesn't make any use of the info so the user won't see it (perhaps the clothing gives some hint, though).

Quote:
Originally Posted by Thorham View Post
Absolutely. We just need to decide on a tile set and unit animations. I say that the Fire Emblem graphics might still be good enough. There are indoor and outdoor gfx, and especially those outdoor graphics remind of of the earlier Ultima games. They're at least good enough for a skeleton.
First I've made a character move in the tile set you gave me, it's a start I think :
meynaf.free.fr/tmp/tiles.lzx
Use numpad to move, and move out of the edges (or press ctrl-c) to quit.
However, the tile set is a little bit too 3D for the character (or the character is too much 2D). I would like a Civilization style view (easier to handle than making some Zelda3 style view), so perhaps Fire emblem gfx are not exactly what we need.
meynaf is offline  
Old 17 September 2009, 16:33   #176
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,806
Quote:
Originally Posted by meynaf View Post
Ok, now it's my turn of work ;-)

Quote:
Originally Posted by meynaf View Post
(I needed to convert the gfx to iff, sorry).
Doesn't matter, because I had already made a tile c2p converter earlier Just tell me this: Why do you need iff? Seems to me that having everything in blitter format is the most convenient. It's what I always go for. I especially don't like the fact that extra IFF decoding code is needed, but that's just me
Quote:
Originally Posted by meynaf View Post
First I've made a character move in the tile set you gave me, it's a start I think :
meynaf.free.fr/tmp/tiles.lzx
Use numpad to move, and move out of the edges (or press ctrl-c) to quit.
The problem I have here is that you use the background map to determine where you can walk and where not. Having a multi-layer map is much better. I was thinking about having the following layers:

1. Background layer.
2. Item stack layer, where multiple items can be on a single tile (similar to DM).
3. Movement layer, which specifies where the units can walk, and also if they can go up and down.
4. Interaction layer for things like pressure pads, doors, buttons, etc.
5. Work layer for units in addition to a unit list. Makes it easier to check if a tile is occupied by a unit.

This kind of setup also makes it easy to make the maps 3D by simply linking the movement layers. In my opinion this needs to be decided on before writing anything. Also, realize that just having one layer is either extremely limited, or a real pain to do anything interesting with. Think about it
Quote:
Originally Posted by meynaf View Post
However, the tile set is a little bit too 3D for the character (or the character is too much 2D). I would like a Civilization style view (easier to handle than making some Zelda3 style view), so perhaps Fire emblem gfx are not exactly what we need.
Perhaps not. What I was thinking about is using the Fire Emblem characters and monsters, because they fit on these tiles perfectly. And besides, adding a bit of depth to the otherwise flat maps adds a sense of realism. Also, the tiles don't really matter that much, the most important thing is the internal representation of the maps. Don't make it too simple!
Quote:
Originally Posted by meynaf View Post
But apparently full DPMI apis aren't documented there
Moreover, the executable has some heading code added to it and I can't locate the main exe behind.
Oh no Those two were about the best I could find Okay, I'll try again
Quote:
Originally Posted by meynaf View Post
I won't ask you to make an exception, but if you prefer the Amiga version, then what has to change in mine for you to prefer it ?
I us a HD patch that relies on FMS device, by the way.

The advantages are that the sound is better, you can drink directly from fountains, and the game loads much faster, and of course, it's the Amiga version, why play the ST version? Somewhat biassed, I know
Quote:
Originally Posted by meynaf View Post
I'm sorry to say that, but wall gfx looks somewhat distorted in Amiga versions, so the ST version is better from that point of view.
Never noticed this, I'll check it out.
Quote:
Originally Posted by meynaf View Post
If it's just an implementation problem I can help, but I still don't understand the idea.
No need, it probably doesn't work anyway.
Quote:
Originally Posted by meynaf View Post
Well, a full reference is always good to browse offline, but I didn't find all necessary informations in those sites - or it's not for free.
Yes, it is, but if it's not complete, than there is no point in copying the website. The 4GW replacement is open source, so they should have the complete docs.
Quote:
Originally Posted by meynaf View Post
It "should" work doesn't mean it "will" work. So why not just doing it instead of talking ?
I'm not going to, because I really don't need it, it's for the peecee
Quote:
Originally Posted by meynaf View Post
They DO use a separate driver for each video card (or similar cards from the same manufacturer if they can share the driver), and for lots of other things. All those are usually integrated into the kernel (not separate modules).
I mean the os loader. I don't think this uses the kernal, but I could be wrong. Again, it's not important, because it's on the peecee
Quote:
Originally Posted by meynaf View Post
The Win32 version of the game should work correctly with anything starting with old P75 and 16Mb ram. There is also an extension which you may want to grab (original is The succession wars, extension is The price of Loyalty).
I checked a big abandon ware site, and they only list part one, and it's not available for download
Quote:
Originally Posted by meynaf View Post
IMO turns are a problem only for multi-player games.
That's often the case, except when the game has been designed for this, like Advance Wars. You can play this with four people on one GameBoy Advance. Each player gets to move all their units per turn, and passes the GBA on to the next player. Anyway, for the kind of game we're talking about I prefer turn based
Quote:
Originally Posted by meynaf View Post
Perhaps it's the wrong way... Ever tried to get to the pit area next to the hall of champions ?
Yes, but... I didn't get very far. And please don't give me any spoilers
Quote:
Originally Posted by meynaf View Post
What sort of work out on the game before the rules ?
The combat system, and how abilities are supposed to work in relation to the game. Also, what is going to be possible in the game.
Quote:
Originally Posted by meynaf View Post
My big answer : it's because it's not really designed for computer games, but for classical rpg (it's meant as a spell compendium).
Shouldn't matter that much.
Quote:
Originally Posted by meynaf View Post
Hmm, perhaps it's enough for a computer game after all. Well, do your full list and don't bother about mine (some spells have several pages of text).
Just be precise enough, say, most damage spells are projectiles that must be described (e.g. magic missile described as a green, spiked sphere hitting the opponent).
Okay, I can do that.
Quote:
Originally Posted by meynaf View Post
A modern '030+aga OS is AOS 3.x and you already have it. You think it's not modern because it lacks some features ? Just add them ! This would certainly be much easier than to rewrite the whole thing.
Amiga Os 3.x modern? Not anymore:

1. No mmu support of any kind, so no memory protection.
2. Very primitive gui system, much worse than Windows 95.
3. No adequate resource tracking.
4. Horrible management of chip mem.
5. Obsolete scsi.device, sould be ide.device, and should support atapi+large hds.
6. Standard filesystem is bad.
7. Numerous other features missing.

Patching up all the holes in AOS is a long and painful process, where in-depth knowledge of the whole os is needed (which is something I don't want to get into), and some of the above will be very hard to solve. This is not worth the large amount of time and effort required, and even if it's done, you'll end up with an old os that's patched up in far to many ways.

It's a much better idea to start from scratch, and design the new os properly from the start instead of taking a Deux Chevaux and trying to turn it into a Formula One racing car
Quote:
Originally Posted by meynaf View Post
Dungeon.dat says that, even though the game doesn't make any use of the info so the user won't see it (perhaps the clothing gives some hint, though).
Strange that they didn't list it... As for her appearance, she looks like a kid in kids wizard clothes, and the character could've been either male or female.

Last edited by Thorham; 17 September 2009 at 16:45.
Thorham is offline  
Old 19 September 2009, 21:18   #177
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,350
Quote:
Originally Posted by Thorham View Post
Doesn't matter, because I had already made a tile c2p converter earlier Just tell me this: Why do you need iff? Seems to me that having everything in blitter format is the most convenient. It's what I always go for. I especially don't like the fact that extra IFF decoding code is needed, but that's just me
Extra IFF code was already written. Code to blit it onto the screen was already written. That's why. Another reason is that it's much easier to add/change gfx : just use your paint program and you're done. No conversion
needed.

The blitter format is not more convenient, because I blit with cpu from fastmem so gfx can be in large quantities. Chipmem is limited, you know.

Quote:
Originally Posted by Thorham View Post
The problem I have here is that you use the background map to determine where you can walk and where not. Having a multi-layer map is much better. I was thinking about having the following layers:

1. Background layer.
2. Item stack layer, where multiple items can be on a single tile (similar to DM).
3. Movement layer, which specifies where the units can walk, and also if they can go up and down.
4. Interaction layer for things like pressure pads, doors, buttons, etc.
5. Work layer for units in addition to a unit list. Makes it easier to check if a tile is occupied by a unit.
You know, this was just a start, a very simple thing. But unit layer is in fact already there ;-)

I think the movement layer isn't necessary, or can the very same gfx be sometimes walkable on and sometimes not ?
About objects and interactions, how to handle that graphically ? Won't this also change the tile ?

Quote:
Originally Posted by Thorham View Post
This kind of setup also makes it easy to make the maps 3D by simply linking the movement layers. In my opinion this needs to be decided on before writing anything. Also, realize that just having one layer is either extremely limited, or a real pain to do anything interesting with. Think about it
To be 3D you don't need movement layers, a set of coordinates including coord z is enough.
Adding new layers in my code is relatively easy, but I need to know what to do with them.

Quote:
Originally Posted by Thorham View Post
Perhaps not. What I was thinking about is using the Fire Emblem characters and monsters, because they fit on these tiles perfectly. And besides, adding a bit of depth to the otherwise flat maps adds a sense of realism. Also, the tiles don't really matter that much, the most important thing is the internal representation of the maps. Don't make it too simple!
Doing so will limit you to what Fire emblem can do. I don't want our game to be a Fire emblem data disk.
And aren't those gfx copyrighted ?

Quote:
Originally Posted by Thorham View Post
Oh no Those two were about the best I could find Okay, I'll try again
Well, don't worry about that. You have other ways to help me, e.g. with IDA Pro and Hex-Rays.

Quote:
Originally Posted by Thorham View Post
I us a HD patch that relies on FMS device, by the way.

The advantages are that the sound is better, you can drink directly from fountains, and the game loads much faster, and of course, it's the Amiga version, why play the ST version? Somewhat biassed, I know
1) The sounds cannot be better because sounds I use come from the Amiga version. Or you have to specify what "better" means here.
2) Try to drink directly in the last version and you'll have a surprise.
3) Game loads much faster because it's not crunched ; graphics file is a lot bigger because of that (mine is relatively big too, but it contains more gfx). And before screaming it's slow, copy game to ram: and try again
Btw. I have a quit option, Amiga version has none.
4) I use the ST version because it's simpler to manage and gfx are better. Not to mention CsbWin also uses ST code, so it's easier for me when I have a look at it.

Quote:
Originally Posted by Thorham View Post
Never noticed this, I'll check it out.
Of course, everything looks distorted when you use composite output, so you perhaps won't see a thing

Quote:
Originally Posted by Thorham View Post
No need, it probably doesn't work anyway.
I guess this was just an unclear idea.

Quote:
Originally Posted by Thorham View Post
Yes, it is, but if it's not complete, than there is no point in copying the website. The 4GW replacement is open source, so they should have the complete docs.
But using a replacement isn't the same thing as trying to understand some already produced code.

Quote:
Originally Posted by Thorham View Post
I'm not going to, because I really don't need it, it's for the peecee
Chickening out, eh ?

Quote:
Originally Posted by Thorham View Post
I mean the os loader. I don't think this uses the kernal, but I could be wrong. Again, it's not important, because it's on the peecee
A kernel is quick to load, you know. The slow part is after this. But you're perfectly right : it's on the peecee so it's not important ;-)

Quote:
Originally Posted by Thorham View Post
I checked a big abandon ware site, and they only list part one, and it's not available for download
Damn ! You're certainly missing something.

Quote:
Originally Posted by Thorham View Post
That's often the case, except when the game has been designed for this, like Advance Wars. You can play this with four people on one GameBoy Advance. Each player gets to move all their units per turn, and passes the GBA on to the next player. Anyway, for the kind of game we're talking about I prefer turn based
And what do people not using the GBA do while one plays ? They just wait, man. No good. But for our kind of game wannabe, it's certainly better to be turn based.

Quote:
Originally Posted by Thorham View Post
Yes, but... I didn't get very far. And please don't give me any spoilers
I prefer giving a few hints (which don't spoil much) rather than you not playing it...

Quote:
Originally Posted by Thorham View Post
The combat system, and how abilities are supposed to work in relation to the game. Also, what is going to be possible in the game.
Those ARE the rules, mate.

Quote:
Originally Posted by Thorham View Post
Shouldn't matter that much.
Indeed. It's just that many spells are not suitable for computers.

Quote:
Originally Posted by Thorham View Post
Okay, I can do that.
Then let me see what you can produce...

Quote:
Originally Posted by Thorham View Post
Amiga Os 3.x modern? Not anymore:

1. No mmu support of any kind, so no memory protection.
You do NOT need memory protection, or all you need is Enforcer.

Quote:
Originally Posted by Thorham View Post
2. Very primitive gui system, much worse than Windows 95.
There are alternatives. And if you think win95 is good, try to move a window while the program is busy.

Quote:
Originally Posted by Thorham View Post
3. No adequate resource tracking.
I did resource tracking in my lib, I have no problem with that ;-)

Quote:
Originally Posted by Thorham View Post
4. Horrible management of chip mem.
This is more a hardware problem. Chipmem is small and slow, and that's all. A new OS can do nothing about that.

Quote:
Originally Posted by Thorham View Post
5. Obsolete scsi.device, sould be ide.device, and should support atapi+large hds.
It's named scsi because programs expect the HD to be scsi and they still work. For atapi+large hds, patches exist.

Quote:
Originally Posted by Thorham View Post
6. Standard filesystem is bad.
It's better than FAT and you're not forced to use it.

Quote:
Originally Posted by Thorham View Post
7. Numerous other features missing.
What features ???

Btw. If a list for peecees OSes was to be made, it'd be much larger than that one.

Quote:
Originally Posted by Thorham View Post
Patching up all the holes in AOS is a long and painful process, where in-depth knowledge of the whole os is needed (which is something I don't want to get into), and some of the above will be very hard to solve. This is not worth the large amount of time and effort required, and even if it's done, you'll end up with an old os that's patched up in far to many ways.
Isn't rather writing a whole new OS which is not worth the (much bigger) amount of time and effort required (especially with old hardware) ?
If patches are clever and not-so-dirty, there's no problem with them.

Quote:
Originally Posted by Thorham View Post
It's a much better idea to start from scratch, and design the new os properly from the start instead of taking a Deux Chevaux and trying to turn it into a Formula One racing car
It's more like taking an old F1 car from a few decades and make it race again ; taking a Deux Chevaux to turn it into a Formula One racing car is exactly what was done with peecees !

Quote:
Originally Posted by Thorham View Post
Strange that they didn't list it... As for her appearance, she looks like a kid in kids wizard clothes, and the character could've been either male or female.
Where should have they listed it ? I can add this, but there's no room in the interface.
And the gunna isn't exactly like a wizard robe ; however it's just a possible hint. Anyway the dungeon file isn't ambiguous on that.
meynaf is offline  
Old 19 September 2009, 23:44   #178
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,806
Quote:
Originally Posted by meynaf View Post
Extra IFF code was already written. Code to blit it onto the screen was already written. That's why. Another reason is that it's much easier to add/change gfx : just use your paint program and you're done. No conversion
needed.
Okay, that's true. However...
Quote:
Originally Posted by meynaf View Post
The blitter format is not more convenient, because I blit with cpu from fastmem so gfx can be in large quantities. Chipmem is limited, you know.
...having all the tiles after each other, like in my tile file, makes the blitting code a little simpler. The code I showed you is of course meant to work on an unexpanded A1200, hence my blitter comment As for the final version of a tile set, going with a special tile file seems more polished. My question is this: should the game work on an unexpanded A1200 with HD, or not?
Quote:
Originally Posted by meynaf View Post
I think the movement layer isn't necessary, or can the very same gfx be sometimes walkable on and sometimes not ?
It's because it's easier to program for. In the example tile set I've shown you, there are 18 walkable tiles.

Then there are the water tiles. Those can be walkable if the water is undeep, and are swimable if characters aren't wearing heavy armor, so those behave a little differently.

Furthermore, maps with different tile sets each have their own selection of walkable tiles.

And finally, you could have illusionary walls, dummy buttons and floor tiles which seem normal, but trigger some thing if you walk on them.
Quote:
Originally Posted by meynaf View Post
About objects and interactions, how to handle that graphically ? Won't this also change the tile ?
Yes, it will, but it will allow you to easily add different behaviors to one and the same tile. Also, interactive tiles can vary from tile set to tile set. In my opinion it's better to handle everything in a completely uniform way, and just have the tile sets be variable. Let the map editor handle all these things instead of putting it the game code.
Quote:
Originally Posted by meynaf View Post
To be 3D you don't need movement layers, a set of coordinates including coord z is enough.
Again, in my opinion having a layer for this makes the programming work easier. You end up with one simple to use system that's nice and clean.
Quote:
Originally Posted by meynaf View Post
Adding new layers in my code is relatively easy, but I need to know what to do with them.
It's not hard to handle them at all. All we really need is a good map editor.
Quote:
Originally Posted by meynaf View Post
Doing so will limit you to what Fire emblem can do. I don't want our game to be a Fire emblem data disk.
It won't, Fire Emblem is limited to strategic battles with role playing elements. The game you want to make is far more extensive than Fire Emblem, and the two can't really be compared, although Fire Emblems battle system is quite good. Further graphics can probably be added quite easily, and don't have to look as good as Fire Emblems anyway, they're just temporary graphics
Quote:
Originally Posted by meynaf View Post
Well, don't worry about that. You have other ways to help me, e.g. with IDA Pro and Hex-Rays.
Sure, but remember, I don't have the game
Quote:
Originally Posted by meynaf View Post
1) The sounds cannot be better because sounds I use come from the Amiga version. Or you have to specify what "better" means here.
I didn't know that. Does this include the use of stereo so you can hear where monsters are coming from?
Quote:
Originally Posted by meynaf View Post
2) Try to drink directly in the last version and you'll have a surprise.
Good!
Quote:
Originally Posted by meynaf View Post
3) Game loads much faster because it's not crunched ; graphics file is a lot bigger because of that (mine is relatively big too, but it contains more gfx). And before screaming it's slow, copy game to ram: and try again.
Last time I checked it did load quite slowly, though. Also, I like the game to save directly to HD in case something crashes.
Quote:
Originally Posted by meynaf View Post
4) I use the ST version because it's simpler to manage and gfx are better.
They didn't use the same graphics? D'oh!
Quote:
Originally Posted by meynaf View Post
Of course, everything looks distorted when you use composite output, so you perhaps won't see a thing.
It doesn't, it looks a little unsharp. Lowres is quite doable
Quote:
Originally Posted by meynaf View Post
I guess this was just an unclear idea.
Yes, it is.
Quote:
Originally Posted by meynaf View Post
But using a replacement isn't the same thing as trying to understand some already produced code.
The replacement is supposed to be 100% compatible. From what I understand, you're supposed to be able to take a program, get rid of 4GW, and use DOS32 instead and the program will still work.
Quote:
Originally Posted by meynaf View Post
Chickening out, eh ?
Yes
Quote:
Originally Posted by meynaf View Post
Damn ! You're certainly missing something.
Perhaps it can be bought in a game shop for a few bucks.
Quote:
Originally Posted by meynaf View Post
And what do people not using the GBA do while one plays ? They just wait, man. No good.
Depends on the setting. I can certainly see myself having fun this way.
Quote:
Originally Posted by meynaf View Post
But for our kind of game wannabe, it's certainly better to be turn based.
Absolutely.
Quote:
Originally Posted by meynaf View Post
I prefer giving a few hints (which don't spoil much) rather than you not playing it..
Giving hints isn't going to make the dungeon more playable. I can't even recruit the party I want! Once that is done, I think I can figure it
Quote:
Originally Posted by meynaf View Post
Those ARE the rules, mate.
What I mean is how are those abilities going to fit in the game.
Quote:
Originally Posted by meynaf View Post
Indeed. It's just that many spells are not suitable for computers.
Could you give me a couple of examples?
Quote:
Originally Posted by meynaf View Post
Then let me see what you can produce...
Okay, I just replied immediately
Quote:
Originally Posted by meynaf View Post
You do NOT need memory protection, or all you need is Enforcer.
Yes, you do need memory protection. Enforcer is not a system protector: It doesn't prevent tasks from overwriting each others memory areas. It's a debugging tool. The guide file in the Enforcer archive actually states that it isn't a system protector.

In fact, I'm getting hugely fed up with program bugs crashing the system, and having to reboot. Or, some program crashes, and the system doesn't hang, but I reset anyway, because I don't know what damage was done, meaning it could crash a little later.

Furthermore, no memory protection creates a completely insecure system, where malicious programs can literally do anything they want. Not good. In my opinion memory protection is essential, because it makes the system much more reliable. No more system cashes, it would be a dream come true.
Quote:
Originally Posted by meynaf View Post
There are alternatives. And if you think win95 is good, try to move a window while the program is busy.
I don't mean the implementation, I mean the GUIs functionality. The implementation is of course rubbish, I mean, it's a Winblows It's just that when I work with much more modern GIUs, I always wish we had something like that, or preferably better, on the Amiga. In terms of functionality Intuition is so far behind the times that it's not even funny anymore Actually, I dislike the whole Window manager a lot. It's slow for lots of files, and it can't do much. Newer GUIs are completely superior in the functions they offer.

Another thing is, that a new OS could have a great GUI that is also easy to program for.
Quote:
Originally Posted by meynaf View Post
I did resource tracking in my lib, I have no problem with that ;-)
AOS doesn't even keep track of which tasks have reserved which memory blocks, meaning that if a program crashes, the memory can't be freed. Of course it doesn't matter, because when that happens the system has become unreliable and you have to reset the computer anyway. I hate that.
Quote:
Originally Posted by meynaf View Post
This is more a hardware problem. Chipmem is small and slow, and that's all. A new OS can do nothing about that.
It can do something about constantly running out of chip mem, such as copying pages from fastmem. And there is the problem of chipmem fragmentation. The problem is that AOS treats chipmem like any other memory, while on '020+ with fastmem it should use chipmem only for graphics and audio buffers, preferably in combination with fastmem. There is always something that can be done about this.
Quote:
Originally Posted by meynaf View Post
It's named scsi because programs expect the HD to be scsi and they still work.
Programs shouldn't really expect anything about lowlevel things like that. A computer whith an IDE interface shouldn't have scsi.device, and most certainly not an incomplete one like AOS scsi.device.
Quote:
Originally Posted by meynaf View Post
For atapi+large hds, patches exist.
This only shows how aged AOS is, these basic things should be standard.
Quote:
Originally Posted by meynaf View Post
It's better than FAT and you're not forced to use it.
True, it would just be better if a new OS would have something better by default.
Quote:
Originally Posted by meynaf View Post
What features ???
Perhaps I was overdoing it a bit
Quote:
Originally Posted by meynaf View Post
Btw. If a list for peecees OSes was to be made, it'd be much larger than that one.
But this isn't a peecee, it's an Amiga

Anyway, the point is that there is a lot of room for improvement in AOS. It has been showing it's age for a long time now, and in fact I don't like AOS anymore at all. To me it's only redeeming feature is that it can boot fast.
Quote:
Originally Posted by meynaf View Post
Isn't rather writing a whole new OS which is not worth the (much bigger) amount of time and effort required (especially with old hardware) ?
It might be fun to write, so to me it's worth it. I don't know if I'm going to do it, but to me it's not a waste of time at all.
Quote:
Originally Posted by meynaf View Post
If patches are clever and not-so-dirty, there's no problem with them.
But I don't want a patched up system, and I don't want the knowledge to make a patched up system. I want a new OS!
Quote:
Originally Posted by meynaf View Post
It's more like taking an old F1 car from a few decades and make it race again ; taking a Deux Chevaux to turn it into a Formula One racing car is exactly what was done with peecees !
Okay, I might have been a little harsh there, but an old F1 car is never going to perform as well as a newly designed F1 car.

The problem is still that it's a process of trying to patch up an old OS that should have been replaced by something superior a decade ago. And my biggest problem is that I find Winblows XPee to be much more usable than AOS 3.0. This isn't even a sad thing. AOS 3.0 slaughters the Winblows versions of it's time, but today it can't compete anymore. I don't mind, it just means it's time to make an Amiga OS that slaughters yet again Why do you think I always write Winblows and not Windows
Quote:
Originally Posted by meynaf View Post
Where should have they listed it ? I can add this, but there's no room in the interface.
Well, you'd think they'd list it somewhere. On the other hand, it doesn't have any influence on the game, so it's probably just something that was left in.
Quote:
Originally Posted by meynaf View Post
And the gunna isn't exactly like a wizard robe ; however it's just a possible hint. Anyway the dungeon file isn't ambiguous on that.
Aha! The clothes in the inventory. Damn, I didn't think of that Strange, I never made the connection somehow
Thorham is offline  
Old 21 September 2009, 18:35   #179
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,350
Quote:
Originally Posted by Thorham View Post
Okay, that's true. However...
...having all the tiles after each other, like in my tile file, makes the blitting code a little simpler. The code I showed you is of course meant to work on an unexpanded A1200, hence my blitter comment As for the final version of a tile set, going with a special tile file seems more polished. My question is this: should the game work on an unexpanded A1200 with HD, or not?
As you can see in my code, blitting isn't very complicated.
About your question : should the game be BIG in size or not ?

Quote:
Originally Posted by Thorham View Post
It's because it's easier to program for. In the example tile set I've shown you, there are 18 walkable tiles.
I did the code in the simpler way I thought, and a table which gives if tiles are walkable was the easiest way.

Quote:
Originally Posted by Thorham View Post
Then there are the water tiles. Those can be walkable if the water is undeep, and are swimable if characters aren't wearing heavy armor, so those behave a little differently.
But deep water looks different than undeep water, or you've made a visual mistake
See Ambermoon for an example of how this can be (correctly) handled.

Quote:
Originally Posted by Thorham View Post
Furthermore, maps with different tile sets each have their own selection of walkable tiles.
Yes, list of walkable tiles can be different. No problem here.

Quote:
Originally Posted by Thorham View Post
And finally, you could have illusionary walls, dummy buttons and floor tiles which seem normal, but trigger some thing if you walk on them.
It would be much waste when you can just duplicate the gfx (and possibly add a very little detail to differentiate illusion from real). In a HUGE world like the one I intend to implement, it's not advised to store more than one byte per cell.
And triggers are in the interaction layer, not here.

Quote:
Originally Posted by Thorham View Post
Yes, it will, but it will allow you to easily add different behaviors to one and the same tile. Also, interactive tiles can vary from tile set to tile set. In my opinion it's better to handle everything in a completely uniform way, and just have the tile sets be variable. Let the map editor handle all these things instead of putting it the game code.
Yes, graphics and behaviors are to be completely separate. But using the cell type as index for displaying tiles is a nice shortcut (for me the per-cell data is cell type, not cell gfx, but at the end it's the same).

Quote:
Originally Posted by Thorham View Post
Again, in my opinion having a layer for this makes the programming work easier. You end up with one simple to use system that's nice and clean.
Oh no, it's not nice and clean. Having a movement layer like that may well make you end up with stairs which lead to the wrong place, or which have the wrong gfx for their types. Think about that.

Quote:
Originally Posted by Thorham View Post
It's not hard to handle them at all. All we really need is a good map editor.
But for that we need to know what those layers will handle.

Quote:
Originally Posted by Thorham View Post
It won't, Fire Emblem is limited to strategic battles with role playing elements. The game you want to make is far more extensive than Fire Emblem, and the two can't really be compared, although Fire Emblems battle system is quite good. Further graphics can probably be added quite easily, and don't have to look as good as Fire Emblems anyway, they're just temporary graphics
I don't think it's easy to mix those gfx with anything else. But, as long as it's only graphical, no problem for me. It's just that the code itself shouldn't have to care about tile's possible 3D appearance.

Quote:
Originally Posted by Thorham View Post
Sure, but remember, I don't have the game
You don't have the game, but I can give you some exe files to work with.

Quote:
Originally Posted by Thorham View Post
I didn't know that. Does this include the use of stereo so you can hear where monsters are coming from?
For now move sounds are still missing, and there isn't stereo.
DM1 3.6 code just has a x,y distance table to get the volume for left & right, and it's no good if the monster is behind a wall and can't really reach you : you'll still think it's near !
But if you can give me a good method to handle this, it can be done quickly.

Quote:
Originally Posted by Thorham View Post
Last time I checked it did load quite slowly, though. Also, I like the game to save directly to HD in case something crashes.
My game won't crash
And you can amiga-M to fetch the save in ram and put it to hd if it's that important. But if you didn't check the game for a long time, it loads faster now.

Quote:
Originally Posted by Thorham View Post
They didn't use the same graphics? D'oh!
They did use the same graphics, but not for walls (or they are treated very differently).

Quote:
Originally Posted by Thorham View Post
The replacement is supposed to be 100% compatible. From what I understand, you're supposed to be able to take a program, get rid of 4GW, and use DOS32 instead and the program will still work.
Yes, if you have the source.

Quote:
Originally Posted by Thorham View Post
Perhaps it can be bought in a game shop for a few bucks.
That's very possible. Either the game is abandonware and you should be able to find it somewhere, or it's not and you should be able to buy it !

Quote:
Originally Posted by Thorham View Post
Depends on the setting. I can certainly see myself having fun this way.
I don't see any suitable setting here.

Quote:
Originally Posted by Thorham View Post
Giving hints isn't going to make the dungeon more playable. I can't even recruit the party I want! Once that is done, I think I can figure it
What's the party you want ? Perhaps I can recruit it (showing you it's not THAT hard) and give you the saved game.

On the other hand, the game forces people to change old habits (like recruiting the very same party over and over) or they fail
Personnally I have no problem with the hall of champions ; the real danger is below (but it would be less dangerous if you simply could retreat to a safe hall).

Quote:
Originally Posted by Thorham View Post
What I mean is how are those abilities going to fit in the game.
I rather thought about generic rules usable everywhere.

Quote:
Originally Posted by Thorham View Post
Could you give me a couple of examples?
Imagine you cast an illusion spell. Can be anything you want, but on the computer you can't do that. Cannot be implemented (or will be very limited).
Charm spells alter the behavior of characters, but it requires a human to correctly interpret the NPC.

Quote:
Originally Posted by Thorham View Post
Okay, I just replied immediately
And now ?

Quote:
Originally Posted by Thorham View Post
Yes, you do need memory protection. Enforcer is not a system protector: It doesn't prevent tasks from overwriting each others memory areas. It's a debugging tool. The guide file in the Enforcer archive actually states that it isn't a system protector.
Enforcer is a debugging tool and there's no need for more.

Quote:
Originally Posted by Thorham View Post
In fact, I'm getting hugely fed up with program bugs crashing the system, and having to reboot. Or, some program crashes, and the system doesn't hang, but I reset anyway, because I don't know what damage was done, meaning it could crash a little later.
Buggy programs aren't the OS fault. Stop using them and you will no longer crash.

Quote:
Originally Posted by Thorham View Post
Furthermore, no memory protection creates a completely insecure system, where malicious programs can literally do anything they want. Not good. In my opinion memory protection is essential, because it makes the system much more reliable. No more system cashes, it would be a dream come true.
As if memory protection ever stopped malicious programs ! In fact they can even make use of it against the user. Some viruses get supervisor privileges and use them to prevent the user from removing them (I think they are named rootkits or something like that).

Quote:
Originally Posted by Thorham View Post
I don't mean the implementation, I mean the GUIs functionality. The implementation is of course rubbish, I mean, it's a Winblows
Nah. The winblows problem is its foolish messaging system which blocks the program until messages are handled. It's architectural and implementation has nothing to do with that.

Quote:
Originally Posted by Thorham View Post
It's just that when I work with much more modern GIUs, I always wish we had something like that, or preferably better, on the Amiga. In terms of functionality Intuition is so far behind the times that it's not even funny anymore
Intuition can be extended. And you cannot have those "modern" (ha !) GUIs without suitable gfx resolutions, which is a big problem on old hardware.

Quote:
Originally Posted by Thorham View Post
Actually, I dislike the whole Window manager a lot. It's slow for lots of files, and it can't do much. Newer GUIs are completely superior in the functions they offer.
What superior functions ? Use a GUI lib such as MUI and you'll get them. And don't blame the window manager for the slow ; remember that even if it's slow, it's certainly much faster than any PC program showing files (the hardware's just slower). At least it doesn't stupidly prompt you to rename if your double-click is too slow.

Quote:
Originally Posted by Thorham View Post
Another thing is, that a new OS could have a great GUI that is also easy to program for.
Write a wrapper and you'll have easy to write programs.

Quote:
Originally Posted by Thorham View Post
AOS doesn't even keep track of which tasks have reserved which memory blocks, meaning that if a program crashes, the memory can't be freed. Of course it doesn't matter, because when that happens the system has become unreliable and you have to reset the computer anyway. I hate that.
If a program crashes, again. Only thing I can tell you here is : STOP USING BUGGY PROGRAMS !

Quote:
Originally Posted by Thorham View Post
It can do something about constantly running out of chip mem, such as copying pages from fastmem. And there is the problem of chipmem fragmentation. The problem is that AOS treats chipmem like any other memory, while on '020+ with fastmem it should use chipmem only for graphics and audio buffers, preferably in combination with fastmem. There is always something that can be done about this.
It wouldn't run out of chipmem if there were enough of it.

Quote:
Originally Posted by Thorham View Post
Programs shouldn't really expect anything about lowlevel things like that. A computer whith an IDE interface shouldn't have scsi.device, and most certainly not an incomplete one like AOS scsi.device.
They probably thought that badly written programs would need this.
AOS scsi.device can be completed by things such as idefix.
And if the name really annoys you, change it in your rom

Quote:
Originally Posted by Thorham View Post
This only shows how aged AOS is, these basic things should be standard.
AFAIK they are in AOS4.

Quote:
Originally Posted by Thorham View Post
True, it would just be better if a new OS would have something better by default.
It's not that bad. Having ran DiskSalv a few times after making a big mistake such as deleting files, I blessed it. And worse, when things go wrong and the file system isn't even recognised, what other system can still get files back ?

Quote:
Originally Posted by Thorham View Post
Perhaps I was overdoing it a bit
Yeah.

Quote:
Originally Posted by Thorham View Post
But this isn't a peecee, it's an Amiga

Anyway, the point is that there is a lot of room for improvement in AOS. It has been showing it's age for a long time now, and in fact I don't like AOS anymore at all. To me it's only redeeming feature is that it can boot fast.
Only redeeming feature, eh ? Now it's my time to make a list :
1. You can copy and use whatever parts of the OS you want. No registry, no hidden files to go in the way (try to migrate your OS and all your programs from one PC to another - a pain !).
2. Intuition screen flipping. No PC has that.
3. Windows don't go to the front when you click on them, allowing to easily copy and paste between windows that overlap.
4. You can move icons around without this to become permanent ; good when you do that by mistake !
5. Icon size aren't fixed. You can have any size you want, so important ones are made bigger.
6. No shutdown procedure : just turn the machine off.
7. Standard Installer with readable script - you no longer need to blindly trust the thing.
8. Popup dialog boxes don't block other windows until you respond.
9. RMB cancels any operation such as moving a window. On PC you have to revert things manually. And if you've moved things around and messed up them, on AOS it won't be saved behind your back !
10. SetPatch command can be enough to keep your system up to date ; no need of huge "service packs" which mess up your system (SetPatch can easily be reverted to previous version).
11. Native localization system. No need for several versions of a program.
12. Automatically mounted ram disk -> no temporaries messing up the HD.
13. No need to lock() a screen's surface to blit on it (that one's for gfx programmers).
14. Datatypes, that is, system wide codecs. Too bad the concept is underused.
15. ARexx : script to control apps. Very powerful, and present in all machines.
16. Shared libraries. On other OSes you have dynamic link libraries or static libraries ; both use heaps of memory because of duplicated code or data. On Amiga, only one instance of the library and all its stuff is there.
17. Early startup control. Press both mouse buttons at start, and you can choose which device to boot on, disable them, and see if an extension board is recognized or not.
18. It still multitasks faster than the others, despite running in a hardware much older than them. OS 3.x can do up to 6000 task switchs per second on a 68060, where win xp on a 3Ghz P4 can barely do 64 (I measured).
19. If you have a bad crash and reboot, you can still (if you know how) grab memory and get back what you didn't save.
20. You have full control over your computer. It doesn't do things behind your back (such as connecting to some site to see if you paid for the app you're using).
21. You can move/rename files even if they are open. On the PC you can't even rename the MP3 you're currently listening (try it !). Similarly, you can delete a program even if it's currently running.

You want more or this is enough ?

Quote:
Originally Posted by Thorham View Post
It might be fun to write, so to me it's worth it. I don't know if I'm going to do it, but to me it's not a waste of time at all.
Writing a new OS for old hardware that's not even sold anymore is pure waste IMO. However, if you also design new hardware to go well with the OS, then it might become much more interesting...

Quote:
Originally Posted by Thorham View Post
But I don't want a patched up system, and I don't want the knowledge to make a patched up system. I want a new OS!
If you don't want a patched up system, use Windows and never download any service pack heheh

Quote:
Originally Posted by Thorham View Post
Okay, I might have been a little harsh there, but an old F1 car is never going to perform as well as a newly designed F1 car.
Of course, but if renewed a little, it could perform much better than the 2CV turned into a F1.

Quote:
Originally Posted by Thorham View Post
The problem is still that it's a process of trying to patch up an old OS that should have been replaced by something superior a decade ago. And my biggest problem is that I find Winblows XPee to be much more usable than AOS 3.0. This isn't even a sad thing. AOS 3.0 slaughters the Winblows versions of it's time, but today it can't compete anymore. I don't mind, it just means it's time to make an Amiga OS that slaughters yet again Why do you think I always write Winblows and not Windows
But you missed the point that the problem is not with the OS. The problem is the antique hardware. You can't have a "nice" GUI if your hardware can't display it at acceptable speeds.

Quote:
Originally Posted by Thorham View Post
Well, you'd think they'd list it somewhere. On the other hand, it doesn't have any influence on the game, so it's probably just something that was left in.
Exactly.

Quote:
Originally Posted by Thorham View Post
Aha! The clothes in the inventory. Damn, I didn't think of that Strange, I never made the connection somehow
Well, I didn't make the connection before I knew the truth either
Btw. Hissssa is really a male (there were some doubts for me long ago).
meynaf is offline  
Old 21 September 2009, 21:02   #180
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,806
Quote:
Originally Posted by meynaf View Post
As you can see in my code, blitting isn't very complicated.
About your question : should the game be BIG in size or not ?
Yes, it should, but that doesn't mean it can't run on a standard A1200 with HD.
Quote:
Originally Posted by meynaf View Post
I did the code in the simpler way I thought, and a table which gives if tiles are walkable was the easiest way.
I'd rather have those tables in the map editor/generator.
Quote:
Originally Posted by meynaf View Post
But deep water looks different than undeep water, or you've made a visual mistake.
Yes, it should actually.
Quote:
Originally Posted by meynaf View Post
It would be much waste when you can just duplicate the gfx (and possibly add a very little detail to differentiate illusion from real). In a HUGE world like the one I intend to implement, it's not advised to store more than one byte per cell.
And triggers are in the interaction layer, not here.
There's always plenty of starage space on the HD.
Quote:
Originally Posted by meynaf View Post
Yes, graphics and behaviors are to be completely separate. But using the cell type as index for displaying tiles is a nice shortcut (for me the per-cell data is cell type, not cell gfx, but at the end it's the same).
It's your code, if you think it's best, then go right ahead
Quote:
Originally Posted by meynaf View Post
Oh no, it's not nice and clean. Having a movement layer like that may well make you end up with stairs which lead to the wrong place, or which have the wrong gfx for their types. Think about that.
It is clean. When the movement and tile layers don't match, there's a bug in the code.
Quote:
Originally Posted by meynaf View Post
But for that we need to know what those layers will handle.
Again, it's your code. I've explained how I would have done it. You decide
Quote:
Originally Posted by meynaf View Post
I don't think it's easy to mix those gfx with anything else. But, as long as it's only graphical, no problem for me. It's just that the code itself shouldn't have to care about tile's possible 3D appearance.
Then you need flat graphics. I'll see if I can find some.
Quote:
Originally Posted by meynaf View Post
You don't have the game, but I can give you some exe files to work with.
Sounds good.
Quote:
Originally Posted by meynaf View Post
For now move sounds are still missing, and there isn't stereo.
DM1 3.6 code just has a x,y distance table to get the volume for left & right, and it's no good if the monster is behind a wall and can't really reach you : you'll still think it's near !
But if you can give me a good method to handle this, it can be done quickly.
I don't know. Perhaps you can check if monsters are behind walls reletive to the player and simply decrease the volume?
Quote:
Originally Posted by meynaf View Post
My game won't crash.
And you can amiga-M to fetch the save in ram and put it to hd if it's that important. But if you didn't check the game for a long time, it loads faster now.
I must admit that I'm using an older version, and haven't checked out your latest version.
Quote:
Originally Posted by meynaf View Post
They did use the same graphics, but not for walls (or they are treated very differently).
How strange. I thought DM didn't use real time scaling.
Quote:
Originally Posted by meynaf View Post
Yes, if you have the source.
Oh, I didn't realize that
Quote:
Originally Posted by meynaf View Post
That's very possible. Either the game is abandonware and you should be able to find it somewhere, or it's not and you should be able to buy it !
Sadly it's still protected.
Quote:
Originally Posted by meynaf View Post
I don't see any suitable setting here.
People who like the game, and want to play together, perhaps.
Quote:
Originally Posted by meynaf View Post
What's the party you want ? Perhaps I can recruit it (showing you it's not THAT hard) and give you the saved game.
Not good, I have to be able to do it myself.
Quote:
Originally Posted by meynaf View Post
On the other hand, the game forces people to change old habits (like recruiting the very same party over and over) or they fail
That's nice, but you should be able to play with any party setup you want.
Quote:
Originally Posted by meynaf View Post
Personnally I have no problem with the hall of champions ; the real danger is below (but it would be less dangerous if you simply could retreat to a safe hall).
But you can play Chaos Strikes Back with reincarnated characters
Quote:
Originally Posted by meynaf View Post
I rather thought about generic rules usable everywhere.
Okay, that's cleared up then.
Quote:
Originally Posted by meynaf View Post
Imagine you cast an illusion spell. Can be anything you want, but on the computer you can't do that. Cannot be implemented (or will be very limited).
Good example. Of course there's no use for Flying Pink Elephant Illusions in the game, but I can see how that would be a problem
Quote:
Originally Posted by meynaf View Post
Charm spells alter the behavior of characters, but it requires a human to correctly interpret the NPC.
Charm spells could work if their behavior is defined beforehand.
Quote:
Originally Posted by meynaf View Post
And now ?
You wait No, seriously, I'm working on it.
Quote:
Originally Posted by meynaf View Post
Enforcer is a debugging tool and there's no need for more.
To me there is.
Quote:
Originally Posted by meynaf View Post
Buggy programs aren't the OS fault. Stop using them and you will no longer crash.
And how do you know a program is bug free? Most programs aren't bug free.
Quote:
Originally Posted by meynaf View Post
As if memory protection ever stopped malicious programs ! In fact they can even make use of it against the user. Some viruses get supervisor privileges and use them to prevent the user from removing them (I think they are named rootkits or something like that).
This only applies when there are holes in the system.
Quote:
Originally Posted by meynaf View Post
Nah. The winblows problem is its foolish messaging system which blocks the program until messages are handled. It's architectural and implementation has nothing to do with that.
That's what I call an implementation mistake.
Quote:
Originally Posted by meynaf View Post
Intuition can be extended. And you cannot have those "modern" (ha !) GUIs without suitable gfx resolutions, which is a big problem on old hardware.
Yes, you can. You'll just have to go without a lot of the eye candy, although it could still look a lot better than Intuition. However, I don't have such a big issue with Intuitions sober look, it's the functionality, and I don't want to patch up Intuition.
Quote:
Originally Posted by meynaf View Post
What superior functions ? Use a GUI lib such as MUI and you'll get them.
Mui is nice, and slowish. While it's certainly very usable on my system (I don't dislike Mui at all), I see no reason to stick to AOS.
Quote:
Originally Posted by meynaf View Post
And don't blame the window manager for the slow ; remember that even if it's slow, it's certainly much faster than any PC program showing files (the hardware's just slower).
It doesn't matter if Winblows doesn't do it right, the point is that it's slow on my Amiga, while it could be as fast as lightening.
Quote:
Originally Posted by meynaf View Post
At least it doesn't stupidly prompt you to rename if your double-click is too slow.
That is actually a function I use Furthermore, that sort of behavior should be controllable in the prefs programs.
Quote:
Originally Posted by meynaf View Post
Write a wrapper and you'll have easy to write programs.
If the GUI system is written from scratch properly, you don't need a wrapper.
Quote:
Originally Posted by meynaf View Post
If a program crashes, again. Only thing I can tell you here is : STOP USING BUGGY PROGRAMS !
If I would, then I can't use any software anymore, because I don't know if a program is completely bug free or not. Furthermore, when programming on the Amiga, I hate how some silly bug forces me to reboot. It sucks. Under Winblows Xpee I don't have that problem, and we can have that on the Amiga, too. And don't tell me Enforcer can handle it, because it doesn't protect the system completely, meaning things can still crash or become unreliable.

Memory protection is essential, why are you so against it?
Quote:
Originally Posted by meynaf View Post
It wouldn't run out of chipmem if there were enough of it.
But there isn't, and there wont be. A new OS can make better use of what's available by copying pages to and from FastMem (fast on '030).
Quote:
Originally Posted by meynaf View Post
They probably thought that badly written programs would need this.
AOS scsi.device can be completed by things such as idefix.
And if the name really annoys you, change it in your rom.
In a new OS extra programs for standard things aren't needed.
Quote:
Originally Posted by meynaf View Post
AFAIK they are in AOS4.
AOS4 doesn't run on 68K+AGA, and how good is it exactly?
Quote:
Originally Posted by meynaf View Post
It's not that bad. Having ran DiskSalv a few times after making a big mistake such as deleting files, I blessed it. And worse, when things go wrong and the file system isn't even recognised, what other system can still get files back ?
File recovery works with NTFS as well, and besides, you still need a third party program for that. The system can't do these things.
Quote:
Originally Posted by meynaf View Post
Only redeeming feature, eh ?
Okay, I was overdoing it here, too, but it just goes to show how much I think AOS 3.X needs to be replaced by something better.
Quote:
Originally Posted by meynaf View Post
2. Intuition screen flipping. No PC has that.
You can simply blit video pages. Very fast on even my old peecee, and it's used in Linux when you use multiple desktops, works like a treat.
Quote:
Originally Posted by meynaf View Post
3. Windows don't go to the front when you click on them, allowing to easily copy and paste between windows that overlap.
Meaning you have to click a gadget to move a window to the front. I use an MCP feature to allow double clicking to move a window to front because Intuition doesn't do it by it self. Winblows can actually do this, too, but it's not setup this way, it's default behavior.
Quote:
Originally Posted by meynaf View Post
4. You can move icons around without this to become permanent ; good when you do that by mistake !
Yes, I know, terrible! You have to save icon positions by hand and there's no option to control this behavior.
Quote:
Originally Posted by meynaf View Post
5. Icon size aren't fixed. You can have any size you want, so important ones are made bigger.
That one is nice
Quote:
Originally Posted by meynaf View Post
6. No shutdown procedure : just turn the machine off.
With Winblows Xpee you can do that, too. I do that a lot, and it never fails.
Quote:
Originally Posted by meynaf View Post
7. Standard Installer with readable script - you no longer need to blindly trust the thing.
Quite nice, yes, but it's a seperate program like Winblows installers. On the Amiga we simply have one of those.
Quote:
Originally Posted by meynaf View Post
8. Popup dialog boxes don't block other windows until you respond.
You still can't do anything with them, it's a detail.
Quote:
Originally Posted by meynaf View Post
9. RMB cancels any operation such as moving a window. On PC you have to revert things manually. And if you've moved things around and messed up them, on AOS it won't be saved behind your back !
Okay.
Quote:
Originally Posted by meynaf View Post
10. SetPatch command can be enough to keep your system up to date ; no need of huge "service packs" which mess up your system (SetPatch can easily be reverted to previous version).
That's quite handy, I suppose.
Quote:
Originally Posted by meynaf View Post
11. Native localization system. No need for several versions of a program.
That is quite handy.
Quote:
Originally Posted by meynaf View Post
12. Automatically mounted ram disk -> no temporaries messing up the HD.
Huge omission in Winblows.
Quote:
Originally Posted by meynaf View Post
13. No need to lock() a screen's surface to blit on it (that one's for gfx programmers).
14. Datatypes, that is, system wide codecs. Too bad the concept is underused.
15. ARexx : script to control apps. Very powerful, and present in all machines.
16. Shared libraries. On other OSes you have dynamic link libraries or static libraries ; both use heaps of memory because of duplicated code or data. On Amiga, only one instance of the library and all its stuff is there.
17. Early startup control. Press both mouse buttons at start, and you can choose which device to boot on, disable them, and see if an extension board is recognized or not.
Yup, all these are good, too
Quote:
Originally Posted by meynaf View Post
18. It still multitasks faster than the others, despite running in a hardware much older than them. OS 3.x can do up to 6000 task switchs per second on a 68060, where win xp on a 3Ghz P4 can barely do 64 (I measured).
That's teh slooooow In my old kernal which I worked on over 10 years ago, a context switch is a lot less than a 1000 cycles. On a '030 you should be able to get tens of thousands of context switches per second. Not that that's very useful, but it only goes to show that AOS isn't a speed monster either.
Quote:
Originally Posted by meynaf View Post
19. If you have a bad crash and reboot, you can still (if you know how) grab memory and get back what you didn't save.
Nice point, although I've never used it. Might have saved me some pain in the past. However, a new system with memory protection can actually handle this for the user if need be.
Quote:
Originally Posted by meynaf View Post
20. You have full control over your computer. It doesn't do things behind your back (such as connecting to some site to see if you paid for the app you're using).
This is not the systems fault. If you have an internet connection active under AOS, then what's to stop a program from accessing the web anyway? This is third party software behavior, and has nothing to do with the system.
Quote:
Originally Posted by meynaf View Post
21. You can move/rename files even if they are open. On the PC you can't even rename the MP3 you're currently listening (try it !). Similarly, you can delete a program even if it's currently running.
Yes, you can, but I don't see how that's very useful. Of course, in a single user environment you should be able to do those things if you want.
Quote:
Originally Posted by meynaf View Post
You want more or this is enough ?
Although I must admit that you have a point, it doesn't mean AOS is a very good OS that can't use a replacement.
Quote:
Originally Posted by meynaf View Post
Writing a new OS for old hardware that's not even sold anymore is pure waste IMO.
It could be fun. A '030+AGA can do a lot more than run AOS, and I just hate how I'm stuck with AOS as the best on my Amiga. I like my Amiga, and I will always like Amiga computers, but I don't like the idea of having to put up with AOS for the coming ten years.
Quote:
Originally Posted by meynaf View Post
However, if you also design new hardware to go well with the OS, then it might become much more interesting...
That isn't going to happen any time soon, unless Natami get's completed, and even then, Natami is still 68K, and I see no reason why the classic Amigas should have to do without a new OS.
Quote:
Originally Posted by meynaf View Post
If you don't want a patched up system, use Windows and never download any service pack heheh.
I don't give a damn about Winblows. I don't hate it, but this is about Amigas, and a patched up system is unacceptable for Amigas in my opinion. I already have enough stuff patched up on my miggy, and I don't like it
Quote:
Originally Posted by meynaf View Post
Of course, but if renewed a little, it could perform much better than the 2CV turned into a F1.
I don't want a renewed system, I want a new system
Quote:
Originally Posted by meynaf View Post
But you missed the point that the problem is not with the OS. The problem is the antique hardware. You can't have a "nice" GUI if your hardware can't display it at acceptable speeds.
A nice GUI is a GUI that has lots of functionality, not one that's laden with piles of eye candy. Such a GUI simply has to look neat and clean. While it can do better than Intuition in the looks department, it doesn't have to look like Winblows ViStall or Winblows 0.7 Things like nice backdrops and icons are not a problem, of course. It seems you're under estimating the Amiga a little
Quote:
Originally Posted by meynaf View Post
Well, I didn't make the connection before I knew the truth either
Btw. Hissssa is really a male (there were some doubts for me long ago).
Well, that's what I always thought. And Tiggy should have been a guy, of course.
Thorham is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Old KGLoad Discussion killergorilla project.KGLoad 357 20 January 2011 16:08
Castlevania Discussion john4p Retrogaming General Discussion 30 30 January 2009 02:10
ROM Discussion... derSammler project.EAB 41 29 January 2008 23:36
General Discussion Zetr0 project.Amiga Game Factory 12 15 December 2005 13:53

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 15:48.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.21817 seconds with 14 queries