|
Hughmoris posted:I want to create the set from The Office so I can tour around it using the HTC Vive. It'll be a static environment, outside of moving around the space. If I have zero game development experience but have dabbled in Python, where should I get started? Start with 3d Studio or Blender, that will be the most work.
|
# ? Jul 10, 2017 05:47 |
|
|
# ? May 25, 2024 14:00 |
|
Hughmoris posted:I want to create the set from The Office so I can tour around it using the HTC Vive. It'll be a static environment, outside of moving around the space. If I have zero game development experience but have dabbled in Python, where should I get started?
|
# ? Jul 10, 2017 07:55 |
|
For simple 2D games, is there any huge caveat to using Game Maker over Unity? GM seems to have good built in sprite editing and whatnot and seems to have a much easier learning curve. I have programming experience, but not in the Game Dev realm. edit-- Aside from GM costing money, of course.
|
# ? Jul 10, 2017 14:53 |
|
Thanks for the ideas. I've never heard of Google Blocks, I'll check it out.
|
# ? Jul 10, 2017 15:06 |
|
COOL CORN posted:For simple 2D games, is there any huge caveat to using Game Maker over Unity? GM seems to have good built in sprite editing and whatnot and seems to have a much easier learning curve. I have programming experience, but not in the Game Dev realm. I believe GM still barfs if the files gets too big, so be very careful about adding sprites/sounds to keep it small. The language used to program it is unique to GM making it hard to work in other languages. I believe there is a free version on Steam if you download the demo, I think GM goes on crazy sales every once in a while, you just missed the Steam summer sale, but there is another one in 4 months for Thanksgiving.
|
# ? Jul 10, 2017 15:13 |
|
COOL CORN posted:For simple 2D games, is there any huge caveat to using Game Maker over Unity? GM seems to have good built in sprite editing and whatnot and seems to have a much easier learning curve. I have programming experience, but not in the Game Dev realm. for simple 2d games, GM is gonna do everything you want. I switched to unity for a more robust animation system and better documentation / tutorials one of the main reasons I swapped was I wanted to have variable armor slots on my 2d sprite, similar to monster hunter or an elder scrolls where you could mix and match. GM doesn't really allow that very easily, in unity I separate sprite layers and draw over them. You can still do it in GM but unity's method makes more sense to me. BUT from my GM experience I'd still say in many cases going with GM is great
|
# ? Jul 10, 2017 16:01 |
|
If you are considering GM vs Unity for 2d games why aren't you also consider Godot? As Godot matures I am not certain what reason there would be to ever pick GM.
|
# ? Jul 10, 2017 19:35 |
|
xgalaxy posted:If you are considering GM vs Unity for 2d games why aren't you also consider Godot? Because I hadn't heard of it! I'll check it out.
|
# ? Jul 10, 2017 19:37 |
|
gently caress serialization. That is all.
|
# ? Jul 10, 2017 20:33 |
|
KillHour posted:gently caress serialization. That is all. What are you serializing that is difficult in the year of our gods 2017?
|
# ? Jul 10, 2017 20:39 |
|
Quick but kinda vague Unity character importing question/situation. I've been dabbling in Unity and 3d modelling/rigging in 3DS Max for the last year on and off, in particular I just finished college and made a 3D agent based simulator in Unity as my final year project. I made and rigged the models myself as a learning experience, but since they didn't really need to be animated I left all that side of it blank and instead my little dudes glided around the map in a neutral pose to save overhead since it wasn't really the point of the project. Now I'm back dabbling with things again and to further my pipe dream of building a village simulator, I'd like to actually have the characters that I bothered to rig and animate move around. Currently I'm baking animations that I scrounge for free into the FBX export from Max. I have everything I need for walking/run/actions for now. Next steps are hazy though - even before messing about with controllers or curves witchcraft, I have some doubts about what I'm doing and I don't want to be throwing out work later because I hosed up something stupid. I tried importing into Unity as a humanoid rig but it seems kind of janky (random verts pulled off, bones inexplicably shrunk, most noticeably the first joint of each finger/toe). Is there any downside to just using a generic rig, seen as how the animations are already 'done' (though still kinda lovely), so I didn't really plan on using Unity's animation editing much? Also, is it a problem that the animation baked onto the character is 3000+ frames long in total? There's a fuckload in there I don't need but because most of the animations came from a single long clip, I bounced pretty hard off editing out the bits I wanted since it took me a while to figure out just getting two .bip animations in series. So is having one super long clip and then breaking it up into clips in Unity a problem (i.e. does it add a shitload of overhead when you have a lot of these characters walking around, since all the frames make the avatar almost 40MB in the Project)?
|
# ? Jul 10, 2017 23:23 |
|
xgalaxy posted:If you are considering GM vs Unity for 2d games why aren't you also consider Godot? It's definitely not without its quirks, but every other game engine I've ever tried I typically run into "ugh this is a thing that's painful to do, I'd be better off rolling my own engine". With Godot every time I approached one of those things that usually causes that feeling, a search for how to do the thing instantly turned up a page describing how to do it trivially in 5 clicks and also exactly how I want with a little more effort. Things that have surprisingly behaved this way so far: * Scene transitions (streaming loading being the "little more effort" bit) * Pausing the gameplay but still being able to do menus (or animate scene transitions) * Cutout animation (though there was some misleading documentation that implied the engine would help with IK, which it doesn't) * Physics in general (though there is a frustrating quirk where if you move a kinematic body purely on the y axis, into a 45-degree slope, with no 'slide', it picks up a little bit of x axis movement that the engine doesn't tell you about, and another where if you teleport a kinematic object you have to skip a physics-frame before you move it again to avoid some weird behavior) * Tile maps * In-game text rendering
|
# ? Jul 11, 2017 01:37 |
|
KillHour posted:gently caress serialization. That is all.
|
# ? Jul 11, 2017 04:08 |
|
leper khan posted:What are you serializing that is difficult in the year of our gods 2017? Not sure about KillHour, but I absolutely hated setting up serialization for certain consoles. Maybe the console APIs themselves are great and fine to work with, I wouldn't know, but my experience interfacing with them through a middleware engine was not fun. Really slim documentation in places, broken example projects, and bugs that had me going through crash dumps and trying to figure out what a console error code documented as "unspecified" could actually mean and making build after build after build until everything just worked. Maybe it's an artifact of my inexperience, but it sucked. Oh, and semi related, don't use .net 4.6 in Unity if you're using XMLSerializer because stuff inside System.XML will point to kernel32.dll which doesn't exist. Doctor Soup fucked around with this message at 05:00 on Jul 11, 2017 |
# ? Jul 11, 2017 04:49 |
|
Shalinor posted:Use minijson. It cures all ills. You even get a free puppy. Or if you're going the other way (i.e., writing configs) use yaml. It's not the best markup ever but it's easy for humans to read and type which is a giant plus.
|
# ? Jul 11, 2017 05:00 |
|
leper khan posted:What are you serializing that is difficult in the year of our gods 2017? I don't know what that one is actually doing, but I can tell you some stuff if you all don't recall. I have been putting sections of levels in separate scenes in Unity for this little action RPG thing I want to do. Basically, you go through a door or whatever and it should take you into another scene. Now, I want to be able to save that scene wherever. Also, I would like to go back and forth between scenes and keep track of the deltas. Dumping the data into JSON is fine enough, but how I manage all of that is a huge pain in the rear end. So let's just go into it. I created something like a cache to store all the scenes I am actively tracking. Across major points of the game, this can be purged so things don't get out of hand. Each scene in the cache gets a dynamically assigned ID and there's a lookup table to translate that ID back to the scene. Each serializable object also dynamically gets an object ID so references to items can be tracked. Think things like inventories. So when I want to go from one scene to another, I look through all the game objects for things that can be saved using this mechanism and they go in a JSON file using their own serialization logic. Basically, every MonoBehaviour that I want to track gets this. Each object that has a MonoBehaviour like this gets a record with an ID number. When I go to the next scene--and let's assume I've been there already because that's more fun--I purge all the objects from the original scene file that have serialization logic and then vomit out everything that's saved in the cache. When saving a game, I just copy the whole cache to the given save folder. To load a game, I copy the save to the cache and look in a special header section to figure out what scene I'm loading. Bonus points, if the player dies, they can restart at the entrance of the given scene with all the data from the cache. I about died implementing all of this. LOL JSON=serialization.
|
# ? Jul 11, 2017 05:59 |
|
Shalinor posted:Use minijson. It cures all ills. You even get a free puppy. Better than Newtonsoft?
|
# ? Jul 11, 2017 05:59 |
|
Rocko Bonaparte posted:I don't know what that one is actually doing, but I can tell you some stuff if you all don't recall. Yeah, been there, it sucks. I always end up using Dictionaries for that sort of problem, and dumb compound string key systems for handling the inventory of the particular bag being carried by the goblin named Fred or whatever... like Fred|Backpack|Item1. You can go more elegant, but then it's a bitch to actually persist out/in. Dictionaries look a little dumb, but work reasonably well, and aren't a bitch to interact with. Shalinor fucked around with this message at 06:09 on Jul 11, 2017 |
# ? Jul 11, 2017 06:05 |
|
Rocko Bonaparte posted:I don't know what that one is actually doing, but I can tell you some stuff if you all don't recall. I haven't seen the code but that sounds about how Skyrim handles it. Doesn't sound like thaaat much of a PITA though really?
|
# ? Jul 11, 2017 06:35 |
|
leper khan posted:What are you serializing that is difficult in the year of our gods 2017? xzzy posted:Or if you're going the other way (i.e., writing configs) use yaml. It's not the best markup ever but it's easy for humans to read and type which is a giant plus.
|
# ? Jul 11, 2017 11:44 |
|
Don't use loving JSON, don't use loving YAML, use a sane, typed, backwards compatible format with explicit schema like protobuf or flatbuffers or cap'n proto.
|
# ? Jul 11, 2017 12:48 |
|
The problem is none of the classes in unity support constructors, so you either need to make intermediary classes or write your own deserialization from scratch.
|
# ? Jul 11, 2017 16:27 |
|
SupSuper posted:In my experience YAML is easier for programmers to type, not humans. It has all kinds of fancy typing and whitespace rules that no average human will care about, and there's a lot less tooling out there. So what's the alternative? Some kind of natural language processing so joe shmoe can dictate what they want the software to do and it magically does the right thing? "spawn a chest over by that tree. no the other tree, the one by the medium rock. okay now put some enemies in the canyon. no wait the valley. not that valley, gently caress off, I mean the valley next to the town!" I like some enforced structure.
|
# ? Jul 11, 2017 16:48 |
|
KillHour posted:The problem is none of the classes in unity support constructors, so you either need to make intermediary classes or write your own deserialization from scratch. What do you need the constructors for?
|
# ? Jul 11, 2017 17:05 |
|
Deserializing usually means creating the classes with a default constructor and restoring the values. If you can't use that, then built-in deserializers can't do their job. You either need to create an intermediary class for everything that can be directly constructed and then transfer all that data over, or - the way I did it - create the classes yourself (via instantiation in Unity) and then parse the serialized data manually and insert the values. This also means you either can't use the Start/Awake callbacks to do anything that requires the serialized data as a prerequisite or you need to have another delegate that overwrites what they do. Also, I had to go back through and remove almost all the co-routines and replace them with normal functions that store their state as public properties. It's just a PITA that there are so many features that Unity goes "Go ahead and use these!" but don't actually work if you need to persist that data. It's a huge gotcha for people not experienced with Unity and it sucks.
|
# ? Jul 11, 2017 18:02 |
|
For construction, I added an extension method for MonoBehaviours "GetOrCreateComponent<T>()." My system has an interface it looks for that can save a MonoBehaviour's state and restore it. Restoration uses that extension method to get an instance to work with on a given GameObject.Zaphod42 posted:I haven't seen the code but that sounds about how Skyrim handles it. Haha I don't know if that makes me feel better! Shalinor posted:Yeah, been there, it sucks. I always end up using Dictionaries for that sort of problem, and dumb compound string key systems for handling the inventory of the particular bag being carried by the goblin named Fred or whatever... like Fred|Backpack|Item1. You can go more elegant, but then it's a bitch to actually persist out/in. Dictionaries look a little dumb, but work reasonably well, and aren't a bitch to interact with. Yeah it wound up pretty much being a dictionary per scene, with a separate header one that is looked at first for things that might affect everything else. I really can't think of a much better way than an associative structure for managing all of it. If you have some idea, then throw it out there. I personally won't use it because I'm already forgetting how I did some of the stuff in my system; I'm terrified to go back in and play with it. I caught myself writing TODOs when using the code pondering "What about this?" I ended up having all that covered in the serialization unit tests.
|
# ? Jul 11, 2017 18:10 |
|
seiken posted:Don't use loving JSON, don't use loving YAML, use a sane, typed, backwards compatible format with explicit schema like protobuf or flatbuffers or cap'n proto. What's wrong with JSON? I've never had any trouble serializing out and back in from JSON KillHour posted:The problem is none of the classes in unity support constructors, so you either need to make intermediary classes or write your own deserialization from scratch. Yuck
|
# ? Jul 11, 2017 18:47 |
|
Zaphod42 posted:Yuck
|
# ? Jul 11, 2017 18:52 |
|
If you need to serialize MonoBehavior state wouldn't you be better off refactoring that data into a subclass or an outer class that the Monobehavior loads instead? Then you can have normal C# poo poo like constructors and easy serialization.
|
# ? Jul 11, 2017 19:57 |
|
xgalaxy posted:If you need to serialize MonoBehavior state wouldn't you be better off refactoring that data into a subclass or an outer class that the Monobehavior loads instead? Then you can have normal C# poo poo like constructors and easy serialization. Dat sweet code golf tho. I ended up basically having to do that but I used an abstract, generic class with general behavior that did most of the shepherding. A typical Monobehaviour's serialization logic became something like 5 lines of unique code around 9 lines of boilerplate, but it would be greeeat if it were just zero.
|
# ? Jul 11, 2017 20:46 |
|
For a side project, I created a little system with that would take a JSON definition for an in-game item, and a JSON definition for mapping that item to a collection of component objects, with support for copying a single value to multiple properties, default values, and property renaming from the item definition to the component. Definitely not worth the time, but kind of interesting. I guess what I'm trying to say is that my day job (and Newtonsoft) has changed how my brain works.
|
# ? Jul 12, 2017 03:06 |
|
Oh if we're talking serializing in Unity, then yeah Unity gives you nothing and all their classes are locked out of standard .NET serialization so you always have to dehumanize yourself and roll your own / face the asset store because that's good engine design I guess. seiken posted:Don't use loving JSON, don't use loving YAML, use a sane, typed, backwards compatible format with explicit schema like protobuf or flatbuffers or cap'n proto. xzzy posted:So what's the alternative? Some kind of natural language processing so joe shmoe can dictate what they want the software to do and it magically does the right thing? If you care about enforcing schemas and structures and types and etc, use whatever format you want and don't let your users edit it by hand because they will gently caress it up.
|
# ? Jul 12, 2017 11:27 |
|
xgalaxy posted:If you need to serialize MonoBehavior state wouldn't you be better off refactoring that data into a subclass or an outer class that the Monobehavior loads instead? Then you can have normal C# poo poo like constructors and easy serialization. This is also what I was thinking, get the properties you need and serialize those. When you need them again load it up and set them again. No need to serialize the whole thing I think?
|
# ? Jul 12, 2017 13:24 |
|
SupSuper posted:The context was "basic user-editable files like configs". For those situations JSON is fine, or XML, or hell even an INI. The formats are straightforward and even a basic text editor will probably not mangle them. The point is to reduce user-developer friction as much as possible. If you use YAML, you're gonna be dealing with support requests because an editor decided to add tabs, or they missed a space, or in some contexts a value needs to be quoted as specified in YAML spec 3.14, or some other bullshit. ... the main argument against being, in the time it took you to even begin designing all of that, you could have dumped MiniJSON into your project and already had the first commit from your designer, who even if they were data file allergic, could use any of a number of tools to make JSON easier to interact with, which they could download and be using in like 5 minutes tops. I don't have particularly strong feelings about the format (beyond that it's XML++, and I used to like XML, so hey, sure, ok), but you gain a lot of force multipliers by using industry standard formats.
|
# ? Jul 12, 2017 16:44 |
|
Why are you using MiniJson? Doesn't Unity3d have a built in Json serializer now? I thought it did anyway. EDIT: Yes it does https://docs.unity3d.com/ScriptReference/JsonUtility.html
|
# ? Jul 12, 2017 20:01 |
|
xzzy posted:So what's the alternative? Some kind of natural language processing so joe shmoe can dictate what they want the software to do and it magically does the right thing? json, yaml and XML enforce that the writer use some structure but they don't naturally enforce that it matches the structure that is understood by the software, which is barely better than no structure at all. It's like having a C++ compiler that validates syntax but doesn't tell you about missing variables, wrong numbers of parameters, or all the other things compilers tell you about that mean your code won't work.
|
# ? Jul 12, 2017 20:05 |
|
Can anyone recommend any good GameDev focused Youtube channels? Preferably ones that have a wide range of coverage (tools, methods, etc) use small words for bad/incompetent developers as myself. Bonus points if they have anything talking about Unity 2017.
|
# ? Jul 12, 2017 20:43 |
|
Warbird posted:Can anyone recommend any good GameDev focused Youtube channels? Preferably ones that have a wide range of coverage (tools, methods, etc) use small words for bad/incompetent developers as myself. Bonus points if they have anything talking about Unity 2017. I really doubt there's a lot substantive about Unity 2017 at this point. It's not even a week after release.
|
# ? Jul 12, 2017 20:47 |
|
Warbird posted:Can anyone recommend any good GameDev focused Youtube channels? Preferably ones that have a wide range of coverage (tools, methods, etc) use small words for bad/incompetent developers as myself. Bonus points if they have anything talking about Unity 2017. I know a few great youtubes about game design, but it sounds like you're asking more about game programming? Programming videos are kinda dumb IMO. I'd rather read code or an article than watch somebody type in an IDE for 5 hours.
|
# ? Jul 12, 2017 21:07 |
|
|
# ? May 25, 2024 14:00 |
|
Zaphod42 posted:I know a few great youtubes about game design, but it sounds like you're asking more about game programming? I watched Jonathan Blow figure out he could erase a bunch of code from jai while I debugged some banal thing at work over two hours. I didn't learn anything, but it wasn't the worst thing I could have had on in the background.
|
# ? Jul 12, 2017 21:18 |