Create an account


Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 20,181
» Latest member: BuckTravis
» Forum threads: 21,868
» Forum posts: 22,754

Full Statistics

Online Users
There are currently 1057 online users.
» 0 Member(s) | 1053 Guest(s)
Applebot, Baidu, Bing, Google

 
  The Forge
Posted by: xSicKxBot - 02-06-2020, 03:24 AM - Forum: Game Development - No Replies

The Forge

Previously we looked at OpenGL alternatives shortly after OpenGL on Apple products was deprecated.  One of the technologies we mentioned was The Forge, a cross platform rendering solution.  It is an open source cross platform rendering framework with several game development building blocks created by Confetti.

In addition to taking are of the low level details of working with Direct3D and Vulkan, the Forge provides the following features:

  • Asynchronous Resource loading with a resource loader task system as shown in 10_PixelProjectedReflections
  • Lua Scripting System – currently used in 06_Playground to load models and textures and animate the camera
  • Animation System based on Ozz Animation System
  • Consistent Math Library based on an extended version of Vectormath with NEON intrinsics for mobile platforms
  • Extended version of EASTL
  • For loading art assets we have a modified and integrated version of Assimp
  • Consistent Memory Managament:
  • Input system with Gestures for Touch devices based on an extended version of gainput
  • Fast Entity Component System based on our internally developed ECS
  • Cross-platform FileSystem C API, supporting disk-based files, memory streams, and files in zip archives
  • UI system based on imGui with a dedicated unit test extended for touch input devices
  • Audio based on integrating SoLoud
  • Shader Translator using a superset of HLSL as the shader language. There is a Wiki page on how to use the Shader Translator
  • Various implementations of high-end Graphics Effects as shown in the unit tests below

The Forge is open source under the Apache 2.0 license and is hosted on GitHub.  You can learn more about The Forge in the video below.

GameDev News


<!–

–>



https://www.sickgaming.net/blog/2020/02/05/the-forge/

Print this item

  News - Hideki Kamiya Shares Early The Wonderful 101 Design Documents And Art
Posted by: xSicKxBot - 02-06-2020, 03:24 AM - Forum: Nintendo Discussion - No Replies

Hideki Kamiya Shares Early The Wonderful 101 Design Documents And Art


As you’ll no doubt be aware if you’ve visited the site over the last couple of days, PlatinumGames revealed a Kickstarter campaign earlier this week which will bring The Wonderful 101: Remastered to Switch later this year. It’s been quite the success, raising more than $1 million in just over 12 hours and speeding along with each passing minute.

Now, in an update added to the Kickstarter campaign, the game’s director Hideki Kamiya has shared early design documents and little tidbits of info from the original game‘s development. He says, “The Wonderful 101 has a staggering amount of content – so much, in fact, that I have full confidence it can satisfy everyone even now, 6 long years after it was originally released”, giving him a reason to search through an old hard drive and show off the content found below.

He kicks things off with the first draft of the game’s design document, which was made entirely by himself. It features early sketches, the name ‘Wonder-Red’ (which had already been chosen very early on), and mentions the number ‘100’ rather than ‘101’. Kamiya said he was told to “get a little more creative with the title”, so he added one to the number.


The “line action” page shows off what the player can do with their team members; ideas here made it into the final game.


The update also includes initial designs for the team members. Here we can see Wonder-Red with and without a mask; Kamiya says, “The mask shape looks a little different, but I pretty much knew how the design would look from the start… I hadn’t decided on what day job he would take on to hide himself from the world, and was still experimenting with different ideas”.

W6

Finally, he also shows off the game’s very first screenshot created as a prototype – although he wasn’t satisfied with this early graphical style – and a poster which was created by a designer for fun. It was created “to look like a movie poster”, and the team hung it up in the office for all to see.



If you’re interested, you can see the entire update for yourself right here, as well as pledge towards the game itself, of course.

Fascinating stuff!



https://www.sickgaming.net/blog/2020/02/...s-and-art/

Print this item

  News - Xbox Boss Doesn’t See Nintendo As A “Main Competitor” In The Next-Gen War
Posted by: xSicKxBot - 02-06-2020, 03:24 AM - Forum: Nintendo Discussion - No Replies

Xbox Boss Doesn’t See Nintendo As A “Main Competitor” In The Next-Gen War


With the launch of the PS5 and Xbox Series X looming on the horizon, it’s inevitable that we’re going to see some posturing from the various platform holders as they try to convince consumers that their black box is the one you really need under your TV.

A few days ago, Nintendo’s president Shuntaro Furukawa voiced the opinion that neither the PS5 or Xbox Series X would have any real impact on the fortunes of the Switch. Now, Xbox chief Phil Spencer has added his comments to what will no doubt be a real melting pot of soundbites as the year progresses, telling Protocol that Nintendo and Sony aren’t the companies Microsoft is looking to beat in this upcoming war:

