The Marionette Cards -- WIP multiplayer/singleplayer card game

THE MARIONETTE CARDS

Hey, good people! This game was originally meant to be a small project of mine, but I realised that the idea was pretty cool. Basically the game is a unique yet limited simulation of real life in which you can’t see yourself moving around or anything of the sort; instead, it’s a lot like a nation simulation game, but you don’t start off as a ruler. You always begin as a citizen who’s just a nobody in the virtual world, but you can get jobs (and yes, you can become a president or a minister and rule the country, but not immediately, just like in real life). The twist is that the gameplay revolves around the use of cards. Believe it or not, the game, as of now, looks nothing like anything I just told you. In fact, it looks totally different. It’s a little hard to explain, but I’m sure you get the gist of it. There will be a map and shops, buildings, job centres, houses and other things will be marked on the map as cards.
To collect a house card, you have to pay money and get the house. To collect a shop card, you have to apply for a job at that shop. Or you can simply visit a shop, buy food, store the food in your inventory and sooner or later you’ll have to eat it, because if you go hungry for too long, you’ll die. If you’re playing with another friend on a server, you can visit your friends house by finding his house card on the map. You have almost full control in the game (hence the “marionette” in the name of the game). There’s more to the game, of course, but that’s the main idea.

Right now, there are no cards or any maps. All you can do is set your username and type in commands to do things, like, “enter uncle sam’s snack store”, or “buy 2 fried carrot sticks” or “sell 1 5” and stuff like that. Once I’m done with all of the commands, I’ll have to do the Great Conversion (or at least, that’s what I call it), which involves converting the whole game into a card game. Trust me, it can be tedious, but it’ll be easier than starting with the cards themselves.

Oh yeah, the GUI looks pretty…um…ugly, right now. That’s because I’m still using Swing, without a Look & Feel (or if you prefer, a theme). I’ll eventually have to create my own theme. I’m also working on usernames right now, because even though the usernames and multiplayer connections are working (more or less), there’s a problem with the detection of username conflicts. It’s really annoying, but not as annoying as that time when I couldn’t detect multiplayer inputs because I wasn’t calling the BufferedReader ready() method (trust me, I spent three days figuring out that problem before I realised that I only had to check if the reader was ready to read). Eventually I’ll have to design the cards and the map (that’ll be really fun), so look forward to that! Anyway, that’s all right now, because I started on the game just a couple of weeks ago, so it hasn’t amounted to much yet. Still, it’s something. Let me know what you think of the idea, because I’ll be going with it anyway. I won’t be taking suggestions right now, but it’d be cool to have some support from the community, at the very least. Here are a couple of ugly screenshots (plain Swing is plain) upon which you can feast your eyes!

[i]
UPDATE (#1):

I have improved interaction between servers and clients. I’ve started work on a logo for the game, too.

UPDATE(#2):

Fixed a NullPointerException and organised the code in preparation for the implementation of the “Unique Jobs” feature. Begun work on adding content (food items, shops, furniture, etc.).

UPDATE(#3):

I added the text area to a JScrollPane. Should have done that ages ago, but ah well. It’s a little more convenient for me to test the stuff now.

UPDATE(#4):

I created a Player class so that multiplayer would be easier for me to work with. I haven’t tested it yet, but it’s actually a huge improvement. I used to have a HashMap and a List to handle multiplayer, but now I only need a single List. It was exciting to create the Player class, because I’d never used Generics in Java to create my own classes before I made the Player class.

UPDATE(#5)

I have to do a complete re-write of the code which concerns jobs, because I made huge changes to the shops. After I’m done with the jobs (I’ll probably finish it by today) I’ll begin work on the graphics (cards, maps, etc.) :smiley:

UPDATE(#6)

Haha, yeah! I fixed the jobs. Right now all that happens is that you can join a job at a shop which actually offers that job and you get a certain sum of money every 150 seconds. It’s time to prepare for the Great Conversion, which means I have to get started on the graphics right away!

UPDATE(#7)

Yesterday was a productive day, but today certainly wasn’t. I spent most of my time goofing around with the current version of the game, but I’ve started to learn JavaFX, so that’s something. Tomorrow will probably also be devoted to learning JavaFX, but I might also plan the layout of the entire GUI.

UPDATE(#8)

I’m learning JavaFX…slowly. It’ll take a while, because I devote my free time to other activities too, not only to programming.

UPDATE(#9)

I’ve begun work for real on giving the game a GUI overhaul. It’s been great, and today was a real productive day! I’ve attached another screenshot down below, so you can go check that out. Also, I added like 5 classes :wink:

UPDATE (#10)

I’ve got the map generation algorithm working (the logic side, at least). I still need to fix the positioning of the pathfinding nodes and paths and stuff.

UPDATE (#11)

The algorithm is working, yes, but it does lag after a while. I still have some memory management to do, I guess. And System.gc() just makes things worse, so nope, I’m not going to use System.gc().

UPDATE (#12)

The gaming was shaping up, but now everything has gone wrong. It’s not a bug I discovered, but a huge flaw in the concept. With multiple levels of interaction between the cards and the layout panes, there isn’t a way to properly modify the card after the card has been submitted to the main pane. I have to do something about it :-\ :o

UPDATE (#13)

I managed to squash that terrible bug, and I fixed up the buying/selling of items. It’s going great!

UPDATE (#14)

I fixed buying/selling again; there were a couple of bugs. Also, I added an “eat” feature, so you can now actually eat food items stored in your inventory :smiley: Oh, and yes, I uploaded another couple of screenshots for you to feast your eyes upon. Check them out down below!

UPDATE (#15)

Jobs are up and working. It’s all going really great. Expect a tech demo to be released soon :smiley: Now I only have multiplayer and housing to worry about.
[/i]