Do characters age in Stardew Valley?

Publish date: 2024-05-20

Stardew Valley, much like other games, involves the passage of time. There are years to live through, given that it is a social simulator. However, the days and years are not tied to actual days and years like other games.

In fact, one day in Stardew Valley takes about 15 minutes and a year takes about 112 days. This means that one year takes about 28 hours of gameplay to get through.

With that in mind, it would seem like players and characters would age fairly rapidly. At least they would age at a much faster rate than real people do. But the question is: do they age at all?

Ageing doesn't happen in Stardew Valley

There's currently only one group of people in Stardew Valley that age and that's babies. Once players are married they can have babies, and it takes 14 days to give birth to a baby.

Once they are born, they will age to toddlers in another 14 days. But that's where the aging stops. They will stay toddlers for the rest of the game, no matter how long that is.

The same can be said for players, though they don't age even for the 14 days like babies do. Players will join the game and the age their character is set at will remain the same the entire time. The same goes for NPCs like Abigail and Sebastian.

There is no given age for the NPCs, but the community has taken it upon itself to figure out an age range for the people they are befriending and sometimes marrying. According to them, Abigail, Haley, Sebastian, Penny, Maru, Alex and Sam are between 19 and 24 years old.

Penny, an NPC, is somewhere between 19 and 24, based on the community's estimates. Image via Stardew Valley

Leah, Elliott, Shane, Harvey, Sandy and Emily are approximately 28-35 years old. Clint, Caroline, Robin, Willy, Marnie, Demetrius, Kent, Jodi, Gus, Pierre, and Pam are at least 40 years old. Finally, George, Linus, Lewis, Evelyn and The Wizard are over 55 years old. These characters will remain the same age until the game ends.

" modalPopup.closeOnEsc = false; modalPopup.setHeader("Why did you not like this content?"); modalPopup.setContentText(modalText); modalPopup.addCancelOkButton("Submit", resetRatingAndFeedbackForm, sendRating); modalPopup.removeCloseModalIcon(); modalPopup.disableDismissPopup(); modalPopup.open(); } else { sendRating(index); } } function sendRating() { var requestPayload = { "post_id": 900170, "rating_value": ratingValue } if (ratingValue > 3) { requestPayload.rating_feedback_type = null; requestPayload.rating_feedback = null; } else { if (!$('input[name="drone"]:checked') || !$('input[name="drone"]:checked').value) { showErrorMessage('option'); return; } if (!$(".post-rating-feedback-note textarea") || !$(".post-rating-feedback-note textarea").value) { showErrorMessage('note'); return; } var selectedOption = $('input[name="drone"]:checked').value; var feedbackNote = $(".post-rating-feedback-note textarea").value; requestPayload.rating_feedback_type = selectedOption; requestPayload.rating_feedback = feedbackNote; } pureJSAjaxPost(addratingAPI, requestPayload, onsaveRatingSuccess, onsaveRatingFail, function() {}, true); } function resetRatingAndFeedbackForm() { var activeStars = Array.from($all('.rating span.rating-star.active')); for (var i=0; i < activeStars.length; i++) { activeStars[i].classList.remove("active"); } if ($('input[name="drone"]:checked')) { $('input[name="drone"]:checked').checked = false; } var userNote = document.querySelector(".post-rating-feedback-note textarea"); userNote.value = ''; modalPopup.close(); } function onsaveRatingSuccess() { modalPopup.close(); savePostIdInUserRatedPostsCookie(); $("#post-rating-layout").classList.add("hidden"); $("#post-rating-message").classList.remove("hidden"); window.setInterval(function showMessage() { $("#post-rating-widget").classList.add("hidden"); }, 3000); } function onsaveRatingFail() { console.error('Saving post rating failed!'); modalPopup.close(); } function savePostIdInUserRatedPostsCookie() { userRatedPostIds.push(900170); var expiryTime = new Date(); expiryTime.setMonth(expiryTime.getMonth() + 12); // Expiry after 1 year setCookie("user_rated_post_ids", JSON.stringify(userRatedPostIds), expiryTime); } function isPostRatedByUser() { var userRatedPostIds = getCookie('user_rated_post_ids'); if (userRatedPostIds) { try { userRatedPostIds = JSON.parse(userRatedPostIds); } catch (err) { console.error(err); return false; } } else { return false; } if(userRatedPostIds.indexOf(900170) >= 0) { return true; } else { return false; } } function getRatingCountByPostId(postId) { return new Promise(function(resolve, reject) { pureJSAjaxGet( getRatingCountBaseURL + postId + '/rating/count', function(data) { try { data = JSON.parse(data); if (data.meta_value) { resolve(data.meta_value); } reject("Failed to fetch rating count for the post:" + postId); } catch (err) { reject("Failed to fetch rating count for the post:" + postId); } }, function(err) { reject("Failed to fetch rating count for the post:" + postId); }, true); }); } function showErrorMessage(messageType) { var messageContainerId = '#' + messageType + '-error'; $(messageContainerId).classList.remove('hidden'); window.setInterval(function () { $(messageContainerId).classList.add("hidden"); }, 5000); } (function() { var callFired = false; function lazyLoadPostRating() { if (callFired) return; callFired = true; if (!isPostRatedByUser()) { getRatingCountByPostId(900170) .then(function(ratingCount) { if (ratingCount < 10) { $("#post-rating-widget").classList.remove("hidden"); } }) .catch(function(err){ console.error(err); }); } } document.addEventListener("scroll", lazyLoadPostRating, { passive: true, once: true }); document.addEventListener("mousemove", lazyLoadPostRating, { passive: true, once: true }); document.addEventListener("touchmove", lazyLoadPostRating, { passive: true, once: true }); })();

ncG1vNJzZmivp6x7tLzOq6uso5WasaJ6wqikaJ2jpbyzwNJom6hlk52us63CrZyrq12WtKZ50q2Yq5yVrHq3rculnLI%3D