Lisplog

Blogging in Lisp

Search

Feed Aggregator Page 658

Rendered on Fri, 09 Oct 2020 16:03:54 GMT  newer latest older 

Do you put tests outside the `tests/` folder?

via Elm - Latest posts by @lydell Simon Lydell on Fri, 09 Oct 2020 15:37:38 GMT

:heart: this comment if you only put tests in the tests/ folder!

Do you put tests outside the `tests/` folder?

via Elm - Latest posts by @lydell Simon Lydell on Fri, 09 Oct 2020 15:37:17 GMT

How do you run your tests?

  1. Just elm-test. Sorry, that’s not what I’m look for this time! But feel free to :heart: the next comment.

  2. elm-test elm/test/ or elm-test src/ or elm-test "src/**/*Test.elm" or something like that. Please leave a reply below!

The reason I’m asking is because I’m working on a pull request for the elm-test runner and I would like to know more about how people are organizing their tests apart from the standard tests/ folder!

Package install timeout 0.19.1

via Elm - Latest posts by @lydell Simon Lydell on Fri, 09 Oct 2020 15:27:50 GMT

If you go to https://github.com/elm-community/list-extra/zipball/8.2.4/ in your browser, is the zip downloaded?

Package install timeout 0.19.1

via Elm - Latest posts by @Muhmmmad_Bilal Muhmmmad Bilal on Fri, 09 Oct 2020 14:32:57 GMT

Whatever package I try to install, installer gives me the same error for that package. e.g.

-- PROBLEM DOWNLOADING PACKAGE -------------------------------------------------

 I was trying to download the source code for elm-community/list-extra 8.2.4, so
 I tried to fetch:


 https://github.com/elm-community/list-extra/zipball/8.2.4/

 But my HTTP library is giving me the following error message:

 ConnectionTimeout

Composing a Task with a function that returns a Cmd

via Elm - Latest posts by @opvasger Asger Nielsen on Fri, 09 Oct 2020 13:34:43 GMT

Agreed - these kinds of tricks comes at a cost. Alternatively, you could make a specialized GetTimeForSaveFile-message, without the type-parameter. It feels “dumber”, but it’s probably the best approach :sunny:

Composing a Task with a function that returns a Cmd

via Elm - Latest posts by @MartinS on Fri, 09 Oct 2020 13:03:17 GMT

Note that there are drawbacks to storing functions in your Msg type (same problems also apply to the Model type) Implications of storing functions in model or msg type

Composing a Task with a function that returns a Cmd

via Elm - Latest posts by @rupert Rupert Smith on Fri, 09 Oct 2020 12:19:04 GMT

Neat idea @opsvager, I had never considered a recursive Msg type like that before. :+1:

Nicolas Hafner: Expanding Outwards - October Kandria Update

via Planet Lisp by on Fri, 09 Oct 2020 11:40:56 GMT

header
A new month, a new Kandria update! First of all, a new prototype version is now up for download. As always, you can get it here. A short list of major improvements:

  • Audio! There's now music and sound effects. It'll be placeholder stuff for a while, but at least the game won't be silent any longer.
  • A new level. The new level is larger, contains a proper platforming challenge, and several items to inspect to give you a bit of a preview of what the exploration will be like.
  • Mechanics changes. Climbing is now limited by stamina, and the behaviour for dashing, jumping, and general collision has been adjusted.
  • Ropes and water. Ropes allow unlimited climbing and water provides different physics.
  • Dialogue and quests. As mentioned, you can now inspect items, which will bring up a dialogue screen. This is integrated with a quest system that can track progress through tasks - there's no UI for that yet though, so you'll have to take my word for that one.
  • Feedback and diagnostics. There's now an integrated feedback system. You can hit F12 at any point and it'll pause the game and bring up a feedback form to allow you to submit a report. It'll also do that automatically if the game crashes. With F11 you can also bring up a diagnostics screen to debug performance issues.

There's more stuff that was done, but it's mostly bugfixes and improvements to the development tools and all that.

Most of the month however was not spent writing code, and instead evaluating and processing job applications. The long awaited team expansion is really finally happening, and I'm really excited for it! There'll be two new members, an artist, and a writer. I'll talk a bit about the application process and what I learned from it first, though.

Initially I thought I'd get a couple of applications at most, maybe ten per job offer. With that in mind I put up a simple page to announce the jobs asking people to email me, and linked to that on Twitter. I also asked a bunch of people from gamedev communities I'm a part of to help spread it.... and help that did. My offer tweet got over a hundred retweets, which is far more than I ever got on anything else. I know it's still not much by Twitter standards, but hell it was plenty.

I also got approached by the owner of https://remotegamejobs.com, who offered me free listings for the jobs on his site. That was a really nice gesture and I gladly accepted. This further boosted the exposure of the listing by a lot, so I'll definitely take up their service again in the future.

Applications started rolling in pretty quick after I posted on Twitter, and kept on coming in for the coming weeks. I got a total of 166 applications for both jobs. 46 of those were for the artist position, and the rest all for the writer position, which surprised me a bit. I guess writing is far more popular than I expected! The range of applications I got was also quite something. Some barely wrote anything in their emails, others wrote very in-depth personal letters that impressed me a lot. I also got a couple of applications from people that I guess only read the tweet and just DMed me instead of emailing me like I asked.

It was really interesting to see things from the position of a recruiter, rather than the more common position of being an applicant. I think I learned a lot about what to do and not to do when I have to apply for a position in the future. My most important point to take away was to take time writing the application email and really look into not only the job offer, but also the background of the company and the project, so that you can show that you understood it and are genuinely interested in being a part of the team. Looking for people that wrote personal letters and showed they looked at things already filtered out so many applicants, it was staggering.

Sorting through all of these applications, and especially figuring out how I felt about each of them took a long, long time. Way longer than I had anticipated and hoped it would. Finally deciding on who to interview, and ultimately, who to pick, also took a lot of deliberation. Still, I got two people that I'm happy with now and they're going to start soon. We've already worked out the contracts, so all that's left now is to wait for the official starting time!

The artist I can already announce, so I asked him to write a short introduction for himself:

Hey everyone! My name's Fred, a French artist residing in San Francisco. Been a lover of pixel art since I'm 10 and worked on a few projects before like Black Future 88 and Batbarian: Testament of the Primordials. I'm really excited to join the Kandria's art team and help develop this cool new universe!

You can find him on Twitter at @brobbeh, and he's now also on the official Discord. Fred will be starting on the 19th, so not much longer from now! The art he's done on BF88 and Batbarian is really slick and nice, so I'm really looking forward to what he can come up with for Kandria!

The writer will be starting on the 1st of November and has asked me to hold off on announcing him until then, so he'll have to stay a secret for now!

So, with all of this exciting stuff out of the way, let's take another look at the rough roadmap and where we stand by now. Everything on that list has been done with the exception of better combat. That's what I hope to figure out together with Fred. I'm sure his animation expertise will help a lot in making the combat more fluid and fun. Other than that, there's nothing on that roadmap that's in the way of the full production phase.

However, with that list being fairly coarse grained, I think it's worthwhile to draw up a new, more detailed roadmap for the future. This is the roadmap from now until the 1st of March 2021. That's a hard deadline, as that's the submission deadline to apply for the Pro Helvetia grant, which I want to apply for again. Getting the grant would extend my funds and ability to continue hiring my two new teammates significantly.

  • Write documentation for the existing systems to serve as introduction and reference for my new team members
  • Implement better tooling like a quest editor and an improved animation editor
  • Design better combat animations and a better combat system in general
  • Implement a couple of very simple enemy types
  • Design and write out the introduction and tutorial area of the game
  • Design and write out the base camp and first two quests
  • Flesh things out and polish them for a proper vertical slice

This should be doable until March. There's of course other, minor things to do and stuff that needs to be done for the application besides the vertical slice, but it is a good anchor point to set everything around. Currently I'm optimistic that we can get things done, but also quite anxious since I've never had a real team before, and this is now my full-time job, so there's a lot on the line. I'm worried that I'd fuck up the management and communication, or that my tools and development environment are too annoying and broken to efficiently work with. I've always been very nervous about things like that though, so I'm going to assume that's just me being overly concerned more likely than anything.

Anyway, things are moving faster and faster now, and I'm really excited to see where things are going from here. Next month we'll have the writer on the team as well, and hopefully already got some more art, animation, and prep-work done to go full steam ahead on production!

If you want to be kept up to date more regularly for development news and insights, subscribe to the mailing list!

Composing a Task with a function that returns a Cmd

via Elm - Latest posts by @opvasger Asger Nielsen on Fri, 09 Oct 2020 11:46:25 GMT

You could write a “Helper-message” that could look like this:

type Msg =
   ...
   | GetTimeFor (Time.Posix -> Msg)
   | SaveToFile String Time.Posix

update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
   case msg of
      ...
      GetTimeFor toMsg->
         (model, Task.perform toMsg Time.now)

Didn’t check if this compiles, but does it make sense? :sunny:

you would send the message like GetTimeFor (SaveToFile "hello bro")

I think it’s quite nice that GetTimeFor is now reusable wherever you may need it!

Composing a Task with a function that returns a Cmd

via Elm - Latest posts by @lazurski Tad Lispy on Fri, 09 Oct 2020 11:13:20 GMT

Say I have a function doSomething : a -> Cmd b and another getArgument : Task x a. Can I combine them to get a single Cmd b?

Classic example would be getting current time with Time.now and passing it to a function Time.Posix -> Cmd b. In my case I want to use timestamp in the name of a file downloaded with File.Download.string.

If doSomething would return a Task x b I could do

getArgument 
    |> Task.andThen doSomething 
    |> Task.attempt handleResult

Is there a way to compose the Task and a function returning a Cmd? Or do I always need two Msgs an two updates - first to get a and then to pass it to the doSomething and return a Cmd b?

Can we create Mobile apps in elm?

via Elm - Latest posts by @francescortiz Francesc Ortiz on Fri, 09 Oct 2020 07:13:37 GMT

I read on reddit someone complaining that F# compiler is way too slow. I would double check that if I would you go for this, which looks very interesting too.

Elm sponsorships

via Elm - Latest posts by @system system on Fri, 09 Oct 2020 06:55:43 GMT

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.

Elm-review 1-year anniversary - what lies ahead?

via Elm - Latest posts by @system system on Fri, 09 Oct 2020 06:50:14 GMT

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.

Elm Hacktoberfest Kickoff with Panel Discussion and Project Q&A

via Elm - Latest posts by @system system on Fri, 09 Oct 2020 06:49:35 GMT

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.

Float types with inputs?

via Elm - Latest posts by @system system on Fri, 09 Oct 2020 04:20:53 GMT

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.

Can we create Mobile apps in elm?

via Elm - Latest posts by @Taha on Thu, 08 Oct 2020 23:31:36 GMT

While I haven’t tried it myself, F#'s Elmish ecosystem looks interesting. You get to use the Elm architecture you know and love, while targeting the browser (Fable Elmish) and mobile (Fabulous). It also helps that the F# language is similar to Elm in many ways (similar syntax, functional-first style, pipe operators, the lack of more ‘heavyweight’ features like typeclasses, etc)

I think I found a bug in the compiler

via Elm - Latest posts by @dta David Andrews on Thu, 08 Oct 2020 23:06:35 GMT

This behavior is necessary to support mutually recursive functions

I think I found a bug in the compiler

via Elm - Latest posts by @ream88 Mario Uher on Thu, 08 Oct 2020 22:13:30 GMT

Well, then I learned something new today :blush: Thx a lot, good sir!

I think I found a bug in the compiler

via Elm - Latest posts by @berend Berend de Boer on Thu, 08 Oct 2020 22:12:43 GMT

Yes, I seldom worry about the order, especially once it gets longer. I’m more focused on trying to put logically related things together, not the order of execution.

I think I found a bug in the compiler

via Elm - Latest posts by @ream88 Mario Uher on Thu, 08 Oct 2020 22:11:02 GMT

So I have to treat local definitions like global defined ones somewhere else in my module?

 newer latest older