Frantic Space (Work in Progress)

Monkey Archive Forums/Monkey Projects/Frantic Space (Work in Progress)

Duke87(Posted 2015) [#1]
Hey Monkeys,

Here's my current Version of FranticSpace (the game from the Monkey-X Jam )
This is my current Game I'm working on. I've created a HTML5,Flash and Desktop (Win) Version.

Play/Download Version 0.7
HTML5
Flash
Desktop


Worklog:
Ver: 0.7
- Included TimelineFX for Explosion Effects (Only Not HTML-Targets!)
- The Player has now a recharging Shield
- Easy Mode is redesigned. (I think it's now better balanced)
- Now 8 different Paths for enemy ships
- New Enemy Type. + more different 'EndBehaviour' (Repeat-Path, Kamikaze to Player, 5 different Explode-Styles (which are not all included in the Game at the Moment, but they're programmed already)
- Known Bug: End-Game-State: a Game inited by pressing 'Again' may not End properly ; pressing the 'Back to Menu' Button after a game has finished it may restart game and returns imediatly to Endgamestate; Alpha value of a turret is transparent when shooting

- Difficulty: Medium/Hard are not balanced at the moment, I concentrated to get EasyMode ready; EasyMode decreases the Enemy-ShipSpeed to 70%
- Recoded the whole Enemy-Update Method

Planing for Ver 0.8:
include OptionsMenue: Setup ParticleManager (low,med,high) (for Desktop & Flash only)
fix Endgame Issues
new Turrent-Types + Shootstyles
changing the enemy-shot-Image (shouldn't be the same as the Player-one)
include a Shield-gfx when Player is hit; show HP/Shield with a progressBar and not with Text

Please leave a comment what you think is good/not good. What you may like to see in the Game.


Bye Duke


Derron(Posted 2015) [#2]
The modes you select at the beginning: please add a "currently-selected"-style (eg. a bit brighter) as you currently do not know whether your selection was activated or not.

I tried the "flash"-variant and button "effects" were not smooth.

I started the flash variant because I wanted to see the effects: Explosions are drawn _above_ the "scoreboard". So if you kill an enemy right at the top, the explosion is drawn above the blue background.

The Health-values and shield-values should be on the bottom of the screen and fade to "0.5f alpha" if the ship is near it/ below. Or move them to the top. The only advantage of a "text value" next to the ship is to keep an eye on it even in hectic situations. In that case a small "5px wide, ship height high"-bar with "steps of 10%" will be faster to recognize as "healthy or unhealthy".


bye
Ron


Why0Why(Posted 2015) [#3]
I really enjoyed your game. HTML5 didn't work in chrome, never got the title screen. Flash worked fine.


Derron(Posted 2015) [#4]
@chrome
Running "Version 41.0.2272.101 (64-bit)" - worked fine here.

@Why0Why
Did you open the developer toolbar of chrome and checked the "console" for jscript-errors?

bye
Ron


Duke87(Posted 2015) [#5]
d


k.o.g.(Posted 2015) [#6]
in behalf of Duke87:
Thx guys for testing and reply.

@derron: currently fixed Explosions above scoreboard *****. Thx for your Ideas.

@chrome/HTML5: funny thing is, when i build&run from Mokey it works fine here, but when i start the monkeygame.html from the build folder it's same problem over here. But when i start from dropbox, it's working again ... don't know why.

I just compiled to Android for fun and played on my outdated mobilephone, and it works great there (Android 2.3). Problem: how do i steer the player up/downward?
I guess there are at least 4 solutions: 1. Only move horizontally (as it worked fine, but then i need to adjust the enemy-movement and stuff, as it is kinda different gameplay) ;2. kind of a "fixed Cross" on Screen (left or Right bottom - easy to reach with the Thumb; but you might cover a big part from screen with thumb) , 3. when u do a touchHit it stores the first touch and then it moves relativly to the Touchdown X/Y, or 4. if you touch on one side above the ship, it moves up, or under it moves down - but then you need to move the fingers alot so i think it's not the best solution.
What would you think is the best solution? Do you prefer any of these, or have an own idea?

After 'fixing' some Alpha-Blinking Effects it's now worth Sad.
The Player-Ship now seems to blink randomly. Is there a "maximum number of SetAlphas" i should know?
Method Draw() 
      SetAlpha 1 
      If Health > 0 
         DrawImage Img , X, Y, 0, 64/Img.Width(), 64/Img.Height(), 0 
      Endif 
      Cannon.Draw() 
      DrawStatusBar() 
       
      hm.Draw() 
      'Drw_Rect(X-Width/2,Y-Height/2,Width,Height,2) 
       
      If Health < 0      'Depricated as it is now drawn by a 'global ParticleManager' Drawing all Effects (Playerexplosion,Enemyexplosion,Turretexplosion...)  together 
         'MyParticleManager.DrawParticles() 
      Endif 
   End Method

and, with this extra SetAlpha it's jitting a lot more ...


Edit: Damn, found out that it's not an Alpha issue, but a SetColor one from drawing the StatusBar (which was included latest) *shame on me*.

By the way, is there any satisfying solution to minimize the SetAlphas/SetColors as it seems to slow down the game most?
May the game run faster, if i create new PNG's with included alpha values to prevent using SetAlpha/SetColor? But this would mean, I've to draw at least for every "hitable" object a second picture.

for now I'm doing it like that way: When the enemy gets a hit, i'm drawing a second image with 0.3 Alpha and SetColor to light-grey over the first one, so you can see a slightly 'animation'.
On desktop target it's as fast as before, so the setColor/alpha is just a big thing for Flash/Html ?

latest version 0.7.1 Flash

Bye Duke


Derron(Posted 2015) [#7]
Samah (I think so) mentioned in my monkey-pull-request that "SetColor" wasn't available since the beginning and later the "tint" was done in html on a "per pixel" base...

Mark has always gone for a "lowest common denominator" approach for Mojo. If it doesn't work on one target, none of them get it. In fact, when Monkey was first released, there was no SetColor operation due to HTML5 not supporting image tinting. Mark had to make a hack that writes the images pixel by pixel. This is why you should avoid SetColor for HTML5.


I did not use "SetColor" that much in my jam entry but "SetAlpha" (for "blink"-fading texts).
If "SetColor" is really that slow, it might perform better if you have a white "outline" variant of your sprite (just play with "contrast" in your painting program) to make "flash" effects - or a black "outline" variant for some similar effect (- but in that case I would prefer "SetAlpha" only). Of course this does not work well for thousands of particles, as you then have twice the draw calls. In this case you could of course have both sprites on one sprite atlas.

If you want to measure influence: try to draw 1000 (or so) simple objects with or without SetColor/SetAlpha...


@ opening html directly
You miss the "server" behind then... It does "remotely call" for the resources, which does not work for this "localhost"-approach (url: //file/bla/monkeygame.html instead of http://192.168.0.1/monkeygame.html). This is the reason why this "mserver" starts up when doing html5.
Of course it should work "without" too...but this is not true for the current monkey revisions.

bye
Ron