ferreiradaselva
|
|
« Reply #20 on: October 09, 2017, 03:46:08 PM » |
|
Pretty cool stuff . Idk if I would ever use, tho, because of laziness and my compile time doesn't take too long.
|
|
|
Logged
|
|
|
|
JWki
|
|
« Reply #21 on: October 09, 2017, 03:49:10 PM » |
|
Pretty cool stuff . Idk if I would ever use, tho, because of laziness and my compile time doesn't take too long. For me the advantage lies primarily in the not having to shut down and lose state part.
|
|
|
Logged
|
|
|
|
qMopey
|
|
« Reply #22 on: October 09, 2017, 04:14:59 PM » |
|
Pretty cool stuff . Idk if I would ever use, tho, because of laziness and my compile time doesn't take too long. For me the advantage lies primarily in the not having to shut down and lose state part. Exactly
|
|
|
Logged
|
|
|
|
qMopey
|
|
« Reply #23 on: October 09, 2017, 04:18:45 PM » |
|
Point isn't to avoid compile times. To do this kind of thing requires a low compile time anyway. The point is to not turn of the game. Stuff can be modified in code and immediately seen in action, and tweaked while playing.
These enemies are a little too fast? Tweak, done. This thing should have less HP? Tweak, done. This thing costs too much gold? Tweak done. This sprite needs to be moved a little to the left? Tweak, done. Then imagine tweaking stuff for years during development. The time saved is priceless.
|
|
|
Logged
|
|
|
|
ferreiradaselva
|
|
« Reply #24 on: October 09, 2017, 04:59:35 PM » |
|
Ohhh, that's actually a good point. Now I'm tempted to give a try.
|
|
|
Logged
|
|
|
|
qMopey
|
|
« Reply #25 on: October 09, 2017, 09:42:32 PM » |
|
It might be hard to really see the value unless you literally see it with your own eyes. Before I worked on a real game with hotloadable code, I wouldn't have really thought it was important. Actually my initial impression was "what a weird idea". It really seemed like a thing you have to try out to really feel the value.
|
|
|
Logged
|
|
|
|
JWki
|
|
« Reply #26 on: October 09, 2017, 09:59:20 PM » |
|
I recently found it to be very helpful when working on ui because there's lots of small things that you tweak when doing that - most of my editor stuff would have taken so much longer with a traditional work flow.
|
|
|
Logged
|
|
|
|
InfiniteStateMachine
|
|
« Reply #27 on: October 10, 2017, 03:08:31 PM » |
|
Point isn't to avoid compile times. To do this kind of thing requires a low compile time anyway. The point is to not turn of the game. Stuff can be modified in code and immediately seen in action, and tweaked while playing.
These enemies are a little too fast? Tweak, done. This thing should have less HP? Tweak, done. This thing costs too much gold? Tweak done. This sprite needs to be moved a little to the left? Tweak, done. Then imagine tweaking stuff for years during development. The time saved is priceless.
Not to say there's no reason to do this but all your examples seem like they could be solved more simply by hot loading some data instead of the entire dll. I usually picture dll swaps as a way to update code without restarting the engine.
|
|
|
Logged
|
|
|
|
qMopey
|
|
« Reply #28 on: October 10, 2017, 03:14:04 PM » |
|
Totally true, but someone has to write code to hotload that data, and properly support some kind of to/from disk operation. Each time a new feature is implemented, more boilerplate is needed to support hotloading its data.
If the code can be reloaded, then new features can be iterated upon without sinking time into supporting to/from disk operations.
|
|
|
Logged
|
|
|
|
InfiniteStateMachine
|
|
« Reply #29 on: October 10, 2017, 04:41:14 PM » |
|
Good point. Now looking forward to the next time I have to write an data loader in that environment :D
|
|
|
Logged
|
|
|
|
JWki
|
|
« Reply #30 on: October 11, 2017, 01:06:15 AM » |
|
Yeah I agree that hotloadable data also goes a long way in terms of iteration times. My current goal is to have both data and code be hotloadable - at some point code really becomes data.
|
|
|
Logged
|
|
|
|
qMopey
|
|
« Reply #31 on: October 11, 2017, 10:07:04 AM » |
|
The best part is when the code becomes the data itself
|
|
|
Logged
|
|
|
|
InfiniteStateMachine
|
|
« Reply #32 on: October 12, 2017, 09:27:22 AM » |
|
It's funny because this is something the lisp world has been doing for decades.
|
|
|
Logged
|
|
|
|
qMopey
|
|
« Reply #33 on: October 12, 2017, 09:39:00 AM » |
|
I actually really enjoyed reading a book on Lisp! I thought it was enlightening
|
|
|
Logged
|
|
|
|
Polly
Level 6
|
|
« Reply #34 on: October 12, 2017, 09:45:14 AM » |
|
It's funny because this is something the lisp world has been doing for decades. Indeed, it's nothing new ... but for some reason most people still use development environments that don't provide instant feedback. Maybe they don't want to give up on their "brb .. compiling" coffee-breaks or something?
|
|
|
Logged
|
|
|
|
Ordnas
|
|
« Reply #35 on: October 16, 2017, 11:54:30 PM » |
|
It's funny because this is something the lisp world has been doing for decades. Indeed, it's nothing new ... but for some reason most people still use development environments that don't provide instant feedback. Maybe they don't want to give up on their "brb .. compiling" coffee-breaks or something? Unreal Engine 4 has HotReload for C++ code, but in our project at work is not always working, maybe because the engine has been customized. For prototype, in my enviroment are the Blueprints.
|
|
|
Logged
|
Games:
|
|
|
InfiniteStateMachine
|
|
« Reply #36 on: October 17, 2017, 10:25:52 AM » |
|
It's funny because this is something the lisp world has been doing for decades. Indeed, it's nothing new ... but for some reason most people still use development environments that don't provide instant feedback. Maybe they don't want to give up on their "brb .. compiling" coffee-breaks or something? Hahaha yeah. I often wonder what life would be like without insane compile times.
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #37 on: January 10, 2018, 08:13:18 AM » |
|
Huh. Unity games always break when I edit code at runtime. Minor changes which don't break the code/compilation or mess with serialisation/data, like changing constants or modifying algorithms, without exception, always make the game stop working and the console spam out errors IME. So it actually works for other people?
|
|
|
Logged
|
|
|
|
|
Ordnas
|
|
« Reply #39 on: January 12, 2018, 01:10:49 AM » |
|
Yes, probably if the variable changed during hot reload is not read from an other object, could be easier to avoid a crash. Anyway the text file in JSON / XML remain the best to change things, expcially tuning stuff like characters stats.
|
|
|
Logged
|
Games:
|
|
|
|