amasinton
Level 1
|
|
« Reply #220 on: August 12, 2020, 08:50:36 PM » |
|
Wow! This is great - so much progress. There's so much to comment on, I'll take it one at a time, if that's alright.. Noticed there are some parallels to the dev going on in amasinton's fantastic log for The Resurrection. This is so cool - thanks for the shoutout! There are a lot of interesting parallels between our two projects, at so many levels, and it's neat to see them set out here. In my case I have a column for each NPC so I can see side by side what they're doing in parallel at the same points in time.
This is so important in a game like this. While I like my charts, I think your spreadsheet approach here is practical and clear - really useful. I haven't started working this part out for the artifacts in my game yet (artifacts are like NPCs in my game in that they exist across multiple periods and timelines) - but eventually I will, and I think I'll do it like you've done here. I did mine ages ago, before I even started this thread, but I've never shown it here, so here it is:
Thanks for sharing this. You were wise to do this early - it shows you had a good grasp of your goals and the story or experience you trying to convey! Still not sure how to deal with it, but I imagine it might be more of a freeform thing where you can move things around a bit like you prefer, a bit like in ColePowered's Shadows of Doubt, another cool game on TIGS with some similarities to mine! Thanks for the pointer to 'Shadows of Doubt' - I didn't know about, but I'm definitely keeping an eye on it now. I'd like to hear more about what you mean by 'freeform'. You mentioned later in this post that some of your environment might be procedural and some of it, like the town core, is hand-built. Is this how you see some of your plot points, too? A mix of scripted and chance? It's a clever approach. It will also be quite a balancing-act. Like ColePowered mentions in his log - it sounds simple enough, but building the rule/code architecture to support it is complicated (and a lot of fun!). Then there's also the fact that we're both trying to cram a lot into a small space, with the layers offered by time travel.
A small space can be infinite if you can time travel! Time expands space - and space can hide time. There's an almost overwhelming flexibility when you are working with layers of time. ... but having to fit the story and gameplay bits together comes with its own problem solving, and it's fun to figure that puzzle out!
YES! It is fun! Anyway, I'm back to working on the editor for a bit, adding stuff I need to get stuff into the game more easily so I can actually be productive, and I don't want to make my proper updates about technical stuff that's not even in the game, so I'm dumping a picture here in the bonus post as well. This stuff is interesting and valuable in its own right. Those tools you're building will save you so much time later on, and other devs will benefit from your experience if you share. (And I think the other responses to this post support that - you've piqued interest with this part, too.) Keep up the good work - and thanks for the cross-thread discussion! Also, your town design reminds me of a more vertical Precolumbian Tenochtitlan - but set in Norway. It's a fascinating mix!
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #221 on: August 13, 2020, 02:37:27 AM » |
|
Thank you! it shows you had a good grasp of your goals and the story or experience you trying to convey! The overarching stuff has been somewhat solid for quite a while now, but still so many details to figure out, heh. One thing at a time is what I have to keep reminding myself of, also with regards to programming tasks, town layout and so on. Lots of notes. I'd like to hear more about what you mean by 'freeform'. You mentioned later in this post that some of your environment might be procedural and some of it, like the town core, is hand-built. Is this how you see some of your plot points, too? A mix of scripted and chance? Oh, in this case I was actually referring specifically to allowing the player to organise the photographs and connections between them very freely (without snapping them to a grid or anything), rather than to the gameplay overall. But in terms of the latter, I do want the town itself to always look the same (like I said in a previous post, I consider this game merely a fiction set in a "real" town that's meant to exist outside of this game). But I am inspired by the replayability offered by randomisers for games like the N64 Zeldas, and it would be neat if I could have something similar be built into the game itself, so that details of the plot (who did what and where) and progression (order of unlocking memories and such) could change around a bit as long as it doesn't interfere with the main plot, so that every playthrough can be somewhat fresh but still familiar and in line with the story I want to tell, and its themes, and still letting you get to know the same characters. A small space can be infinite if you can time travel! Time expands space - and space can hide time. There's an almost overwhelming flexibility when you are working with layers of time. Yep! I guess it's fairly restricted in my case, since I'm only working with something like an hour or however long the final cycle will end up being, but a lot will happen in that time! Also, your town design reminds me of a more vertical Precolumbian Tenochtitlan - but set in Norway. It's a fascinating mix!
Wow, this I did not know! Thanks for telling me about it. Keep up the good work - and thanks for the cross-thread discussion! Thank you, and likewise!
|
|
|
Logged
|
|
|
|
Guntha
|
|
« Reply #222 on: August 23, 2020, 03:51:47 AM » |
|
Hello, I've been following this project for a while, and I keep being impressed And I can only approve the choice of dear imgui and the glTF format :p It also reassures me a bit, so far I was the only developer I knew who uses glTF :p
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #223 on: August 25, 2020, 09:51:34 AM » |
|
Hello to you too, and thank you! Dear ImGui and glTF are cool. Had a rather productive week followed by almost another week of chasing down a sudden bug, which set me back a bit, so we'll see when the next update comes along. Finally found and fixed it today anyhow. Got some unrelated issues sorted out along the way at least, so not a complete waste of time. Time to pick back up where I was!
|
|
|
Logged
|
|
|
|
RealScaniX
Level 6
Scanix (ignore the "Real", Scanix was taken)
|
|
« Reply #224 on: August 25, 2020, 10:42:11 AM » |
|
Good to hear about the productive week. And I hate sudden bugs, because it is such a waste of time and when it's done you are back to where you've been before. Glad to hear that you were able to fix that already.
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #225 on: August 25, 2020, 01:21:11 PM » |
|
Thanks! Here's a GIF in the meantime. Part of getting productive is making the editor automatically handle additions, changes and removal of resources, and hotloading kind of comes for free with that: Previously had to do a lot of stuff manually every time I wanted to, say, add a new model, and I'd have to restart the whole game if I changed a shader. Going to be faster to build the world out when the editor deals with it all. Such is life without Unity.
|
|
« Last Edit: August 25, 2020, 10:30:57 PM by Prinsessa »
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #226 on: August 25, 2020, 02:52:04 PM » |
|
Hot reloading... niiice
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #227 on: August 26, 2020, 02:16:35 AM » |
|
Yesssss. To think I did all the shader work up until now while I had to restart the game after every change!
|
|
|
Logged
|
|
|
|
RealScaniX
Level 6
Scanix (ignore the "Real", Scanix was taken)
|
|
« Reply #228 on: August 26, 2020, 02:42:14 AM » |
|
Yesssss. To think I did all the shader work up until now while I had to restart the game after every change! I'm always working on my shaders while the game is running, but restarting is still the number one action in Unity... Xd
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #229 on: August 29, 2020, 04:55:26 AM » |
|
True, in Unity most changes to scripts will break things while running, but I'm not sure I can do better in my engine. We'll see!
|
|
|
Logged
|
|
|
|
nova++
|
|
« Reply #230 on: August 29, 2020, 08:04:02 AM » |
|
True, in Unity most changes to scripts will break things while running, but I'm not sure I can do better in my engine. We'll see! I remember a simpler time, aeons ago, back when Unity seemed to handle that better, and before I did anything complicated enough to break if hot-reloaded...
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #231 on: August 29, 2020, 09:57:26 AM » |
|
At least in my case I just don't feel it's worth trying to figure out how to deal with broken references and stuff upon reload, but I'll certainly try and see what happens if I reload a script while running; maybe the AngelScript implementation is able to deal with it without my help!
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #232 on: August 31, 2020, 01:09:26 PM » |
|
19 Tech trekTerribly sorry about this. I said I didn't want boring updates like this, but it's all I've got, and I did set a goal of one proper devlog update a month, so I have to! Basically I've been trying to get the features I need into the editor in order to be able to actually craft the content of the game more effectively. Got my basic engine and game systems working, got my story spreadsheet, can't avoid this any longer! EditingWhat else is an editor for? Can now put stuff in the scene and set it up a bit, with undo and redo, and resources can be accessed, for example to pick a mesh or a texture. HotloadingYou already saw shaders autorefreshing in the editor. The editor now tells the running game to reload modified resources too. OtherDoesn't look like much condensed into an update with highlights, but all sorts is happening under the hood. Still reluctant to describe it all in boring detail. Currently working on serialisation of values overridden by prefab instances. Parenting/ordering entities in the hierarchy. Stuff~ Really need to sleep so I'll stop here!
|
|
|
Logged
|
|
|
|
Ishi
|
|
« Reply #233 on: August 31, 2020, 04:26:20 PM » |
|
Not boring at all, great work on all this core editor stuff!
|
|
|
Logged
|
|
|
|
ProgramGamer
|
|
« Reply #234 on: August 31, 2020, 04:51:02 PM » |
|
Small incremental changes are good! Also, I'll have to ask for tech advice from you at some point since I also want some sort of editor for SPSD.
|
|
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #235 on: September 01, 2020, 12:51:00 AM » |
|
Joke's on you, this is a forum full of game dev nerds (and the occasional plain dev nerd, like me) who love these kinds of updates!
|
|
|
Logged
|
|
|
|
RealScaniX
Level 6
Scanix (ignore the "Real", Scanix was taken)
|
|
« Reply #236 on: September 01, 2020, 01:08:15 AM » |
|
Yes, that is really nice. Technical updates are pretty interesting, too. At least in this forum.
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #237 on: September 01, 2020, 04:53:27 AM » |
|
Whew, that's good to know then, thank you all! Been postponing enginey stuff to have more game to show off, but it's finally caught up with me. Also, I'll have to ask for tech advice from you at some point since I also want some sort of editor for SPSD. My DM's are open, as the cool kids say.
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #238 on: September 06, 2020, 08:10:42 AM » |
|
20 Composing componentsI think I may have done myself a disservice by going with the monthly updates, because it made me stress out a bit about having something substantial for each one after such a long time. Here's me trying to devlog smaller stuff a bit more often! Currently making sure every type of component can be edited in the editor now. Mostly a frictionless process, but a little less straightforward sometimes as I'm also fixing the component interfaces up a bit now that I'm back to working on them, and generalising code when multiple components need the same functionality. TransformThis one you've seen before! Kind of a special case which doesn't really match the others anymore as the labels are above the fields and not on the right. Maybe I'll fix that. CameraOn the other hand the viewport fields don't say X and Y so maybe that needs fixing here? Also single and multiselect dropdowns, and the generalised resource picker (here for the post effect shader) gizmo I got in place before the last update. Still haven't added the projection settings (field of view, draw distance and so on). LightYou saw me creating and moving a lamp in the last update, but was not able to change its settings before now! Colour picker is a Dear ImGui built-in but I had not used it before now. Graphics3D for meshes and 2D for sprites. They have some settings in common. Still missing are material overrides, changing per-entity values of shader variables, like what texture to use. ScriptablesThese allow you to assign a script or a registered C++ class with a couple of callbacks to a component. Still missing are all the serialised properties (variables exposed to the editor so that they can be changed there). I have an idea for that... AnimatorWhat it sounds like. More resource pickers! Want to add some controllers to play animations in the editor too. And will need a whole animation controller (state machine that changes animations depending on variables, blends multiple animations together and so on) subeditor, because currently I have to deal with JSON files that look like this: { "names": [ "idle", "walk", "run-l", "run", "run-r", "hug", "dead", "sit", "sit-rest" ], "clips": [ { "type": 0, "loop": true, "names": [0] }, { "type": 0, "loop": true, "names": [1] }, { "type": 0, "loop": true, "names": [2] }, { "type": 0, "loop": true, "names": [3] }, { "type": 0, "loop": true, "names": [4] }, { "type": 1, "loop": true, "var": 1, "names": [2, 3, 4] }, { "type": 1, "loop": true, "var": 0, "names": [0, 1, 5] }, { "type": 0, "loop": true, "names": [5] }, { "type": 0, "loop": true, "names": [6] }, { "type": 0, "loop": true, "names": [7] }, { "type": 0, "loop": true, "names": [8] } ], "entry": 6, "vars": [ { "name": "speed", "type": 2, "val": 0.0 }, { "name": "dir", "type": 2, "val": 0.5 }, { "name": "hugging", "type": 0, "val": false }, { "name": "dead", "type": 0, "val": false }, { "name": "sit", "type": 0, "val": false }, { "name": "sit-rest", "type": 0, "val": false } ], "triggers": [], "consts": [], "transitions": [ { "src": -1, "dst": 7, "var": 2, "behaviour": 0, "operation": 0, "comp": { "type": 0, "val": { "type": 0, "val": true } } }, { "src": 7, "dst": 6, "var": 2, "behaviour": 0, "operation": 0, "comp": { "type": 0, "val": { "type": 0, "val": false } } }, { "src": -1, "dst": 8, "var": 3, "behaviour": 0, "operation": 0, "comp": { "type": 0, "val": { "type": 0, "val": true } } }, { "src": 8, "dst": 6, "var": 3, "behaviour": 0, "operation": 0, "comp": { "type": 0, "val": { "type": 0, "val": false } } }, { "src": -1, "dst": 9, "var": 4, "behaviour": 0, "operation": 0, "comp": { "type": 0, "val": { "type": 0, "val": true } } }, { "src": -1, "dst": 10, "var": 5, "behaviour": 0, "operation": 0, "comp": { "type": 0, "val": { "type": 0, "val": true } } } ] }
|
|
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #239 on: September 07, 2020, 08:36:48 AM » |
|
Cool! Do you maybe have some gifs of the effects of tweaking the variables? Like the FOV settings for example?
|
|
|
Logged
|
|
|
|
|