Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (753)
Games in Android Showcase (228)
games submitted by our members
Games in WIP (842)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1] 2 3 ... 20
1  Games Center / WIP games, tools & toy projects / Re: Project Freeman: a remake of Risk on: 2016-05-26 14:45:39
I'm interested in your project because I've always thinking about a risk or tabletop games, so I have few questions:

1) I see a nice map, there is an editor / tutorial to change it ? And also there is a way to define nations borders ? If I understand correctly you are simple using colors, right ?
2) did you tried to add some sort of AI ?
3) what kind of license for code and art have this project ? It's free software?
4) do you have an UML diagram or some sort of scheme for projects dependencies and "main loop" otherwise is hard to understand well what's happening and where Cheesy
5) about the map, there is a data structure behind it ? For example in first screenshoot "Agricia" have border only with Anglum, do you have planned unit movements using also this information ?


It has been a few years since I worked on this project but I will answer these questions to the best of my knowledge.
1. The map was made entirely in photoshop so no map editor exists to change it, it is actually a large image that is loaded which may not have been the best idea but that is how it turned out. I am not sure that a tile system would have been applicable here. You are correct in understanding that nation borders are defined by colors (which is in another image the same size as the map.).
2. If I went further with the game I may have eventually implemented some type of AI but as is there is not currently any AI in place.
3. I have not yet determined what license that I want to release the game under
4. I do not have any UML diagrams for the game. I would be glad to explain anything however
5. I never got to the point in the game where I would implement unit movements based off of that type of information so the answer is no. If I returned to development of this game I may have added those things but as it stands right now, no

I think this game had a lot of potential but I never really did anything with it in terms of game play. Please feel free to contribute to the game and continue to ask for help if anything is vague about the project.
2  Games Center / WIP games, tools & toy projects / Project Freeman: a remake of Risk on: 2016-05-24 21:18:14
Project Freeman

Project Freeman began as a game meant to be a spin off of the board game Risk. The name Project Freeman was meant to be a code name before an actual name existed. I was the sole developer for the game writing all code involved, while my friend James wrote much of the plans, and my friend Dylan did the artwork. Basically each player would join a game and start with ownership of a single country, and their objective would be to become more powerful than the other empires and overthrow them. This could be done through different attacking methods, boosting your own economy and through other methods all with the purpose of obtaining supreme power. Players have the option of joining many games that are in progress where they can send messages to each other in game, and interact by the actual game play. I made this game a few years back but never completed it as the actual planning of the gameplay just seemed to be a mess and I never got back into it with my friends. I used libgdx for the game as well for both the launcher and the game. Scene2D was used for the UI in both launcher and game. Since it is not truly finished I offer no download links but feel free to download and compile the source code from the link below.
Source Code:

<a href=";hl=en_US&amp;start=" target="_blank">;hl=en_US&amp;start=</a>

The powerful software allowing the whole game to operate was the server. It operated with the help of the Java networking library KryoNet which allowed data to be sent to and from the client and server. The server served as an account validator / creator, the central point hosting all games and transmitting new events from each game, and to autosave players accounts and game data. Per client request it could transmit game information, list games that are available to join, and broadcast chat messages. It was the linking point for all clients that would play the game. The server could even send out text messages if an error occurred notifying me or my friends to fix it. (Example console log shown later in this portfolio)
Within the server console, there were a variety of commands that allowed server usage to be more functional. These included: ‘get password <username>’, ‘game id <game name>’, game stop <game id>’, ‘server info’, ‘stop’, ‘delete account <username>’, ‘ban username <username> <reason>’, ‘ban ip <ip address> <reason>’, ‘save’, ‘help’, and ‘create account <username> <password>’. These simple commands increased the functionality of the server and allowed it to edit account or game data without having to create an entire new game or player account. The effect of each command should be generally self explanatory.
Periodically the server was setup to automatically save all game data, and update all user files. This was done on a separate thread rather than the main server thread as to not disrupt transmission of crucial game data. This was done through Java Serialization. It allowed for an easy data saving format which could be saved and opened very simply through native Java features. Although this is a very simple way to save data, the files that are created cannot be edited by opening them through a text editor which makes the commands that were implemented very practical in editing saved data.

Possible commands as they appear in the code

The most important aspect of the server was its ability to transmit data. Through the help of the lightweight Java networking library called KryoNet this task was accomplished. KryoNet allows for a simple way to send TCP / UDP data to a multitude of clients. It could update clients as a new game event occurred such as a new weapon in game being bought or a new in game chat message being transmitted. Sensitive information such as account passwords were sent encrypted with the help of a Blowfish Cipher.
Error Notifications
If an exception was thrown on the server or some other error occurred, it had the ability to send out a text message to myself and my friends telling us that something was wrong along with a simplified version of the error.

