Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Saikyun
@Saikyun
@syngrato ah, cool. I hope it works!
syngrato
@syngrato
@Saikyun Badabbing - it does.
Saikyun
@Saikyun
ah nice!
syngrato
@syngrato
@Saikyun Thanks for your help.
Saikyun
@Saikyun
no problem :) happy that it worked out.
syngrato
@syngrato
@Saikyun Ubuntu 19.04 with 2019.2 is not a good mix.
Saikyun
@Saikyun
ah I see.
good to know :)
Saikyun
@Saikyun
@nasser @timsgardner using @sogaiu s work on mixing clojure 1.10 + arcadia I managed to get a prepl working, mostly in the same way the socket-repl works: https://github.com/Saikyun/miracle.arcadia.prepl
the goal I tried to achieve is being able to build the game and still connect to a prepl (which is why it creates a game object + hook when in play mode). this works, but for some reason certain forms (ns, fn, etc) doesn't work. however functions like object-named do. sogaiu did manage to get this working using the socket-repl, so I think I'm missing something obvious. could you take a look? I think being able to prepl into a built arcadia game would be really neat, e.g. for patching while playing etc. hope you could take a look, it's not that much code. :)
Ramsey Nasser
@nasser
@syngrato glad you got it working! i took out an issue (arcadia-unity/Arcadia#370) to update our wiki to reflect the new UI
@Saikyun that looks interesting, i have to say i am not familiar with pREPL myself so i cant comment intelligently. what does it provide and what would we have to do to support it?
Tims Gardner
@timsgardner
hey @Saikyun I'll take a look
Saikyun
@Saikyun
@nasser it provides a "better" interfaces for programs talking with programs. Basically prepl will return results in the form of an edn-string that you can run read-string on. E.g. punk used this, and I want to use it for writing debugging ui. :)
The other thing you get is "server" -> repl client messages, in the form of tap>. What this means is that you get a built in way to send messages from the server, without having gotten input from the client. This allows for two-way communication, which is also neat for debugging :)
E.g. whenever you'd hit a breakpoint you could send the local state using tap>, without any input from the developer
@timsgardner thanks! I think you'll recognize some of the socket-repls guts in there... :)
If you want to try what currently breaks: include the files in a project, build the project, connect to it using nc, write (fn [] 5) and it'll break
@sogaiu managed to get this working with socket-repl, so there's something missing from my prepl
Saikyun
@Saikyun
Or wait, nevermind. Sogaius solution works with ns etc, but doesn't run on the main thread, do object-named would die.
To test prepl you also need to add this to your configuration.edn: :export-namespaces [arcadia.miracle.prepl]
Whoops, :export-namespaces [miracle.arcadia.prepl] I mean
Saikyun
@Saikyun
:export-namespaces [arcadia.miracle.prepl]
Ignore the last message >_< mobile gitter is not my friend
Saikyun
@Saikyun
Btw @nasser asking again about how to test if generated il will survive il2cpp :)
Ramsey Nasser
@nasser
@Saikyun prepl sounds like nrepl in that way? at least architecturally?
re: testing on il2cpp, i dont know of another way to test it than to try to build a game with it
Ramsey Nasser
@nasser
i expect it to fail due to ClojureCLR dependencies though. ClojureCLR uses the DLR which does not survive il2cpp compilation
in my iOS demo two years ago (http://nas.sr/magic/2017/12/28/early-ios.html) i compiled the assemblies separately and manually and i did not include ClojureCLR in the final build. there are instructions there, but let me know if i can clarify anything.
Saikyun
@Saikyun
@nasser I believe prepl is meant to be an official way of solving similar problems to nrepl. What I like about the prepl is that it's really small and imo pretty easy to understand. It's basically a socket repl, but it wraps results in a map, with a clear start and end. It's also easy to start several prepls, so you could imagine starting one server per "editor functionality", instead of creating a monolith.
Re: il2cpp -- yeah, I was just thinking if there exists a way to run that game without needing an iphone. E.g. could I test it by building for web? :)
Ramsey Nasser
@nasser
@Saikyun thanks for the prepl info! that makes sense.
re: il2cpp, i dont think you actually need an iphone to test it, just try and build an iOS project and i expect that to fail pretty early.
Saikyun
@Saikyun
@nasser ah I see! hopefully I get to try it soon enough :) thanks for all the info.
Ramsey Nasser
@nasser
@Saikyun best of luck!
timothy eichler
@timeyyy
Does arcadia also support 2d? Only see mentions of 3d on the github.
Ramsey Nasser
@nasser
@timeyyy you mean Unity's 2D APIs?
if so, then we sure do!
timothy eichler
@timeyyy
Nice.
Calvin
@ZHIAN99_twitter
hi could anyone help with my school project currently trying to stop my camera from going through objects / walls.
Saikyun
@Saikyun
@ZHIAN99_twitter the easiest way would be to
  1. create a cube
  2. disable the mesh renderer on it
  3. attach a camera to the cube
  4. move the cube instead of the camera
that should do it :)
Calvin
@ZHIAN99_twitter
it doesnt work though
because my camera right now has it attached to the player which has its own camera script
3rd person view
Saikyun
@Saikyun
@ZHIAN99_twitter unattach it from the player, put it on a box with a collider, then change the script to move the
box towards a specified position relative to the player
This way you get 3rd person camera, but also can use physics to avoid walls
Ramsey Nasser
@nasser
@ZHIAN99_twitter is this an arcadia project or a C# unity project?
camera controls in general can be somewhat complicated, and it will depend on exactly how your game works
@Saikyun's advice is good though, give it a shot