Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (523)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (592)
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  
  1986 Knightmare: A Learn-How-to-Program, Clone & Reskin project  (Read 2356 times)
0 Members and 1 Guest are viewing this topic.
Offline Norakomi
« Posted 2014-04-25 14:47:26 »




Hi,

I'm pretty new to (game) programming & started educating myself how to.
I decided i was gonna work on cloning one of my old time favorite games called Knightmare - a game Konami made in the 80's & when i finish I plan to reskin it & get it on Google Play.

I thought i'd show you my work progress & any input would be (probably) be greatly appreciated

So far this is what i got now:
<a href="http://www.youtube.com/v/0KZrjhaqxBo?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/0KZrjhaqxBo?version=3&amp;hl=en_US&amp;start=</a>

Still a lot of things to do before this project is finished.
I decided to make a to do list:

Coding:

- Enemies:

Enemy movement: currently all the enemies have a similar and simpe movement path. Give different enemy types  different movement paths
Enemy health system: Incorporate a health system so that certain enemies need to be hit more often.
Enemy sound effects: add sound effects to certain enemies
Finish Boss enemy

- Our hero:
Create different animitions for when our hero moves or stays at the same place
Upgrade the weapons system, meaning give our  hero te possibility to pick up different weapons
Shield: Add a possibility to get a shield

- Add PowerUps
moving balloon-like powerups that enables to switch weapons.
fixed-position powerups for extra point, extra life & instantly kill all enemies on screen

- Levels
Adding 2 more levels. New Enemy types & bosses
- Visuals:
Change to landscape mode: portrait mode might not be suitable if we wanna incorporate a graphic on-screen movement controller. Changing to landscape mode means everything needs to be resized appropriately

- Movement controller:
Currently keyboard input is being used to control movement and to fire an arrow. A graphic interface needs to be created to read out touch input from tablets and phones which can be used to control our hero
Reskinning:

- Graphics:
Everything needs to be redesigned & we might even wanna use a totally different theme.
Finish the Norakomi Logo so we can add a SplasScreen to the game with our own logo!

- Music:
intromusic
backgroundmusic (main theme)
boss music
sound effect: death of hero, fire animation sound on death of enemies, sound effects on enemy bullets hitting shield, sound effect on arrow hitting powerups, sound effects for different enemy types

Incorporating Add Networks
Chartboost(?)
Revmob(?)

-----

This is what the original game looks like:
<a href="http://www.youtube.com/v/VjzHcunnNaE?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/VjzHcunnNaE?version=3&amp;hl=en_US&amp;start=</a>


Norakomi Retro Games Projects at: http://norakomi.blogspot.nl/
Norakomi on Google Play
Online SHC
« Reply #1 - Posted 2014-04-25 15:09:33 »

It's nice, but one thing, please avoid applets, they are dead now.

Offline SauronWatchesYou
« Reply #2 - Posted 2014-04-25 16:06:38 »

Nice! The music is really catchy xD. Look forward to seeing more Tongue
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Norakomi
« Reply #3 - Posted 2014-04-25 17:04:15 »

It's nice, but one thing, please avoid applets, they are dead now.

TY. But avoid applets? I wouldn't know what to use else?

I use an Applet now so i can test my game real quickly. Currently coding on an old computer with ADT/Eclipse and emulating a virtual (mobile phone) device is just not working or taking forever to load.
Thought I keep it to applet for now & once the game is finished change everything to whatever is best for getting it to work on Android devices.

@SauronWatchesYou: Tnx, yeah the theme IS really catchy. Not mine unfortunately ;p

Norakomi Retro Games Projects at: http://norakomi.blogspot.nl/
Norakomi on Google Play
Offline Drenius
« Reply #4 - Posted 2014-04-25 17:59:44 »

Quote
TY. But avoid applets? I wouldn't know what to use else?
An HTML5 implementation like (not only) LibGDX has.
Offline Gibbo3771
« Reply #5 - Posted 2014-04-25 18:05:20 »

Quote
TY. But avoid applets? I wouldn't know what to use else?
An HTML5 implementation like (not only) LibGDX has.

Does it not compile it in a way that JavaScript can interact with it?

I am lacking quite a bit in the whole HTML5 and game embedding Sad

"This code works flawlessly first time and exactly how I wanted it"
Said no programmer ever
Offline Norakomi
« Reply #6 - Posted 2014-04-25 18:10:24 »

An HTML5 implementation like (not only) LibGDX has.
Cool tnx. I'll look it up

Norakomi Retro Games Projects at: http://norakomi.blogspot.nl/
Norakomi on Google Play
Offline Drenius
« Reply #7 - Posted 2014-04-25 18:27:30 »

Quote
Does it not compile it in a way that JavaScript can interact with it?
Might be wrong, but I believe the Java program sends somehow something to the JavaScript program.
Will investigate that now.
Offline Jacob Pickens
« Reply #8 - Posted 2014-04-26 01:50:39 »

I don't know if you have implemented this. But once a bullet goes off screen, make sure to delete it so that it doesnt hold memory as it travels on and on to infinity and beyond and them some.
Offline Norakomi
« Reply #9 - Posted 2014-04-26 10:40:57 »

I don't know if you have implemented this. But once a bullet goes off screen, make sure to delete it so that it doesnt hold memory as it travels on and on to infinity and beyond and them some.

-> i appreciate this! Cause really, I'm not sure whether I have removed it from memory.
My guess is i might not, but I' not sure really.

What I've done is this:
When ever I press my shoot button I add an instance of my projectile object to an array.
Whenever that projectile goes offscreen i remove i the object from my array. So the projectile isnt flying on an infinite track off screen anymore.

But if this also means its removed from memory or if there is memory space i should clean I dont know.

