Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411515 Posts in 69376 Topics- by 58431 Members - Latest Member: Bohdan_Zoshchenko

April 27, 2024, 04:24:19 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Circa + Plastic Live Coding
Pages: [1]
Print
Author Topic: Circa + Plastic Live Coding  (Read 1592 times)
Don Andy
Level 10
*****


Andreas Kämper, Dandy, Tophat Andy


View Profile
« on: January 02, 2010, 12:55:43 AM »

I just stumbled over this and found it pretty interesting so I figured I'd share it here.

It's a programming environment called Plastic for a newly created language called Circa that's been purposely designed for live coding. There is also a pretty interesting

showing the thing in action.

The whole thing is apparently still fairly new and doesn't support a lot of things yet but I still find it interesting. It's not really viable for any "serious" game programming, since the language is still pretty limited but it could be nice for stuff like jamming, lectures, prototyping or simply playing around.

Sadly, I couldn't get the IDE to run for me. Probably something with Windows 7 or 64-bit, not really sure.

Circa + Plastic
Logged
Petethegoat
Level 1
*


Pete Goodfellow


View Profile WWW
« Reply #1 on: January 02, 2010, 04:12:21 AM »

I couldn't get the IDE working either, and i'm on XP, service pack 3. (32 bit)

The video is really interesting though, I'd love to try it.

Edit:
Just sent an email to the creator, so hopefully there will be a fix at some point. Smiley
« Last Edit: January 02, 2010, 04:20:57 AM by Petethegoat » Logged
mewse
Level 6
*



View Profile WWW
« Reply #2 on: January 02, 2010, 04:27:26 AM »

I'll just note that most professional C/C++ game engines already support basically these features.. though the "live code updates" would be restricted to scripting languages (from the screencast, it sounded like the live-update-supporting bit basically is a scripting language built around some underlying non-live-updatable system that handled persistent state and other such things;  did I interpret that correctly?).

In these professional engines, there will also usually be a direct network connection between the level editing tool and the running game so that objects can be moved around in the editor, and be instantaneously updated in-game;  you don't even have to fiddle with code to do these sorts of tasks!  Similarly, editing of variables via an on-screen GUI, or exposed via another external interface is also a very common feature.. though these tend to save final values out into data files, rather than to code.

Finally, live-updating of data assets is now a pretty common feature.. and a tremendously useful one.  The screencast only explicitly mentioned this for modified code, but in my experience this is most useful for data assets such as models and textures;  it lets you (for example) modify a texture and have the models which use that texture live-update to the new data without restarting the game.  Great for rapid adjustments to textures to cope with different lighting conditions or texture compression artifacts or just different appearances on different hardware.
Logged
mcc
Level 10
*****


glitch


View Profile WWW
« Reply #3 on: January 02, 2010, 05:41:33 PM »

I'd be curious how this compares to something like Chuck.
Logged

My projects:<br />Games: Jumpman Retro-futuristic platforming iJumpman iPhone version Drumcircle PC+smartphone music toy<br />More: RUN HELLO
barrybe
Level 0
*

..


View Profile
« Reply #4 on: January 03, 2010, 02:16:54 PM »

Hi guys, this is the author. (thanks pete for pointing me to this thread Smiley )

There was a problem with the alpha-2 build which made it not work, I uploaded a newer Windows package which should work.

As a warning, the current alpha release is pretty feature-barren, there's not much of a GUI and it's hard to figure out what you should be doing. Future releases will improve this, so the safest thing to do is wait for the beta release. In the meantime, this doc is good to read.

Quote
though the "live code updates" would be restricted to scripting languages (from the screencast, it sounded like the live-update-supporting bit basically is a scripting language built around some underlying non-live-updatable system that handled persistent state and other such things;  did I interpret that correctly?).

Yup that sounds about right. I think pretty much any live system is going to have some "core" code which can't be changed while running. But anyway, a typical user won't need to change the core code; they should be able to write a complete game from scratch without restarting.

For comparison with existing engines, yes it's definitely true that there are some great engines that already have these sorts of features (Unity being one of my favorites). I think the difference is just the style of workflow. With one of those engines, if you want to add new assets or modify configs, you have to click through a bunch of menus to do it. That's a fine way to work, and lots of people prefer it, but my preference is to do everything with source text. And I figured that maybe there are other people who also want to work that way. Life is nice and simple when it's just you and a text editor.

Also yeah, by default it also supports live updating of asset files. The user only needs to write the line: image:draw("MyImage.png", [x y]) , and the system will automatically reload MyImage.png when it changes. (Although in the current version, the image:draw function doesn't work so good, so don't actually try that yet Smiley )

Like Don Andy says, I don't think Circa+Plastic will be great for any big serious projects (at least, not for a while). Rather it will be more like Processing where it's good for quick experimenting and prototyping.

I'd be curious how this compares to something like Chuck.

Chuck is cool, their focus is primarily music generation. So they have much better support for things like timing and concurrency, because that stuff is very helpful for their domain. I don't think they have to worry about preserving state as much. Also they don't have as much support for graphics or user input.
Logged
mcc
Level 10
*****


glitch


View Profile WWW
« Reply #5 on: January 03, 2010, 06:07:21 PM »

barryb, interesting, thanks.
Logged

My projects:<br />Games: Jumpman Retro-futuristic platforming iJumpman iPhone version Drumcircle PC+smartphone music toy<br />More: RUN HELLO
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic