Knobhead.
If I go to all the trouble of typing it, you'd better read it!
Printable View
Knobhead.
If I go to all the trouble of typing it, you'd better read it!
uh but it was sooo long :)
VB Code:
Type trigtemp Affects As String TriggeredBy As String EventNo As Integer EventDets As String EffectNo As Integer EffectDets As String End Type ifile = FreeFile Open scriptpath & "triggers.ini" For Input As #ifile Do While Not EOF(ifile) temp = UBound(triggers) + 1 ReDim Preserve triggers(temp) With triggers(temp) Input #ifile, .Affects, .TriggeredBy, .EventNo, .EventDets, .EffectNo, .EffectDets End With Loop Close #ifile
So Irish,
When can I hope to see a super furry bug list from you?
pfft. whenever :)
VB Code:
Private Function getTriggersList(ByVal strFilePath As String) As trigger() Dim strBuff As String, strArr() As String, strArr2() As String, i As Long, retVal() As trigger Open strFilePath For Binary As #1 strBuff = Space(LOF(1)) Get #1, , strBuff strArr = Split(strBuff, vbCrLf) ReDim retVal(i) For i = 0 To UBound(strArr) strArr2 = Split(strArr(i), ",") With retVal(i) .Affects = strArr2(0) .TriggeredBy = strArr2(1) .EventNo = strArr2(2) .EventDets = strArr2(3) .EffectNo = strArr2(4) .EffectDets = strArr2(5) End With Next Close #1 getTriggersList = retVal End Function
That would make it easier to allow the user to debug their own trigger lists.
Take a look at how I parse user levels in Craft.
Oink?!?!?
Two questions...
1) How does that make it easier to debug the triggers list?
2) As it's splitting the string by comma does that preclude the use of commas in the text elements of the list?
I'm not gonna make any apologies, or struggle for excuses, I've done bugger all recently.
I've struggled along with those buildings, got nowhere, and shot my impetus and inspiration to **** in the process.
What I'd like is to organise and arrange the vast array of component graphics I've done so far, so I can continue working on somthing productive. Primarily, I'd like a list of components necessary for the game, so I can a) establish what I've already done, b) work on new ones, and c) add new ideas based on graphics that don't fit on the list.
If Sentience is back on, things are gonna have to change (at least as regards my organisation). We can get this finished, but silly things keep getting in the way, and we have to establish contingency plans to ensure we don't stop again. I love this project, but I'll be ****ed if I'm letting it affect my health again :p
Tonight's not really gonna be practical. I finish work late, then I'm gonna go visit my mum. I'll be on MSN later though if you wanna get this baby rollin'.
Yup it assumes the information for each trigger is comma delimeted.
How else would you seperate the information ?
And the reason it makes it easier, is because if you're loading everything into the UDT at a time, then you know that there was an error in that block of data.
But, if you're loading it element by element you can tell the user that there was a problem with that specific element.
Eg :
VB Code:
'' elsewhere : Public nextExpect As String Public actuallyGot As String '' inside the loadtriggers sub On error goto myErrorHandler With retVal(i) nextExpect = "String" .Affects = strArr2(0) .TriggeredBy = strArr2(1) nextExpect = "Integer" .EventNo = CInt(strArr2(2)) nextExpect = "String" .EventDets = strArr2(3) nextExpect = "Integer" .EffectNo = CInt(strArr2(4)) nextExpect = "String" .EffectDets = strArr2(5) End With exit function myErrorHandler: MsgBox "Parser was expecting : " & nextExpect
You can throw in extra stuff too.
Take a look at this file for an idea.
Ian,Quote:
Originally posted by Behemoth
I'm not gonna make any apologies, or struggle for excuses, I've done bugger all recently.
I've struggled along with those buildings, got nowhere, and shot my impetus and inspiration to **** in the process.
What I'd like is to organise and arrange the vast array of component graphics I've done so far, so I can continue working on somthing productive. Primarily, I'd like a list of components necessary for the game, so I can a) establish what I've already done, b) work on new ones, and c) add new ideas based on graphics that don't fit on the list.
If Sentience is back on, things are gonna have to change (at least as regards my organisation). We can get this finished, but silly things keep getting in the way, and we have to establish contingency plans to ensure we don't stop again. I love this project, but I'll be ****ed if I'm letting it affect my health again :p
Tonight's not really gonna be practical. I finish work late, then I'm gonna go visit my mum. I'll be on MSN later though if you wanna get this baby rollin'.
You spend an inordinate amount of time 'organising'. I've been through everything with you countless times, making spreadsheets and all sorts and none of it has helped. We've had a list of components and I provided you with a printed copy months ago.
Sentience is back on, as far as I'm concerned I was simply having a sabbatical. I intend to get this finished and I will finish it, as I said in the G&GP thread over a month ago, alone if needs be. I've invested far too many manhours into it to simply write it off.
I've had a months break and there's no excuse for me not to pick up the banner of Sentience and throw myself into it again.
Catch you on MSN later.
[QUOTE]Originally posted by plenderj
[B]Yup it assumes the information for each trigger is comma delimeted.
How else would you seperate the information ?
And the reason it makes it easier, is because if you're loading everything into the UDT at a time, then you know that there was an error in that block of data.
But, if you're loading it element by element you can tell the user that there was a problem with that specific element.
[Highlight=VB]
I meant how would it break this down...
20, "fish", 40, "fish, fish, fish",5
Would the comma's in the second string cock it right up?
And I'm not overly bothered about telling the user where there are errors in the script for the following:
1) The scripts are going to be created by a script generator
2) There's probably only going to be me writing the scripts
3) I have no umbrella
I'm going to assume you're agreeing with me here. It's important to organise my work because you don't. You'll mail me about 3 months after the event and ask me to send you something you've lost. I'm simply suggesting that we work more efficiently and plan things instead of attacking it hotheadedly and burning out.Quote:
Originally posted by Arbiter
Ian,
You spend an inordinate amount of time 'organising'. I've been through everything with you countless times, making spreadsheets and all sorts and none of it has helped. We've had a list of components and I provided you with a printed copy months ago.
Sentience is back on, as far as I'm concerned I was simply having a sabbatical. I intend to get this finished and I will finish it, as I said in the G&GP thread over a month ago, alone if needs be. I've invested far too many manhours into it to simply write it off.
I've had a months break and there's no excuse for me not to pick up the banner of Sentience and throw myself into it again.
Catch you on MSN later.
But hey, its your party...:)
[QUOTE]Originally posted by Arbiter
[B]If you dont want to tell the user much then it doesnt really matter.Quote:
Originally posted by plenderj
Yup it assumes the information for each trigger is comma delimeted.
How else would you seperate the information ?
And the reason it makes it easier, is because if you're loading everything into the UDT at a time, then you know that there was an error in that block of data.
But, if you're loading it element by element you can tell the user that there was a problem with that specific element.
[Highlight=VB]
I meant how would it break this down...
20, "fish", 40, "fish, fish, fish",5
Would the comma's in the second string cock it right up?
And I'm not overly bothered about telling the user where there are errors in the script for the following:
1) The scripts are going to be created by a script generator
2) There's probably only going to be me writing the scripts
3) I have no umbrella
Because otherwise you'd have to write your own line splitter which'd be a bit of a pain.
I'm only half agreeing with you. I think you spend too much time organising, and not enough time doing.
You organise everything, work on it for a week, fail to stick to your organised plan and then have to reorganise the next week.
I organise my stuff well and keep on top of it. I never lose my code, my dev files or my scripted files. The graphics I'm careless with as you should have originals and provide me with replacements should I need them.
At the moment, whilst planning things in great detail is a nice idea, I think we'd be better off hurling ourselves at the task and doing everything that we can see needs to be done. Once we begin to lose impetus then we can sit back, take stock and plan the next step.
I have no problems with how you work and wouldn't try to dictate methods to you, as long as I actually see something from you. Telling me that you're organising is all well and good, but I can't plug organisation into the scripts, nor see it in the game.
And, whilst it is my party, other people are providing some of the beer. ;)
nobody told me there was beer!!!! :mad: :mad: :mad:
Cool. Thanks for the code snippet anyway, it might not be relevant for Sentience but it should be useful in work. :)Quote:
Originally posted by plenderj
If you dont want to tell the user much then it doesnt really matter.
Because otherwise you'd have to write your own line splitter which'd be a bit of a pain.
PS - where did all your tutorials go?
Plend, I used to start work normally around 0800 in the morning. I worked till about 1600 get home for 1630, turn on my PC and started work on Sentience. I finished at about 0000-0100 then go to bed. There is no way I'd do that, without beer!Quote:
Originally posted by plenderj
nobody told me there was beer!!!! :mad: :mad: :mad:
Hairy guy,
If it will help you, when I get home I'll dig out that page of my scrawlings of buildings, scan it in and mail it to you.
Should provide you with some fresh ideas.
We really do need buildings and components at the moment.
VBF went down.Quote:
Originally posted by Arbiter
PS - where did all your tutorials go?
User accounts weren't the only things to go missing :(
and, I don't have a backup.
components I'm cool with, but buildings have made me grind to a halt on fou or five different occaisions. I'll have to look into another way of doing this...Quote:
Originally posted by Arbiter
Hairy guy,
If it will help you, when I get home I'll dig out that page of my scrawlings of buildings, scan it in and mail it to you.
Should provide you with some fresh ideas.
We really do need buildings and components at the moment.
Are the individual threads not still there? It'd be a ballache to put them back together, but it'd be a startQuote:
Originally posted by plenderj
VBF went down.
User accounts weren't the only things to go missing :(
and, I don't have a backup.
Dont even know how or where to start.Quote:
Originally posted by Behemoth
Are the individual threads not still there? It'd be a ballache to put them back together, but it'd be a start
I dont mind really if they're gone
ok, my first step would be to search through all of your own posts for stuff that you've posted yourself, or for any posts that contain links to the tutorials...
http://www.vbforums.com/search.php?s...r&userid=14016
secondly, I'd start a new thread in the obvious places (general vb / forum feedback / chitchat etc) asking for all previous contributors to do likewise - see if they can dig any more information out for you.
as soon as you've got 'em back, store them somewhere safe ;)
try this too:
http://www.vbforums.com/search.php?s...der=descending
About the scripts (read post in other thread for why I didn't post this sooner):
How about do it like Blizzard did in Warcraft 3, have three sections:
Event - When does it trigger? (beggining of turn, moving a unit to a tile, etc)
Condition - What needs to be true for the event? (the unit moved is a X, its the beggining of X player's turn, etc)
Action - Do what? (give resources, give unit, etc)
I'm not sure if you thought of this idea yet.
thanks man. I dont really want to start looking until search is back online.Quote:
Originally posted by Behemoth
ok, my first step would be to search through all of your own posts for stuff that you've posted yourself, or for any posts that contain links to the tutorials...
http://www.vbforums.com/search.php?s...r&userid=14016
secondly, I'd start a new thread in the obvious places (general vb / forum feedback / chitchat etc) asking for all previous contributors to do likewise - see if they can dig any more information out for you.
as soon as you've got 'em back, store them somewhere safe ;)
then ill start asking around and what not :)
As hinted at in the code above ours is a little more complex, but not much.Quote:
Originally posted by Gaming_World
About the scripts (read post in other thread for why I didn't post this sooner):
How about do it like Blizzard did in Warcraft 3, have three sections:
Event - When does it trigger? (beggining of turn, moving a unit to a tile, etc)
Condition - What needs to be true for the event? (the unit moved is a X, its the beggining of X player's turn, etc)
Action - Do what? (give resources, give unit, etc)
.
It goes....
Who it affects (current player, allies, enemy, all)
Who can trigger it (current player, allies, enemy, all)
What the event is
What the effect is
I'm compiling lists of events and effects which I'll post up maybe later today.
The way it's going to work is that there will be a general trigger sweep at the start of each turn and after each triggerable event. This is going to be fun to implement, but it will really help make the game more interactive.
Behemoth,
I was thinking about the plot a little more last night and was considering another angle.
The planet is basically up for grabs for colonisation and the agreed way to determine who gets it is to simply place colony pods across the planet (one per person contesting ownership) and see who comes out on top.
The colony controllers are semi-sentient AI programs written by the owners to mirror their goals and ideals. (Maybe a gamma level sim or something - not turing compliant anway).
In the process of colonisation, these AI programs (deluged with all the information on a new planet and the rather bizarre use they're being put to) are forced to evolve in order to cope, setting them on the path to true Sentience.
---------
It answers a couple of questions:
1) Why the ship is still there (it's watching the outcome and providing the comms relay)
2) Why they're becoming sentient (without something as cheap as 'the event')
3) Why they're all different, rather than 7 identical colony pods
It will also give us more of a focus when writing plot events (the first diplomatic agreement - their programming says "there can be only one" but why shouldn't they make peace - a sign of them becoming more than they were)
First eradicated faction - will have a different message for each (some will be happy, some sad, some indifferent).
Comments/questions?
Ben, I dont know if this is how you do things or not, but what would make things easier (programatically), is if you had a unique global identifier for each object in the game.
That way then, you could just say like :
5939,3492,x,x,x,x
So that would mean that object 5939 does something to object 3492 or something along those lines.
One possible problem is that objects may not be in existance at the beginning of the level etc.
So what you could do is add in a little bit of scripting, in order to allow you to get the GUID of an object.
eg.
getGUID(AnyMech, Player2), getGUID(HQ, Player1)
ya know ?
Behind the sink. If you lose something, it's always behind the sink....Quote:
Originally posted by plenderj
thanks man. I dont really want to start looking until search is back online.
then ill start asking around and what not :)
With regards to the triggers, I'm also going to add a flag to determine if they're a one shot trigger or recurring. Most will be one shot I think. I can see us having quite a few to get some really nice effects (such as when a faction is eradicated there'll be different text for each faction about each faction).
As the game progresses the list of triggers will be slowly whittled down which is exactly what we need. In the later stages of the game it's going to start running quite slowly so we need to optimise where possible.
I'm also considering having group flags for trigger types. e.g. when all the 'on unit death' triggers are gone then stop searching for them. Will help further optimise the running.
Damn I'm good. :D
lol now code it ;)Quote:
Originally posted by Arbiter
With regards to the triggers, I'm also going to add a flag to determine if they're a one shot trigger or recurring. Most will be one shot I think. I can see us having quite a few to get some really nice effects (such as when a faction is eradicated there'll be different text for each faction about each faction).
As the game progresses the list of triggers will be slowly whittled down which is exactly what we need. In the later stages of the game it's going to start running quite slowly so we need to optimise where possible.
I'm also considering having group flags for trigger types. e.g. when all the 'on unit death' triggers are gone then stop searching for them. Will help further optimise the running.
Damn I'm good. :D
I am. :DQuote:
Originally posted by plenderj
lol now code it ;)
I'm coding some of the loose satellite functions now (at work ;) ) and I'll start to integrate it all when I get home. That'll be the fun part... ;)
any thoughts on my GUID idea ?
Behemoth,
You said you wanted a list of wotsits, well here ya go... :)
I found this stuff lurking on a spreadsheet. In fact it's the last page on the components.xls.
Land:
Biomatter Resequencer
Anti-Lithium Reactor
Big Warehouse
Adv. Factory
Nanofactory
Adv. Construction Yard
Spawning Pool
Flesh Vat
Brain
Living Refinery
Organic Battery (plant thing?)
Anti-Matter Battery
Special Project Building
Adv. Projects Building
Star Port
Wind Turbine
Geothermal Plant
Solar Collector
Genetics Lab
Hazardous Materials Lab
Laser Turret
Assault Rifle Turret
Auto Cannon Turret
Self Destruct Turret
Gauss Turret
Maser Turret
Mass Driver Turret
Phase Disruptor Turret
Plasma Rifle Turret
Rocket Launcher Turret
Fission Reactor
Fusion Reactor
Sea:
Wave Trap
Sea Research Centre
Geothermal Plant
Sea based factory
Wassat then?Quote:
Originally posted by plenderj
any thoughts on my GUID idea ?
'bout 7 posts upQuote:
Originally posted by Arbiter
Wassat then?
Mint! I never saw this!Quote:
Originally posted by plenderj
Ben, I dont know if this is how you do things or not, but what would make things easier (programatically), is if you had a unique global identifier for each object in the game.
That way then, you could just say like :
5939,3492,x,x,x,x
So that would mean that object 5939 does something to object 3492 or something along those lines.
One possible problem is that objects may not be in existance at the beginning of the level etc.
So what you could do is add in a little bit of scripting, in order to allow you to get the GUID of an object.
eg.
getGUID(AnyMech, Player2), getGUID(HQ, Player1)
ya know ?
Let's see....
Everything does have an identifier, but it's not as global as that.
quick Q
As we know the mechs ID and the player ID then surely the global ID is redundant?
instead of
getGUID(AnyMech, Player2) to get the ID
we can use
player(player2).unit(anymech) and we actually have the object itself and not just its ID..?
Yeah that'd work - assuming you'll only ever want to reference mechs.
So :
2.3, 4.1, x, x, x, x
Player 2's 3rd Mech, does something to player 4's first mech
or something like that.
Though you might also want the ability to specify, the closest mech to something, or the strongest mech.
Things like that...
Yeah, that's what I'm interested about. I'll have to specify that in the effect code for whatever effect it is.
I was just thinking then at a tangent and I'm not sure if the movement code mirrors the targetting code for distance gathering over diagonals. I'll have to look into that....
[edit] Scratch that - I just remembered I modified them both to use the same code a while back.
ok...Its a little clumsy (why would some future society waste 6 perfectly good colony pods), but does iron out some of the uglier aspects of the story ("the event" :rolleyes: ). I suppose I like it...:)Quote:
Originally posted by Arbiter
Behemoth,
I was thinking about the plot a little more last night and was considering another angle.
The planet is basically up for grabs for colonisation and the agreed way to determine who gets it is to simply place colony pods across the planet (one per person contesting ownership) and see who comes out on top.
The colony controllers are semi-sentient AI programs written by the owners to mirror their goals and ideals. (Maybe a gamma level sim or something - not turing compliant anway).
In the process of colonisation, these AI programs (deluged with all the information on a new planet and the rather bizarre use they're being put to) are forced to evolve in order to cope, setting them on the path to true Sentience.
---------
It answers a couple of questions:
1) Why the ship is still there (it's watching the outcome and providing the comms relay)
2) Why they're becoming sentient (without something as cheap as 'the event')
3) Why they're all different, rather than 7 identical colony pods
It will also give us more of a focus when writing plot events (the first diplomatic agreement - their programming says "there can be only one" but why shouldn't they make peace - a sign of them becoming more than they were)
First eradicated faction - will have a different message for each (some will be happy, some sad, some indifferent).
Comments/questions?
yeah i was getting a bit worried about that myself too ... er ... ;)
That's beautiful, however...Quote:
Originally posted by Arbiter
Behemoth,
You said you wanted a list of wotsits, well here ya go... :)
I found this stuff lurking on a spreadsheet. In fact it's the last page on the components.xls.
Land:
Biomatter Resequencer
Anti-Lithium Reactor
Big Warehouse
Adv. Factory
Nanofactory
Adv. Construction Yard
Spawning Pool
Flesh Vat
Brain
Living Refinery
Organic Battery (plant thing?)
Anti-Matter Battery
Special Project Building
Adv. Projects Building
Star Port
Wind Turbine
Geothermal Plant
Solar Collector
Genetics Lab
Hazardous Materials Lab
Laser Turret
Assault Rifle Turret
Auto Cannon Turret
Self Destruct Turret
Gauss Turret
Maser Turret
Mass Driver Turret
Phase Disruptor Turret
Plasma Rifle Turret
Rocket Launcher Turret
Fission Reactor
Fusion Reactor
Sea:
Wave Trap
Sea Research Centre
Geothermal Plant
Sea based factory
I also need components, and the current land : sea buildings ratio seems a little...unbalanced...:p
Depends what you mean by 'waste'. The planets ownership is contested and this is a cool way of determining an owner. As the colony pod consists of 5 houses, some raw materiels and a home grown AI it's unlikely to be expensive, especially considering what's on offer for the winner.Quote:
Originally posted by Behemoth
ok...Its a little clumsy (why would some future society waste 6 perfectly good colony pods), but does iron out some of the uglier aspects of the story ("the event" :rolleyes: ). I suppose I like it...:)
Chances are a ship like the Imago Dei could float along, slurping interstellar hydrogen on the journey and manufacture its own stuff from the raw fabric of space on the way.
Of course it is, but you wanted something to do not a comprehensive list of everything in the game. As we don't actually have sea unit making capabilities in the game properly it seems a bit daft for you to be building sea buildings.Quote:
Originally posted by Behemoth
That's beautiful, however...
I also need components, and the current land : sea buildings ratio seems a little...unbalanced...:p
Check the Ian sheet in the components.xls for more components. If you want the latest version I'll upload it here.
mmmm fantastical physics ;)Quote:
Originally posted by Arbiter
Chances are a ship like the Imago Dei could float along, slurping interstellar hydrogen on the journey and manufacture its own stuff from the raw fabric of space on the way.
ok...
I don't know whether I have the latest or not...stick it up :)
Attached
Poetic license.Quote:
Originally posted by plenderj
mmmm fantastical physics ;)
Downloaded twice? Take it you're having a nosey then Plend?
If you have any comments on the bollocks in there then feel free to let us know.
:)Quote:
Originally posted by Arbiter
Downloaded twice? Take it you're having a nosey then Plend?
If you have any comments on the bollocks in there then feel free to let us know.
Behemoth,
I've quickly drafted a forest growth wotsit which bases growth per square on the number of forest squares around it.
5% per adjacant forest square. Mountain and sea are exempt from forest growth.
We'll need to ensure that forest doesn't grow rampant. Are we going to get some kind of bonus for cutting forest down? Biomass maybe? We also have forest fungus and natural disasters to keep the numbers down.
Also, have you had a look at that spreadsheet?
Are we also going to have predefined map areas (such as Mount Planet, the Manifold Nexus etc)?
They might not have any bearing on the game, but they could exist and be named. Gives the map a little character. We wouldn't need to put them all in like SMAC, just randomly stick a couple in each map.
Plend,
If I put up what I've got in triggers so far, would you like to have a look and see if you have any comments/additions?
yeah fire away
As attached.
Thanks. :)
I like the forestry > biomass idea. We're gonna have to play test to make sure the balance is right, but in general I like it.Quote:
Originally posted by Arbiter
Behemoth,
I've quickly drafted a forest growth wotsit which bases growth per square on the number of forest squares around it.
5% per adjacant forest square. Mountain and sea are exempt from forest growth.
We'll need to ensure that forest doesn't grow rampant. Are we going to get some kind of bonus for cutting forest down? Biomass maybe? We also have forest fungus and natural disasters to keep the numbers down.
Also, have you had a look at that spreadsheet?
Doodads and whatnot, yeah, I don;t see why not. Obviously we're gonna have to come up with some really original ones though...Quote:
Originally posted by Arbiter
Are we also going to have predefined map areas (such as Mount Planet, the Manifold Nexus etc)?
They might not have any bearing on the game, but they could exist and be named. Gives the map a little character. We wouldn't need to put them all in like SMAC, just randomly stick a couple in each map.
Stick some ideas down then monkey!Quote:
Originally posted by Behemoth
Doodads and whatnot, yeah, I don;t see why not. Obviously we're gonna have to come up with some really original ones though...
I'm not the only source of fresh ideas you know...!
How much forestry for how much Biomass? How long to cut down a forest?Quote:
Originally posted by Behemoth
I like the forestry > biomass idea. We're gonna have to play test to make sure the balance is right, but in general I like it.
Let's have some ideas from you my friend... :)
How long is a piece of string?
is the forestry / biomass stuff at all relative to other resources mined from other terrains? if so (and I don't have the figures here and can't remember), use the figures for a simple resource like base metals from a terrain that is high in base metals... I suspect it will be vaguely randomised (like the other terrains are)...