Saturday, September 26, 2020
Domain Authority 50 for your website - Guaranteed Service
cent
for only 150 usd, you`ll have DA50 for your website, guaranteed
Order it today:
http://www.str8-creative.co/product/moz-da-seo-plan/
thanks
Alex Peters
Tuesday, September 22, 2020
Exploring Monster Taming Mechanics In Final Fantasy XIII-2: Viewing Data
Create All The Things
Before we create the view for the monster material model, we'll want to create an index page that will have links to all of the views and different analyses we'll be creating. This index will be a simple, static page so it's an even better place to start than the material view. To create the controller and view for an index page, we enter this in the shell:$ rails g controller Home index
This command creates a bunch of files, but most importantly for this discussion it creates app/controllers/home_controller.rb and app/views/home/index.erb. If you haven't guessed by the names, these are our home controller and view for the index page, respectively. The command also creates an entry in config/routes.rb for the route to the index page. We want to add an entry to this file so that going to the root of our website will also take us to the index:Rails.application.routes.draw do
get 'home/index'
root 'home#index'
end
These routes are simple. The first one says if we go to our website (which will be at http://localhost:3000/ when we start up the server in a minute), and go to http://localhost:3000/home/index, the HTML in app/views/home/index.erb will be rendered to the browser. The next line says if we go to http://localhost:3000/, that same HTML will be rendered. Currently, that page will show a simple header with the name of the controller and action associated with the page, and the file path to the view:<h1>Home#index</h1>
<p>Find me in app/views/home/index.html.erb</p>
Let's change that to something closer to what we're aiming for:<h1>Final Fantasy XIII-2 Monster Taming</h1>
<%= link_to 'Monster Materials', '#' %>
That second line with the link is created with a special line of code using the '<%= ... %>' designation. This file is not pure HTML, but HAML, an HTML templating language. The '<%= … %>' tag actually means that whatever's inside it should be executed as code and the output is put in its place as HTML. The link_to function is a Rails function that creates the HTML for a link with the given parameters. Now we have a proper title and the first link to a table of data that doesn't exist. That's why I used the '#' character for the link. It tells Rails that there should be a link here, but we don't know what it is, yet. More precisely, Rails will ignore the '#' at the end of a URL, so the link will show up, but it won't do anything when it's clicked. Now let's build the page that will fill in the endpoint for that link.Create a Monster Materials Page
Notice that for the index page we created a controller, but we didn't do anything with it. The boilerplate code created by Rails was sufficient to display the page that we created. For the materials page we'll need to do a little more work because we're going to be displaying data from the material table in the database, and the controller will need to make that data available to the view for display. First thing's first, we need to create the controller in the shell:$ rails g controller Material index
This command is identical to the last Rails command, and it creates all of the same files for a material controller and view and adds an entry in config/routes.rb for the new page:Rails.application.routes.draw do
get 'material/index'
get 'home/index'
root 'home#index'
end
In both cases we're creating a controller with only one action, but a Rails controller can have many different actions for creating, reading, updating, and deleting objects from a model. These are referred to as CRUD actions. Since we're only going to be viewing this data, not changing it in any way, we just need the read actions, and more specifically the index action because we're only going to look at the table, not individual records. Therefore, we specified the 'index' action in the generate command so the others wouldn't be created. Now it's time to do something useful with that action in app/controllers/material_controller.rb:class MaterialController < ApplicationController
def index
@materials = Material.all
end
end
All we had to do was add that one line in the index action, and we've made all of the material model data available to the view. The view has access to any instance variables that are assigned in the controller, so @materials contains all the data we need to build a view of the material table. The HTML code to render the view is a bit more complex, but still pretty simple:<h1>Monster Materials</h1>
<table>
<tr>
<th>Name</th>
<th>Grade</th>
<th>Type</th>
</tr>
<% @materials.each do |material| %>
<tr>
<td><%= material.name %></td>
<td><%= material.grade %></td>
<td><%= material.material_type %></td>
</tr>
<% end %>
</table>
The first half of this code is normal HTML with the start of a table and a header defined. The rows of table data are done with a little HAML to iterate through every material that we have available in the @materials variable. The line with '<% ... %>' just executes what's within the brackets without outputting anything to render. The lines that specify the table data for each cell with '<%= ... %>' will send whatever output happens—in this case the values of the material properties—to the renderer. We could even create dynamic HTML tags in this embedded code to send to the renderer, if we needed to. Here we were able to create the 40 rows of this table in seven lines of code by looping through each material and sending out the property values to the table. This tool is simple, but powerful.Now we have another page with a table of monster materials, but we can only reach it by typing the correct path into the address bar. We need to update the link on our index page:
<h1>Final Fantasy XIII-2 Monster Taming</h1>
<%= link_to 'Monster Materials', material_index_path %>
It's as simple as using the provided helper function for that route! Rails creates variables for every route defined in config/routes.rb along with a bunch of default routes for other things that we won't get into. We can see these routes by running "rails routes" in the shell, or navigating to /routes on the website. Actually, trying to navigate to any route that doesn't exist will show the routes and their helper functions, which is what happens when we try to get to /routes, too. How convenient. Now we can get to the monster material table from the main index, and amazingly, the table is sorted the same way it was when we imported it. It's pretty plain, though.Adding Some Polish
The material table view is functional, but it would be nicer to look at if it wasn't so...boring. We can add some polish with the popular front-end library, Bootstrap. There are numerous other more fully featured, more complicated front-end libraries out there, but Bootstrap is clean and easy so that's what we're using. We're going to need to install a few gems and make some other changes to config files to get everything set up. To make matters more complicated, the instructions on the GitHub Bootstrap Ruby Gem page are for Rails 5 using Bundler, but Rails 6 uses Webpacker, which works a bit differently. I'll quickly summarize the steps to run through to get Bootstrap installed in Rails 6 from this nice tutorial.First, use yarn to install Bootstrap, jQuery, and Popper.js:
$ yarn add bootstrap jquery popper.js
Next, add Bootstrap to the Rails environment by adding the middle section of the following snippet to config/webpack/environment.js between the existing top and bottom lines:const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.append('Provide',
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Popper: ['popper.js', 'default']
})
)
module.exports = environment
Then, set up Bootstrap to start with Rails in app/javascript/packs/application.js by adding this snippet after the require statements:import "bootstrap";
import "../stylesheets/application";
document.addEventListener("turbolinks:load", () => {
$('[data-toggle="tooltip"]').tooltip()
$('[data-toggle="popover"]').popover()
})
We may never need the tooltip and popover event listeners, but we'll add them just in case. As for that second import statement, we need to create that file under app/javascript/stylesheets/application.scss with this lonely line:@import "~bootstrap/scss/bootstrap";
Finally, we need to add a line to app/views/layouts/application.html.erb for a stylesheet_pack_tag:<!DOCTYPE html>
<html>
<head>
<title>Bootstrapper</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= yield %>
</body>
</html>
Whew. Now, we can restart the Rails server, reload the Monster Material page…and see that all that really happened was the fonts changed a little.Still boring. That's okay. It's time to start experimenting with Bootstrap classes so we can prettify this table. Bootstrap has some incredibly clear documentation for us to select the look that we want. All we have to do is add classes to various elements in app/views/material/index.html.erb. The .table class is a must, and I also like the dark header row, the striped table, and the smaller rows, so let's add those classes to the table and thead elements:
<h1>Monster Materials</h1>
<table id="material-table" class="table table-striped table-sm">
<thead class="thead-dark">
<tr>
<th scope="col">Name</th>
<th scope="col">Grade</th>
<th scope="col">Type</th>
</tr>
</thead>
I added an id to the table as well so that we can specify additional properties in app/assets/stylesheets/material.scss because as it is, Bootstrap stretches this table all the way across the page. We can fix that by specifying a width in the .scss file using the new id, and since we're in there, why don't we add a bit of margin for the header and table, too:h1 {
margin-left: 5px;
}
#material-table {
width: 350px;
margin-left: 5px;
}
We end up with a nice, clean table to look at:Isn't that slick? In fairly short order, we were able to set up an index page and our first table page view of monster materials, and we made the table look fairly decent. We have five more tables to go, and some of them are a bit more complicated than this one, to say the least. Our site navigation is also somewhere between clunky and non-existent. We'll make progress on both tables and navigation next time.
Monday, September 21, 2020
Ep 29: Gobblin’ Wargames Is Live!
Wednesday, September 16, 2020
1500 google maps citations cheap
http://www.str8-creative.io/product/1500-gmaps-citations/
regards,
Str8 Creative
Saturday, September 12, 2020
Beat The Price Increase
(from prior post)
Download Call Of Duty Black Ops 4 For PS4
Download Call of Duty Black Ops 4 For PS4
About This Game :
- دDownload-Part-1
- دDownload-Part-2
- دDownload-Part-3
- دDownload-Part-4
- دDownload-Part-5
- دDownload-Part-6
- دDownload-Part-7
- دDownload-Part-8
- دDownload-Part-9
- دDownload-Part-10
- دDownload-Part-11
- دDownload-Part-12
- دDownload-Part-13
- دDownload-Part-14
- دDownload-Part-15
- دDownload-Part-16
- دDownload-Part-17
- دDownload-Part-18
- دDownload-Part-19
- دDownload-Part-20
Tuesday, September 8, 2020
Domain Authority 50 for your website - Guaranteed Service
cent
for only 150 usd, you`ll have DA50 for your website, guaranteed
Order it today:
http://www.str8-creative.co/product/moz-da-seo-plan/
thanks
Alex Peters
Friday, September 4, 2020
People Behind The Meeples - Episode 234:Nikolas Lundström Patrakka
Welcome to People Behind the Meeples, a series of interviews with indie game designers. Here you'll find out more than you ever wanted to know about the people who make the best games that you may or may not have heard of before. If you'd like to be featured, head over to http://gjjgames.blogspot.com/p/game-designer-interview-questionnaire.html and fill out the questionnaire! You can find all the interviews here: People Behind the Meeples. Support me on Patreon!
Name: | Nikolas Lundström Patrakka |
---|---|
Location: | Germany |
Day Job: | Music and language teacher. |
Designing: | Two to five years. |
Webpage: | https://perditionsmouth.com/ |
BGG: | Nikolas88 |
Facebook: | Nikolas Lundström Patrakka |
Twitter: | @PhilipUbik |
Find my games at: | In the Dragon Dawn Production catalog |
Nikolas Lundström Patrakka
Interviewed on: 5/29/2020
This week I'm happy to introduce you all to Nikolas Lundström Patrakka, a designer who has been working with the team that brought us Perdition's Mouth: Abyssal Rift. He's worked on several of the expansions for the horror themed rondel based dungeon crawler. That's not all that Nikolas has worked on though. Read on to learn more about Nikolas and his projects!
Some Basics
Tell me a bit about yourself.
How long have you been designing tabletop games?
Two to five years.
Why did you start designing tabletop games?
A passion for gaming and an abundance of ideas made me want to create and participate.
What game or games are you currently working on?
Perdition's Mouth: Soul Spire and a yet to be announced card game.
Have you designed any games that have been published?
I've worked on several expansions for Perdition's Mouth: Abyssal Rift such as Traitor Guard and the scenario pack.
What is your day job?
Music and language teacher.
Your Gaming Tastes
My readers would like to know more about you as a gamer.
Where do you prefer to play games?
At home or at the store.
Who do you normally game with?
Friends, family and people I meet at local meetups or at my FLGS.
If you were to invite a few friends together for game night tonight, what games would you play?
Likely one of the many prototypes I am working on. Among the people I tend to invite co-ops, resource management euros and Magic: the Gathering tend to be popular.
And what snacks would you eat?
Snacks? while playing...?
Do you like to have music playing while you play games? If so, what kind?
No
What's your favorite FLGS?
Gandalph
What is your current favorite game? Least favorite that you still enjoy? Worst game you ever played?
I would have to pick Magic: the Gathering as my favourite. Despite all it's issues, the design, history and richness of formats puts it in a category of its own. The old Swedish version of Dungeon Quest (Drakborgen) is probably the worst game that I still enjoy. The potential of getting stuck in some rubble in the very first room you enter to then die from running out of time before being able to leave can feel pretty back breaking. It does feel "realistic" in a sense and is so far away from modern design philosophy that I can't help but to love it.
What is your favorite game mechanic? How about your least favorite?
Drafting is definitely up there. The way drafting allows a game to evolve according to what your group thinks is good or not, really allows well crafted drafting games to play out differently every time. Action selection in the style of Race for the Galaxy and Puerto Rico is also something I really enjoy. I don't know that I have a least favourite mechanic. I think it all comes down to how it is implemented and in what context.
What's your favorite game that you just can't ever seem to get to the table?
Star Craft the Board Game
What styles of games do you play?
I like to play Board Games, Card Games, RPG Games
Do you design different styles of games than what you play?
I like to design Board Games, Card Games
OK, here's a pretty polarizing game. Do you like and play Cards Against Humanity?
Never played
You as a Designer
OK, now the bit that sets you apart from the typical gamer. Let's find out about you as a game designer.
When you design games, do you come up with a theme first and build the mechanics around that? Or do you come up with mechanics and then add a theme? Or something else?
It really depends. Each game tends to have a first "Hook", something like a component, a theme or mechanic that becomes the first seed. From there, I try to have the mechanics feed into the theme and vice versa.
Have you ever entered or won a game design competition?
No
Do you have a current favorite game designer or idol?
Richard Garfield and Eric Lang.
Where or when or how do you get your inspiration or come up with your best ideas?
Mostly other games but sometimes works of fiction like films and books.
How do you go about playtesting your games?
A lot of solo testing to start and then slowly expanding to family and friends. Once the game plays well in those settings I'll start bringing it to meet ups or organize playtests at home.
Do you like to work alone or as part of a team? Co-designers, artists, etc.?
While I've done work for other people's games I haven't actually co-designed anything so I can't really answer that question.
What do you feel is your biggest challenge as a game designer?
Finding time to work on all of my ideas.
If you could design a game within any IP, what would it be?
Travellers is a lesser known Sci-Fi show which has a theme ripe for a great social deduction game.
What do you wish someone had told you a long time ago about designing games?
Ideas are worthless without action.
What advice would you like to share about designing games?
Reach out to publishers and designers and see if you can help in playtesting. This is a great way to learn. Make variants for games you like and post them on BGG for feedback.
Would you like to tell my readers what games you're working on and how far along they are?
Published games, I have: The Scenario Pack expansion for Perdition's Mouth: Abyssal Rift.
Games that will soon be published are: A yet to be announced adventure card game.
Games I feel are in the final development and tweaking stage are: Doing development and playtesting on Perdition's Mouth: Soul Spire.
Games that I'm playtesting are: A yet to be announced adventure card game.
Games that are in the early stages of development and beta testing are: A fantasy themed I split you choose game.
And games that are still in the very early idea phase are: A semi cooperative dungeon crawling card game.
Are you a member of any Facebook or other design groups? (Game Maker's Lab, Card and Board Game Developers Guild, etc.)
No
And the oddly personal, but harmless stuff…
OK, enough of the game stuff, let's find out what really makes you tick! These are the questions that I'm sure are on everyone's minds!
Star Trek or Star Wars? Coke or Pepsi? VHS or Betamax?
Star Wars, either, What is Betamax?
What hobbies do you have besides tabletop games?
Music and computer games.
Favorite type of music? Books? Movies?
Classical, Sci-Fi, Mixed
What was the last book you read?
Tiamat's Wrath
Do you play any musical instruments?
Yes, Guitar.
Tell us something about yourself that you think might surprise people.
As a kid I made my own version of Monopoly :)
Tell us about something crazy that you once did.
As a kid I played said version of Monopoly solo!
What would you do if you had a time machine?
Probably break it, time travel does not sound like a good idea.
Are you an extrovert or introvert?
introvert
If you could be any superhero, which one would you be?
Batman
Have any pets?
No
When the next asteroid hits Earth, causing the Yellowstone caldera to explode, California to fall into the ocean, the sea levels to rise, and the next ice age to set in, what current games or other pastimes do you think (or hope) will survive into the next era of human civilization? What do you hope is underneath that asteroid to be wiped out of the human consciousness forever?
The standard deck of playing cards.
If you'd like to send a shout out to anyone, anyone at all, here's your chance (I can't guarantee they'll read this though):
Dragon Dawn Production for being a great publisher publishing unique and exciting games!
Thanks for answering all my crazy questions!
Thank you for reading this People Behind the Meeples indie game designer interview! You can find all the interviews here: People Behind the Meeples and if you'd like to be featured yourself, you can fill out the questionnaire here: http://gjjgames.blogspot.com/p/game-designer-interview-questionnaire.html
Did you like this interview? Please show your support: Support me on Patreon! Or click the heart at Board Game Links , like GJJ Games on Facebook , or follow on Twitter . And be sure to check out my games on Tabletop Generation.