Jump to content

Dune Dynasty


Recommended Posts

When the harvester is selected, the text box tells you what percent full it is. Instead of that, could you superimpose that percentage onto the harvester, either as a number or bar? Also, could you make it so when a unit is at the top of the map, you can still see it's healthbar?

In the sidebar, instead of having the name of the building, have all the icons touching each other, and make the name come up when you hover over them (like in Tiberian Dawn). Instead of a percentage (or maybe in addition to it), do the grayed out circle thing CnC does when you're building a structure. When it's done, make it's icon pulse to make it jump out. Do the same to the construction yard icon if it's the currently selected building.

Spice meter on harvester (and probably refinery and silo too) sounds like it's worth a try.

Making the current item in production or awaiting placement more obvious would be good too, but the pulsing effect doesn't really fit into the rest of the game. Something like the original palette cycling seen in the factory window could work though.

It would be handy to extend my suggestion for savegames to all building selection, though, and let it auto-scroll the sidebar to center the icon of the thing that's currently being built. Well, not sure what it does at this moment though. If it remembers the scroll state of each building's sidebar, I guess that's better.

It's a per-structure scroll position.

I personally don't see any point in adding graphics to it though. In essence, this is still a Dune II rebuild, and I like that about it.

This does comes up from time to time, usually in reference to making a game truly free. But obviously Dune 2000 graphics isn't the way to go then either.

Well adding esc as pausing key would be nice, yes. But as a Dune II player, I never even thought about that. It's all in the manual.

Part of the reason is that esc is bound to the cancel attack, move, and placement button. Making esc pausing the game is probably more intuitive and useful. I normally use 'c' or just right-click to cancel anyway. Would anyone miss this function?

Not my point. There's no space on the screen to fit in a longer name and that long rank on one line, that's all.

That's not entirely true. "Ordos" is considerably shorter than "Harkonnen" and "Atreides", so it could accept a few extra letters. That would be pretty old school too.

It seems to me like a project to enhance Dune 2 and make it more accessible to modern gamers. Having the option to use C&C's cursors to better represent the context sensitive action seems like a good idea to me.

Context sensitive cursor graphics is not a bad idea. The targetting is more of a problem since I disabled the game's rather annoying habit of searching around where you click, presumably because it is tile based and units might have moved into an adjacent tile. Most likely will just tint the Dune 2 cursor graphic.

My main point was that losing the current production list I was looking at whenever I select a unit was disorienting, and that a way to fix that would be to still display the current unit and it's actions when they're selected, but show a CnC3 style sidebar under that.

