Presenting: YARPA

I’ve started a long term game project. So far I’ve only done short games, mostly in the context of a Ludum Dare or as small prototypes, but that’s going to change. Presenting: YARPA, “yet another RPG attempt”. Yes, it should be YARPGA, but that doesn’t really flow, does it?

I haven’t got a real course outlined yet, I’m going to make it up as I go. One continuous development project where nothing is planned and the points don’t matter. It might not even turn into an RPG a few months into the development, but that’s ok, because I want a project for years to come!

Why an RPG? Because I like RPGs.

The foundations for a codebase have already been laid. I’ve not made a repository for it yet. Way too early for that, there’s only a white square and a green triangle shown on the screen. And a HUD overlay. More later 🙂

Minecraft Server

Some progress screenshots from my private Minecraft Server:

 

My friend’s House

My other friend’s “House”. I love use of the multiple layers of building blocks in the wall. Ahem.

My house

Our farm and some towers

The river

Overview of our town’s center.

Groovy and Tomcat, Pt5 – Bringing it together

For the final part in this miniseries I’ll create a small web application which brings together everything discussed so far. We’ll be using a Java Servlet, a Groovy Servlet and Groovyscripts to bring you the ultimate mix of all things Groovy that aren’t GRails.

What does it do?
It counts the visits you make and adds them to either the javacounter or the groovycounter. There is also a small groovyscript resetting the counter.

Web.xml

<servlet>
 <servlet-name>JavaCount</servlet-name>
 <servlet-class>net.mymilkedeek.groovytomcat.project.JavaCounter</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>JavaCount</servlet-name>
 <url-pattern>/javacount</url-pattern>
 </servlet-mapping>
 <servlet>
 <servlet-name>GroovyCount</servlet-name>
 <servlet-class>net.mymilkedeek.groovytomcat.project.GroovyCounter</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>GroovyCount</servlet-name>
 <url-pattern>/groovycount</url-pattern>
 </servlet-mapping>

counter.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
 <title></title>
</head>
<body>
 <p>Calls made:</p>
 <table>
 <tr>
 <td>Java</td>
 <td><c:out value="${javacounter}" /></td>
 </tr>
 <tr>
 <td>Groovy</td>
 <td><c:out value="${groovycounter}" /></td>
 </tr>
 </table>
</body>
</html>

reset.groovy

request.session.setAttribute("javacounter", 0)
request.session.setAttribute("groovycounter", 0)

response.sendRedirect("counter.jsp")

Java Servlet

public class JavaCounter extends HttpServlet {

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 Object countObject = req.getSession().getAttribute("javacounter");

 int count = 0;

 if ( countObject != null ) {
 count = (Integer) countObject;
 }

 req.getSession().setAttribute("javacounter", count+1);

 resp.sendRedirect("counter.jsp");

Groovy Servlet

class GroovyCounter extends HttpServlet {

 @Override
 protected void doGet (HttpServletRequest req, HttpServletResponse resp) {
 def countObject = req.session.getAttribute("groovycounter")

 def count = 0

 if ( countObject != null ) {
 count = (Integer) countObject
 }

 req.session.setAttribute("groovycounter", count+1)

 resp.sendRedirect("counter.jsp")
 }
}

And that’s the end of this series. The code can be checked out at: https://bitbucket.org/mymilkedeek/tutorials/src

Ludum Dare 24 [02] 14.30 PM Second commit and new idea

So, I didn’t go with the mouse cursor thing. Too meh. Decided on a farm simulator. You start with a few crops and some money. You can grow crops, sell crops and breed crops. At the end of turn 99, the game ends and your money is your score.

The cool thing is that you’ll be able to enter your own dna code. Basically letting you be a genetic engineer. The goal is to find the dna code which gives you the best crop concerning marketprice, seed number and growtime.

At this point I just finished crop breeding. The next steps are:

– user inventory (grown crops, seeds)
– marketplace

In the far future:

– crop/seed detail view
– user dna code (comes at a price)
– crop placement

 

So, yes, I have some work to do.

Eek.