PDA

View Full Version : Milestone 4



RonHiler
01-07-2008, 07:48 AM
Hey all,

Well, we're moving on to the next milestone, the fourth in the list. This one is going to be all about race creation, so it's going to be a bit more interesting than the last one.

I essentially took the last couple of weeks off from everything, although being the work-alholic that I am, I didn't totally power down :) But I didn't do a whole lot either. Essentially I worked on the DD a bit. It needs more attention before I can start coding, so I'm going to be working on that for a few days, and I'll try to have a new version of that put up in the near future.

In conjuction with that, I'm going to work on the DDO character planner. I need to get those guys a new version, since the level cap in DDO is going up. So we'll get those two things out of the way before serious coding begins on M4.

Speaking of which, M4 is where some hard decisions on game play need to be finalized, since the race design is affected by all sorts of game play aspects. Now, certainly we know the broad overall picture of how MD will play, but some of the fine details might still need a bit of tweaking. I'll be working on those as I'm putting things into the design doc.

So stay tuned, there will be news very soon on this front.

RonHiler
02-05-2008, 07:26 PM
Just to let y'all know, I'm done with steps 1 to 3a (somehow I managed to have two step 3s in there, so we'll call em 3a and 3b). I'm very nearly done with 3b and 6, which are save and load dialogs. Once I have those done (I'm guessing tomorrow unless something goes wrong), 4, 5, and 7 are just buttons, so they'll be real quick.

Then we'll start getting into the real meat of race creation, starting with step 8.

So we're moving right along with this one.

RonHiler
02-09-2008, 10:22 AM
Okay, I'm an idiot. What can I say, I had a brain freeze, heh. When I said putting in the buttons would be real quick, that was true. But those buttons have to *do* something, don't they? Silly programmers, heh. In this case, they have to load and save the race file, which is far from trivial, for all kinds of reasons.

Fortunately, I've done this kind of thing a million times, and I have some previous code I can work with. I've been in testing phase since yesterday, and it's looking good so far. It may take me another couple of days to really lock it down and make sure everything is working right, *then* we can move on to actual race design.

RonHiler
02-26-2008, 06:00 PM
It took quite a lot longer than I'd hoped it would, and it didn't help that I came down with the stupid flu, which downed me for several days (I didn't get out of bed for three days straight, and I couldn't *really* sit at the computer for very long for another couple of days after that, all of which is bad for progress, hehe), but after all that, I've finished all the load/save stuff. There were a lot of little details in putting it together, way more than I realized at first. And the directory crawler that I had previously coded for enzyme wasn't as polished as I had thought, there were still a number of things that needed to be done to it to really make it a useful tool.

So anyway, those are the reasons why it took a couple weeks rather than a couple of days. But the good news is we have the ability to load and save race files now. So now we just need data to put into those files, which is what the rest of the milestone is all about.

Strike
02-29-2008, 03:28 PM
Seems like *everybody* is coming down with sickness this past week or so!
Not necessarily the flu, but I've been down with the same kind of sinus ailment I had back at the beginning of January... Today I'm loads better, so by next week I should be back to full operational capacity.

RonHiler
03-21-2008, 04:37 PM
Hey guys,

So I thought you guys might be interested in where things were at with the habitibility stuff. This is step 11 of milestone 4, and I'm thinking it will turn out to be the most difficult part (in terms of coding) of this milestone (ot that the file stuff was trivial either, hehe). Fortunately, although I still have a fair bit of interface work to do, the hard part is essentially done.

So, here is a screenshot of the habitibility screen in progress. Keep in mind, I'm not done with it just yet.

http://www.rjcyberware.com/md/screens/MDestinyM04-1.png

What you are looking at (mostly) is the Lifezone graphic over which I placed a few lines. In fact, I have four of the six lines done that I need to put in (two temps [one min and one max], and two rain). The two that I'm still missing are available water. As you can see, I have in three control buttons. Two are for temperature and the other one is for the min rain (haven't gotten in a control for max rain yet). And yes, they work, you can change your temps and the lines on the graphic move appropriately.

You can ignore the fact that the lines go way over the edge of the graphic. The lines themselves are temporary, and I'm just using them to make sure I have the proper slopes in, and that my y-intercepts are set where I want them for each value. Once I have everything set where it ought to go, I won't be drawing the lines anymore. I will be calculating them and then determining where they intercept, and from those intercept points I'll be drawing a semi-transparent polygon over the top of the graphic (it'll just be a green overlay). So that way you will be able to see graphically what sort of terrains your race does well in. Around the edges of the green overlay I'll probably add a yellow and red ring for where you do less well.