Why would the CnC3 sidebar hurt? (It doesn't have to be the default option, of course.)

Having a combined production list is really quite a drastic change from Dune 2, and, in my opinion, doesn't work well with multiple factories. Westwood games got around this by speeding up the production cycles and having primary buildings, which really isn't the same thing. It also lends itself to weird quirks: build factory and devastator to 99%, capture enemy building, place factory, finish devastator.

Even modern games have per-structure production lists, e.g. starcraft, ta.

Link to post
Share on other sites

EagleEye: Not the Dynasty manual. THE DUNE II MANUAL. :P

https://forum.dune2k.com/topic/21640-dune-ii-manual-remake/

On 10/15/2012 at 12:05 AM, EagleEye said:

I wrote this in about half an hour today (consider this Public Domain):

-code-

Um. Okay. Your point? If you'd have posted something extending the OpenDune/Dynasty code somehow, that might be relevant, but a simple ini parser? Where you use "==" instead of ".equals()" for string compare, a 'foreach' where you keep a manually incremented index instead of just using 'for' (where you simply HAVE the index), and also attempt to reinvent the String.Contains(), String.IndexOf(), and String.Substring() function? Sorry, but, not impressed.

For the record... I already wrote one myself, to make the CCConfig tool for my C&C95 patch. Not gonna paste any code of it here; it's huge. It has support for different character sets, inserting new keys into existing inis, retaining comments behind values while changing them, and other fancy stuff like that :P

MY point, on the other hand, is that people keep asking me to build skirmish mode into C&C95. Which is 100% utterly impossible. So, yeah... even having the source code (which I don't, for C&C), don't expect the guy behind a project to serve your every whim, because it MIGHT not be as easy as it seems, especially to implement in an existing system. THAT is my point.

On 10/15/2012 at 12:05 AM, EagleEye said:

That would be valid were I saying Dune 2 is a bad game. I am not. I am saying that Dune Dynasty could be improved if concrete was less annoying to place. That is my number one problem with the project as-is, and if it were alleviated, then the project would be essentially perfect. (After that is using the TD cursor to show that you can/can't move/attack/scroll the screen.)

Scrolling isn't even an issue seeing as Dune II has a minimap even if you don't have radar.

On 10/15/2012 at 2:28 AM, dynasty said:

Part of the reason is that esc is bound to the cancel attack, move, and placement button. Making esc pausing the game is probably more intuitive and useful. I normally use 'c' or just right-click to cancel anyway. Would anyone miss this function?

Ahh. I knew there was some reason.

Personally; I'd say keep it as it is. I do use escape for that, now I think about it. Well, you might just branch out to different control schemes, I dunno. But I like having the good old Dune II style. And anyway, IMO the use of F2 is just one of those things you need to be told once and just have to remember. All games have somewhat different controls, and if you remember Mentat is F1 and the button next to it is F2 it's really not hard to remember.

On 10/15/2012 at 1:26 AM, dynasty said:

The game only changes the screen resolution at the start of the game, and only if you set window_mode=fullscreen in the config file. Alt-enter will only toggle between windowed and fullscreen window modes. Note that alt-enter doesn't work in this mode, and alt-tab didn't work for me and caused windows to go a bit weird (but you can alt-tab back). This should probably be disabled if I could figure out how.

Ooh. Never noticed those settings. Yeah, just setting it to fullscreen is exactly what I wanted. I just didn't realize there was a difference between fullscreen mode and ctrl+enter.

[edit]

I tested on Win7 now. The graphics problem remains the same, but the crash on exit is gone.

Edited by Nyerguds
Link to post
Share on other sites
Haha, it sounds like you're playing like I used to. You don't *need* concrete, and it is supposed to be time consuming. After all, you are getting 50% structure health for about 20 credits.

When you put it that way, it's a lot more tolerable.

Link to post
Share on other sites
The fact Dynasty still has to program it in? Us programmers get no respect :P

Example code

Um. Okay. Your point?

I'm part of "us programmers."

If you'd have posted something extending the OpenDune/Dynasty code somehow, that might be relevant, but a simple ini parser?

You know, it's almost as if I explained this in a previous post:

Honestly' date=' I'd make some of these changes myself, but legally it'd be risky for me to look at OpenDUNE's source code. Not because the source code itself is illegal or anything, but because it wasn't a "clean" disassembly and reimplementation (wherein different people look at the disassembly than implement the new code), and I'm currently working on a commercial RTS.[/quote']
MY point' date=' on the other hand, is that people keep asking me to build skirmish mode into C&C95. Which is 100% utterly impossible.[/quote']

Um. Okay. I haven't asked you to do that, so I don't know why that would be your point.

So' date=' yeah... even having the source code (which I don't, for C&C), don't expect the guy behind a project to serve your every whim, because it MIGHT not be as easy as it seems, especially to implement in an existing system. THAT is my point.[/quote']

Nyer, they're suggestions and feature requests, you understand that, right? I'm not arguing with Dynasty that he needs to implement them, I'm arguing with you about whether or not they're good ideas. My point is that Dynasty is a big boy and can reject a request himself without you yelling about how much of a Dune 2 hater I am and how much of a programmer I'm not.

Scrolling isn't even an issue seeing as Dune II has a minimap even if you don't have radar.

My problem was with scrolling the sidebar.

Why would the CnC3 sidebar hurt? (It doesn't have to be the default option' date=' of course.)[/quote']Having a combined production list is really quite a drastic change from Dune 2, and, in my opinion, doesn't work well with multiple factories.

CnC3 has tabs for each type of production, and sub-tabs for each production facility. (It only allows for one of each superweapon, but you could just put it in the sidebar and have it act like everything else.)

For the record... I already wrote one myself, to make the CCConfig tool for my C&C95 patch. Not gonna paste any code of it here; it's huge. It has support for different character sets, inserting new keys into existing inis, retaining comments behind values while changing them, and other fancy stuff like that :P

Thanks, I'll use this in my game.

Link to post
Share on other sites

Hey dynasty... could the Palace sidebar layout NOT be production sidebar style? It's quite annoying to not have a shortcut for releasing/launching the Palace special.

On a related note, could you put some kind of visible % on it? I always missed that in Dune II.

CnC3 has tabs for each type of production, and sub-tabs for each production facility. (It only allows for one of each superweapon, but you could just put it in the sidebar and have it act like everything else.)

Uhh... your original post said C&C3's sidebar had problems, and suggested changing it to Tiberian Dawn's system. I never said C&C3's sidebar system would be a bad choice for this.

I think it'd be a bit too complex for this though. The Dune II sidebar is quite low-res, after all; hard to fit tabs on it, especially with Dune having 6 different production types, namely buildings, infantry, vehicles, air, superweapon, and the Starport. And that's without separating WOR and Barracks, or light factory and heavy factory.

Thanks, I'll use this in my game.

Have fun. The license is pretty clear on that ;)

  • Upvote 1
Link to post
Share on other sites
Uhh... your original post said C&C3's sidebar had problems, and suggested changing it to Tiberian Dawn's system. I never said C&C3's sidebar system would be a bad choice for this.

No, I said the current Dynasty sidebar had the same problem as C&C3 had: Whenever you select a unit, you lose the tab you were looking at. I then said:

If Dune 2 doesn't have independent build queues: Use CnC's sidebar

If Dune 2 does have independent build queues: Use CnC3's siderbar

And in either case: Put the currently selected unit and their commands at the top of the sidebar

I think it'd be a bit too complex for this though. The Dune II sidebar is quite low-res, after all; hard to fit tabs on it, especially with Dune having 6 different production types, namely buildings, infantry, vehicles, air, superweapon, and the Starport.

Valid point.

And that's without separating WOR and Barracks, or light factory and heavy factory.

Those would be on the same tab, the same way the Barracks, Hand of Nod, and Mutant Hovel are on the same tab.

By the way, Nyer, I looked at your complaints about my code.

a 'foreach' where you keep a manually incremented index instead of just using 'for' (where you simply HAVE the index),

They do the same thing. Running Stopwatch a couple of times on both of them tells me they run at the same speed.

and also attempt to reinvent the String.Contains(), String.IndexOf(), and String.Substring() function?

I took an iterative approach rather than the approach you would've taken. It's no less valid.

Where you use "==" instead of ".equals()" for string compare

I can tell you used to write in Java.

Link to post
Share on other sites

No, I said the current Dynasty sidebar had the same problem as C&C3 had: Whenever you select a unit, you lose the tab you were looking at. I then said:

If Dune 2 doesn't have independent build queues: Use CnC's sidebar

If Dune 2 does have independent build queues: Use CnC3's siderbar

And in either case: Put the currently selected unit and their commands at the top of the sidebar

Whoops. I somehow completely missed that second part -_-

They do the same thing. Running Stopwatch a couple of times on both of them tells me they run at the same speed.

Sure, in time efficiency. However, you keep an unnecessary duplicate index around, while the 'foreach' already contains one internally. Generally, if you need the index for anything inside the loop code, you're better off not using 'foreach' at all.

Would be nice if the C# foreach syntax would allow optionally specifying a name for accessing the index as read-only int, actually. Something like

foreach (String str in strlist index i)

(making 'index' a reserved word would cause a horrible outrage though, lol. Maybe 'on' would be better)

I took an iterative approach rather than the approach you would've taken. It's no less valid.

You also took a whole page for something I could write in 3 lines :P


int separator = input.IndexOf('=');
returnval[0] = input.Substring(0, separator);
returnval[1] = input.Substring(separator + 1);

My code first finds the line boundaries of a section though, and only then reads all values in these boundaries. Admitted, doing it all in one loop is probably more efficient. Then again, ini reading and writing is hardly an action where efficiency matters much.

My ini implementation was written with specific requirements for my setup tool, though. It was made for allowing inserting stuff into existing inis without touching anything else in the file, which means user comments (even behind non-string values) get preserved when writing. Lots of ini implementations clear comments on rewrite, and that's really annoying.

I still do, actually. Allowing the use of == is a horrible syntax leniency C# carried over from VB. Try it on any other object type and you're comparing addresses in pointers. It's simply a bad habit IMO. String shouldn't exist as a primitive data type, since, well, it isn't. On a related note, I also program in assembler, so after seeing string compares on a CPU level, the use of == becomes an even more horrific simplification. (And don't get me started on switch-case structures using strings. UGH! Switch-case for ints is one of the few higher programming things that actually exists on asm level.)

Link to post
Share on other sites
Would be nice if the C# foreach syntax would allow optionally specifying a name for accessing the index as read-only int, actually. Something like

foreach (String str in strlist index i)

(making 'index' a reserved word would cause a horrible outrage though, lol. Maybe 'on' would be better)

Agreed.

My ini implementation was written with specific requirements for my setup tool, though. It was made for allowing inserting stuff into existing inis without touching anything else in the file, which means user comments (even behind non-string values) get preserved when writing. Lots of ini implementations clear comments on rewrite, and that's really annoying.

That and the multilanguage support are the main reason I'm switching to your implementation.

I still do, actually. Allowing the use of == is a horrible syntax leniency C# carried over from VB. Try it on any other object type and you're comparing addresses in pointers. It's simply a bad habit IMO. String shouldn't exist as a primitive data type, since, well, it isn't. On a related note, I also program in assembler, so after seeing string compares on a CPU level, the use of == becomes an even more horrific simplification. (And don't get me started on switch-case structures using strings. UGH! Switch-case for ints is one of the few higher programming things that actually exists on asm level.)

I disagree. I do agree with switch-case structures using strings whenever you could use an enum or int, though.

Link to post
Share on other sites

No, see, a switch-case, on assembler level, is a list of addresses to jump to, and one single statement in the code telling the CPU to jump to the location of the pointer at (address of start of list + (switch value * length of an address)). This makes it THE most time-efficient choice structure ever created, but also makes it, by core design, restricted to a range of consecutive int-only values (in which any gaps are normally filled by the pointer to the Default case).

There is no way to translate that behaviour to string. Like the "==", It's just an artificial front for a bunch of string compares.

Link to post
Share on other sites

[You have posted more than the allowed number of quoted blocks of text]

What the ass :|

Pfft, yet another ridiculous forum software limitation no one knew about until now :P I can understand a limit for embedded images or videos, but quotes?

"You quote too much, try to be more original instead" :P

Well I still severely doubt that Dune 2000 will contain all necessary clips. I've done this kind of voice set conversions, between games as similar as C&C and TS (once for making a C&C1 EVA voice set for some TS-to-C&C1 total conversion mods, and the other way around when using the Spanish TS voices as C&C1 EVA), and I still had to go copy and paste vowels to fill in missing ones.

I suppose that implementing the Dune 2000 Mentat voices is possible if the files themselves are coupled with the German/French sound tables (found in the EU version). There will still be discrepancies though, and the game also has to be tweaked to use an exception that works only on the first two levels to distinguish between "Unit lost" when you lose a unit and "Enemy unit destroyed".

This does comes up from time to time, usually in reference to making a game truly free. But obviously Dune 2000 graphics isn't the way to go then either.

BTW, while we're at it, there's a completely free graphics set for a RTS game that was never completed:

http://lunar.lostgarden.com/game_HardVacuum.htm

What's more, the graphics are by Daniel Cook who did the graphics for Tyrian.

Link to post
Share on other sites
OK, give us more info about your project, then :)

My game isn't really that relevant to Dune Dynasty. Basically, it's a RTS with elements of a 4X, that controls like a Command and Conquer game.

My understanding is that anyone can use Daniel's art, so the proposal to create a freeware resource set for Dune Dynasty remains in effect ;)

Dynasty would have to add support for 20x20 tiles, first.

Edit: Just looking at Artil.bmp, the thing itself looks like it's supposed to be 20x20, but goes over it. Supporting 24x24 or 32x32 for units might be necessary to support the Hard Vacuum graphics.

Link to post
Share on other sites

My game isn't really that relevant to Dune Dynasty. Basically, it's a RTS with elements of a 4X, that controls like a Command and Conquer game.

Well, why don't you make a post about it in the General Gaming section here in the forums? :)

Link to post
Share on other sites

Back to the Dune2k Mentat speech implementation possibility, it is in fact rather easy to pull off even in Dune II, and the only real limitation there is the size of the VOC files (anything larger than 20 KB crashes the game). The English lagnguage sound table looks like this (from Segra's database):

dseg:0320 31 00 1D 00 24 00+stru_43740      _soundPlay <31h, 1Dh, 24h, 37h, 0FFFFh, 34h, 0FFFFh>; 0
dseg:032E 31 00 1D 00 24 00+stru_4374E _soundPlay <31h, 1Dh, 24h, 37h, 39h, 34h, 0FFFFh>; 0 ; Warning: Enemy Unit Approaching North
dseg:033C 31 00 1D 00 24 00+stru_4375C _soundPlay <31h, 1Dh, 24h, 37h, 3Ah, 34h, 0FFFFh>; 0
dseg:034A 31 00 1D 00 24 00+stru_4376A _soundPlay <31h, 1Dh, 24h, 37h, 3Bh, 34h, 0FFFFh>; 0
dseg:0358 31 00 1D 00 24 00+stru_43778 _soundPlay <31h, 1Dh, 24h, 37h, 3Ch, 34h, 0FFFFh>; 0
dseg:0366 31 00 1E 00 24 00+stru_43786 _soundPlay <31h, 1Eh, 24h, 37h, 0FFFFh, 35h, 0FFFFh>; 0 ; Warning: Hark
dseg:0374 31 00 1F 00 24 00+stru_43794 _soundPlay <31h, 1Fh, 24h, 37h, 0FFFFh, 36h, 0FFFFh>; 0 ; Warning: Atre
dseg:0382 31 00 20 00 24 00+stru_437A2 _soundPlay <31h, 20h, 24h, 37h, 0FFFFh, 37h, 0FFFFh>; 0
dseg:0390 31 00 21 00 24 00+stru_437B0 _soundPlay <31h, 21h, 24h, 37h, 0FFFFh, 38h, 0FFFFh>; 0
dseg:039E 31 00 22 00 37 00+stru_437BE _soundPlay <31h, 22h, 37h, 0FFFFh, 0FFFFh, 39h, 0FFFFh>; 0
dseg:03AC 31 00 23 00 24 00+stru_437CC _soundPlay <31h, 23h, 24h, 37h, 0FFFFh, 3Ah, 0FFFFh>; 0
dseg:03BA 31 00 32 00 37 00+stru_437DA _soundPlay <31h, 32h, 37h, 0FFFFh, 0FFFFh, 3Bh, 0FFFFh>; 0 ; Sabot
dseg:03C8 1D 00 24 00 35 00+stru_437E8 _soundPlay <1Dh, 24h, 35h, 0FFFFh, 0FFFFh, 0, 0FFFFh>; 0 ; Enemy Unit Destroyed
dseg:03D6 1E 00 24 00 35 00+stru_437F6 _soundPlay <1Eh, 24h, 35h, 0FFFFh, 0FFFFh, 3Ch, 0FFFFh>; 0 ; Hark Unit Destroyed
dseg:03E4 1F 00 24 00 35 00+stru_43804 _soundPlay <1Fh, 24h, 35h, 0FFFFh, 0FFFFh, 3Dh, 0FFFFh>; 0
dseg:03F2 20 00 24 00 35 00+stru_43812 _soundPlay <20h, 24h, 35h, 0FFFFh, 0FFFFh, 3Eh, 0FFFFh>; 0
dseg:0400 21 00 24 00 35 00+stru_43820 _soundPlay <21h, 24h, 35h, 0FFFFh, 0FFFFh, 3Fh, 0FFFFh>; 0
dseg:040E 22 00 35 00 FF FF+stru_4382E _soundPlay <22h, 35h, 0FFFFh, 0FFFFh, 0FFFFh, 40h, 0FFFFh>; 0
dseg:041C 23 00 24 00 35 00+stru_4383C _soundPlay <23h, 24h, 35h, 0FFFFh, 0FFFFh, 41h, 0FFFFh>; 0
dseg:042A 32 00 35 00 FF FF+stru_4384A _soundPlay <32h, 35h, 0FFFFh, 0FFFFh, 0FFFFh, 0, 0FFFFh>; 0 ; Sab Destroyed
dseg:0438 1D 00 25 00 35 00+stru_43858 _soundPlay <1Dh, 25h, 35h, 0FFFFh, 0FFFFh, 0, 0FFFFh>; 0

etc. with each word being an index of the sound file that is played, and the last word is the index of the text string that is displayed when digitized speech is disabled.

The similar table for other languages looks like this:

dseg:0836 3C 00 31 00 1D 00+                _soundPlay 5 dup(<31h, 1Dh, 0FFFFh, 0FFFFh, 0FFFFh, 34h, 0FFFFh>); 1
dseg:0836 FF FF FF FF FF FF+ _soundPlay <31h, 1Dh, 0FFFFh, 0FFFFh, 0FFFFh, 35h, 0FFFFh>; 6
dseg:0836 34 00 FF FF 31 00+ _soundPlay <31h, 1Dh, 0FFFFh, 0FFFFh, 0FFFFh, 36h, 0FFFFh>; 7
dseg:0836 1D 00 FF FF FF FF+ _soundPlay <31h, 1Dh, 0FFFFh, 0FFFFh, 0FFFFh, 37h, 0FFFFh>; 8
dseg:0836 FF FF 34 00 FF FF+ _soundPlay <31h, 1Dh, 0FFFFh, 0FFFFh, 0FFFFh, 38h, 0FFFFh>; 9
dseg:0836 31 00 1D 00 FF FF+ _soundPlay <31h, 1Dh, 0FFFFh, 0FFFFh, 0FFFFh, 39h, 0FFFFh>; 10
dseg:0836 FF FF FF FF 34 00+ _soundPlay <31h, 1Dh, 0FFFFh, 0FFFFh, 0FFFFh, 3Ah, 0FFFFh>; 11
dseg:0836 FF FF 31 00 1D 00+ _soundPlay <31h, 32h, 0FFFFh, 0FFFFh, 0FFFFh, 3Bh, 0FFFFh>; 12
dseg:0836 FF FF FF FF FF FF+ _soundPlay <24h, 0FFFFh, 0FFFFh, 0FFFFh, 0FFFFh, 0, 0FFFFh>; 13
dseg:0836 34 00 FF FF 31 00+ _soundPlay <37h, 0FFFFh, 0FFFFh, 0FFFFh, 0FFFFh, 3Ch, 0FFFFh>; 14
dseg:0836 1D 00 FF FF FF FF+ _soundPlay <37h, 0FFFFh, 0FFFFh, 0FFFFh, 0FFFFh, 3Dh, 0FFFFh>; 15
dseg:0836 FF FF 34 00 FF FF+ _soundPlay <37h, 0FFFFh, 0FFFFh, 0FFFFh, 0FFFFh, 3Eh, 0FFFFh>; 16
dseg:0836 31 00 1D 00 FF FF+ _soundPlay <37h, 0FFFFh, 0FFFFh, 0FFFFh, 0FFFFh, 3Fh, 0FFFFh>; 17
dseg:0836 FF FF FF FF 35 00+ _soundPlay <37h, 0FFFFh, 0FFFFh, 0FFFFh, 0FFFFh, 40h, 0FFFFh>; 18
dseg:0836 FF FF 31 00 1D 00+ _soundPlay <37h, 0FFFFh, 0FFFFh, 0FFFFh, 0FFFFh, 41h, 0FFFFh>; 19
dseg:0836 FF FF FF FF FF FF+ _soundPlay <35h, 0FFFFh, 0FFFFh, 0FFFFh, 0FFFFh, 0, 0FFFFh>; 20
dseg:0836 36 00 FF FF 31 00+ _soundPlay <25h, 0FFFFh, 0FFFFh, 0FFFFh, 0FFFFh, 0, 0FFFFh>; 21

(the first 5 lines are duplicates because in English those are the versions of "Enemy unit approaching" with the direction indicated)

There are also code exceptions that tell the game to use VOC files with a specific prefix (F and G) for the French and German languages (as opposed to House-specific prefixes that are set in the House profiles), which is handled elsewhere.

I suppose that the OpenDUNE/Dune Dynasty code can be easily edited so that a table similar to the Frnech/German one is loaded if Dune2k AUD files are in use.

Link to post
Share on other sites

For legal reasons I didn't really look at the stuff in the code blocks, but just reading your explanation that makes a lot of sense. I never knew that the foreign language versions only had 1 EVA voice. Any clue why a VOC file larger than 20kb crashes Dune 2? Is it just that there's a 20kb buffer for each sound, rather than it being malloc()ed?

Link to post
Share on other sites

-Credits music doesn't loop during the credits. Note that it's possible that it just normally loops with the actual credits loop; in that case it's just because I'm using the SEGA megadrive music, and it's not long enough for the credits. It did restart when the credits looped.

Working as intended.

-Personally; I'd say keep it as it is. I do use escape for that, now I think about it. Well, you might just branch out to different control schemes, I dunno. But I like having the good old Dune II style. And anyway, IMO the use of F2 is just one of those things you need to be told once and just have to remember. All games have somewhat different controls, and if you remember Mentat is F1 and the button next to it is F2 it's really not hard to remember.

In that case, I'll leave it alone to please seasoned Dune 2 players. As a side note to illustrate seemingly minor interface changes: Dune Legacy did a really annoying thing of inverting the proceed/repeat and yes/no buttons.

Easier for me anyway. :)

My problem was with scrolling the sidebar.

Eh, I didn't get that impression at all from any of your comments. It mostly sounded like you wanted Dune 2000, e.g. Dune 2000 sounds, graphics, controls, interface, entires appearing at the tail instead of in a predefined order, etc.

CnC3 has tabs for each type of production, and sub-tabs for each production facility. (It only allows for one of each superweapon, but you could just put it in the sidebar and have it act like everything else.)

My mistake. I tend to think TD and Dune 2000 at the mention of any CnC interface. Also, see the comment above, which doesn't help matters.

Space is still an issue though. The current system works down to 320x200 or, more commonly, 640x400 with 2x scaling. If I'm understanding it correctly, you're proposing to have the production tabs always below the final unit command button, which wouldn't scale down to these screen sizes (and possibly look very strange if there's no unit selected).

Overall, I'm happy with the current interface, which is similar to starcraft and ta, and would much rather look at improving other things. I agree that current item in production and the completed structure can be a little hard to distinguish from the others, and this will be addressed.

BTW, while we're at it, there's a completely free graphics set for a RTS game that was never completed:

http://lunar.lostgar..._HardVacuum.htm

What's more, the graphics are by Daniel Cook who did the graphics for Tyrian.

I thought you might bring this up. And I thought those graphics looked distinctly Tyrian. :)

Personally, I don't feel the graphics fit. Still, it might be an interesting exercise for someone.

There's no replacing the music though.

Link to post
Share on other sites

Edit: Delete stuff none of us want to see.

What did I do? I pointed out that I had misinterpreted your posts in regard to the multiple factory thing, and that the sidebar suggested still has some unresolved space issues. As presented, I don't think it will work.

...

I never said that. I have limited time, and since the control scheme is fairly common and doesn't particularly bother me, it naturally won't be a high priority. I'm not going to promise anything.

Link to post
Share on other sites

Just noticed these 2 in the older posts...

Literally every other game I play that isn't exited by hitting Esc is paused by hitting Escape.

Huh. You never played any Blizzard RTS, then. From Warcraft 1 all the way up to Starcraft II, only [F10] opens the menu, with [ESC] having the same command-cancelling function as Dune II. They don't have 'c' as additional shortcut for that cancelling either, since they use keyboard shortcuts for a load of non-standard commands and special abilities, like spells and the construction units' build menus, and those occasionally start with a 'c'.

My problem was with scrolling the sidebar.

No, look back at what I actually quoted. That was in reply to you requesting "can't scroll further" mouse cursors for the map:

(After that is using the TD cursor to show that you can/can't move/attack/scroll the screen.)

----

Edit: Just looking at Artil.bmp, the thing itself looks like it's supposed to be 20x20, but goes over it. Supporting 24x24 or 32x32 for units might be necessary to support the Hard Vacuum graphics.

Oh, C&C does that too. Lots of units are larger than the cell size (think Mammoth Tank ;)). They're just centered on it.

Back to the Dune2k Mentat speech implementation possibility, it is in fact rather easy to pull off even in Dune II, and the only real limitation there is the size of the VOC files (anything larger than 20 KB crashes the game). The English lagnguage sound table looks like this (from Segra's database):

Interesting... they look like they're all the same length. I might be able to put these in my editor :D

The only thing I'm good at is programming, and according to Nyerguds, I'm shit at that. FML.

Honestly? I'm just a perfectionist... don't take it personally. Heck, I know where you're coming from; before I discovered the Math library in Pascal I went about doing silly stuff like writing my own Max() and Min() functions. I can be a bit blunt about it from time to time, but I just want to educate the masses :|

I have limited time, and since the control scheme is fairly common and doesn't particularly bother me, it naturally won't be a high priority. I'm not going to promise anything.

I specifically warned him about that. You can't go flooding hobby developers with tons of feature requests. It's why I stick to bugs and relatively minor things -_-

Link to post
Share on other sites

Interesting... they look like they're all the same length. I might be able to put these in my editor :D

I enumerated a bunch of the samples in my code as opendune didn't do it. I hope you'll find these useful.

Just a warning though, the names are a bit confusing: I decided to call the loose files "samples" whereas opendune calls them "voices" (for .voc files I guess). What I called "voices" is mentat voices, which opendune calls "feedback".

The mentat speech tables MrFlibble is referring to are g_feedback[] and g_translatedVoice[]. I also added the structure captured sounds, so just ignore those. It's relatively straightforward to match up the voice fragments, just look at the intro bit I added for the introduction.

http://sourceforge.n...c/table/sound.c

http://sourceforge.n...c/table/sound.h

  • Upvote 1
Link to post
Share on other sites
I also added the structure captured sounds, so just ignore those.

I noticed that ingame! Really nice. The original game didn't play those, did it? :)

btw, another somewhat bug fix request: can you make right clicking on walls attack them? And could you make the units stop attacking the ground when a wall cell that was targeted is destroyed?

The mentat speech tables MrFlibble is referring to are g_feedback[] and g_translatedVoice[]. I also added the structure captured sounds, so just ignore those. It's relatively straightforward to match up the voice fragments, just look at the intro bit I added for the introduction.

http://sourceforge.n...c/table/sound.c

http://sourceforge.n...c/table/sound.h

Huh? Like the OpenDune code, this doesn't have any entries identified either, though :(

[edit]

WOAH. In the .h file. I see now. Awesome, thanks :D

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...