Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Mr.Pibbleton
Feb 3, 2006

Aleuts rock, chummer.

Tales of Games has two new development heads, Denis Dyack and Peter Molyneux.

Adbot
ADBOT LOVES YOU

Bisse
Jun 26, 2005

Just finished a massive refactoring of our entire Gun's system. It was necessary to be able to save the guns. It ended up taking three weeks and adding no extra features beyond "...also your guns are saved now". Overall i'd sum up the experience as a nerve-wrecking snooze-fest.

Lesson learned: Next time we make a game the scale of Baldurs Gate 2 we should implement critical systems, like you know, saving all parts of the game, early rather than 2 years into development.

Mr.Pibbleton
Feb 3, 2006

Aleuts rock, chummer.

Bisse posted:

Just finished a massive refactoring of our entire Gun's system. It was necessary to be able to save the guns. It ended up taking three weeks and adding no extra features beyond "...also your guns are saved now". Overall i'd sum up the experience as a nerve-wrecking snooze-fest.

Lesson learned: Next time we make a game the scale of Baldurs Gate 2 we should implement critical systems, like you know, saving all parts of the game, early rather than 2 years into development.

Handling that within the first two years of a six year development cycle is pretty good!

Mercury_Storm
Jun 12, 2003

*chomp chomp chomp*

Bisse posted:

Just finished a massive refactoring of our entire Gun's system. It was necessary to be able to save the guns. It ended up taking three weeks and adding no extra features beyond "...also your guns are saved now". Overall i'd sum up the experience as a nerve-wrecking snooze-fest.

Lesson learned: Next time we make a game the scale of Baldurs Gate 2 we should implement critical systems, like you know, saving all parts of the game, early rather than 2 years into development.

What was wrong with the previous system that didn't allow the guns to be saved?

WarpDogs
May 1, 2009

I'm just a normal, functioning member of the human race, and there's no way anyone can prove otherwise.
can't wait to unplug my computer from the wall in the middle of saving my garbage gun's so they become corrupted

DeepQantas
Jan 13, 2008

Ah, to be a Hero... Keeping such company...
Can't wait for my wifi to go down while the game is syncing my gun's with the central tog servers.

Dr. Arbitrary
Mar 15, 2006

Bleak Gremlin
I thought we didn't raise enough money for a centralized gun'schematics system.

Mr. Lobe
Feb 23, 2007

... Dry bones...


Dr. Arbitrary posted:

I thought we didn't raise enough money for a centralized gun'schematics system.

You misunderstand, we didn't raise enough money to NOT have a centralized gun'sschematic database

quakster
Jul 21, 2007

by FactsAreUseless
I'm okay with a centralized gun's schematics deposit as long as there's horse vaginas.

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.

SirPenguin posted:

can't wait to unplug my computer from the wall in the middle of saving my garbage gun's so they become corrupted
Do corrupted gun's do more damage?

Shinjobi
Jul 10, 2008


Gravy Boat 2k

Cicero posted:

Do corrupted gun's do more damage?

they attack the bball matricks which unlocks a Neo...pet for your character to raise. Yeah, chao raising is IN, baby!

Bisse
Jun 26, 2005

Mercury_Storm posted:

What was wrong with the previous system that didn't allow the guns to be saved?
oh god. okay, let's get technical!

Okay so when saving things we wanted to avoid referencing individual variables and writing to/from specific objects or global variables. Because if we did that, adding something new to the save data to be saved and loaded would be a bunch of technical steps for each single variable saved.

What we do instead is we have a big 'save data' data structure which is a map. Quest data, for example, simply reads to/from this data structure at the path "player.quests.QUESTNAME". Then, we simply save and load this data structure. This way, all you need to do to ensure your data is saved, is to store it in the save data structure, and then the game will automagically handle the rest.