When you talk about Nintendo and Sony, we have a ton of respect for them, but we see Amazon and Google as the main competitors going forward… That’s not to disrespect Nintendo and Sony, but the traditional gaming companies are somewhat out of position. I guess they could try to re-create Azure, but we’ve invested tens of billions of dollars in cloud over the years.

Microsoft, more so than its traditional rivals, is heavily banking on cloud gaming in this next-gen war, with the Azure-powered Project xCloud promising to revolutionise the way Xbox fans access and enjoy their games. Sony, which purchased Gaikai back in 2012, also has an interest in cloud gaming, but Nintendo is yet to dip its toe into the technology (although it’s worth noting that some third-parties, like Capcom and Ubisoft, have done so on Switch already).

Given Microsoft’s focus on cloud gaming and its investment in its Azure platform, it’s understandable that Amazon and Google would be seen as key rivals, despite the fact that neither company has made any real dent in the ‘traditional’ gaming space as yet. However, if cloud gaming takes off in the same way that music and movie streaming has done, then the battlefield of the future could look very different – but will Sony and Nintendo, with their market-leading first-party exclusives and massively-popular titles, really be out of the picture?

We’re pretty sure that won’t be the case.



https://www.sickgaming.net/blog/2020/02/...t-gen-war/

Print this item

  News - Minions Sequel Trailer Features Villainous, Hilarious Mayhem
Posted by: xSicKxBot - 02-06-2020, 03:24 AM - Forum: Lounge - No Replies

Minions Sequel Trailer Features Villainous, Hilarious Mayhem

The animated hit Despicable Me is now 10 years old, but the franchise it spawned remains hugely popular. As well as the two direct sequels, the 2015 spin-off Minions was a massive success, grossing $1.15 billion at the worldwide box office. Inevitably, a Minions follow-up is on the way--it releases this summer and the first trailer has arrived.

Minions: The Rise of Gru is both a sequel to Minions and a prequel to the main films. It's set in the 1970s and focuses on Steve Carell's Gru, who is a young boy dreaming of becoming a feared supervillain. In order to prove his villainy, he steals a valuable stone from the evil group Vicious 6, and finds himself on the run. Luckily, those iconic yellow Minions are on hand to help him out. Check out the trailer below.

Minions: The Rise of Gru also stars Taraji P. Henson, Russell Brand, and Julie Andrews, plus a host of action stars, including Jean-Claude Van Damme, Dolph Lundgren, Michelle Yeoh, Danny Trejo, and Lucy Lawless. And while this is the first movie in the series not to be co-directed by Pierre Coffin, he's still on hand to provide the voice of the Minions. The movie releases on July 3.

A shorter The Rise of Gru teaser screened during the Super Bowl last weekend--check out all of the other Super Bowl 2020 movie and TV trailers here.


https://www.gamespot.com/articles/minion...0-6473407/

Print this item

  [Tut] Star Rating Script using PHP and MySQL with AJAX
Posted by: xSicKxBot - 02-05-2020, 08:33 PM - Forum: PHP Development - No Replies

Star Rating Script using PHP and MySQL with AJAX

Last modified on February 4th, 2020 by Vincy.

How do you know your readers’ or customers’ thoughts on your website content? How does the star rating feature help to collect customers’ opinions?

Star rating is a feature that is used across different domains in a variety of ways. For example, it is one of the key building blocks in an eCommerce website.

Star rating helps you to know how people rank your content. It not only gives rank on your content. Also, it brings more readers to your page by the gained rating.

When you build a website, if you have got scope for implementing a star rating system and you should definitely experiment with it.

Websites use a variety of ways to allow users to rate content. For example, star rating, up-down rating, emoji rating and more.

jQuery Star Rating Script

We have seen so many examples for star rating, emoji rating and more. I grouped all those in this one single example.

I supported three UI alternatives for the rating section. Those are,

  • Five-star rating
  • Favorite rating
  • Emoji rating

I created a directive in PHP to configure the template for the rating appearance.

What is inside?


  1. Existing plugin to implement a dynamic star rating
  2. Advantages of creating a custom star rating script
  3. Various types of rating options
  4. jQuery star rating example script
  5. The rating example database
  6. UI design to render star rating option
  7. jQuery functions to handle user rating action
  8. Storing user rating to MySQL database from PHP
  9. Output screenshot of different rating options with star, favorite, emoji

Existing plugins to implement a dynamic star rating


There are various plugins available in the market to enable star rating. The ready-made plugins are with enormous features.

For example, Rateit is a jQuery based star rating plugin. It allows embedding a star rating with a list, select and more HTML markup. It supports Font Awesome, Material icons to display rating icons.

The UpvoteJS is a JavaScript package to render a StackExchange-like rating widget.

If you are having a WordPress website, there are built-in rating plugins available. Wp-PostRatings is a popular plugin to implement rating.

