Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (476)
Games in Android Showcase (106)
games submitted by our members
Games in WIP (533)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  TaivasHippa, my first finished Java game project  (Read 4637 times)
0 Members and 1 Guest are viewing this topic.
Offline sakus

Senior Newbie





« Posted 2012-05-04 20:04:49 »

This is "TaivasHippa", a 2D top down plane shooter I made for a software development class in the university of Helsinki. I'm still a novice programmer but learning fast and I already shake my head at some of the code I've written for this game but there's really no time to go back a lot to revisit the code.

I used SpriteLib GPL graphics in lack of better ones and sounds from freesound.org as credited in the game. The starting background is some random stock photo straight from Google image search and ran through some equally random Photoshop filters.

I intend to keep developing the game after the class is done, but the game will get a different name (namely an English one), I will bump the version back to 0.5 and recode it all using libgdx and use it as my first Android project (as well as my first libgdx test).

I know at least one annoying bug with the controls that I noticed on some (but not all!) Windows machines I've tested on but haven't really had the time to take a look at it and I will probably have to leave it to the next iteration of the game.

Anyway, thought I'd let you guys take it for a spin as this is my first project that made it this far.
Download a JAR file (used to have a web start link but I broke it and can't be bothered to fix it for now).

Offline Axeman

Senior Member


Medals: 7



« Reply #1 - Posted 2012-05-04 20:28:01 »

Nice one! I think you should keep the name "TaivasHippa", even though I don´t know what it means. Sound original... Smiley

I couple of things: The fan on my macbook started up like a jetplane, and that means that the computer is working hard. In my experience it´s often because I haven´t put a limit on my fps, so this could be worth looking into. Should be an easy fix.

I think the plan would feel better it it didn´t break so hard when I release the "up" button. I belive you can loosen up the "damper" on the planes velocity a tad.

Finally, I found myself thinking the classic "Come on! I wasn´t even close" a couple of times when I crashed. Cheesy It´d be great if you fine tuned the collision detection.

Other than that, nice going! Simple and fun to play, that´s what counts! Smiley You say you´re gonna rewrite it using libgdx. What have you been using now?
Offline sakus

Senior Newbie





« Reply #2 - Posted 2012-05-04 20:48:00 »

Thanks for the comments, I do have a timer there trying to limit the FPS but it was scraped together from example and tutorials and might not work correctly.. I'll have to take a look at that.

Plane handling and other such tweaks are probably the only things I'll have time to go over any more as I'm about to turn the project over for evaluation and I do agree the plane slows down too fast.. I'll probably change that. It will make the game a tad harder as well as then you can't prevent collisions as easily at the last moment.

Collision detection is a problem, I used to have a debug mode switch on the menu that turned on visual bounding boxes so you could see when you're gonna collide but it's disabled now. There's an ellipse on the planes and collision is checked using those, makes it very inaccurate on the backsides of the planes.

It's all pure native Java at the moment as I wanted to learn as much as possible by doing everything myself.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Axeman

Senior Member


Medals: 7



« Reply #3 - Posted 2012-05-04 21:19:31 »

A quick thought regarding the collision ellips: How about using two narrow ellipses per plane instead of one? Like, one ellipse for the body and one for the wings? You would of course double the amount of checks, but on the other hand you should get a more precise collision outline... Just a thought. Smiley

ps. What does "TaivasHippa" mean? Smiley
Offline sakus

Senior Newbie





« Reply #4 - Posted 2012-05-05 07:17:39 »

Yep I thought about doing that for collisions, but the game was already starting to feel sluggish at times plus the deadline to get it done complete with full design documents etc etc is approaching fast so I made the choice to go with what I had initially managed to do. Definitely something I'd like to look at though, another item on the to-do list for the next version. Unless libgdx has some better collision detection stuff built in, haven't really looked into it that much yet.

TaivasHippa is Finnish for "sky tag".. took me all of 45 seconds to come up with that one Smiley
Offline tberthel
« Reply #5 - Posted 2012-05-05 08:07:06 »

Good job.

Rectangle collision is probably fine.

Offline Jimmt
« League of Dukes »

JGO Kernel


Medals: 128
Projects: 4
Exp: 3 years



« Reply #6 - Posted 2012-05-06 01:03:20 »

I like the concept of turning instead of moving side-to-side, good originality. The explosion images should be modified however, right now it looks more like a "pop" than a "boom". Try adding fire to the image.

Overall, quite good for a first game.
Offline sakus

Senior Newbie





« Reply #7 - Posted 2012-05-06 10:28:33 »

The problem with the explosion animation is that because of how I coded it, it doesn't get to play fully before the object gets nulled when it's an enemy plane dying.. you can see the full animation when the player plane gets destroyed. It's still plain though (it's from SpriteLib GPL like the rest of the graphics).
Offline sakus

Senior Newbie





« Reply #8 - Posted 2012-05-06 16:41:32 »

I uploaded the final 1.0 version.. this thing is done (unless I come up with something fancy and quick to implement tonight still as I have a demo session with the game at the uni tomorrow).

I tweaked the plane movement a bit, it's not as quick to accelerate and slow down now. At the same time I added a slight increase to these values to the speed up bonus item (previously it only affected your maximum speed and rotation speed).

I also made it so that the explosion animation doesn't cut off prematurely any more when an enemy plane dies.

Last, the high scores list is now actually populated with scores for the player to beat.

Have fun, thanks for the comments and suggestions and I'll see you when version 2 implemented with libgdx is done Cool
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

pw (21 views)
2014-07-24 01:59:36

Riven (19 views)
2014-07-23 21:16:32

Riven (16 views)
2014-07-23 21:07:15

Riven (19 views)
2014-07-23 20:56:16

ctomni231 (47 views)
2014-07-18 06:55:21

Zero Volt (43 views)
2014-07-17 23:47:54

danieldean (34 views)
2014-07-17 23:41:23

MustardPeter (38 views)
2014-07-16 23:30:00

Cero (53 views)
2014-07-16 00:42:17

Riven (52 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
java-gaming.org 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‑gaming.org
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!