There are some limitations on the format of the data stored. It has to be either a map, a list, or a single value. This turned out to work well for everything except for gun's. Gun's, you see, were stored as objects containing more than 150 variables. So what I had to do was refactor gun's to instead be Map data structures. This also meant changing any piece of code that directly or indirectly touched on any of its 150 variables.

Bisse
Jun 26, 2005

why are my quotes yellow when people quote me

egg tats
Apr 3, 2010

Bisse posted:

oh god. okay, let's get technical!

Okay so when saving things we wanted to avoid referencing individual variables and writing to/from specific objects or global variables. Because if we did that, adding something new to the save data to be saved and loaded would be a bunch of technical steps for each single variable saved.

What we do instead is we have a big 'save data' data structure which is a map. Quest data, for example, simply reads to/from this data structure at the path "player.quests.QUESTNAME". Then, we simply save and load this data structure. This way, all you need to do to ensure your data is saved, is to store it in the save data structure, and then the game will automagically handle the rest.

There are some limitations on the format of the data stored. It has to be either a map, a list, or a single value. This turned out to work well for everything except for gun's. Gun's, you see, were stored as objects containing more than 150 variables. So what I had to do was refactor gun's to instead be Map data structures. This also meant changing any piece of code that directly or indirectly touched on any of its 150 variables.

I'm perfectly capable of understanding what you're saying here, but I'm going to choose to ignore that and misunderstand you to assume you mean a literal map, and I'll be able to enter all of my gun's in order to unlock and upgrade the Fifth Statistic "Umami" through a series of randomly generated levels.

Thanks TOG!

HMS Boromir
Jul 16, 2011

by Lowtax

Bisse posted:

What we do instead is we have a big 'save data' data structure which is a map. Quest data, for example, simply reads to/from this data structure at the path "player.quests.QUESTNAME". Then, we simply save and load this data structure. This way, all you need to do to ensure your data is saved, is to store it in the save data structure, and then the game will automagically handle the rest.

drat thats a good idea why didnt i think of that

this is why nobodys paying me to make videogames

DeepQantas
Jan 13, 2008

Ah, to be a Hero... Keeping such company...

Bisse posted:

why are my quotes yellow when people quote me
Your posts are yellow too. Maybe someone donated you SA Gold?

...

You know, the fancy way to solve your gun problem would've been to save a unique seed number for each gun and run the random number generator every time you load the game.

DeepQantas fucked around with this message at 19:47 on Feb 23, 2015

super sweet best pal
Nov 18, 2009

Bisse posted:

why are my quotes yellow when people quote me

It's a feature they added some time last year. Good for threads with lots of Q&A like this one.

Khorne
May 1, 2002

Bisse posted:

why are my quotes yellow when people quote me
because people are pissing all over them

Mr.Pibbleton posted:

Handling that within the first two years of a six year development cycle is pretty good!
Why stop at six? The more time you spend the better the game right?

Khorne fucked around with this message at 20:40 on Feb 23, 2015

Super Rad
Feb 15, 2003
Sir Loin of Beef

Khorne posted:

because people are pissing all over them
Why stop at six? The more time you spend the better the game right?

The DNF of vidcons, you might say.

Mr.Pibbleton
Feb 3, 2006

Aleuts rock, chummer.

Super Rad posted:

The DNF of vidcons, you might say.

Man I remember those pics of Axemaniac's DNF release party preparations. He even decorated his toilet for that not to mention finding a guy to cosplay as Duke whom he was training to talk like Duke only for... well, you know.

Holepunchio
May 31, 2011

Bisse posted:

oh god. okay, let's get technical!
You already painstakingly did a write-up the exact collision detection and how smooth it will be rubbing rectangles together in one of the newsletters. Can't get all hesitant about technical details now!

I'm still a little confused about why saving was problem. Why couldn't you save each guns' variables as a list of values and use those values to instantiate the guns every time you loaded a save?

DeepQantas posted:

You know, the fancy way to solve your gun problem would've been to save a unique seed number for each gun and run the random number generator every time you load the game.
I think that would work too unless each gun tracked their own ammo, durability, shininess etc. Then it would be like a fresh gun every time.

Bisse
Jun 26, 2005

Holepunchio posted:

I'm still a little confused about why saving was problem. Why couldn't you save each guns' variables as a list of values and use those values to instantiate the guns every time you loaded a save?
It would totally work! Technically. It's just that it would be a huge amount of extra work to save and load each variable (for every part of the game except the guns of course since they needed a rewrite) and also any time we added any new variable we would need to implement saving+loading for it plus test to make sure it works. The way things are now, we just make sure to store things in savedate and we can be certain that it all "just works".

Bisse fucked around with this message at 22:03 on Feb 23, 2015

Super Rad
Feb 15, 2003
Sir Loin of Beef

Mr.Pibbleton posted:

Man I remember those pics of Axemaniac's DNF release party preparations. He even decorated his toilet for that not to mention finding a guy to cosplay as Duke whom he was training to talk like Duke only for... well, you know.

Was it an... ultimate toilet? :confused:

Mr.Pibbleton
Feb 3, 2006

Aleuts rock, chummer.

Super Rad posted:

Was it an... ultimate toilet? :confused:

I googled to find out what you meant. :smith:

John Lee
Mar 2, 2013

A time traveling adventure everyone can enjoy

HMS Boromir posted:

this is why nobodys paying me to make videogames

Videogame's

Bisse
Jun 26, 2005

Maaan, I sat down now for just an hour or so but in that time fixed so many bugs. Feels good.

Big Anime Fan Here
Sep 8, 2010

by XyloJW
When is this loving game coming out

Icept
Jul 11, 2001
when bargly

Arzachel
May 12, 2012

Big Anime Fan Here posted:

When is this loving game coming out

Never. ToG ran away with the kickstarter money to make a better Ducktales remake than the Ducktales remake.

Shinjobi
Jul 10, 2008


Gravy Boat 2k

Arzachel posted:

Never. ToG ran away with the kickstarter money to make a better Ducktales remake than the Ducktales remake.

A noble endeavor.:911:

Rianeva
Mar 8, 2009

Arzachel posted:

Never. ToG ran away with the kickstarter money to make a better Ducktales remake than the Ducktales remake.

I backed the ks and I'm ok with this

Athletic Footjob
Sep 24, 2005
Grimey Drawer

Arzachel posted:

Never. ToG ran away with the kickstarter money to make a better Ducktales remake than the Ducktales remake.

Woo hoo!

Marxalot
Dec 24, 2008

Appropriator of
Dan Crenshaw's Eyepatch

Big Anime Fan Here posted:

When is this loving game coming out

If we can reach $420k in preorders it's going to ship free with every copy of Halo 5.

Gortarius
Jun 6, 2013

idiot
The B2 developement is taking so long because we are trying to create a gamer caliphate to combat ISIS on a philosophical level.

Islam is a party religion.

https://www.youtube.com/watch?v=Jlb1mzdMy84


Chef actually made a B2 rendition of this and it is really good.

Big Anime Fan Here
Sep 8, 2010

by XyloJW
That's alright I didn't give yall any money I just wanted to check.

DancingShade
Jul 26, 2007

by Fluffdaddy

Marxalot posted:

If we can reach $420k in preorders it's going to ship free with every copy of Halo 5.

I backed the kickstarter but you can keep the copy of Halo 5.

Please, keep it. No really - I insist.

I'm happy with my OGG collection of all the TOG music ever.

FrankieSmileShow
Jun 1, 2011

wuzzathang
http://www.twitch.tv/frankiepixelshow
Streaming tonight. Drawing more gun's, and might also animate more duergars later.

Dabir
Nov 10, 2012

Bisse posted:

oh god. okay, let's get technical!