Advantages of creating a custom star rating script


With a custom star rating, we can simplify the code logic instead of stuffing a lot.

And thereby, it will make it easy at the time of enhancement or maintenance phase.

It rectifies your overload with a feature-packed built-in. Also, it reduces your effort on managing a thousand lines of code for this simple UI feature.

Various types of rating options


Websites use a different type of rating options to get user’s reviews. The following list shows some of the types.

  • Single or multiple star rating
  • Facebook-like emoji rating
  • Simple up-down voting.
  • Like-unlike rating
  • Bar rating

The types are veries in user’s mindset while rating. For example, the like-unlike and up-down rating expects binary options 0 or 1 from the user. But with the bar rating, it can have a range of points out of some limit.

Star rating example with AJAX


I have created an AJAX-based star rating example code with PHP and jQuery.

This code will show a list of courses with an option to rate each course. The courses are from the database.

The rating element in the UI is configurable. I provided three UI alternatives for the rating section. Star, favorite and emoji ratings are there to collect users’ reviews.

While adding the rating, the code sends it to the PHP via AJAX. Then, it saves the ratings in the MySQL database.

Once rated, the user cannot rerate a course again to avoid duplicate ratings.

The following figure shows the file strucuture of the example code.

Star Rating Code Example File Structure

The rating example database


This section shows the structure and the SQL of the database used in this example.

I have created two tables tbl_courses and tbl_course_rating. The tbl_cources database table contains courses on which the user will add ratings.

The tbl_cource_rating table has the mapping with the tbl_cource database. It has a unique rating without duplicates.

Star Rating Example Database

The below script shows the CREATE statement and the data dump for these two tables. By importing this script, you can setup this example in the local environment.

sql/db_rating.sql