The Launcher for Project Freeman was a piece of software that allowed users to create accounts, view the change log for the most recent update, automatically download the most recent game version, view the twitter feed from the Project Freeman twitter, and log in to play the game. (Pictured later in this portfolio)
Account Management
The launcher allows users to log in and create an account. All account usernames and passwords were limited to containing certain characters. Upon logging in or creating an account, all data was encrypted before being sent.
Information Display
In addition to displaying the account management portion, other information is also present. On the right side of the launcher, you can see both a twitter feed from the Project Freeman twitter account and the change log for the most recent version which is accessed from some files stored on Github used as a file server.
Auto updater
As the launcher is opened it checks to ensure that the user has the most recent version of the game. It does this by accessing some files hosted on a Github server. If the user does not have the most recent version, it downloads the most recent version from this server and replaces the older version with the updated one. It shows a status of the download percentage as the download occurs. After downloading the new updated game can be played without any messy user dependant updating.

The Game
Project Freeman was created with the huge help of the multi platform Java based gaming engine, LibGDX. LibGDX allowed me as a developer to focus more on the user side of the game rather than handling graphics and interacting with the graphics card at a lower level. After logging in through the launcher another .JAR file was opened which contained the game. It began with a loading screen which loaded all necessary assets followed by a menu screen where players could join a game. They were then brought into the magic that was Project Freeman. (Pictured later)
Loading Screen
Instead of loading assets on the fly, for the most part assets are loaded upon initial deployment of the game. This allows for uninterrupted transitions between screens upon beginning actual gameplay.
In Game Screen
The in game screen was the most important aspect of Project Freeman. It allowed users to become immersed in the actual game. On this screen was a chat box for talking to other players in game, a list of players in your current game, and an event box which would display updates such as when another country purchased weapons or when an empire was gaining strength. Everything occurred in real time, as one person somewhere else in the world placed a new weapons system on their empire, you would see it as soon as it was placed, on your own screen. This is what allowed the idea of the game of Risk to be brought to a computer.
Menu Screen
The menu screen allowed users to join a game. On the menu screen was a list of games that were available to join along with the options of joining a random game or creating their own game.

