I am a self-learned (beginner) programmer who don't have a lot of experience but I'm working hard to get bit better every day. I am familiar with Java SE and currently going through Core Java series & learnnowjava materials.
This project will become my thesis what I do have to present in April 2012. (Background info: programming & software design is not a part of my curriculum).
What I am trying to achieve:
We have a board game I like to play with my friends. It's a grid based battleground, where you can move your characters around and do different stuff with different objects/monsters.
At the moment we're using a white-board as our field, but I would like to replace it with 17" touchscreen.
At this planning phase, I look up to fellow Javaranchers who could give out basic guidelines, directions, pointers and things to look for. How should I approach?
I have drawn a little picture to explain my final goal. I hope, it contains enough information for the start.
Hi Kristjan. The most important advice I can give at this point is to immediately forget you're working with a touchscreen. It's easy to lose yourself in cool gadgets like that, and forget to build up a solid base.
The touchscreen will be part of the graphical representation and controller of your application. First focus on the actual game mechanics. Create a package that will contain classes such as BattleGround, Creature, Player, Interactive (for objects on the battlefield creatures can interact with).
At first you can test your model using the console. Just display the game in some Ascii representation. This is of course, assuming that your game is turn based (which is the case for most grid based games). You can just print the state of the field to the console after a player's action. (You should probably start testing with small battlefields).
Finally, when you're done with your model, you can start working on the visual part. Again, forget about the touch screen. Just make a standard graphical application in Swing, and perform manipulations using mouse/keyboard.
When this is done, you can add event listeners that deal with touch screens. Often, this won't even be necessary, because I would assume most touch screen manipulations are already handled as if they are mouse operations.
The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.
First of all, before I continue I must pay my gratitude to Stephan van Hulst, I shall thank you for your time and your useful reply.
I have tried couple of times, all the time I fell into some stupid traps. I don't mean to say that I haven't got anything done. Suppose I tend to make things more complicated than they have to be, I'm trying to make everything perfect as possible on my first try and I overwhelm myself.
After couple of hours I'm more or less at the same place where I started, just have re-writed couple of methods and staring stupidly at the screen.
I feel that my personality doesn't allow me to come to the forums and ask every single question I have, it's just not me. I'm looking for someone who can guide me, someone to talk to, someone who is willing to spare some of he's/she's free time to point me to the correct direction - like a programming friend.
Maybe there is someone out there who feels that he/she might want to go trough something like this.
Thank you Javaranch. : )
subject: Guidance appreciated: Designing a "board game" with touchscreen.