The screen is not nearly done yet. I will be adding more labels to it and graphics for the ranges so everything will be much clearer than it is right now. But at least it should give y'all an idea of how it will work.

So each race type will get default starting values. You can then spend some of your race points to expand the range (or shift it) in any of the three control variables. It sounds more complicated than it is, and hopefully when you have the graphic in front of you and can play with the buttons directly, it will be pretty self explanatory.

I'm thinking that certain races types will have different costs in some cases. For example, an amphibian race is pretty sensitive to available water, so lowering an amphibian race available water level would cost twice as much as other race (but by the same token, raising it would cost half as much). Mammals are sensitive to rainfall levels, so again lowering their base range might cost them more than other race types. Insecta races would be base for all lowering and raising, I would think.

I haven't yet figured out what the costs are going to be for changing your base values. I'd sort of like them to be consistant for each of the three variables, but it may not be all that easy. Temperature has 39 distinct values (from 0 to 38 degrees celcius, in steps of 1), while rainfall has 128 distinct values (from 0 to 16,000 mm steps of 125). And I haven't even started the third one yet. If I want there to be the same number of point costs for the entire range of temp versus the entire range of rainfall, it means each point of temp would be more expensive that each point of rainfall. Which may be okay. I'm not really sure yet how that's going to play out.

So that's where it's at right now. I think the rest of the milestone after this is just simple buttons to increase or decrease various bonuses, not a whole lot to them.

RonHiler
04-21-2008, 09:02 AM
Alright, I'm just about done with the habitibility screen. The overlay works, and you can set all the six possible variables and everything. I added a timer to the button class so you can hold down on the button and it will auto-push every 50 milliseconds (but it won't start until after 500 milliseconds to prevent accidental double pushing, it's the same timer used for the text entry UIs, and I think it works pretty well).

Anyway, I just need to do a little cleanup on those buttons (I want to put them on scales which are linear to contrast them to the logrithmic scale of the graphic), but other than that, it's done.

Does anyone have any suggestions on default values for each of the race types? I need to start thinking about those shortly.

That graphic was relatively difficult (with all the slopes and intersection points and possible shapes the overlay could be). It wasn't SO hard, but it was a bit tedious. I've noticed over the years an odd thing. After I finish a difficult portion of a program, I have a hard time getting going again with the subsequent stuff. Which is kind of weird, you'd think once I got over a hard part and moved into easier territory, I'd zoom right along. But it seems like the harder a thing I finish, the harder it is to continue after I finish it. That's also what happened with Enzyme when I finished the triangulator.

Anyway, I'm kind of fighting that now, and I took a couple of days off, but I started back into it this morning, so maybe I'm beyond it.

There are two more screens to add for race design, which are race characteristics (which is where you will get to select various racial bonuses like resources used or research bonuses and so on) and the primary leader bonuses. That latter one may just be blank for a while because it will depend on what leader bonuses are available in the game (which we haven't really figured out yet, and doesn't come along for a while in the milestone list).

The characteristics screen should be pretty easy. It will just be a series of scales that you can adjust to give your race bonuses in various areas (for instance, resource use could be adjusted from 0 to 10% less use, perhaps in increments of 1%, with each increment costing you some number of race points). Nothing difficult there. And I believe I know what all of them are going to be. So we should be able to run through this screen relatively quickly.

Pix
04-21-2008, 09:26 AM
Does anyone have any suggestions on default values for each of the race types? I need to start thinking about those shortly.


Reptiles: hot & dry. Humanoids: middling wet, light forest/scrub.

RonHiler
05-09-2008, 08:12 AM
Okay, release news. M4 is on track for a release this weekend (the 11th most likely). I have, basically, only two more things to do, which are to put in the code for subtracting race points when you take a bonus, and racial default values.

