Posts tagged Java
Having deployed my first Processing application on my web comic, I now am pretty into Java development. This is not to say that I’m great with Java, however, I really do value cross-platform material and web games more than being able to deploy to the Xbox 360, and having stated that value, yes, I do think I made a bit of mistake on how I chose to approach my senior project. Like this excellent blog post’s revelation, there are just clear disadvantages to XNA. Yeah, we all know that. It’s nothing new. But XNA makes things so easy.
One of the main things that indie developers struggle with is ease of development. XNA makes things easy, and on Codeplex there are tons of open-source projects, which I have had the pleasure of using. I’ve rubbed up against some excellent indie game developers, who I suspect have a lot more industry experience than I. And it’s really fun working with them, really fun using the Farseer Physics Engine and Krypton XNA, and really fun seeing quick results.
But while those results exist, I know, while I’m making them, that not everyone gets to see them and experience them. If I could do my senior project all over again, I would do it with Java, LWJGL, and whatever other technologies exist to help me in that space. Why? Well, why should anyone even have to download my project to play it? Having Java is the only requirement that users need comply with, and they can play things in a browser. Minecraft, the current rage, is doing just fine with Java, and there really doesn’t seem to be a disadvantage that would actually affect any ideas I would want to pursue. And not only does there exist web development, but the option to create a downloadable application as well.
I’m saying things that most developers already know. But I’m really figuring it out early on, I feel, that I need to work with technologies that span all platforms. I wanted to use Unity way back when I was starting, but like many great things it costs money to use the version with the features I wanted to use. I want to be able to really quickly mock up ideas I have and deploy them directly to my website, so that a link is all anyone needs to check out my work.
So that’s exactly what I’m going to do. I’m going to start using Java, LWJGL, and whatever else I can find, and from this day forward have web-deployable games. I’m going to start with a text-based interface like Phoenix Wright that I want to use with the web comic, but I do want it to expand into something greater as time goes on. The plan is to develop in iterations that are each end products themselves, not only the text-based tool, but a tool for sidescrolling and top-down movement in games as well, so that I can use them for the web comic and any other ideas I have along the way.
The new project I’ve started in Processing is going extremely well. I did have a bit of a rough time last night; I stayed up until 3AM figuring out how to make a project that would work in both Eclipse and the Processing editor, as well as provide me with a workable workflow. I still haven’t really figured it out; basically I need to keep the library I’m developing for it updated in two places. I’m sure I could write an Ant script to do this for me, but ugh… and the Processing plugin is okay, but for some reason I’ve lost out on autocompletion in the sketch files. I don’t know, there’s a couple issues I still have, but I definitely know what needs to happen to make everything work in the meantime. I should mention that I made a big step as far as deployment goes too; it’s another process I’m not entirely happy with, but after I follow it I am basically able to deploy whatever I’ve done to a blog post. I should also mention that it didn’t work on Internet Explorer… I’m sure there’s a solution for that, but… I’m just not going to deal with it right now.
Isn’t that interesting? Now I can develop things and then put them on my website! Of course we all knew this was possible, but I had just avoided diving into Java and Processing until now. I even ported over the component system that I’m using in Ne+ and have a sprite library that should handle animations for me, although I haven’t made an animation to test with, and I also polished the dialog box I made so that it works pretty well. I still need to figure out how I’m going to make the little triangles that come out of it and point at who’s talking… What could I be up to, I wonder?
I just started playing with Processing, which seems to be a really cool Java-based tool for quickly writing simple applets and applications with a visual element. I have an idea of something that I’d like to try doing with it, so I’m going to grab Eclipse, configure a little environment, and see what I can do with it. I coded a little text function that writes character by character over time in basically no time at all, with easily customized options. Pull that into a class, and I’ve already got the beginning of a dialog box. And I should mention that I really don’t even know Java, but it’s easy enough to go between it and C#. I can see things getting confusing as I want to do more complex things, but really Processing aims to keep things simple and I’m all about that. My idea is an extremely small project, and I think that if I throw myself into it I could have it done really, really quickly. Which would be awesome, as I haven’t been able to look at any of my work and say “I definitely completed something here,” in a really long time. I hope this works out, my idea is actually kind of novel. If done right, it could be very neat. I’m going to wait a week or two before spilling the details, but for now know that it’s web based so that I can just rely on everyone having or downloading Java and relax knowing that my stuff probably works on most configurations.
UPDATE: I have since become aware of not one, but three different projects extremely similar to this one. They are:
In a way this is disappointing news (and great that these tools already exist), but in another way I almost want to create my own anyways with Java, which I think would be better in its own way than the existing projects, assuming of course that it goes as well. I’ll have to think about what to do from here, and if another idea might be more deserving of my time given the circumstances.
Phoenix Wright: Ace Attorney is an amazing game. Part of the magic stems from its simplicity, and text-based nature. Knowing that one of my favorite games is so simple immediately makes me want to participate in it in some way. I started to think about how the game operates, how it could be made, and realized that it is a shining example of a game that could be created by someone who knows nothing about programming or game development, if only they had the right tools. The OpenWright project is a game creator and editor for rapidly speeding along the development of games similar to Phoenix Wright series entries. The functionality of Phoenix Wright games in particular will be created first and foremost, so that fan entries in the series are easy. At the point in development in which this is possible, it should also be technically possible to utilize different artwork and writing to create any game that functions the least bit like a Phoenix Wright game, defining content in the editor or in external files and importing. By simply making the correct aspects customizable, I think that the project would be both not too time consuming, and incredibly valuable.
Here I will document some of the initial ideas I have on the project.
- A standard project editor, with something like a tree view of content
- Fully customizable artwork and text and sounds
- A way to define “items,” including branches for what certain characters say when you present them with the items, and descriptions and artwork
- An easy way to write scripts including effect and animation and sound tags for certain words or sentences
- A way to define the flow of a game, when new areas are available to travel to, and when they’re not
The current technologies I have in mind for development of the project are:
- C# and .NET and WPF for the editor (making it Windows-only, unfortunately)
- Java for the game player (making it possible to put on Android, on the web, etc.)
I initially wasn’t ecstatic over the possibility of ever using Java ever for anything, but I think that might be a case of me listening to peers and reading articles online and coming to an unfair position; I won’t know how I feel about it until I use it, and honestly I’m sure it’s fine. To reach absolutely everyone, it seems like a very good choice.