![]() |
|
|||||||
| Multimedia And Technology A place to discuss TV, movies, games, graphics, art, computers, technology, the internet and more. |
![]() |
|
|
LinkBack | Thread Tools | Rate Thread | Display Modes |
|
|
#41 (permalink) |
|
Learner
Join Date: Jul 2001
Location: Edmonton, Alberta
Posts: 14,345
Thanks: 1,986
Thanked 4,063 Times in 2,367 Posts
|
October 20, 2011 -- log
-All round shitty day for getting stuff done. Programmed for 3 hours today, but had to spend 45 minutes fixing a stupid error. I named what I should have named my Freighter as Transport, a variable name I'd earlier associated with forms of transportation. So I spent 2 hours creating all these Freighter routines, and routines associated with it, and then had the joy of going through all stuff I had just written. And what's most annoying is that I have a database of all variable names just in case of stuff like this and I somehow forget this ONE fricken variable name. AHHG oh well, tomorrow's another day. - Grind grind grind. 2.5 hours so far. Want to put a banana in a fuel tank? You can do it.
__________________
Smile Ditch the cigs!!!!!! Last edited by Sir-Ex; 10-23-2011 at 12:36 PM. |
|
|
|
| The Following User Says Thank You to Sir-Ex For This Useful Post: | mr.nobody (10-20-2011) |
|
|
#42 (permalink) |
|
(310)
Join Date: Mar 2007
Location: 90043
Posts: 2,316
Blog Entries: 2
Thanks: 750
Thanked 191 Times in 137 Posts
|
sounds really great .all of those aspects wrapped in one game
__________________
|
|
|
|
| The Following User Says Thank You to mr.nobody For This Useful Post: | Sir-Ex (10-20-2011) |
|
|
#43 (permalink) |
|
Learner
Join Date: Jul 2001
Location: Edmonton, Alberta
Posts: 14,345
Thanks: 1,986
Thanked 4,063 Times in 2,367 Posts
|
October 28, 2011 -- log
YESSSSS!!! The system... WORKS. After one week of intense debugging and optimization, the full simulation cycle works. Completed the first full set of routines for my first role ![]() And as promised, here is a series of console messages describing the effects of the code: (nothing pre-scripted, everything algorithm based) Civilian 1 has been created! He weighs 103 kg, is tall and fit, approximately 6' 3" He has 173 Fortitude and 57 Dexterity and 70 Intelligence. It is currently 07:00 and Civilian is waking up. After waking up, he has to go pee. He walks to his toilet and goes pee. He is thirsty and goes to the sink, takes his cup, fills it and drinks some water. He is hungry. Time to eat some breakfast. He walks to the cupboards and fridge and decides to make a vegetable stirfry. He spends the next 14 minutes preparing his food and the following 12 minutes to eat it. He is thirsty and goes to the sink, takes his cup, fills it and drinks some water. He has nothing else to do right now so he walks to the TV, sits down, and starts watching. In the middle of his favourite TV show, he has to go pee. He gets up and walks to his toilet and pees. He has nothing else to do right now so he walks to the TV, sits down, and starts watching. He watches TV until just 09:03 when he decides to leave for work. He takes his work clothes and grabs his lunch box and leaves for work. His car has sufficient fuel levels. He gets in his car and drives to work passing through: 101 Street, Highway 10, 2nd Street, Airport Rd and reaches Airport Hangar 1 at 09:24 He checks in to work, changes into his work clothes, and goes to perform his daily duties. The freighter has landed and Civilian is strong and fortuitous enough to perform his duty. He begins unloading the freighter and loading cargo onto the flatbed. He only manages to unload one box of cargo before he realizes he needs to pee badly. He runs to the nearest toilet and goes pee. The freighter has landed and Civilian is strong and fortuitous enough to perform his duty. He begins unloading the freighter He finished unloading the freighter's cargo at 12:23. He passes the time by day dreaming until 13:00 when it is time for lunch. At lunch time he gets his lunchbox and sits down in the lunch area and eats his lunch. While eating his lunch, the Freighter is done refueling and takes off, exiting the atmosphere at 13:13 He finishes lunch at 13:45 and resumes his duties, unloading the next freighter. He finishes his duties early at 17:16, goes pee, grabs his lunch box, punches out, and goes home. His car has sufficient fuel levels. He gets in his car and drives to home passing through: Airport Rd, 2nd Street, Highway 10, 101 Street and gets home at 17:40 He goes to his apartment, changes into more comfortable clothing, and puts away his lunch box. He is thirsty and goes to the sink, takes his cup, fills it and drinks some water. He is still thirsty and fills another cup of water. He has to go pee. He walks to his toilet and goes pee. He is thirsty and goes to the sink, takes his cup, fills it and drinks some water. He is still thirsty and fills another cup of water. It is 18:13 and Civilian is hungry. It is time for supper. He walks ot the cupboards and fridge and decides to make a delicious multie course entree. He spends the next 40 minutes making supper and the following 25 minutes eating it. He is thirsty and goes to the sink, takes his cup, fills it and drinks some water. He has to go pee. He walks to his toilet and goes pee. It is 19:55 and Civilian is hungry. He decides to make some food. He walks ot the cupboards and fridge and decides to make a vegetable stirfry. He spends the next 14 minutes preparing his food and the following 12 minutes to eat it. He is thirsty and goes to the sink, takes his cup, fills it and drinks some water. He has nothing else to do right now so he walks to the TV, sits down, and starts watching. He watches TV consitently, other than going pee twice, until he is tired and decides to go to bed at 22:46 He climbs into bed and falls asleep 15 minutes later. Yeah.. pretty dry stuff, reading the daily routine of a blue collar worker. But hey.. it works! October 29, 2011 -- log - Finished second and nearly done a third Role. Line count of the project exceeds 36000 lines. November 1, 2011 -- log - Figured I'd add a log note since it's the first of the month. Still working diligently on the game, of course, I will suffer no distractions. Starting to wish I had some friends who understood this kind of stuff and I could talk to about this for ideas and feedback. It's not that I'm running out of ideas, far from it - but it'd be nice to get some other opinions. - Plan right now is to finish up these four Civilian Role Routines that interact with each other in the simulator, and then develop the actual reality generator, thus putting making the simulations an actual game you can see - this will include important things like developing specific rules for level design and I'll get to make some preliminary art assets for functionality.
__________________
Smile Ditch the cigs!!!!!! Last edited by Sir-Ex; 11-01-2011 at 12:07 PM. |
|
|
|
|
|
#45 (permalink) |
|
Primordial Mantelope
Join Date: Mar 2003
Location: Interstate 8
Posts: 18,356
Blog Entries: 1
Thanks: 6,373
Thanked 7,137 Times in 3,570 Posts
|
so with the log for the single user, was the lack of interaction due to him being the only npc, or is that how it is going to be for all npc's?
__________________
Primordial man, the antelope hunter
Made his weapons out of sticks Thinking drinking from the sun Her moonbeams birth mercurial babies Antelopes run free and the sea it returns me Now that my body's grown the lonely heart poetry Droning in hearts becomes songs that all objects Sing to each other like friends telling stories The immorals gently awaken All possibilities open Unto one another And brothers and sisters begin To see truly through strata |
|
|
|
|
|
#46 (permalink) |
|
Learner
Join Date: Jul 2001
Location: Edmonton, Alberta
Posts: 14,345
Thanks: 1,986
Thanked 4,063 Times in 2,367 Posts
|
The console feed was from a simulation involving 4 NPCs:
1 - airport shipper/receiver 1 - transport driver 1 - distribution centre shipper/receiver 1 - freighter pilot with the feed of only the airport shipper/receiver being displayed. Currently, none of these roles requires them to interact directly with each other. However, at the current state, they are depending upon each other carrying out their duties. ie: the airport shipper/receiver needed the freighter pilot to land his freighter and the transport driver to drive the transport to his location, and the distribution centre shipper/reciever requires the completion of all former tasks. And then this guy would need to complete his task for cyclical pattern to continue properly. Right now, the routines for NPC interaction haven't been written.
__________________
Smile Ditch the cigs!!!!!! |
|
|
|
| The Following User Says Thank You to Sir-Ex For This Useful Post: | Grieves (11-02-2011) |
|
|
#47 (permalink) |
|
Learner
Join Date: Jul 2001
Location: Edmonton, Alberta
Posts: 14,345
Thanks: 1,986
Thanked 4,063 Times in 2,367 Posts
|
November 5, 2011 -- log
- Beginning work on creating proper functioning HUD elements. Now that I've begun generating levels and objects based on the definitions in the simulator, it's time to have the ability to actually explore and watch things unfold. - Created a camera function that scrolls with your player as you move through a level. Also changed my aspect ratio to 16:9 - I really like the GUI controls you have available to you with the editor. Fucking AWESOME saves a lot of hassle. It's got CHECKBOXES! Omg can't wait to create customization options for all your gear ![]() ![]() November 6, 2011 -- log - Toying with a few HUD designs. Trying to decide if I want a more industrial robotic design scheme for the GUI elements, or a sleeker, i robot sort of thing. Either way I'm actually making 3d models for the HUD so i can animate it and make it look all spiffy and professional. November 7, 2011 -- log - Scrapped the industrial HUD idea. It was looking too clunky and didn't make sense for a robot in the far future to have this industrial, steel interface. I switched to a holographic type interface, much sleeker and easy on the eyes, and a lot easier to create. Look for screenshot of the game with a semi-finalized HUD by the end of this week ![]() ^^^^ sorry I haven't delivered on this yet. I ran into some more important things I need to deal with first.
__________________
Smile Ditch the cigs!!!!!! Last edited by Sir-Ex; 11-11-2011 at 10:52 AM. |
|
|
|
|
|
#48 (permalink) |
|
Learner
Join Date: Jul 2001
Location: Edmonton, Alberta
Posts: 14,345
Thanks: 1,986
Thanked 4,063 Times in 2,367 Posts
|
November 11, 2011 -- log
- Major changes now need to take place. Using the engine's scripting language seems to be no longer enough to implement the sort of things I want to work properly. I have 13 mb of pure code - over 300 000 lines - and I'm running into some issues. So basically I have to learn C++ and begin implementing my stuff into the engine itself. So yeah, you won't be hearing much about this for a little while - this is a major learning point, which I'm entirely excited and looking forward to tackling ![]() (300 000 lines of code in 2.5 months? I'M A MAD MAN!)
__________________
Smile Ditch the cigs!!!!!! |
|
|
|
| The Following User Says Thank You to Sir-Ex For This Useful Post: | Grieves (11-11-2011) |
|
|
#50 (permalink) | ||
|
Victoria Aut Mors
Join Date: Dec 1999
Posts: 8,744
Thanks: 2,679
Thanked 2,297 Times in 1,710 Posts
|
Quote:
Quote:
![]() you learned C++ in 12 hours and 6 minutes ???
__________________
![]() לזיין את הקופים
|
||
|
|
|
|
|
#51 (permalink) |
|
Learner
Join Date: Jul 2001
Location: Edmonton, Alberta
Posts: 14,345
Thanks: 1,986
Thanked 4,063 Times in 2,367 Posts
|
No I figured out a way to store just as much information as I had before using only a fraction of memory using the engine script.
Essentially I was doing something pretty wrong. I'm gonna fight changing the source code for as long as I can. I reckon learning enough C++ to get around would take me a few days at least. (changes took off over 100 000 lines of code...I was doing something.. inefficient. But then I saw how I could change it, and voila.)
__________________
Smile Ditch the cigs!!!!!! Last edited by Sir-Ex; 11-11-2011 at 11:29 PM. |
|
|
|
|
|
#52 (permalink) | |
|
Victoria Aut Mors
Join Date: Dec 1999
Posts: 8,744
Thanks: 2,679
Thanked 2,297 Times in 1,710 Posts
|
![]() I was just kidding. Quote:
__________________
![]() לזיין את הקופים
|
|
|
|
|
|
|
#53 (permalink) |
|
Learner
Join Date: Jul 2001
Location: Edmonton, Alberta
Posts: 14,345
Thanks: 1,986
Thanked 4,063 Times in 2,367 Posts
|
Oh totally. Programming seems like a thing you can constantly get better at. Logic is the limit man, that's what makes it so amazing.
__________________
Smile Ditch the cigs!!!!!! |
|
|
|
|
|
#54 (permalink) |
|
Learner
Join Date: Jul 2001
Location: Edmonton, Alberta
Posts: 14,345
Thanks: 1,986
Thanked 4,063 Times in 2,367 Posts
|
Here's an example of what I did to fix the problems I was encountering:
for (%count = 1; %count < 4001; %count++) { if (%currentId.CurrentL evel.IdQueueList[%count] $= 0) { %currentId.CurrentLe vel.IdQueueList[%count] = %currentId; %currentId.CurrentLe vel.NumQueueList[%count] = %QNum; %currentId.QueueList[%QNum] = "sleepQueue"; %currentId.TimeQueue List[%QNum] = %currentId.simTime; //Store Status States %o1 = %currentId.PhysStats QueueList[%QNum]; %o2 = %currentId.SitStatsQ ueueList[%QNum]; %currentId.PhysStats QueueList[%QNum] = setWord(%o1, 2, %currentId.simBladde r); %currentId.PhysStats QueueList[%QNum] = setWord(%o1, 3, %currentId.simHunger ); %currentId.PhysStats QueueList[%QNum] = setWord(%o1, 4, %currentId.simHygein e); %currentId.PhysStats QueueList[%QNum] = setWord(%o1, 5, %currentId.simMorale ); %currentId.PhysStats QueueList[%QNum] = setWord(%o1, 6, %currentId.simSleep) ; %currentId.PhysStats QueueList[%QNum] = setWord(%o1, 7, %currentId.simThirst ); %count = 4001; } } One of the things my algorithms do is store a record of all stat changes for every NPC in the game for the day's simulation. With each NPC having over 20 different stats that change throughout the day, and currently supporting 2800 stable NPCs, with some stats changing only once or twice but many changing a few thousand times, you're looking at storing millions of values if you're going to simulate an entire day. Quite a task. One of the causes of the problem was having a separate script object that acted as a list for each stat change for each stat. So there'd be an object like $civ1BladderQueueLis t with: slot1 = 0; slot2 = 0; etc to 4000 slots. So I had 20 of these script objects for each stat, and then x3000 that for each NPC. 60000 script objects just to store changes in stats. But now I have reduced that huge number to 0 by instead of creating separate script objects to store lists, I store the lists within the NPC objects themselves. So instead of there being a separate object with fields like slot1, slot2, there are can be fields in the NPC object like BladderQueue1, BladderQueue2, etc BUT WHY have to include BladderQueue, ThirstQueue, HungerQueue etc etc for each 20 stats in each NPC? So I figured a way to get around having to use 20 fields for the stats by having two series of fields like this in each NPC : PhysStatsQueueList1 = "0 0 0 0 0 0 0 0 0 0"; PhysStatsQueueList2 = "0 0 0 0 0 0 0 0 0 0" SitStatsQueueList1 = "0 0 0 0 0 0 0 0 0 0"; SitStatsQueueList2 = "0 0 0 0 0 0 0 0 0 0"; etc. (of course I don't write them one by one, I use a for loop to generate them) Doing it like this, you can use a function to select which number, separated by spaces, you want to reference. Each 0 you see here being a place holder for a unique stat. So for example, to check the current Hunger status you can use one of the functions show in the first example: %currentId.PhysStats QueueList[%QNum] = setWord(%o1, 3, %currentId.simHunger ); say the your current NPC's PhysStatsQueueList[%QNum] = "1 1 0.5 12 43 10 0 0 1 11" and the current simHunger is 10, it'll replace the number 12 with 10. Uh yeah.. one of the changes i made last night to make it work.
__________________
Smile Ditch the cigs!!!!!! Last edited by Sir-Ex; 11-12-2011 at 11:45 AM. |
|
|
|
|
|
#55 (permalink) |
|
Learner
Join Date: Jul 2001
Location: Edmonton, Alberta
Posts: 14,345
Thanks: 1,986
Thanked 4,063 Times in 2,367 Posts
|
In the coming days I'll be making are sorts of optimizations like this, and most likely reducing the length of time the simulator records, so instead of having one big long load in the beginning of day in the game, you'll have like 4 shorter loads spaced at throughout the day to save on performance and reduce the amount of memory necessary.
__________________
Smile Ditch the cigs!!!!!! |
|
|
|
|
|
#58 (permalink) | |
|
I am different
Join Date: Jun 2006
Location: Rosamond, CA
Posts: 4,450
Thanks: 1,595
Thanked 854 Times in 524 Posts
|
i know the feeling, i just turned off skyrim after a full day of play.
__________________
R.I.P. Gov Quote:
|
|
|
|
|
|
|
#59 (permalink) |
|
Learner
Join Date: Jul 2001
Location: Edmonton, Alberta
Posts: 14,345
Thanks: 1,986
Thanked 4,063 Times in 2,367 Posts
|
December 19, 2011 -- log
Well, this is still alive and making progress. I'm still working on it nearly every day.. wish I could share something by now but for the past few weeks I've been trying to get these path finding algorithms done. THIS SHIT IS HARD! I don't know how other people do path finding algorithms! I've devised something that works, on paper, in detail, that will have an NPC or player be able to navigate any possible configuration, if a solution is possible. Essentially if you designed a complex maze, no matter how complex on a 2d surface, this set of algorithms will find a way out. Hopefully by the new year I will have it done and will show a video demonstrating this awesome
__________________
Smile Ditch the cigs!!!!!! |
|
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|