Now, a couple of questions for you guys. I know the audience at this point is somewhat limited (hopefully it gets better as we move along), but for those of you who are here, if you have opinions, I'd be interested.

1) Currently, the data in the race creation screen is destroyed once you leave the screen. If you return to the menu screen and then go back to the race screen, it is cleared out (of course, you can save/load race files). Does this bug you guys? Would you rather the race data be persistant?

2) Default values. I'll open this up for discussion again. If anyone has any (additional) thoughts, I'd like to hear them. I don't necessarily want to unilaterally decide these, hehe.

Here are the racial types:

Arachnidia
Amphibia
Aves (birds)
Insecta
Mammillia
Reptillia

Here are what need default values:

Habitibility
Temp (min and max)
Rain (min and max)
Evaporation (min and max) [basically the availability of water]

Racial Bonuses
Resource Collection bonuses*
Resource Use Bonuses*
Combat bonuses**
City bonuses***
Espionage Training bonuses****
Espionage Success bonuses****
Leader Bonuses (the only catagory here at the moment is Training Time)

(There will also be an entire screen for Leader Abilities where you can select starting abilities for your primary leader [which you get at game start for free]. But that screen is blank for now because I don't yet have a good feel for what those abilities are going to be).

*These are individual values for each of the resources, which currently are:
Food
Stone
Wood
Iron Ore
Gold Ore
Oil
Uranium

**Broken down into:
Morale
Defense
Health
Accuracy

***Broken down into:
Research Points
Construction Times
Influence Range

Individual values for each of the mission types, which are:
Info Collection
Civil unrest
Sabatoge
Technology Theft
Assassination
Counter Espionage

Pix
05-09-2008, 02:14 PM
Race data should persist as long as I'm in the game, or at least before it's started.

RonHiler
05-11-2008, 06:48 AM
Okay, I sort of agree, although I could make a case either way :)

I'll try to get it in, but no promises. I do want to release today, and I may not have time, so it may have to wait until the next version. We'll see how it goes.

RonHiler
05-11-2008, 05:54 PM
Sorry guys, it's just not going to happen today. I'm simply out of time. I have only one more thing to do on one more screen, which is to show the point cost (or refund) of a buy when you hover over a button. I have it all set up and working for the habitability screen, but not yet for the bonuses screen, and there are 68 buttons on that screen, heh. It's not hard, and since I already have it done on one screen, I can use it as a template for the other one, but even so, 68 buttons is 68 buttons, and that's going to take me a few hours to get working.

I'll have to read over the milestone list one more time just to make sure I didn't miss anything, but I don't think there's anything else left. Monday I'm swamped busy with work, and I have my DDO group in the evening, so let's shoot for Tuesday. I'm pretty sure I can be done by then.

I went ahead and gave all the races their default values. But they'll just be a first pass, we can always change them. I'm sure they are not going to be the final values, heh.

Shane Christopher
05-12-2008, 12:02 PM
It sounds like something I'll have to use a few times before I know which way I prefer it.

As for the race defaults I propose that everyone here currently create a race for each of the default types and we pretty much take the average of our values for the default ones.

Shane Christopher
05-14-2008, 04:59 AM
Just had a look over the download. Looking good. I see I'm really going to have to find some time to redo the old UI graphics tho ;)

I broke the map too. You need to be some bounding on how far out you can zoom ;)

RonHiler
05-14-2008, 07:41 AM
Oh, yeah, I guess I ought to put that on the known issues list. It's not really a bug, I just haven't set any limits on it. And I probably won't until we get an actual map on there.

RonHiler
05-15-2008, 05:58 PM
Milestone 4 screenshots have been posted.

Pix
05-16-2008, 11:35 AM
I think that the lines on the hab grid should zig-zag to go with the hexes, for clarity.

RonHiler
05-16-2008, 01:20 PM
You're kidding, right? :)

Not only would that be quite a bit of work to implement properly, it wouldn't be right. Your habitability ranges aren't determined by the name of the tile, they're determined by the three variables (temp, rain, evaporation). The name of the tile is almost irrelevant to the game, it's really just there for flavor.