This game served as a coding project unlike any other. It allowed me to collaborate with some friends on a common goal and still be the sole coder of the project, which was something that I enjoyed. I came out of this coding project knowing way more than I began with which made the project as a whole successful in my eyes. It also gave me a taste of what a career in this field would be like and I think that this game, along with many other projects I have worked on, are the reason I want to major in Computer Science so strongly. This project specifically combined almost all the aspects of my knowledge in Java and programming as a whole. The biggest part of the project for me was not what I knew but what I did not know. It became a constant quest of learning about new aspects of computer science - it was a quest of understanding rather than copying and pasting. New topics learned through this project included multi threading, networking, interacting and hosting with a server, managing a larger coding project, sockets, encryption, and serialization. All these topics were taught to myself through online videos, websites, and books. No formal courses helped me with the knowledge needed to create this game. Despite this hard work the game fluttered off after most of the support structure of it was developed, largely due to poor game design that created flaws in the actual fun in the game. All in all it was an experience I will never forget and I believe it will greatly aid me moving forward. Be sure to check out the source code for the full effect of everything described: !
3  Game Development / Articles & tutorials / Re: Youtube OpenGL series on: 2014-09-21 01:20:11
The video no longer exists...
4  Games Center / WIP games, tools & toy projects / Re: LodeScape RPG on: 2014-08-13 02:54:25
Yeah thats what I am talking about I got caught up with another project which is quite fun learning a bunch and finally I am coding with grace, however I will keep this in the back of my mind as something I will do as other things wind down
5  Games Center / WIP games, tools & toy projects / Re: LodeScape RPG on: 2014-07-01 18:46:39
Would an update to the code be something that you guys would be interested in>?
6  Game Development / Game Mechanics / Re: Split an array into small sections on: 2014-06-27 00:56:48
Just wondering why exactly do you need this?
7  Games Center / WIP games, tools & toy projects / Re: LodeScape RPG on: 2014-06-27 00:42:38
Hello everyone! I have recently noticed on my github that the project has had 17 stars and 14 forks. I really am impressed that it managed to get that. But unfortunately the quality of the code in the project is definitely sub par so I was wondering if anyone would enjoy a remake of the code in a much higher quality fashion. Send me a message or let me know if interested!
8  Game Development / Newbie & Debugging Questions / Re: Rotating libgdx Camera based off of Azimuth, Pitch and Roll on: 2014-03-28 23:21:40
I just tried combining azimuth and pitch which has an interesting result. I know the pitch doesnt exactly work to begin with with this implementation as described above but the shaking bug thing does not occur when these are combined. When using pitch i rotate along the camera.direction axis which leads me to further believe that the cross product calculation in the roll example above is causing something to go wrong and the spinning effect once the phone is shaken...
9  Game Development / Newbie & Debugging Questions / Rotating libgdx Camera based off of Azimuth, Pitch and Roll on: 2014-03-28 23:01:12
Hey guys! I wanted to create a little app / game based off of the way the user is holding the phone (sort of like an augmented reality to help you understand what I am trying to do) and that from my research will depend largely on the compass ( I also managed to find this page but the CompassTest is no longer in the libgdx project for some reason. I managed to find which shows sort of how to do what I am asking but a lot of it is left unexplained and I know the 3d part of libgdx has changed greatly since the time that the post was written. If this code is possibly helpful I would appreciate it if someone could explain it or point me in the direction to rotate a PerspectiveCamera based off the compass. Since it wasn't for me this is what I came up with:

From my research and testing I have come up with this but it only seems to work if I want to use one axis at a time.
//azimuth example
float deltaAzimuth, lastAzimuth;

public void render(float delta){
    //the actual drawing stuff is here
   deltaAzimuth = (Gdx.input.getAzimuth() - lastAzimuth);
   camera.rotate(camera.up, -deltaAzimuth);
   lastAzimuth = Gdx.input.getAzimuth();

//roll example
float deltaRoll, lastRoll;

public void render(float delta){
   deltaRoll = (Gdx.input.getRoll() - lastRoll);
   camera.rotate(new Vector3(camera.up).crs(camera.direction).nor(), deltaRoll); //creates right vector
   lastRoll = Gdx.input.getRoll();

If I choose one to use it seems to work very well. But when I combine both azimuth and roll it does not work so well... That may be because I am missing the pitch in this. I attempted to implement pitch with the same deltaPitch and lastPitch aproach but the values appear to be in the range of [-90, 90] rather then the azimuth and roll which have the range of [-180,180]. If I combine both roll and azimuth and I shake my android phone things sort of seem to spin around which is hard to describe. All I know is that shaking my phone should not cause this effect. I figured it may be a problem with the cross product calculation but so far no luck with anything. If you see anything apparent or have suggestions please let me know. Thanks!

p.s. Once I finish this I plan on documenting everything and releasing a public source code git repo since everything has been rather difficult for me to find and I would rather other people not to go through this
10  Discussions / General Discussions / Re: Forum Questions on: 2014-02-15 23:13:22;u=268324;sa=showTopics
11  Discussions / General Discussions / Re: Replicating a stock market in game on: 2014-02-13 16:42:00
If you mean a stock market simulator, that is not what this is. It's a real time strategy focused on over powering other countries with weaponry and defense systems
12  Discussions / General Discussions / Replicating a stock market in game on: 2014-02-13 16:34:44
Hello everyone! I come today to ask about stock markets in a real time strategy game. Me and my friends are working on a modern and more advanced version of the board game risk and we need some opinions about this: If we are to implement stocks into our game would things like equity, assets, and liabilities be too complex for a video game? Would only the price per share and the companies value be sufficient? I don't want to make this too complex so any input is appreciated! The game will be soon on JGO if you are interested

Sneak peak screenshot:[/img]]
13  Game Development / Newbie & Debugging Questions / Re: Scene2D UI - make grid on: 2014-02-07 21:06:24
If you don't mind share the code, I am sure someone in the future who looks at the post would appreciate it
14  Game Development / Newbie & Debugging Questions / Re: How Do I Get My OpenGL Context In NetworkListener Class? on: 2014-02-05 21:11:39
I don't remember much about slick2d from the time I once used it... but if I learned anything from game dev it is that things that are drawn are called in a loop. They are drawn every frame. Since there is no render loop, it gets drawn for one frame then it goes bye bye. Also consider moving on from slick2d to libgdx.

[EDIT] i am not saying to implement a loop in the listener class but you need to do something here
15  Game Development / Newbie & Debugging Questions / Re: Scene2D UI - make grid on: 2014-02-05 12:28:11
I really don't like the look of all those static methods.... I too once went down that path as i began game dev over a year ago I have come so much since then. Don't let this happen to yourself
16  Game Development / Newbie & Debugging Questions / Re: Scene2D UI - make grid on: 2014-02-05 12:08:12
I am not aware of anything like that... I think you would be best off creating your own method that takes in your desired parameters and handles mass creation of some actor.
17  Game Development / Newbie & Debugging Questions / Re: 3D tutorial Problem on: 2014-02-04 02:19:18
next time try and put some effort into solving the problem before immediately posting this... i have never used those tutorials before and managed to solve it in 5 seconds
18  Game Development / Newbie & Debugging Questions / Re: 3D tutorial Problem on: 2014-02-04 02:08:39
You probably forget to add it...
19  Game Development / Newbie & Debugging Questions / Re: 3D tutorial Problem on: 2014-02-04 02:03:50
What exactly is your question?
20  Game Development / Newbie & Debugging Questions / Re: LibGDX Stuttering/Jumping Movement, TiledMap, no Delta Timing on: 2014-02-02 01:59:29
In your topic it says "no Delta Timing" Why is that? Have you tried using delta for this?

public void render(float delta)
--   if(Gdx.input.isKeyPressed(Keys.DPAD_LEFT))    currentX -= moveSpeed;
++  if(Gdx.input.isKeyPressed(Keys.DPAD_LEFT))    currentX -= (moveSpeed * delta);
   if(Gdx.input.isKeyPressed(Keys.DPAD_RIGHT)) currentX += moveSpeed;
   if(Gdx.input.isKeyPressed(Keys.DPAD_UP))) currentY += moveSpeed;
   if(Gdx.input.isKeyPressed(Keys.DPAD_DOWN)) currentY -= moveSpeed;, 0.0f, 0.0f, 1); | GL10.GL_DEPTH_BUFFER_BIT);

   camera.position.set(currentX, currentY, 0.0F);