Norakomi Retro Games Projects at: http://norakomi.blogspot.nl/
Norakomi on Google Play
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Gibbo3771
« Reply #10 - Posted 2014-04-26 10:52:07 »

I don't know if you have implemented this. But once a bullet goes off screen, make sure to delete it so that it doesnt hold memory as it travels on and on to infinity and beyond and them some.

-> i appreciate this! Cause really, I'm not sure whether I have removed it from memory.
My guess is i might not, but I' not sure really.

What I've done is this:
When ever I press my shoot button I add an instance of my projectile object to an array.
Whenever that projectile goes offscreen i remove i the object from my array. So the projectile isnt flying on an infinite track off screen anymore.

But if this also means its removed from memory or if there is memory space i should clean I dont know.

Make sure you clean up any textures as well, they need to (afaik) be handled manually or the GC will kick in often.

But usually once you have removed it from the Array and there is no longer any reference to it, the object will not be rendered or updating, the GC will eventually come along and whack it in the bin for you. No need to worry to much.

"This code works flawlessly first time and exactly how I wanted it"
Said no programmer ever
Offline Norakomi
« Reply #11 - Posted 2014-04-26 11:10:51 »

Make sure you clean up any textures

Currently im not using textures to load my Images, but simply have 1 .gif file for every image i use and i load them this way:
for example:
1  
2  
3  
4  
5  
6  
   bomb1 = getImage(base, "data/bomb1.gif");
      bomb2 = getImage(base, "data/bomb2.gif");
      fire1 = getImage(base, "data/fire1.gif");
      fire2 = getImage(base, "data/fire2.gif");
      fire3 = getImage(base, "data/fire3.gif");
etc.


I was thinking about whether i should store all those single images together in 1 (or more) texture file(s) at some time in the future and load image textures from that file instead of the way i'm doing it now.

But then again it seems like just more work & not sure whether it would really significantly make a difference in performance...

Or am I wrong?

Norakomi Retro Games Projects at: http://norakomi.blogspot.nl/
Norakomi on Google Play
Offline Norakomi
« Reply #12 - Posted 2014-04-28 20:18:41 »

Update:

<a href="http://www.youtube.com/v/R3mRLyErrQg?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/R3mRLyErrQg?version=3&amp;hl=en_US&amp;start=</a>

I upgraded the game with a variety of powerups. My hero can get different weapons now & bats are flying around casting shadows...

Norakomi Retro Games Projects at: http://norakomi.blogspot.nl/
Norakomi on Google Play
Offline PaulReeves

Senior Newbie





« Reply #13 - Posted 2014-04-29 12:23:11 »

I like the look of it. Watching the original game, I think I quite like the step scrolling rather than being smooth. It sort of adds an impending doom feel to it if you don't keep ahead. A feeling that I did not get from the smooth scrolling.

Not have played the original I assume if the screen overtakes you, you die? It is also possible if I played the game then I might not get that impression as I would be focusing on killing things and the juddering nature of the scroll could just be annoying.
Offline Norakomi
« Reply #14 - Posted 2014-04-29 12:54:37 »

....Watching the original game, I think I quite like the step scrolling rather than being smooth. It sort of adds an impending doom feel to it if you don't keep ahead. A feeling that I did not get from the smooth scrolling.

Haa! Tnx. Yeah i was looking at the scrolling as well a couple of days ago & was thinking i like the original games' scrolling better & was debating whether i was gonna change that in my game. It also adds to the retro feel.
So after reading your post I think i will go ahead and change it to stepscrolling in the future.

Quote
Not have played the original I assume if the screen overtakes you, you die?
Yes it does. And i have implemented it as well in my version.


Quote
It is also possible if I played the game then I might not get that impression as I would be focusing on killing things and the juddering nature of the scroll could just be annoying.

Well, actually the scroll hasnt ever been annoying to me nor to anyone else that has ever played this game.
As a matter of fact I only noticed recently that it was a step-based scrolling ...just a couple of days ago.

Norakomi Retro Games Projects at: http://norakomi.blogspot.nl/
Norakomi on Google Play
Offline LiquidNitrogen
« Reply #15 - Posted 2014-04-29 12:58:35 »

the speed of the original looks a bit slow, maybe make yours a bit faster than that Wink

Offline Norakomi
« Reply #16 - Posted 2014-04-29 13:08:17 »

Yeah also been thinking about that. But actually game-play/feel wise i think the original is close to optimal.
I guess it all looks a bit to slow because of that scroll, but plenty of stuff to react to in-game so that is hadnt given me the idea yet that things went too slow.

Atm I'm thinking to set the speed a little faster compared with the original and slower compared to what I have now...

;p

Norakomi Retro Games Projects at: http://norakomi.blogspot.nl/
Norakomi on Google Play
Offline Norakomi
« Reply #17 - Posted 2014-05-22 18:01:14 »

Latest Update:

<a href="http://www.youtube.com/v/bmb_7p_kI1M?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/bmb_7p_kI1M?version=3&amp;hl=en_US&amp;start=</a>

Norakomi Retro Games Projects at: http://norakomi.blogspot.nl/
Norakomi on Google Play
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.

SHC (24 views)
2014-11-25 12:00:59

SHC (24 views)
2014-11-25 11:53:45

Norakomi (22 views)
2014-11-25 11:26:43

Gibbo3771 (22 views)
2014-11-24 19:59:16

trollwarrior1 (36 views)
2014-11-22 12:13:56

xFryIx (74 views)
2014-11-13 12:34:49

digdugdiggy (52 views)
2014-11-12 21:11:50

digdugdiggy (46 views)
2014-11-12 21:10:15

digdugdiggy (41 views)
2014-11-12 21:09:33

kovacsa (69 views)
2014-11-07 19:57:14
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
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!