So, for instance, if you look at the M4 screenshot with the graph, you can see the race there will generally do less well in thorn woodland, but there is a *bit* of green overlay on that hex. If your race happens to find a bit of thorn woodland that has temp/rain/evap variables that lie within that green overlay, they would do just fine. Although MOST thorn woodland area would give that race a negative population growth modifier.

Actually, this was one of the reasons I liked this system. I didn't want it to be all or nothing. There aren't *nearly* enough gradiations of terrain types on that graph to allow for a nice complex simulation.

Lodgey
05-17-2008, 02:48 AM
De-lurking to give my thoughts on Milestone 4.

First a question, what standard are you looking for with the features you have implemented? Are you looking for a finished feel, or are you just looking to get the main structure of the interface and functionality in place so you can test the functionality and the look-and-feel of the interface?

Looking at the basic look-and-feel, I think it works great.

From a more picky view, the habitability screen just didn't feel quite right.

First, the arrow buttons used to move the habitability sliders seemed slightly awkward. Would it be possible to drag the edge of the slider, or click to the right or left of one side of the slider to move it? It might be easier to work with it that way. Or, of course, maybe not but it may be worth thinking about.

Secondly, it took me a couple of minutes to get the hang of the screen. This may well be because it's the weekend, so my brain has switched off.

Would it be possible to put markers on the three scales on your graph to show the upper and lower bounds set for that range? This might make it easier to see exactly what effect the sliders are having on your habitability. I spent a couple of minutes adjusting a slider and wondering why my habitability was stuck around moist to dry forests. And, of course, if those markers were directly movable as well, you would be able to set you habitability on the actual graph which I think just feels better.

I don't know if this is all too far ahead of where you wish to be at the moment, but I thought that I couldn't loose anything by posting now.

All up, I'm very impressed. Keep up the good work.

RonHiler
05-17-2008, 05:03 AM
Wecome to the boards!


First a question, what standard are you looking for with the features you have implemented? Are you looking for a finished feel, or are you just looking to get the main structure of the interface and functionality in place so you can test the functionality and the look-and-feel of the interface?
I'd like to say it's a finished product, but I'm not going to kid myself, I have no doubt I'll be revisiting a lot of these screens as the game matures, hehe. It would be nearly impossible to get everything right on the first pass.


First, the arrow buttons used to move the habitability sliders seemed slightly awkward. Would it be possible to drag the edge of the slider, or click to the right or left of one side of the slider to move it? It might be easier to work with it that way. Or, of course, maybe not but it may be worth thinking about.
Hmmm, interesting idea. I could do that. It may not give the control I'd like it to have (each point of movement can get pretty expensive in terms of race points, so I'd like the players to be able to set them *right* where they want them). Having said that, we could have both the ability to drag the sliders and the buttons for fine control. What do you think?


Secondly, it took me a couple of minutes to get the hang of the screen. This may well be because it's the weekend, so my brain has switched off.
LOL. No, I don't think it's just you. I was a bit worried it might be a little confusing. It is totally possible to change one setting and it have absolutely no effect on the range, depending on how the other two are set, which is not exactly intuitive.


Would it be possible to put markers on the three scales on your graph to show the upper and lower bounds set for that range? This might make it easier to see exactly what effect the sliders are having on your habitability. I spent a couple of minutes adjusting a slider and wondering why my habitability was stuck around moist to dry forests. And, of course, if those markers were directly movable as well, you would be able to set you habitability on the actual graph which I think just feels better.
Excellent idea! Markers would definitely make it easier to see what is going on. I'll put them in.


All up, I'm very impressed. Keep up the good work.
Thanks, I'll do my best :) Hopefully it gets ever better as we move along.

Shane Christopher
05-26-2008, 06:36 AM
I was just about to add before being beaten to it by Lodgey that it would be easier and more intuitive to be able to adjust the exact 'perfect' position on the graph by using a marker or adjusting the lines manually. Obviously we'd need to keep the three values and their slider bars over to the side so that exact adjustments can be made using them.

As for the slider bar being able to be moved by clicking on it as well as just the arrows I think this is a good idea as any slider bar I've used has this function. It's easier then just being able to use the arrows.