Looks like Jimmt beat me to this one. Also if you multiply by delta you will have to increase the move speed values since delta is such a small number.
21  Game Development / Newbie & Debugging Questions / Re: Libgdx - Layout Issue With Table(Window) on: 2014-01-30 00:18:00
Those make sense for the original calculation but why after each click to healthTradeSlot ?
22  Game Development / Newbie & Debugging Questions / Re: Libgdx - Layout Issue With Table(Window) on: 2014-01-29 21:31:08
What exactly is the purpose of the resize() method? there are a lot of wacky numbers in it
23  Game Development / Newbie & Debugging Questions / Re: LibGDX quest log display? on: 2014-01-28 22:04:20
If you are using libgdx why not use scene2d? then look at specifically the window and dialog section on that screen. browse the libgdx source for a scene2d example on these two things if you have not used them before.
24  Discussions / Business and Project Management Discussions / Re: JGO Translators on: 2014-01-24 21:47:05
I can translate English to Italian for the most part...
25  Game Development / Newbie & Debugging Questions / Re: Unsure On How To Change Slick States w/ Kryonet on: 2014-01-16 22:30:14
Create your kryonet client in your slick main class for the game. Connect it there and add the listeners. For each of the screen classes pass this original client object in as a parameter so you can share this object without having to reconnect every time. In your received method just add

public void received(Connection con, Object obj) {

      if (obj instanceof Packet.Packet1LoginAnswer) {
         boolean answer = ((Packet.Packet1LoginAnswer) obj).isAccepted();
                if (answer)
+                sbg.enterState(state to enter);

26  Game Development / Newbie & Debugging Questions / Re: [LibGdx] - Exported to Jar, and Gamescreen wont show, but other Screens will? on: 2014-01-06 01:56:21
If there is not an error printing out there most likely is not an error occurring, otherwise something would be printed out. One of the harder things in programming (sometimes easiest thing) is to accept that you have done something wrong and it is not a bug in the software you are using, but rather in the code you wrote.
27  Game Development / Newbie & Debugging Questions / Re: [LibGdx] - Exported to Jar, and Gamescreen wont show, but other Screens will? on: 2014-01-05 17:08:42
To do something easier then @Andre's example you could just run it from console and see the error that way without modifying any code.
28  Game Development / Newbie & Debugging Questions / Re: [Kryonet] Receiving Tcp message issue on: 2014-01-03 01:22:24
didn't you want to use tcp ?  Huh
29  Game Development / Newbie & Debugging Questions / Re: [Kryonet] Receiving Tcp message issue on: 2014-01-03 00:26:31
I would recommend to try working out the problem with a less complicated CLI program using only println statements so you only have to worry about the kryonet code rather than everything else on top of it
30  Games Center / WIP games, tools & toy projects / Re: Kartex on: 2013-12-30 03:11:16
All of those screenshots show the position as "2th" lol try and fix that bug
Pages: [1] 2 3 ... 20
nelsongames (19 views)
2018-04-24 18:15:36

nelsongames (17 views)
2018-04-24 18:14:32

ivj94 (608 views)
2018-03-24 14:47:39

ivj94 (53 views)
2018-03-24 14:46:31

ivj94 (401 views)
2018-03-24 14:43:53

Solater (66 views)
2018-03-17 05:04:08

nelsongames (111 views)
2018-03-05 17:56:34

Gornova (176 views)
2018-03-02 22:15:33

buddyBro (747 views)
2018-02-28 16:59:18

buddyBro (94 views)
2018-02-28 16:45:17
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!