Yarpa, v0.0.1a

Changelog:

  • Player movement and direction

It isn’t a lot, but we’ve got a lot of ground to cover and babysteps are also going forward!

Todo for next version:

  • draw other entities to screen
  • interaction with entities

Screenshots:

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 🙂

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 – [00] Getting ready

Rejoice game devs, it’s Ludum weekend! And I’m entering once more. I’m nearly ready for my third participation. My “I’m in” post.

Things on my To Do list:

  • get some raw ideas in my head. The last theme selection went up and I’ll need to see if I can come up with some simple ideas based on those themes.
  • decide on which genre/game mechanic I want to go. I’m undecided between a board game approach and a more arcade approach using only a mouse as an interface.
  • stock up on food and drinks.
  • linux screenshots for my timelapse.
  • check out launch4j.
  • check out some music programs.

I learned quite a bit from previous ludums. First of all, keep going. Second of all, keep going. Third, stupid fixes to bugs/errors are usually the best. Fourth, keep the code clean as possible. The first Ludum was a pretty codebase gone ugly. My second Ludum was an ugly codebase gone even more ugly. I plan to make the codebase for my third entry a pleasant one. I’m stressing the verb “plan”.

I should also do a bit more on the preparations side beyond coding. Or at least not the night before it begins…

 

Things I’ll do better than last time:

  • collision detection. I figured out how to do it “elegantly”. Still not there yet, but a whole lot better than what i did for LD22 or for LD23
  • coding. Didn’t you hear? Groovy is awesome.
  • deployment. This time, it’ll work everywhere else.
  • making my game fun.

A fun game, you say? Why didn’t I think of that? Well yeah, last times I went with what I had. But this time, I’m going to go somewhere.

 

My planning:

  • Friday-Saturday night; try to wake up at 3 AM to read the theme. Go back to bed and dream about it.
  • Saturday noon; basic gameplay, placeholder art and sfx/bgm
  • Saturday afternoon-evening-Sunday morning; advanced gameplay
  • Sunday noon-afternoon; art and sfx/bgm
  • Sunday evening; submission

I haven’t planned it, but somewhere in between there should be a spot or two for some panicking, anxiety and tranquility. Isn’t Ludum Dare fun?

 

Have fun,
Eek.

Groovy and Tomcat, Pt4 – Groovy Servlet Pages

Groovy Server Pages (GSP)

Setting up GSP is as easy as setting up scripts.

Add following to the project:

– groovy.jar
– groovy-json.jar
– groovy-servlet.jar
– groovy-templates.jar
– groovy-xml.jar
– antlr.jar
– asm.jar

web.xml


<servlet>
 <servlet-name>GroovyPages</servlet-name>
 <servlet-class>groovy.servlet.TemplateServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>GroovyPages</servlet-name>
 <url-pattern>*.gsp</url-pattern>
 </servlet-mapping>

And then just create your .gsp file:


<html>
<head><title>Groovy Pages</title></head>
<body>
<p><% println "hello world" %></p>
</body>
</html>

Navigating to the gsp url gives me the following:

Still easy as 1-2-3.

The next part will be up later tonight as it’s under construction. It will feature a project that ties all the different groovy parts together into one project.

Until then, take care,
Eek.