Okay so when saving things we wanted to avoid referencing individual variables and writing to/from specific objects or global variables. Because if we did that, adding something new to the save data to be saved and loaded would be a bunch of technical steps for each single variable saved.

What we do instead is we have a big 'save data' data structure which is a map. Quest data, for example, simply reads to/from this data structure at the path "player.quests.QUESTNAME". Then, we simply save and load this data structure. This way, all you need to do to ensure your data is saved, is to store it in the save data structure, and then the game will automagically handle the rest.

There are some limitations on the format of the data stored. It has to be either a map, a list, or a single value. This turned out to work well for everything except for gun's. Gun's, you see, were stored as objects containing more than 150 variables. So what I had to do was refactor gun's to instead be Map data structures. This also meant changing any piece of code that directly or indirectly touched on any of its 150 variables.

one variable per bullet right?

DeepQantas
Jan 13, 2008

Ah, to be a Hero... Keeping such company...

Dabir posted:

one variable per bullet right?
Nah, there's at least four variables per bullet...

code:
// Bullet #17
bulletx017 += bulletxspeed017;
bullety017 += bulletyspeed017;

// Hit Monster?
if ( hitMonster001( bullet017x, bullet017y) ) monsterHealth001 -= 1;
if ( hitMonster002( bullet017x, bullet017y) ) monsterHealth002 -= 1;
if ( hitMonster003( bullet017x, bullet017y) ) monsterHealth003 -= 1;
if ( hitMonster004( bullet071x, bullet017y) ) monsterHealth004 -= 1;
... and so on.

Adbot
ADBOT LOVES YOU

FrankieSmileShow
Jun 1, 2011

wuzzathang
Made some good gun's last night on my stream, made about 44.
About 798 total gun's down. Only about 962 to 1122 to go! (actual numbers)
I'm in a gaddam gun drawing binge, watch out!!


About this conversation on the weapon saving and gun system...
I made the initial weapons system Bisse had to rewrite...... whoops....
I made a lot of things we needed to remake later in fact, like the initial enemy AI system, which Bisse vastly improved to make more modular and robust.
I'm really glad Bisse joined the team, hes got some real programming chops! I don't really have that experience yet, I'm really more used to working on small projects, nothing with that kind of scale and need for flexibility.
I'm glad I could focus more on art and animation this past year!

Guns have lots of little stats to keep track of.
They have a type, material and various properties like this, but individual stats used for their growth as well.
Wont go into details there, theres a lot of that we want to keep secret.

When I initially made the system for them, I didn't organize their stats to help save them easily, because I presumed they would be constructed in a way that you can just easily "re-generate" them using their few basic traits.
Like, you just need to save a few stats and properties along with a random seed number for the randomized elements of gun generation, and you could feed that info into a script, and it could re-generate the gun the same way every time.
That allows you to save a gun with 150 variables with just like 6 values or so from which you can just extrapolate the details from.
Its what DeepQantas was asking about a few posts back. Lots of things generated randomly can be compactly saved that way, like randomly generated mazes and stuff like that.

But the gun's ended up more complicated than that! Gun's aren't just born from a few stats and properties, they are fused together many times in a way that gets increasingly more complicated to "re-generate" after the fact.
You wouldn't just have to save the one gun's properties and seed, but a list of all the various gun's that were fused together up until this point, like a gun's whole ancestry line, in order to recreate the newest gun properly.
That gets very awkward to save, its a lot simpler to just save every stat of the gun at that point.

Also, working with a seed would mean any updates to the gun generation, fusion system or gun's themselves would likely break save compatibility and give some weird results.
This is what I understand about the gun rewrite, though there may be other reasons too.

Fusing gun's in that way was the plan from the start, I just failed to foresee that issue when I made the initial system for it.


Speakin of gun's, going to make more of em right now! Maybe another 44...?
Check my stream here: http://www.twitch.tv/frankiepixelshow

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply