1986 Knightmare: A Learn-How-to-Program, Clone & Reskin project

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:

0KZrjhaqxBo

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:

VjzHcunnNaE

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

Nice! The music is really catchy xD. Look forward to seeing more :stuck_out_tongue:

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

[quote]TY. But avoid applets? I wouldn’t know what to use else?
[/quote]
An HTML5 implementation like (not only) LibGDX has.

An HTML5 implementation like (not only) LibGDX has.
[/quote]
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 :frowning:

Cool tnx. I’ll look it up

[quote]Does it not compile it in a way that JavaScript can interact with it?
[/quote]
Might be wrong, but I believe the Java program sends somehow something to the JavaScript program.
Will investigate that now.

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.

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:

	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?

Update:

R3mRLyErrQg

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

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.

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?
[/quote]
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.
[/quote]
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.

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

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

Latest Update:

bmb_7p_kI1M