by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
fdamirv
@fdamirv

@rugbbyli, I tried that. There is example for iOS. It is old, but working:
nas.sr/magic/2017/12/28/early-ios.html

But there are limitations (nas.sr/magic/2017/12/28/early-ios.html#assembly-juggling) that does not allow me to build whole my project for android through il2cpp.
So now I am porting from clojure to С# (as Google Play requires 64-bit and il2cpp).

RugbbyLi
@rugbbyli
Thanks, i will try that.
fdamirv
@fdamirv

rewriting in C# is probably the simple option

done

FM
@FabianMk

Yahoo!
Developed using Arcadia:

https://play.google.com/store/apps/details?id=farazetdinov_damir.down_to_earth2

Is the code for it somewhere on github? Would love to see it. Found only few old Arcadia examples so far

Gary Deer
@gdeer81
Well it's not pretty but I can connect to the arcadia repl from intellij with cursive. Yeah there is a lot of complaining on both sides, intellij and unity, but amongst all the red text is the result of my evaluation. I've almost finished following along to @selfsame 's circle train video and am going to try to reproduce it as a more polished tutorial video like I said I was going to do two years ago. I think this is the year I actually get good with Arcadia. we'll see =O
fdamirv
@fdamirv

Yahoo!
Developed using Arcadia:

https://play.google.com/store/apps/details?id=farazetdinov_damir.down_to_earth2

Is the code for it somewhere on github? Would love to see it. Found only few old Arcadia examples so far

This is private ATM.
Part 1 is truly Clojure-powered (95%). It has 2 bugs. I will fix and publish on GitHub.
Part 2 is 100% C#. It will remain private.

1 reply
Gary Deer
@gdeer81
@fdamirv very nice, it's a fun little game and it uses less memory than my slack app
fdamirv
@fdamirv
Original (1987) used 48К of ZX-Spectrum RAM.
В)
Gary Deer
@gdeer81

It's exciting to see that the re-frame model has been ported to Arcadia, but the documentation is pretty lacking. Anyone have a project I can pull down and play with that uses it?

Also, I did a Unity course which I'm now trying to port to Arcadia and there are a couple of things that we did in the course that I'm trying to translate to the basic workflow that I've learned from watching @selfsame videos.

After trying to type up the differences between the course and how I learned to use Arcadia, I realized that I just need to start from scratch instead of trying to gradually replace the c# code
Ramsey Nasser
@nasser
hi all! apologies for the extended absence... ive been heads down working on finishing MAGIC and that plus the pressures of the political/pandemic situation in the world have been squeezing me... gitter fell through the cracks :(
@megapink this is a few months late but re: time estimate -- we deliver the compiler next week! a beta version at least. all clojure tests are passing and weve confirmed export to the iPhone, which was the main goal and something that Arcadia has lacked for its whole existence
there is still a lot of work to do re: integration into Unity and the REPL and optimizing the compiler itself, but the first step of a hackable clojureclr compiler in clojure is more or less in the bag
Ramsey Nasser
@nasser
@adamhill i will check this out! i personally prefer generating bytecode because it really is quite convenient once you wrap your head around it, but generating eg c# source is worth looking at
@setzer22 thanks! :tada:
@Saikyun @thurn no support for custom hooks at the moment. theyre intended to wrap unity's own events and not as a generic dispatch system. like you said, we'd recommend calling standard clojure functions instead
@fdamirv arcadia does not currently support IL2CPP it rejects ClojureCLR , but a primary goal of the MAGIC compiler project is IL2CPP support which we confirmed working last month. the beta of the compiler is slated for delivery next week (we are on a contract) and it will likely be a bit more time before the tooling and everything is integrated nicely. so, not quite yet, but soon, hopefully
@rugbbyli advice on MAGIC in the wiki has been invalidated by the work we did in the past 6 months. we will update it when things are a bit more stable.
Saikyun
@Saikyun
Awesome news :) keep up the good job!
Good work I mean :D
Gary Deer
@gdeer81
It's all very exciting stuff that I'll one day understand =D
Derek Thurn
@thurn
Awesome! I've been very happy with arcadia so far and haven't had any real trouble sustaining 60fps on android with the current system, so hopefully MAGIC is just a performance bonus on top of that
Ramsey Nasser
@nasser
@thurn thats good to hear!
the hope is that MAGIC will be as fast as the current compiler for most things, but significantly faster for numeric and interop-heavy code
a bunch of optimizations got turned off to pass the test suite but we're tracking them
Gary Deer
@gdeer81
last night I wrote a clunky 3D tictactoe game. I went from new project at 430pm to a fully functional game that my girlfriend recognized as tic tac toe and could play with me by 10pm. it's not pretty (the code or the ui) but I had fun and it was nice to actually have a whole game at the end of the day instead of an incomplete mess
Ramsey Nasser
@nasser
@gdeer81 :tada:
Gary Deer
@gdeer81

tonight I'll see if I can refactor it to use Pastoral which will hopefully clean up all that state management that one has to do for a simple tic-tac-toe game |>_<|

I still need to commit and push this current iteration though after I add a README with a huge warning that this code should not be used as an example of how to create a game in Arcadia.

an update on the hex game I made following along to the 2 youtube videos from @selfsame : pretty good for a first attempt but it's a hot mess. (especially since I've gotten really rusty at blender)

However, I'm trying not to get discouraged because the whole reason I wanted to re-do the project and turn it into a tutorial was so new people could have a hand-holdy tutorial and wouldn't get discouraged (I'm probably just projecting on to these hypothetical new developers)

@nasser 4 years ago you called me a prince for promising to make all these great tutorials and documentation. I'm still trying to keep that promise and live up to that title to this day =D

Saikyun
@Saikyun
good job @gdeer81 ! :D enjoyable to hear about your progresss
Gary Deer
@gdeer81
@Saikyun thanks, I've probably said this before, but I like your youtube videos, they're really helpful for me in a lot of ways
Saikyun
@Saikyun
Thank you for saying so ^_^
Gary Deer
@gdeer81

last night I added ai for my tic-tac-toe game and I got the fighter tutorial https://github.com/arcadia-unity/fighter-tutorial working with the latest arcadia release and unity 2020.

As usual, it's not pretty because I had to create a namespace to paste in all of the missing sugar calls and get the spec calls working but it was an interesting exercise and I think I have a better understanding of roles.

sogaiu
@sogaiu
cool that you got it working!
Jason Chandler
@jason-chandler_gitlab
Really like hearing about the progress, Gary! Nice job!
Gary Deer
@gdeer81

Thanks!
last night I played with rigging up a sprite because my girlfriend wanted me to add a panda to the fighter tutorial.
I had to rewrite the movement logic because pandas and spaceships move a little differently so I was reminded how nice it is to be able to fiddle with functions while the game is running.
Turns out it wasn't my logic that was causing my poor panda to fall through space, I just forgot to set the gravity to zero on his rigid body
I guess I could've done in the code but I've learned to let unity handle the uninteresting parts of the prefabs

The interesting part was when I set up the animations I had an "idle" animation and a "running" animation so when it's just standing around it's breathing heavy and when you move it, the legs move, and then when you stop pressing the wasd keys it stops and goes back into the idle animation.

so I was able to use with-cmpt to grab it's animator and use interop to call the SetBool for the boolean value I set up in unity's animator ui. So yeah, my clojure code can toggle the animation.

I'm going to start documenting all my progress in a blog somewhere so I don't keep dumping a wall of text here every day. Maybe I'll stumble backwards into one of my original goals when I first joined the community and help document the API and provide interesting usage examples.

TL;DR: I got another thing working and went into a lot of detail about it, I vowed to never do this again in gitter and instead put implementation details in a blog

Saikyun
@Saikyun
looking forward to reading the blog bost :)
sogaiu
@sogaiu
yes!
and more pandas please!
sogaiu
@sogaiu
i don't know if it's a problem to see what you're up to here - at least i have been enjoying what you share :)
Gary Deer
@gdeer81
okay as per usual, I wasted way too much time fiddling with the design, but now I have a place to document the verbose details of me trying to make games: https://gdeer81.github.io/
sogaiu
@sogaiu
fwiw a link there: https://gdeer81.github.io/portfolio 404s for me
sogaiu
@sogaiu

@gdeer81 i think at some point cursive got socket repl support: https://cursive-ide.com/userguide/repl.html#remote-repls

don't know if that helps at all, but that's an alternative way of having a connection between arcadia and cursive (other than the usual nrepl) -- may be you've already tried or already doing so?

Gary Deer
@gdeer81
@sogaiu whoops thanks for the headsup, the navbar link to it works (https://gdeer81.github.io/pages-output/portfolio/) but the link in the homepage body didn't get generated properly for some reason
and I never knew about tubular (which I learned about from reading that link you posted) but my attention budget is getting stretched so I'll have to put it on the old todo since the repl i'm using works for now, it just makes a lot of noise
Victor Bjelkholm
@victorb
Maybe more of a CLR question rather than Arcadia, but trying to set what seems to be union types, for Rigidbody.constraints. Unity docs says m_Rigidbody.constraints = RigidbodyConstraints.FreezePositionZ | RigidbodyConstraints.FreezeRotationZ but I'm unable to figure out how to express that in CLR
Victor Bjelkholm
@victorb
Since docs mention "You can use the bitwise OR operator to combine multiple constraints" I gave it a try to use bit-or from clojure-land, but that returns System.Int64 instead of required UnityEngine.RigidbodyConstraints
fdamirv
@fdamirv
Set it up in Unity Editor and use prefab.
Ramsey Nasser
@nasser
@victorb ClojureCLR has enum-or that does what you want in this case
try (enum-or RigidbodyConstraints/FreezePositionZ RigidbodyConstraints/FreezeRotationZ)