--
-- Database: `db_rating`
-- -- -------------------------------------------------------- --
-- Table structure for table `tbl_course`
-- CREATE TABLE `tbl_course` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `description` varchar(255) NOT NULL, `period` varchar(255) NOT NULL, `availabe_seats` int(11) NOT NULL, `last_date_to_register` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1; --
-- Dumping data for table `tbl_course`
-- INSERT INTO `tbl_course` (`id`, `name`, `description`, `period`, `availabe_seats`, `last_date_to_register`) VALUES
(1, 'Professional Training for Finantial Analyst\r\n', 'Professional Training for Finantial Analyst', '30 days', 2, '2020-01-31'),
(2, 'Enterprise Programming in Artificial Intelligence\r\n', 'Enterprise Programming in Artificial Intelligence', '30 days', 2, '2020-01-24'); -- -------------------------------------------------------- --
-- Table structure for table `tbl_course_rating`
-- CREATE TABLE `tbl_course_rating` ( `id` int(11) NOT NULL, `course_id` int(11) NOT NULL, `member_id` int(11) NOT NULL, `rating` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1; --
-- Indexes for dumped tables
-- --
-- Indexes for table `tbl_course`
--
ALTER TABLE `tbl_course` ADD PRIMARY KEY (`id`); --
-- Indexes for table `tbl_course_rating`
--
ALTER TABLE `tbl_course_rating` ADD PRIMARY KEY (`id`); --
-- AUTO_INCREMENT for dumped tables
-- --
-- AUTO_INCREMENT for table `tbl_course`
--
ALTER TABLE `tbl_course` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; --
-- AUTO_INCREMENT for table `tbl_course_rating`
--
ALTER TABLE `tbl_course_rating` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=95;
COMMIT;

UI design to render star rating option


In a landing page, it shows the list of courses from the database. The HTML code for this page is below.

It loads the rating element based on the PHP constant defined in a common configuration file.

The rating element will show clickable 5-stars or favorite-icons or emoji icons.

On clicking the rating element, it invokes a jQuery script to send AJAX requests to save ratings.

index.php

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Star Rating Script in PHP</title>
<link href="./assets/css/phppot-style.css" type="text/css" rel="stylesheet" />
<link href="./assets/css/star-rating-style.css" type="text/css" rel="stylesheet" />
<script src="./vendor/jquery/jquery-3.3.1.js" type="text/javascript"></script>
</head> <body> <div class="phppot-container"> <div class="container"> <h2>Star Rating Script in PHP</h2> <div id="course_list"> <?php require_once "getRatingData.php"; ?> </div> </div> </div> <script src="./assets/js/rating.js"></script>
</body>
</html>

I created separate template files to have different types of rating UI. Those are star-rating-view.php, favorite-rating-view.php and emoji_rating_view.php.

The template files show the onClick event handling specification in the markup.

star-rating-view.php

<?php
for ($count = 1; $count <= 5; $count ++) { $starRatingId = $row['id'] . '_' . $count; if ($count <= $userRating) { ?>
<li value="<?php echo $count; ?>" id="<?php echo $starRatingId; ?>" class="star"><img src="./img/<?php echo $apperance; ?>-filled.png"></li>
<?php } else { ?>
<li value="' . $count; ?>" id="<?php echo $starRatingId; ?>" class="star" on‌click="addRating(this,<?php echo $row['id']; ?>,<?php echo $count; ?>, 'star');" on‌MouseOver="mouseOverRating(<?php echo $row['id']; ?>,<?php echo $count; ?>,'<?php echo $apperance; ?>');" on‌MouseLeave="mouseOutRating(<?php echo $row['id']; ?>,<?php echo $userRating; ?>,'<?php echo $apperance; ?>');"><img src="./img/<?php echo $apperance; ?>-open.png"></li>
<?php }
}
?>

favourite-rating-view.php

<?php
for ($count = 1; $count <= 5; $count ++) { $starRatingId = $row['id'] . '_' . $count; if ($count == $userRating) { ?>
<li value="<?php echo $count; ?>" id="<?php echo $starRatingId; ?>" class="star"><img src="./img/<?php echo $apperance; ?>-filled.png"></li>
<?php } else { ?>
<li value="<?php $count; ?>" id="<?php echo $starRatingId; ?>" class="star" on‌click="addRating(this,<?php echo $row['id']; ?>,<?php echo $count; ?>);" on‌MouseOver="mouseOverRating(<?php echo $row['id']; ?>,<?php echo $count; ?>,'<?php echo $apperance; ?>');" on‌MouseLeave="mouseOutRating(<?php echo $row['id']; ?>,<?php echo $userRating; ?>,'<?php echo $apperance; ?>');"><img src="./img/<?php echo $apperance; ?>-open.png"></li>
<?php }
}
?>

In the emoji rating template, it shows a range of five emotion icons from very-sad to very-happy.

If you are providing support on the user’s queries, you can use the emoji rating. Embedding the emoji rating will give the customer’s emotional feel on your support.

emoji-rating-view.php

<?php
for ($count = 1; $count <= 5; $count ++) { $starRatingId = $row['id'] . '_' . $count; if ($count == $userRating) { ?> <li value="<?php echo $count; ?>" id="<?php echo $starRatingId; ?>" class="star"><img src="./img/<?php echo $apperance . $count; ?>-filled.png"></li>
<?php } else {
?> <li value="<?php $count; ?>" id="<?php echo $starRatingId; ?>" class="star" on‌click="addRating(this,<?php echo $row['id']; ?>,<?php echo $count; ?>);" on‌MouseOver="mouseOverRating(<?php echo $row['id']; ?>,<?php echo $count; ?>,'<?php echo $apperance; ?>');" on‌MouseLeave="mouseOutRating(<?php echo $row['id']; ?>,<?php echo $userRating; ?>,'<?php echo $apperance; ?>');"><img src="./img/<?php echo $apperance . $count; ?>-open.png"></li>
<?php } }
?>

CSS Styles created for the star rating UI


assets/css/star-rating-style.php

ul { margin: 0px; padding: 10px 0px 0px 0px; display: inline-flex;
} li.star { list-style: none; display: inline-block; margin-right: 5px; cursor: pointer; color: #9E9E9E;
} .row-title { font-size: 20px; color: #232323;
} .review-note { font-size: 12px; color: #999; font-style: italic;
} .row-item { margin-bottom: 20px; border-bottom: #F0F0F0 1px solid;
} p.text-address { font-size: 12px;
} img { height: 20px; width: 20px;
} .course-detail { font-size: 1em; margin-right: 20px;
} .loader-icon { display: none;
}
.response { display: inline-block; vertical-align: super; margin-left: 10px; color: #FF0000;
}

jQuery functions to handle user rating action


This file contains jQuery functions to prepare AJAX requests to save user ratings.

It also handles the mouse hover events to highlight the rating element. The mouseOverRating() function highlights the star or other rating elements on hovering.

Similarly, mouseOutRating() resets the rating UI back to its original form on mouse out.

The AJAX code in the addRating() prepares the request with PHP endpoint URL and data params.

It receives the server response in the AJAX success callback at which it updates the UI accordingly.

assets/js/rating.js

 function mouseOverRating(courseId, rating, appearance) { if (appearance == "star") { for (var i = 1; i <= rating; i++) { $('#' + courseId + "_" + i + ' img').attr('src', "./img/" + appearance + "-filled.png"); } } else { ratingIconPrefix = "./img/" + appearance; for (var i = 1; i <= rating; i++) { if (appearance == "emoji") { ratingIconPrefix = "./img/" + appearance + "1"; } if (i == rating) { $('#' + courseId + "_" + i + ' img').attr('src', ratingIconPrefix + "-filled.png"); } } } } function mouseOutRating(courseId, userRating, appearance) { var ratingId; if (appearance == "star") { if (userRating != 0) { for (var i = 1; i <= userRating; i++) { $('#' + courseId + "_" + i + ' img').attr('src', "./img/" + appearance + "-filled.png"); } } if (userRating <= 5) { for (var i = (userRating + 1); i <= 5; i++) { $('#' + courseId + "_" + i + ' img').attr('src', "./img/" + appearance + "-open.png"); } } $(".selected img").attr('src', "./img/" + appearance + "-filled.png"); } else { ratingIconPrefix = "./img/" + appearance; if (userRating <= 5) { for (var i = 1; i <= 5; i++) { if (appearance == "emoji") { ratingIconPrefix = "./img/" + appearance + i; } if (userRating == i) { $('#' + courseId + "_" + i + ' img').attr('src', ratingIconPrefix + "-filled.png"); } else { $('#' + courseId + "_" + i + ' img').attr('src', ratingIconPrefix + "-open.png"); } } } var selectedImageSource = $(".selected img").attr('src'); if (selectedImageSource) { selectedImageSource = selectedImageSource.replace('open', "filled"); $(".selected img").attr('src', selectedImageSource); } } } function addRating(currentElement, courseId, ratingValue, appearance) { var loaderIcon = $(currentElement).closest(".row-item"); $.ajax({ url : "ajax-end-point/insertRating.php", data : "index=" + ratingValue + "&course_id=" + courseId, type : "POST", beforeSend : function() { $(loaderIcon).find("#loader-icon").show(); }, success : function(data) { loaderIcon = $(currentElement).closest(".row-item"); $(loaderIcon).find("#loader-icon").hide(); if (data != "") { $('#response-' + courseId).text(data); return false; } if (appearance == 'star') { $('#list-' + courseId + ' li').each( function(index) { $(this).addClass('selected'); if (index == $('#list-' + courseId + ' li').index( currentElement)) { return false; } }); } else { $(currentElement).addClass('selected'); } } }); }

Storing user rating to MySQL database from PHP


When the AJAX script called, it prepares a request to the PHP. In PHP, it receives the chosen rating post data and stores it in the rating database.

Though the UI displays different elements, the rating value ranges from 1 to 5. In the database, it has the mapping between the rating value, course id and member id.

The below configuration is for setting the rating element appearance. The possible values are there with a comment statement.

Common/Config.php

<?php
namespace Phppot; class Config
{ // Possible values: star | favourite | emoji const RATING_APPEARANCE = "favourite";
}

This is a PHP endpoint called via AJAX. It inserts the user rating to the database.

Before insert, it checks if the user added a rating already for that particular course. If so, then the code will not allow the user to rate again.

ajax-end-point/insertRating.php

<?php
namespace Phppot; use Phppot\Rating;
require_once __DIR__ . "./../Model/Rating.php";
$rating = new Rating();
// Here the user id is harcoded.
// You can integrate your authentication code here to get the logged in user id
$userId = 5; if (isset($_POST["index"], $_POST["course_id"])) { $courseId = $_POST["course_id"]; $ratingIndex = $_POST["index"]; $rowCount = $rating->isUserRatingExist($userId, $courseId); if ($rowCount == 0) { $insertId = $rating->addRating($userId, $courseId, $ratingIndex); if (empty($insertId)) { echo "Problem in adding ratings."; } } else { echo "You have added rating already."; }
}

This code reads courses and corresponding rating from the database. It prepares HTML markup embedded with dynamic data.

This file displays the courses list with the rating option in a landing page.

getRatingData.php

<?php
namespace Phppot; use Phppot\Rating;
require_once "./Common/Config.php";
$config = new Config();
require_once "./Model/Rating.php";
$rating = new Rating();
// Here the user id is harcoded.
// You can integrate your authentication code here to get the logged in user id
$userId = 5; $apperance = $config::RATING_APPEARANCE; $courseResult = $rating->getCourse();
if (! empty($courseResult)) { foreach ($courseResult as $row) { $userRating = $rating->getUserRating($userId, $row['id']); $totalRating = $rating->getTotalRating($row['id']); $date = date_create($row["last_date_to_register"]); ?>
<div class="row-item"> <div class="row-title"><?php echo $row['name']; ?></div> <ul class="list-inline" id="list-<?php echo $row['id']; ?>"> <?php require $apperance . "-rating-view.php"; ?> <img src="img/loader.gif" class="loader-icon" id="loader-icon"> </ul> <div class="response" id="response-<?php echo $row['id']; ?>"></div> <p class="review-note">Total Reviews: <?php echo $totalRating; ?></p> <p class="text-address"> <label class="course-detail">Period: <?php echo $row["period"]; ?></label><label class="course-detail">Available seats: <?php echo $row["availabe_seats"]; ?></label><label class="course-detail">Last Date to Register: <?php echo date_format($date, "d M Y"); ?></label> </p>
</div>
<?php }
}
?>

In the above two PHP files, I have harcoded the user id with a PHP variable $userId. You can plugin user authentication code and get the logged-in user id.

The Rating.php is a PHP model class created for performing the rating actions.

It has functions to read courses and user ratings on them. The getUserRating() and getTotalRating() functions returns data to display the rating statistics.

The isUserRatingExist() checks the uniqueness of the user rating on a particular course.

I used prepared statements with MySQLi for executing the database queries. The source contains a generic DAO class DataSource.php for executing database operations.

Model/Rating.php

<?php
namespace Phppot; use Phppot\DataSource; class Rating
{ private $ds; function __construct() { require_once __DIR__ . './../lib/DataSource.php'; $this->ds = new DataSource(); } function getCourse() { $query = "SELECT * FROM tbl_course ORDER BY id DESC"; $result = $this->ds->select($query); return $result; } function getUserRating($userId, $courseId) { $average = 0; $avgQuery = "SELECT rating FROM tbl_course_rating WHERE member_id = ? and course_id = ?"; $paramType = 'ii'; $paramValue = array( $userId, $courseId ); $result = $this->ds->select($avgQuery, $paramType, $paramValue); if ($result > 0) { foreach ($result as $row) { $average = round($row["rating"]); } // endForeach } // endIf return $average; } function getTotalRating($courseId) { $totalVotesQuery = "SELECT * FROM tbl_course_rating WHERE course_id = ?"; $paramType = 'i'; $paramValue = array( $courseId ); $result = $this->ds->getRecordCount($totalVotesQuery, $paramType, $paramValue); return $result; } function isUserRatingExist($userId, $courseId) { $checkIfExistQuery = "select * from tbl_course_rating where member_id = ? and course_id = ?"; $userId; $courseId; $paramType = 'ii'; $paramValue = array( $userId, $courseId ); $rowCount = $this->ds->getRecordCount($checkIfExistQuery, $paramType, $paramValue); return $rowCount; } function addRating($userId, $courseId, $rating) { $insertQuery = "INSERT INTO tbl_course_rating(member_id,course_id, rating) VALUES (?,?,?) "; $paramType = 'iii'; $paramValue = array( $userId, $courseId, $rating ); $insertId = $this->ds->insert($insertQuery, $paramType, $paramValue); return $insertId; }
}

Output screenshot of different rating options with star, favorite, emoji


jQuery Five Star Rating Output

Favorite Rating Template Screenshot

In the following screenshot, it displays a text in red. It is an error message to notify the user if he tries to add rating again.

Emoji Rating Output

Conclusion


We have seen the importance of implementing a rating script in an application. Also, we have seen the types of ratings generally used by the applications.

By supporting 3 types of rating UI components in an example script, I sure it helps you to have options. You can choose and fix one among them on a need basis.

For example, if you manage more applications, then integrate this one in all. The rating configuration allows setting based on the nature of the application.

There is no limit. We can enhance this component by adding more rating options like-unlike, up-down voting, rating with a ranger and more.

Download

↑ Back to Top



https://www.sickgaming.net/blog/2020/02/...with-ajax/

Print this item

  Unreal Engine February 2020 Marketplace Giveaway
Posted by: xSicKxBot - 02-05-2020, 08:33 PM - Forum: Game Development - No Replies

Unreal Engine February 2020 Marketplace Giveaway

It’s the first Tuesday of the month, meaning its time for the monthly Unreal Engine Marketplace giveaway! Every month Epic Games gives away several assets from the Unreal Engine marketplace, so long as the assets are “purchased” before the start of next month’s giveaway.

The February 2020 giveaway includes:

· Amplify LUT Pack

· Auto Settings

· Combat Systems – Constructor

· First Person Puzzle Template

· Open World AI Spawn System

Additionally, the following asset has been made available as part of the permanently free collection:

· Advanced Locomotion System V4

You can learn more about the monthly giveaway on the Unreal Engine blog and by watching the video available below.

GameDev News


<!–

–>



https://www.sickgaming.net/blog/2020/02/...-giveaway/

Print this item

  Microsoft - Smart mobility: 6 solutions helping reduce traffic congestion
Posted by: xSicKxBot - 02-05-2020, 08:32 PM - Forum: Windows - No Replies

Smart mobility: 6 solutions helping reduce traffic congestion

Traffic congestion is a problem in cities all over the world. The U.N. Department of Economic and Social Affairs states that 68 percent of the world’s population will live in cities over the coming decades up from 55 percent today.1 As cities grow, congestion will get worse.

In Moscow, Russia, the average driver spends 210 hours a year waiting in traffic, while in Mexico City, Mexico, the average driver spends 218 a year in traffic. In Chicago, Illinois, the average driver is relatively lucky as they only spend 138 hours a year in traffic.2

person sitting at a bus stop, looking at a smartphoneperson sitting at a bus stop, looking at a smartphone

One solution to traffic congestion is smart mobility. Smart mobility is the concept of connecting the elements of a city’s transportation system to the cloud. Data from each element—vehicles, traffic signals, people, roads, and maps—is collected, combined, and analyzed to optimize the flow of vehicles in the city.

If we drill down on how cities are using smart mobility to reduce traffic congestion today, we see best practices emerge. Let’s look at six key items that cities should embrace to enable smart mobility solutions.

To learn how Microsoft can help you get started with smart mobility, explore these resources.

Connected infrastructure


One criterion required to enable smart mobility to reduce traffic congestion is connected infrastructure. The different parts of a city’s transportation system need to be connected to the cloud: traffic lights, cars, buses, trains, bikes, people, maps, and even roads. This Internet of Things (IoT) approach allows location, speed, capacity, and other data to be collected, stored, and analyzed. Wilson Parking recently invested in connected infrastructure to decrease congestion for drivers using the new Hong Kong-Zhuhai-Macau Bridge. The city of Taipai has launched an initiative to connect 150,000 streetlights.

Singapore aerial viewSingapore aerial view


Access to data


Another criterion is access to data. Cities continuously collect and produce large quantities of data for planning, production, and decision-making. Sharing this data with the private sector can help accelerate smart mobility solutions. The City of Denver creates a holistic data environment that brings together data from multiple siloed sources to meet its smart mobility goals. Helsinki, Finland, opened access to city GIS transportation data.

Alternative transportation


A third criterion is offering compelling options to the “one car, one driver” model. For smart mobility, alternative options would need to be connected to the cloud:

  • Bicycle commuting: ideal for commutes of a few miles
  • Carsharing: rent cars by the minute or by the hour
  • Ridesharing (carpooling): make use of the empty seats already in the system
  • On-demand ride services: use personal vehicles to offer transportation services
  • Buses and trains: reimagining existing transportation by integrating them into end-to-end trip plans, including how to travel the last mile home

Autonomous vehicles


A fourth criterion required to enable smart mobility to reduce traffic congestion is the evolution of autonomous vehicles. While still in development, autonomous vehicles are cars or trucks in which human drivers are not required. These vehicles use sensors and software to control, navigate, and drive the vehicle. The use of autonomous vehicles to reduce traffic congestion depends on public policy. For example, self-driving cars could connect transit hubs, provide public transit services to communities not currently served, and be used to improve public transportation.3

Downtown city viewDowntown city view


Traffic management


Traffic management is ultimately at the heart of reducing congestion.  The new Hong Kong-Zhuhai-Macau bridge is a modern-day marvel that has forever changed traffic patterns across one of Asia’s fast-growing areas. Recent estimates say daily volume on the world’s longest sea bridge will reach 29,100 vehicles by 2030 and 42,000 vehicles by 2037. Wilson Parking enables drivers to pre-book spaces on the bridge, resulting in smoother traffic flows. The City of Denver uses its capabilities to take a proactive approach to transportation optimizations, for example, by enabling real-time adjustments to traffic flows in the case of accidents or other disruptions.

Two people standing with luggage, looking at a smartphoneTwo people standing with luggage, looking at a smartphone

Mobility as a Service (MaaS) Applications


Mobility as a Service (MaaS) applications complete the smart mobility picture. The vision of MaaS is to make it easier and less expensive for car drivers and passengers to travel via alternative forms of transportation. MaaS applications enable travelers to plan trips based on their priorities and preferences. Microsoft is working with companies like Moovit and TomTom to offer critical real-time data to MaaS application providers, enabling them to deliver compelling applications.

By connecting traffic lights, vehicles, people, and roads to the cloud, sharing data, embracing alternative modes of transportation, and building traffic management systems, cities like Hong Kong, Taipei, and Denver are experiencing success and leading the way for other cities. As travelers adopt MaaS applications, they will increasingly choose mass transit options over driving on their own. The advent of autonomous vehicles will eventually help reduce traffic congestion even further.

Learn how Microsoft can help you get started with smart mobility.


References:

1United Nations Dept. of Economics and Social Population Dynamics

2INRIX 2018 Global Scorecard

3Union of Concerned Scientists, Maximizing the Benefits of Self-Driving Vehicles



https://www.sickgaming.net/blog/2020/02/...ongestion/

Print this item

  News - Joining
Posted by: xSicKxBot - 02-05-2020, 08:32 PM - Forum: Lounge - No Replies

Joining

The three oldest sisters—Ozletc, Tazaroc, and Niruul—gathered around Amtec, the youngest. They spoke in harmonizing tones, each voice the pluck of a different string on the same instrument.

“You know our purpose,” said Ozletc. “This crumbled timeline…”

“Will let us right the wrongs of Ghaul the Abdicated,” said Tazaroc. “And thus see our people…”

“Reborn,” said Niruul. “Loosed from our fetters.”

“I know your purpose,” said Amtec, who was the most beloved. She trembled in their massive presence. The three oldest sisters had begun the process of joining, known only to them through ancient texts of the mind, never accomplished in recent memory. It was a permanent metaconcert; an unbreakable bond of self-dissolution. Already their minds had begun to merge, and Amtec could see them being drawn closer, as if by some magnetic force in their bones.

“Then you know,” said Ozletc.

“The consequences of our failure,” said Niruul.

Amtec nodded. Her eye darted from sister to sister, now both more foreign and more familiar, as each sister was each other sister, somehow, combined.

“Together, we are stronger,” said Tazaroc.

“Than any threat that may challenge us,” said Ozletc. “But should we fail…”

“Unlikely though it is,” said Tazaroc.

“You must succeed where we could not,” said Ozletc. “And so, you will join with us…”

“In mind,” said Niruul.

“But not in body,” said Tazaroc.

Already, Amtec could feel the power of their minds—their mind—settle against the edges of her own like a heavy, flat stone.

“And so our failure,” said Niruul.

“Will be your failure,” said Ozletc.

“And our revenge,” said Tazaroc.

“Will be your revenge,” said Ozletc.

Amtec had hoped since the beginning to join her sister in mind and body on the battlefield of time. She had thought, today, they would ask. But she knew that if she felt it too keenly, they would taste her disappointment, and she craved their love.

“I understand,” she said, and she vowed to see that any threat that would harm her sisters would be annihilated so thoroughly that it would be wiped from living memory.



https://www.sickgaming.net/blog/2020/02/04/joining/

Print this item

  Steam - Midweek Madness – Battlefleet Gothic: Armada 2, 70% Off
Posted by: xSicKxBot - 02-05-2020, 08:32 PM - Forum: PC Discussion - No Replies

Midweek Madness – Battlefleet Gothic: Armada 2, 70% Off

Save 70% on Battlefleet Gothic: Armada 2 during this week’s Midweek Madness*!

Battlefleet Gothic: Armada 2 is the new real-time strategy game adapted from Games Workshop’s famous tabletop game that portrays the epic space battles of the Warhammer 40,000 universe.

*Offer ends Friday at 10AM Pacific Time



https://www.sickgaming.net/blog/2020/02/...-2-70-off/

Print this item

  News - This Pokémon Quest Labo Kit Comes With Pikachu, Eevee And Bulbasaur RC Cars
Posted by: xSicKxBot - 02-05-2020, 08:32 PM - Forum: Nintendo Discussion - No Replies

This Pokémon Quest Labo Kit Comes With Pikachu, Eevee And Bulbasaur RC Cars


With its build-it-yourself cardboard packs and quirky gameplay, Nintendo Labo is one cool piece of kit. There’s one way to make it even cooler, though, and that’s by turning it into a Pikachu. Obviously.

In the March 2020 issue of Japanese kindergarten magazine Yochien, which hit the market just days ago, readers found themselves getting their hands on these adorable Nintendo Labo × Pokémon Quest sets. Players can build Pikachu, Eevee, and Bulbasaur, and while they can be enjoyed as toys on their own, they naturally shine brightest when played in conjunction with the Nintendo Labo Variety Kit.



You see, these blocky, cardboard critters actually double up as funky designs for that kit’s RC Car, meaning you can transform Pikachu and co. into little vehicles and enjoy a new type of battling. It’s like that Pokémon x Beyblade crossover we always wanted.



Thinking about it, we’re surprised that Nintendo Labo hasn’t branched out to include crossovers with other franchises. Can you imagine how cool a cardboard Legend of Zelda set would be? Or a Paper Mario set? Now we’re talking.



https://www.sickgaming.net/blog/2020/02/...r-rc-cars/

Print this item

 
Latest Threads
Black Ops (BO1, T5) DLC's...
Last Post: BuckTravis
43 minutes ago
Temu Gutscheincode [ald91...
Last Post: Bbenbeckman1
5 hours ago
Temu Gutscheincode [ald91...
Last Post: Bbenbeckman1
5 hours ago
30% Temu Gutscheincode [a...
Last Post: Bbenbeckman1
5 hours ago
Exklusiv 30% Temu Gutsche...
Last Post: Bbenbeckman1
5 hours ago
30% + 100€ Temu Gutschein...
Last Post: Bbenbeckman1
5 hours ago
Temu Rabattcode [ald91150...
Last Post: Bbenbeckman1
5 hours ago
Temu Deutschland Gutschei...
Last Post: Bbenbeckman1
5 hours ago
Temu Deutschland Gutschei...
Last Post: Bbenbeckman1
5 hours ago
Temu Mega Coupon-- ⟪“ale8...
Last Post: seetuvarma5
10 hours ago

Forum software by © MyBB Theme © iAndrew 2016