Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411421 Posts in 69363 Topics- by 58417 Members - Latest Member: joniparker

April 18, 2024, 04:03:57 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)game engine that never stops
Pages: 1 [2] 3
Print
Author Topic: game engine that never stops  (Read 7218 times)
ferreiradaselva
Level 3
***



View Profile
« Reply #20 on: October 09, 2017, 03:46:08 PM »

Pretty cool stuff  My Word!. Idk if I would ever use, tho, because of laziness and my compile time doesn't take too long.
Logged

JWki
Level 4
****


View Profile
« Reply #21 on: October 09, 2017, 03:49:10 PM »

Pretty cool stuff  My Word!. 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
Level 6
*


View Profile WWW
« Reply #22 on: October 09, 2017, 04:14:59 PM »

Pretty cool stuff  My Word!. 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
Level 6
*


View Profile WWW
« 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
Level 3
***



View Profile
« 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
Level 6
*


View Profile WWW
« 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.

 Gentleman
Logged
JWki
Level 4
****


View Profile
« 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
Level 10
*****



View Profile
« 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
Level 6
*


View Profile WWW
« 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
Level 10
*****



View Profile
« 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
Level 4
****


View Profile
« 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
Level 6
*


View Profile WWW
« Reply #31 on: October 11, 2017, 10:07:04 AM »

The best part is when the code becomes the data itself Smiley
Logged
InfiniteStateMachine
Level 10
*****



View Profile
« 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
Level 6
*


View Profile WWW
« Reply #33 on: October 12, 2017, 09:39:00 AM »

I actually really enjoyed reading a book on Lisp! I thought it was enlightening  My Word!
Logged
Polly
Level 6
*



View Profile
« 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? Roll Eyes
Logged
Ordnas
Level 10
*****



View Profile WWW
« 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? Roll Eyes

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
Level 10
*****



View Profile
« 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? Roll Eyes

Hahaha yeah.

I often wonder what life would be like without insane compile times.
Logged

oahda
Level 10
*****



View Profile
« 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? Shocked
Logged

Ordnas
Level 10
*****



View Profile WWW
« Reply #38 on: January 11, 2018, 01:15:51 AM »

I knew that Unity has some sort of edit at runtime, but I always take for granted that it will not work, probably because I tried once and it crashed badly  Huh?
Logged

Games:

Ordnas
Level 10
*****



View Profile WWW
« 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:

Pages: 1 [2] 3
Print
Jump to:  

Theme orange-lt created by panic