Now you have to figure out how the player will toggle between weapons. Will it be a button? That's pretty easy to set up. Is it just like Mega Man with a menu? That's more involved because you have to create the GUI code AND pause code.
Would it be possible to set up a toggle key to cycle through the unlocked weapons? And then for an indicator on screen would it just be a conditional check (if this weapon is cycled to, display this icon)?
Now you have to figure out how the player will toggle between weapons. Will it be a button? That's pretty easy to set up. Is it just like Mega Man with a menu? That's more involved because you have to create the GUI code AND pause code.
Your advice is excellent, and I know its just a quick incomplete example but your code is mega confusing my brain. Why would you have an array of numbers for the weapons, and then check the current weapon number against the contents of this array? Is this a typo or doing something clever, or am I just being dumb?
You didn't miss anything. I goofed, haha. I'm not sure what I was thinking making weapons an array when I could have just made it a regular int.
Would it be possible to set up a toggle key to cycle through the unlocked weapons? And then for an indicator on screen would it just be a conditional check (if this weapon is cycled to, display this icon)?
Yes. For a toggle, you can set it up where pressing the toggle buttons adds or subtracts 1 from the currentWeapon int. You will need code that loops it though like
Now you have to figure out how the player will toggle between weapons. Will it be a button? That's pretty easy to set up. Is it just like Mega Man with a menu? That's more involved because you have to create the GUI code AND pause code.
Your advice is excellent, and I know its just a quick incomplete example but your code is mega confusing my brain. Why would you have an array of numbers for the weapons, and then check the current weapon number against the contents of this array? Is this a typo or doing something clever, or am I just being dumb?
You didn't miss anything. I goofed, haha. I'm not sure what I was thinking making weapons an array when I could have just made it a regular int.
Would it be possible to set up a toggle key to cycle through the unlocked weapons? And then for an indicator on screen would it just be a conditional check (if this weapon is cycled to, display this icon)?
Yes. For a toggle, you can set it up where pressing the toggle buttons adds or subtracts 1 from the currentWeapon int. You will need code that loops it though like
I enjoy discussions of game design and principal, and wasn't expecting to watch this entire video, but I did. Very nice job so far on the game and lot of interesting design decisions is always a nice perspective on the developers view.
Yeah it was probably too long and full of stuff most people don't care about, haha. Glad you liked it. I'll try to be more concise in my future progress videos.
Steam Profile | My Art | NID: DarkMecha (SW-4787-9571-8977) | PSN: DarkMecha
Currently I basically have a big GameState class instance with every important object as a property of it, all of my classes implement IExternalizable so that they can serialize correctly, and when I save basically I register all the class aliases and serialize the whole thing and stuff it in the SharedObject (for non-Flash people, it basically just writes to a file on the user's computer). To read the save file I just do the opposite.
It's nice because it's lazy and it works and while the save files are bigger than they need to be they aren't that big.
However it is a problem, because there's no backwards compatibility with old saves between versions if I change any properties of any of the classes. It just reads the serialized object wrong and generates errors.
So, this is sort of a big question: How do I do this better? Serializing is new to me and I don't understand it very well. What I'd like to do is just make it so that as the object is being deserialized it'll look at each thing that it's stuffing back into the class and make sure it still fits in there, and then recognize if anything is missing and initialize it. I just don't know where/how to correctly do this within the existing AS3 framework for serialization.
Or, should I say "fuck it", ignore AS3's pre-existing serialization stuff, and just attempt to make my own system for serializing game data from scratch (I desperately don't want to spend the time to do this)?
Does anyone have any good resources to help me understand object serialization?
@Winky I have had this exact problem come up. Different language, very different program, exact same problem.
In the long run relying on your framework to do serialization / deserialization for you will always end up in this kind of issue. Sometimes the framework serializer has hooks so you can get away with just making some modifications (this is the case in C#) but a lot of the time the right thing is to maintain your own. This is actually a quite unusual! Usually the best answer is to use existing, tested, code whenever possible.
There are two problems with using procedural serialization:
1) versioning, as you have run into.
2) it almost always serializes way more data than it needs to. Unless you put enough effort into marking up your data objects with attributes or whatever the language equivalent is to tell the serializer exactly what to do. But that usually ends up being as much work as just writing the serialization code.
I just took a look at IExternalizable and IDataOutput (previously when I have used flash data is stored on a server not in a locally serialized blob) and I don't think there is a lot of value in trying to work with their interfaces. There just isn't anything there worth reusing.
For AS3, I would recommend writing your own code to write out a JSON string and restore its state from a JSON string. It might be a bit bigger in file size than a binary blob but we are talking a few K here even for a huge app (unless you are saving images or something). In today's terms it's trivial.
I can provide more info on this if you are interested.
In Gamemaker Studio: What's the best option for making reasonably elaborate branching dialogs? I want to allow at least the standard:
NPC: Hey what is up
Response:
1.) I feel okay
2.) Not much
3.) The lords of dreadfell are upon us once more, flee you fool!
response selection options.
Ideally I'd like this to be something that's not spread all to hell, so it's easier to track what each person can possibly say in one big chunk. The idea would be that each client has some set of information it is possible to discover, and dialog has multiple branching paths toward that information, or closes off that information.
@Winky to expand a bit on the above, when you serialize data include a version number for the data format.
In your deserializer you check the version number. If it is old then go into a module that knows how to "upgrade" the data by adding in missing stuff with default values or ignoring old stuff.
Winky I have had this exact problem come up. Different language, very different program, exact same problem.
In the long run relying on your framework to do serialization / deserialization for you will always end up in this kind of issue. Sometimes the framework serializer has hooks so you can get away with just making some modifications (this is the case in C#) but a lot of the time the right thing is to maintain your own. This is actually a quite unusual! Usually the best answer is to use existing, tested, code whenever possible.
There are two problems with using procedural serialization:
1) versioning, as you have run into.
2) it almost always serializes way more data than it needs to. Unless you put enough effort into marking up your data objects with attributes or whatever the language equivalent is to tell the serializer exactly what to do. But that usually ends up being as much work as just writing the serialization code.
I just took a look at IExternalizable and IDataOutput (previously when I have used flash data is stored on a server not in a locally serialized blob) and I don't think there is a lot of value in trying to work with their interfaces. There just isn't anything there worth reusing.
For AS3, I would recommend writing your own code to write out a JSON string and restore its state from a JSON string. It might be a bit bigger in file size than a binary blob but we are talking a few K here even for a huge app (unless you are saving images or something). In today's terms it's trivial.
I can provide more info on this if you are interested.
@RiemannLives Thanks a ton, I'll absolutely look into it.
I haven't worked with JSON before, but I'm figuring it's roughly as easy as working with XML?
Do you happen to know of any good tutorials or examples for converting AS3 objects to JSON strings?
Winky I have had this exact problem come up. Different language, very different program, exact same problem.
In the long run relying on your framework to do serialization / deserialization for you will always end up in this kind of issue. Sometimes the framework serializer has hooks so you can get away with just making some modifications (this is the case in C#) but a lot of the time the right thing is to maintain your own. This is actually a quite unusual! Usually the best answer is to use existing, tested, code whenever possible.
There are two problems with using procedural serialization:
1) versioning, as you have run into.
2) it almost always serializes way more data than it needs to. Unless you put enough effort into marking up your data objects with attributes or whatever the language equivalent is to tell the serializer exactly what to do. But that usually ends up being as much work as just writing the serialization code.
I just took a look at IExternalizable and IDataOutput (previously when I have used flash data is stored on a server not in a locally serialized blob) and I don't think there is a lot of value in trying to work with their interfaces. There just isn't anything there worth reusing.
For AS3, I would recommend writing your own code to write out a JSON string and restore its state from a JSON string. It might be a bit bigger in file size than a binary blob but we are talking a few K here even for a huge app (unless you are saving images or something). In today's terms it's trivial.
I can provide more info on this if you are interested.
RiemannLives Thanks a ton, I'll absolutely look into it.
I haven't worked with JSON before, but I'm figuring it's roughly as easy as working with XML?
Do you happen to know of any good tutorials or examples for converting AS3 objects to JSON strings?
JSON is simpler than XML. Can't do the stuff XML can, especially since there is no equivalent to XSD or XSLT, but it is super easy to work with from Actionscript and Javascript.
It is allows you to encode objects, arrays of object and named attributes on objects. There is no typing. It is simple enough to write out by hand if you want to test your code. http://www.w3schools.com/json/default.asp
Winky I have had this exact problem come up. Different language, very different program, exact same problem.
In the long run relying on your framework to do serialization / deserialization for you will always end up in this kind of issue. Sometimes the framework serializer has hooks so you can get away with just making some modifications (this is the case in C#) but a lot of the time the right thing is to maintain your own. This is actually a quite unusual! Usually the best answer is to use existing, tested, code whenever possible.
There are two problems with using procedural serialization:
1) versioning, as you have run into.
2) it almost always serializes way more data than it needs to. Unless you put enough effort into marking up your data objects with attributes or whatever the language equivalent is to tell the serializer exactly what to do. But that usually ends up being as much work as just writing the serialization code.
I just took a look at IExternalizable and IDataOutput (previously when I have used flash data is stored on a server not in a locally serialized blob) and I don't think there is a lot of value in trying to work with their interfaces. There just isn't anything there worth reusing.
For AS3, I would recommend writing your own code to write out a JSON string and restore its state from a JSON string. It might be a bit bigger in file size than a binary blob but we are talking a few K here even for a huge app (unless you are saving images or something). In today's terms it's trivial.
I can provide more info on this if you are interested.
RiemannLives Thanks a ton, I'll absolutely look into it.
I haven't worked with JSON before, but I'm figuring it's roughly as easy as working with XML?
Do you happen to know of any good tutorials or examples for converting AS3 objects to JSON strings?
JSON is simpler than XML. Can't do the stuff XML can, especially since there is no equivalent to XSD or XSLT, but it is super easy to work with from Actionscript and Javascript.
It is allows you to encode objects, arrays of object and named attributes on objects. There is no typing. It is simple enough to write out by hand if you want to test your code. http://www.w3schools.com/json/default.asp
So I think I'm just going to prototype branching dialogue in Twine, actually.
It's a bit annoying but it's a hell of a lot simpler than trying to do anything complex with the Gamemaker dialog stuff from scratch. Maybe I'll be able to find a really nicely formatted one pre-made.
So I am announcing my own game jam that is running in October called SpookyJam. It's Halloween themed, 72 hours, and pretty relaxed. I am also giving away some prizes! So be sure to check it out. I would love to see what kind of stuff you guys come up with.
I'm still putting the rest of the site together, but everything should be up in the next day or so.
Turns out there is legit not a more useful node-based branching dialog designer around than Twine. Took less time, easier to follow, more fully featured than basically anything else I was fooling about with.
Now as to actually implementing a dialog system in Gamemaker, that's a problem for tomorrow.
Turns out there is legit not a more useful node-based branching dialog designer around than Twine. Took less time, easier to follow, more fully featured than basically anything else I was fooling about with.
Now as to actually implementing a dialog system in Gamemaker, that's a problem for tomorrow.
I bought one statue, and when I went to re-arrange it thought I had both. It did not diminish my enjoyment of it though, nice prototype! It reminded me of how horribly addicted I got to "a dark room", and that playing these sort of games is bad for my productivity
Oh blah, I literally looked that bug in the face, thought about the thing that would fix it, and then made some tea and forgot about it.
I don't want to get crazy involved with making it in Twine because I'd like to have a strong graphical element in the final game, but it is so fast and fun for just hashing out ideas about possible features to implement.
Oh blah, I literally looked that bug in the face, thought about the thing that would fix it, and then made some tea and forgot about it.
I don't want to get crazy involved with making it in Twine because I'd like to have a strong graphical element in the final game, but it is so fast and fun for just hashing out ideas about possible features to implement.
For some reason, I started losing money with every soothsaying attempt. Also, the entrails *always* stated that I should speak soothingly. Might be a bug, might just be random chance?
Oh blah, I literally looked that bug in the face, thought about the thing that would fix it, and then made some tea and forgot about it.
I don't want to get crazy involved with making it in Twine because I'd like to have a strong graphical element in the final game, but it is so fast and fun for just hashing out ideas about possible features to implement.
For some reason, I started losing money with every soothsaying attempt. Also, the entrails *always* stated that I should speak soothingly. Might be a bug, might just be random chance?
Haha
It's actually part of the central thesis!
The game takes place in a world where soothsaying is accepted as an important part of everyday decision-making. I was specifically thinking of ancient Greece, where you'd ask the oracle to tell you when the best time to do basically anything was. Or to interpret your dreams, or whatever.
The reason I'm not making it explicitly set in an ancient time period or a particular place is because I want players to go in with the assumption that because everyone acts like it works, soothsaying works. But actually, it totally doesn't! It's just a big old pile of entrails with some instructions attached that are basically meaningless. The only thing that actually helps is asking your clients what's up, and figuring out how to solve their problems. Having your assistant tail a client in this little example gets you +1 money, as a real toy example of the idea.
The idea is that eventually you'd need to combine good "Soothsaying" practice with good investigatory practice. In this example version, the concept is reaaaally simplified as: you give good advice, but don't do the entrails right, you get a worse rep but your client lives to see another day and you get paid. And so on for the combinations of good advice/good practice. There's also a danger of just annoying your client because of course you're supposed to be able to just do this shit, not be asking her about what she had for dinner or whatnot. So you need to couch your investigating in the right way. In this little toy example it's just "Probing question" makes you lose rep, other questions make you gain money.
So for the final game the concept would be that you start off trying to do the gut-readings, figure out they don't work, try to just give good advice based on logic. Then need to manage your relationships with clients so that they don't think you're a shitty oracle because you're totally misreading the intestines, even if your advice is good.
The real genesis of this idea is a passage in Xenophon's Anabasis where he basically says "Haha, I know the soothsayer doesn't want me to settle a city here, but I've got his number. I'm going to ask him if it's a good idea, but look over his shoulder! That way he can't hide the results from me, because I know a bit about reading entrails."
It's such a weird combination of absolute respect for the practice and understanding that the practitioner has their own angle on the thing. It made me think about what it would be like being this jack-of-all-trades advice-giver while not actually having your experiences be considered an integral part of the process.
Edit: Oh yeah and also ha, I didn't include the bit in the investigation part that tells you specifically not to speak soothingly so you could be drawn to the other options.
In the real game it'd be extensively different, actually telling the person some sequence of events to perform and coming to the conclusion that they're the best option through a combination of attempts to figure shit out.
Edit: Oh! And, my concept for the actual readings in the game is a sort of Papers, Please style physical-ish puzzle. That way getting good at it won't become irrelevant later in the game, it'll be a skill you now use to convince clients of stuff instead of a thing that you think actually works. I want it to involve an element of enjoyable puzzle-solving so that people don't just toss it away as inconsequential, and I like that style of rule-accumulation puzzle.
KupotheAvengerDestroyer of Cakeand other deserts.Registered Userregular
Have any of you guys tried Modular Sprite Creation? Familiar with Spine or Spriter? I'm considering using one or the other for a project I have in mind.
So I am announcing my own game jam that is running in October called SpookyJam. It's Halloween themed, 72 hours, and pretty relaxed. I am also giving away some prizes! So be sure to check it out. I would love to see what kind of stuff you guys come up with.
I'm still putting the rest of the site together, but everything should be up in the next day or so.
Assuming I can think up some sort of idea between now and then and can follow through when it starts, it'll be my first finished product. It'll be nice to have a bit of incentive for something, i've kind of lost steam after I halted my first couple initial projects.
So I am announcing my own game jam that is running in October called SpookyJam. It's Halloween themed, 72 hours, and pretty relaxed. I am also giving away some prizes! So be sure to check it out. I would love to see what kind of stuff you guys come up with.
I'm still putting the rest of the site together, but everything should be up in the next day or so.
I am so down for this. Any restriction on team size? Because I see myself recruiting six or seven of my friends for this.
Also, how much pre-planning is allowable/suggested? Is the idea to be going into the 72-hours with a whole design doc ready, or to not even think about the game before the kick-off?
Have any of you guys tried Modular Sprite Creation? Familiar with Spine or Spriter? I'm considering using one or the other for a project I have in mind.
I have only played around with it but I adore Spine. The whole 2D mesh animation thing is amazing and can create some really beautiful motion. Sadly I found the current options for applying different skins insufficient for my game; namely the fact that the skin swapping doesn't work with all of the mesh animation options. That said, they were talking about fixing that eventually, and I'm sure if I put enough effort into it I may have been able to hack together something that works. I really don't personally see any advantages of using Spriter over Spine.
Awesome example of gloriously smooth Spine animation:
As it is, I do my modular sprite animations in Flash, which works well enough. I've heard that Vanillaware's in-house stuff is actually Flash-based too. And luckily if you like the idea of animating in Flash but hate the idea of programming in it there's more than a few ways to get around that with various packages, though none of them are perfect.
So I am announcing my own game jam that is running in October called SpookyJam. It's Halloween themed, 72 hours, and pretty relaxed. I am also giving away some prizes! So be sure to check it out. I would love to see what kind of stuff you guys come up with.
I'm still putting the rest of the site together, but everything should be up in the next day or so.
I am so down for this. Any restriction on team size? Because I see myself recruiting six or seven of my friends for this.
Also, how much pre-planning is allowable/suggested? Is the idea to be going into the 72-hours with a whole design doc ready, or to not even think about the game before the kick-off?
Team size doesn't matter. Most, if not all the work should be done during the Jam but it's a relaxed event so I am not holding anyones feet to the fire.
It is astonishing how little assistance there is out there for making a dang dialog box in Game Maker Studio.
Like, click on a character:
Jane:
Hello adventurer! What do you want to do?
-Adventure!
-Not adventure!
Select option with mouse or arrow keys.
This has been a long process that's ended up with me choosing to probably modify this textbox engine. I have seen more tutorials on how to make the fucking screen wobble than I have ones on how to have an NPC ask a question and a PC answer it. BLUURGH.
The creation of a dialog box + a single line of dialog is no big deal: draw a big box, draw_text(x.inthebox, y.inthebox, "Hi!")
The issue is creating dialog, then creating responses that the user can select, then creating new dialog in the box in response to those options. There are a bunch of half-finished forum discussions or tutorials that teach you exactly up until the "draw a line of text on the screen" stage, but none that discuss branching dialog extensively.
Edit: Annnnd with a few edits I finally have it: move close enough to an NPC, hit space, they change direction to look at you, a dialogue box with options pops up, you select with arrow or cursor, press space or click to respond, see new text from the NPC.
Finally.
Swear to fucking god, I'm making a youtube tutorial of this once I've made certain I understand all of this guy's code.
I am astonished this isn't covered anywhere in the official tutorial stuff.
Now I just need to see if I can make this read from XML. Oor maybe HTML because Twine exports to HTML.
Edit: Wait, no: JSON. Game Maker Studio actually supports JSON, so that's probably my best bet. I just don't want to be writing ten thousand lines of dialog in Case statements.
MachwingIt looks like a harmless old computer, doesn't it?Left in this cave to rot ... or to flower!Registered Userregular
edited September 2014
I made a toon shader It uses a shadow bias map!
Anybody played much with linking between the material editor/blueprint in UE4? I'm trying to replicate this, but they got rid of the custom lighting shader type and you can't use light vectors without like, updating it from blueprint or something
Yeah, UE4's using a deferred lighting system. I've messed with toon shading in it a little bit, and your best bet is probably to do it in postprocessing. Might have to manually pass the closest light positions through parameters to calculate lighting.
Generally, use material parameter collection assets to pass global values to materials, and make dynamic material instances for per-object values.
That toon shader looks really good. But yeah so far I've only been able to pass parameters to the material from blueprint. Like Kashaar said, passing the dominant or closest light is the way to go.
MachwingIt looks like a harmless old computer, doesn't it?Left in this cave to rot ... or to flower!Registered Userregular
I am literally barfing everywhere as I read about deferred shading. Like whoop dee doo unlimited lights SO MUCH CRAP'S GOTTA BE SCREENSPACE OR POST-PROCESS THIS IS HARRIBLE
Posts
Would it be possible to set up a toggle key to cycle through the unlocked weapons? And then for an indicator on screen would it just be a conditional check (if this weapon is cycled to, display this icon)?
Battlenet: Judgement#1243
psn: KupoZero
You didn't miss anything. I goofed, haha. I'm not sure what I was thinking making weapons an array when I could have just made it a regular int.
Yes. For a toggle, you can set it up where pressing the toggle buttons adds or subtracts 1 from the currentWeapon int. You will need code that loops it though like
if(currentWeapon > maxWeaponAmount) currentWeapon = 0;As for the GUI, yes, setting it up through if statements can work.
You guys are awesome. I literally have zero code knowledge, so hopefully I can put something interesting together.
Battlenet: Judgement#1243
psn: KupoZero
I enjoy discussions of game design and principal, and wasn't expecting to watch this entire video, but I did. Very nice job so far on the game and lot of interesting design decisions is always a nice perspective on the developers view.
My game is a Flash game written in AS3
Currently I basically have a big GameState class instance with every important object as a property of it, all of my classes implement IExternalizable so that they can serialize correctly, and when I save basically I register all the class aliases and serialize the whole thing and stuff it in the SharedObject (for non-Flash people, it basically just writes to a file on the user's computer). To read the save file I just do the opposite.
It's nice because it's lazy and it works and while the save files are bigger than they need to be they aren't that big.
However it is a problem, because there's no backwards compatibility with old saves between versions if I change any properties of any of the classes. It just reads the serialized object wrong and generates errors.
So, this is sort of a big question: How do I do this better? Serializing is new to me and I don't understand it very well. What I'd like to do is just make it so that as the object is being deserialized it'll look at each thing that it's stuffing back into the class and make sure it still fits in there, and then recognize if anything is missing and initialize it. I just don't know where/how to correctly do this within the existing AS3 framework for serialization.
Or, should I say "fuck it", ignore AS3's pre-existing serialization stuff, and just attempt to make my own system for serializing game data from scratch (I desperately don't want to spend the time to do this)?
Does anyone have any good resources to help me understand object serialization?
@RiemannLives (since you know Flash)
In the long run relying on your framework to do serialization / deserialization for you will always end up in this kind of issue. Sometimes the framework serializer has hooks so you can get away with just making some modifications (this is the case in C#) but a lot of the time the right thing is to maintain your own. This is actually a quite unusual! Usually the best answer is to use existing, tested, code whenever possible.
There are two problems with using procedural serialization:
1) versioning, as you have run into.
2) it almost always serializes way more data than it needs to. Unless you put enough effort into marking up your data objects with attributes or whatever the language equivalent is to tell the serializer exactly what to do. But that usually ends up being as much work as just writing the serialization code.
I just took a look at IExternalizable and IDataOutput (previously when I have used flash data is stored on a server not in a locally serialized blob) and I don't think there is a lot of value in trying to work with their interfaces. There just isn't anything there worth reusing.
For AS3, I would recommend writing your own code to write out a JSON string and restore its state from a JSON string. It might be a bit bigger in file size than a binary blob but we are talking a few K here even for a huge app (unless you are saving images or something). In today's terms it's trivial.
I can provide more info on this if you are interested.
In Gamemaker Studio: What's the best option for making reasonably elaborate branching dialogs? I want to allow at least the standard:
NPC: Hey what is up
Response:
1.) I feel okay
2.) Not much
3.) The lords of dreadfell are upon us once more, flee you fool!
response selection options.
Ideally I'd like this to be something that's not spread all to hell, so it's easier to track what each person can possibly say in one big chunk. The idea would be that each client has some set of information it is possible to discover, and dialog has multiple branching paths toward that information, or closes off that information.
In your deserializer you check the version number. If it is old then go into a module that knows how to "upgrade" the data by adding in missing stuff with default values or ignoring old stuff.
@RiemannLives Thanks a ton, I'll absolutely look into it.
I haven't worked with JSON before, but I'm figuring it's roughly as easy as working with XML?
Do you happen to know of any good tutorials or examples for converting AS3 objects to JSON strings?
JSON is simpler than XML. Can't do the stuff XML can, especially since there is no equivalent to XSD or XSLT, but it is super easy to work with from Actionscript and Javascript.
It is allows you to encode objects, arrays of object and named attributes on objects. There is no typing. It is simple enough to write out by hand if you want to test your code.
http://www.w3schools.com/json/default.asp
AS3 (and previous versions of flash) have built in support for it: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON.html
Awesome, thanks!
It's a bit annoying but it's a hell of a lot simpler than trying to do anything complex with the Gamemaker dialog stuff from scratch. Maybe I'll be able to find a really nicely formatted one pre-made.
So I am announcing my own game jam that is running in October called SpookyJam. It's Halloween themed, 72 hours, and pretty relaxed. I am also giving away some prizes! So be sure to check it out. I would love to see what kind of stuff you guys come up with.
I'm still putting the rest of the site together, but everything should be up in the next day or so.
www.spookyjam.com
http://www.philome.la/Durandal4532/happy-entrails-prototype
Turns out there is legit not a more useful node-based branching dialog designer around than Twine. Took less time, easier to follow, more fully featured than basically anything else I was fooling about with.
Now as to actually implementing a dialog system in Gamemaker, that's a problem for tomorrow.
I bought one statue, and when I went to re-arrange it thought I had both. It did not diminish my enjoyment of it though, nice prototype! It reminded me of how horribly addicted I got to "a dark room", and that playing these sort of games is bad for my productivity
I don't want to get crazy involved with making it in Twine because I'd like to have a strong graphical element in the final game, but it is so fast and fun for just hashing out ideas about possible features to implement.
For some reason, I started losing money with every soothsaying attempt. Also, the entrails *always* stated that I should speak soothingly. Might be a bug, might just be random chance?
Steam: Elvenshae // PSN: Elvenshae // WotC: Elvenshae
Wilds of Aladrion: [https://forums.penny-arcade.com/discussion/comment/43159014/#Comment_43159014]Ellandryn[/url]
Haha
It's actually part of the central thesis!
The game takes place in a world where soothsaying is accepted as an important part of everyday decision-making. I was specifically thinking of ancient Greece, where you'd ask the oracle to tell you when the best time to do basically anything was. Or to interpret your dreams, or whatever.
The reason I'm not making it explicitly set in an ancient time period or a particular place is because I want players to go in with the assumption that because everyone acts like it works, soothsaying works. But actually, it totally doesn't! It's just a big old pile of entrails with some instructions attached that are basically meaningless. The only thing that actually helps is asking your clients what's up, and figuring out how to solve their problems. Having your assistant tail a client in this little example gets you +1 money, as a real toy example of the idea.
The idea is that eventually you'd need to combine good "Soothsaying" practice with good investigatory practice. In this example version, the concept is reaaaally simplified as: you give good advice, but don't do the entrails right, you get a worse rep but your client lives to see another day and you get paid. And so on for the combinations of good advice/good practice. There's also a danger of just annoying your client because of course you're supposed to be able to just do this shit, not be asking her about what she had for dinner or whatnot. So you need to couch your investigating in the right way. In this little toy example it's just "Probing question" makes you lose rep, other questions make you gain money.
So for the final game the concept would be that you start off trying to do the gut-readings, figure out they don't work, try to just give good advice based on logic. Then need to manage your relationships with clients so that they don't think you're a shitty oracle because you're totally misreading the intestines, even if your advice is good.
The real genesis of this idea is a passage in Xenophon's Anabasis where he basically says "Haha, I know the soothsayer doesn't want me to settle a city here, but I've got his number. I'm going to ask him if it's a good idea, but look over his shoulder! That way he can't hide the results from me, because I know a bit about reading entrails."
It's such a weird combination of absolute respect for the practice and understanding that the practitioner has their own angle on the thing. It made me think about what it would be like being this jack-of-all-trades advice-giver while not actually having your experiences be considered an integral part of the process.
Edit: Oh yeah and also ha, I didn't include the bit in the investigation part that tells you specifically not to speak soothingly so you could be drawn to the other options.
In the real game it'd be extensively different, actually telling the person some sequence of events to perform and coming to the conclusion that they're the best option through a combination of attempts to figure shit out.
Edit: Oh! And, my concept for the actual readings in the game is a sort of Papers, Please style physical-ish puzzle. That way getting good at it won't become irrelevant later in the game, it'll be a skill you now use to convince clients of stuff instead of a thing that you think actually works. I want it to involve an element of enjoyable puzzle-solving so that people don't just toss it away as inconsequential, and I like that style of rule-accumulation puzzle.
Battlenet: Judgement#1243
psn: KupoZero
Yeah i'll be doing this.
Assuming I can think up some sort of idea between now and then and can follow through when it starts, it'll be my first finished product. It'll be nice to have a bit of incentive for something, i've kind of lost steam after I halted my first couple initial projects.
I am so down for this. Any restriction on team size? Because I see myself recruiting six or seven of my friends for this.
Also, how much pre-planning is allowable/suggested? Is the idea to be going into the 72-hours with a whole design doc ready, or to not even think about the game before the kick-off?
I have only played around with it but I adore Spine. The whole 2D mesh animation thing is amazing and can create some really beautiful motion. Sadly I found the current options for applying different skins insufficient for my game; namely the fact that the skin swapping doesn't work with all of the mesh animation options. That said, they were talking about fixing that eventually, and I'm sure if I put enough effort into it I may have been able to hack together something that works. I really don't personally see any advantages of using Spriter over Spine.
Awesome example of gloriously smooth Spine animation:
As it is, I do my modular sprite animations in Flash, which works well enough. I've heard that Vanillaware's in-house stuff is actually Flash-based too. And luckily if you like the idea of animating in Flash but hate the idea of programming in it there's more than a few ways to get around that with various packages, though none of them are perfect.
Team size doesn't matter. Most, if not all the work should be done during the Jam but it's a relaxed event so I am not holding anyones feet to the fire.
My artist is already making mock-ups:
Come October 10th we're gonna be chomping at the bit :P
Like, click on a character:
Jane:
Hello adventurer! What do you want to do?
-Adventure!
-Not adventure!
Select option with mouse or arrow keys.
This has been a long process that's ended up with me choosing to probably modify this textbox engine. I have seen more tutorials on how to make the fucking screen wobble than I have ones on how to have an NPC ask a question and a PC answer it. BLUURGH.
http://gmc.yoyogames.com/index.php?showtopic=554511.
The creation of a dialog box + a single line of dialog is no big deal: draw a big box, draw_text(x.inthebox, y.inthebox, "Hi!")
The issue is creating dialog, then creating responses that the user can select, then creating new dialog in the box in response to those options. There are a bunch of half-finished forum discussions or tutorials that teach you exactly up until the "draw a line of text on the screen" stage, but none that discuss branching dialog extensively.
Edit: Annnnd with a few edits I finally have it: move close enough to an NPC, hit space, they change direction to look at you, a dialogue box with options pops up, you select with arrow or cursor, press space or click to respond, see new text from the NPC.
Finally.
Swear to fucking god, I'm making a youtube tutorial of this once I've made certain I understand all of this guy's code.
I am astonished this isn't covered anywhere in the official tutorial stuff.
Now I just need to see if I can make this read from XML. Oor maybe HTML because Twine exports to HTML.
Edit: Wait, no: JSON. Game Maker Studio actually supports JSON, so that's probably my best bet. I just don't want to be writing ten thousand lines of dialog in Case statements.
Anybody played much with linking between the material editor/blueprint in UE4? I'm trying to replicate this, but they got rid of the custom lighting shader type and you can't use light vectors without like, updating it from blueprint or something
Generally, use material parameter collection assets to pass global values to materials, and make dynamic material instances for per-object values.
Unreal Engine 4 Developers Community.
I'm working on a cute little video game! Here's a link for you.
vines on m'blog
Steam: Handkor