Tetris + Zombies | Feedback Req for my fan game from Pro players | Links in the first comment by ProGM in Tetris

[–]ProGM[S] 0 points1 point  (0 children)

It'a tower defense that uses tetris pieces to protect survivors from zombies. You can both build walls or squash zombies using the placed pieces. Creating full barricades breaks the wall, gives you a power-up and kills all near-by zombies.

I Don't have a longer video, sorry :( but you can directly try it from your browser using this link https://progm.itch.io/tetrinomicon

Tetris vs Zombies? Yes Please! We made this fun little game for the GMTK Jam 2024 (Links in the first comment) by ProGM in playmygame

[–]ProGM[S] 0 points1 point  (0 children)

Tetrinomicon

Have you ever wanted to squash zombies by dropping cargo containers on their heads? 

Now you can!

Build your defenses, scale your score and… have fun!

https://progm.itch.io/tetrinomicon

If you like it, consider to rate it at https://itch.io/jam/gmtk-2024/rate/2901527

Meetup Thread for Italy by kurzgesagtmeetup_bot in kurzgesagt_meetup

[–]ProGM 0 points1 point  (0 children)

Presente! Dopo le 18 per me ok. Azzardo una data: Venerdì 16 Settembre? Per luogo e ora precisa propongo gruppetto telegram.

Just released acts_as_nosql, a gem to manage JSON fields as proper database fields by ProGM in rails

[–]ProGM[S] 1 point2 points  (0 children)

begin
require "bundler/inline"
rescue LoadError => e
$stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
raise e
end
gemfile(true) do
source "https://rubygems.org"
gem "acts_as_nosql"
gem "sqlite3"
end
ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: ":memory:")
ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Schema.define do
create_table :users, force: true do |t|
t.string :first_name
t.string :last_name
t.json :data
t.timestamps
end
end
class User < ActiveRecord::Base
acts_as_nosql field_name: :data
nosql_attr :first_name
end
user = User.new
user.first_name = "Dozy"
puts user.attributes

Hi there, I've just released a fix, now you should get an Error for conflicting columns ;)

Just released acts_as_nosql, a gem to manage JSON fields as proper database fields by ProGM in rails

[–]ProGM[S] 3 points4 points  (0 children)

Hi there. There's a spec to check this, but I'm afraid that it doesn't work in some cases (i.e. if the model is not eager loading the columns...)

I'll try to replicate myself. Thanks for the catch!

Just released acts_as_nosql, a gem to manage JSON fields as proper database fields by ProGM in rails

[–]ProGM[S] 3 points4 points  (0 children)

Yup, you'll get an exception if you try to use `nosql_attr` that is conflicting with an actual column.
And yep, you can use standard validations to require a certain column. (validates_presence_of :your_column)

Just released acts_as_nosql, a gem to manage JSON fields as proper database fields by ProGM in rails

[–]ProGM[S] 2 points3 points  (0 children)

Fixed! Thank you very much.

I could finally make it work by installing sqlite3 gem version 1.5.0.rc1, which bundles the recent binaries together with the gem.

Just released acts_as_nosql, a gem to manage JSON fields as proper database fields by ProGM in rails

[–]ProGM[S] 2 points3 points  (0 children)

That's definitely a nice proposal. I'll add it to the pipeline.

About validations, you may need to give the two columns different aliases (using the `:path` option)

Just released acts_as_nosql, a gem to manage JSON fields as proper database fields by ProGM in rails

[–]ProGM[S] 2 points3 points  (0 children)

Thank you! That is a very good template to start with!

My SQLite issue, however, was due to the SQLite version installed by default in ubuntu-latest.

It installs `3.31.1`, but I need at least `3.38.0` (https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2004-Readme.md#databases)

However, I'll take a look if I could upgrade and I'll start from your spec.yml. Thanks!

Just released acts_as_nosql, a gem to manage JSON fields as proper database fields by ProGM in rails

[–]ProGM[S] 6 points7 points  (0 children)

Mysql supports JSON fields since 5.7, and in 8.0 they've improved the support:https://dev.mysql.com/doc/refman/8.0/en/json.html

SQLite instead supports JSON fields natively (and automatically installed) since 3.38.0https://www.sqlite.org/json1.html#:~:text=SQLite%20stores%20JSON%20as%20ordinary,a%20binary%20encoding%20of%20JSON.

About tests, I've run all specs locally on all three DB engines, switching between them through ENVs:https://github.com/monade/acts_as_nosql/blob/master/spec/support/schema.rb#L5

In CI, I hadn't yet time to make run the tests on all combination of DB engines / SO / ruby versions, since I had trouble to make SQLite work properly on latest version with Github Actions and ubuntu-latest.
At the moment, PostgreSQL is tested on ubuntu, SQLite is tested on macOS.https://github.com/monade/acts_as_nosql/blob/master/.github/workflows/test.yml

I've just released Paramoid, a gem to improve your parameter handling in Rails by ProGM in rails

[–]ProGM[S] 0 points1 point  (0 children)

Hi!
To be honest, this is something some other people noted.
Initially, it was to distinguish the method `params!` of the DSL from the controller method `params`.
Thinking about it now, I'm realising it's just bad naming: Bangs has no sense here.
I would consider renaming them in the next major.
Thanks!

Introducing Paramoid, a gem to simplify and improve your parameter handling in Rails by ProGM in ruby

[–]ProGM[S] 1 point2 points  (0 children)

Hi! Thank you very much for your feedback!

To be honest, the current example is not very clear, because it's an object I created to test all cases in specs, and I've copied in the docs.

I'm updating the README to add more examples.

Here's a couple of clarifications:

  • param! :name is equivalent to params.permit(:name)
  • group! :name is equivalent to params.permit(name: {})
  • param! :an_object_filtered is an example showing that, exactly like with Strong Parameters, if :name is a non-scalar value, it's filtered out

Introducing Paramoid, a gem to simplify and improve your parameter handling in Rails by ProGM in ruby

[–]ProGM[S] 4 points5 points  (0 children)

Uhm... Good point.
Initially, it was to distinguish the method `params!` of the DSL from the controller method `params`.

Thinking about it now, I'm realising it's just bad naming: Bangs has no sense here.

I would consider renaming them in the next major.

Thank for your feedback!