Custom Map #4942: ThePause. By: Sorrontis

Started by AutoPost, October 27, 2017, 06:17:58 PM

Previous topic - Next topic

AutoPost

This topic is for discussion of map #4942: ThePause


Author: Sorrontis
Size: 128x128

Desc:
Well, I had a tiny idea. It's not an evil map, just something different. Let me know in the forums if you like it. I might make them more difficult in the future ;) #CPRL

Sorrontis

Here's the code I'm using, for anyone interested in using it:
(Props goes to the PAC maps for helping me a little)


# Pause.crpl
# Created on: 10/26/2017 11:29:37 PM
# ------------------------------------------

once
450 ->Timer
450 ->TimerReset
0 ->BTimer
0 ->MTimer
endonce


<-Timer eq0 if
<-TimerReset 1800 gte if
1800 ->Timer
else
<-TimerReset ->Timer
<-TimerReset 150 add ->TimerReset
endif
EnableAlternateControlMode(FALSE)
PauseGame
else
EnableAlternateControlMode(TRUE)
endif

<-Timer 1 sub ->Timer

<-Timer 30 div 1 add ->Time

ShowMessage("Time to control: " <-Time concat "
B-key for nullifier, M-key for relays" concat 100 0)


#M Key to build relays
if (GetKey("M"))
<-MTimer eq0 if
GetMouseCell ->y ->x
"RELAY" <-x <-y CreateUnit ->MUnit
endif
10 ->MTimer
endif

<-MTimer 0 lte if
0 ->MTimer
else
<-MTimer 1 sub ->MTimer
endif

#B Key to build nulifiers
if (GetKey("B"))
<-BTimer eq0 if
GetMouseCell ->y ->x
"NULLIFIER" <-x <-y CreateUnit ->BUnit
endif
10 ->BTimer
endif

<-BTimer 0 lte if
0 ->BTimer
else
<-BTimer 1 sub ->BTimer
endif



$name:"AlternateControl"
$panSpeed:0.6
once
0 ->alt
1 ->toggle
0 ->panning
0 ->lastTime
endonce

if(<-toggle)
0 ->toggle
<-alt not ->alt
EnableAlternateControlMode(<-alt)
0 ->panning
@UpdateZoom
endif

ElapsedTime dup <-lastTime sub ->dTime ->lastTime

if(<-alt)
if(GetCameraZoom <-zoom neq) @UpdateZoom endif
# Pan with right mouse
if(GetMouseButtonUp(1))
0 ->panning
endif
if(<-panning)
GetMouseScreenPixelPosition
<-nscale mul <-dy add
swap
<-nscale mul <-dx add
swap SetCameraPosition
else
GetCameraPosition
<-delta <-dTime mul ->delta1
if(GetKey("W") GetKey("UpArrow") or) <-delta1 sub endif if(GetKey("S") GetKey("DownArrow") or) <-delta1 add endif
swap
if(GetKey("D") GetKey("RightArrow") or) <-delta1 sub endif if(GetKey("A") GetKey("LeftArrow") or) <-delta1 add endif
swap SetCameraPosition
endif
if(GetMouseButtonDown(1))
1 ->panning
GetMousePosition ->my ->mx
@ComputePanMap
endif
if(GetKeyDown("Q"))
@DeltaZoom(-1)
endif
if(GetKeyDown("Z"))
@DeltaZoom(1)
endif
endif

:DeltaZoom
GetCameraZoom add SetCameraZoom
@UpdateZoom

:UpdateZoom
-0.5 GetCameraZoom dup ->zoom asfloat div(8) sub ->nscale
<-nscale mul(<-panSpeed) ->delta
# Recompute mouse to camera map
if(<-panning) @ComputePanMap endif

:ComputePanMap
<-mx ScreenWidth div(2) <-nscale mul sub ->dx
<-my ScreenHeight div(2) <-nscale mul sub ->dy

"If you want others to be happy, practice compassion. If you want to be happy, practice compassion."

BilboGCL

The idea is not bad, but the implementation doesn't work for me.
When you pause manually and go step by step using the 'N'-key I miss the building time.
The next problem is, that the controls don't appear correctly during building time (see screenshot)


Greetings from The Shire!
Hey, come to the dark side Discord, we have cookies!

Sorrontis

"If you want others to be happy, practice compassion. If you want to be happy, practice compassion."

BilboGCL

In addition:
- When you pause manually, you can't build neither relays nor nullifier
- I really miss the CN-Control panel during the no-build-phase
- Scrolling over the map with mouse (or here touchpad) doesn't work in no-build-phase, only cursor keys
- forge won't display correct, too (see screenshot)

In general: it felt like pre-alpha testing:/

Greetings from The Shire!
Hey, come to the dark side Discord, we have cookies!

BilboGCL

Why 'N' key: Because I didn't get the way to play from the beginning. So I paused and pressed the N-Key to see what happens.

Hey, come to the dark side Discord, we have cookies!

Sorrontis

Quote from: BilboGCL on October 27, 2017, 07:52:08 PM

- Scrolling over the map with mouse (or here touchpad) doesn't work in no-build-phase, only cursor keys


Do you have the same problems with PAC maps?
"If you want others to be happy, practice compassion. If you want to be happy, practice compassion."

chwooly

This was an interesting idea, As someone who almost never pauses when playing it does give a new perspective to that type of play, not sure that I like it any better but I can see why some people do like it.

That said it does have potential for some interesting maps, And it can force someone out of their comfort zone.

Wonder if it will be portable to CW4?

Cheers
I am free, no matter what rules surround me. If I find them tolerable, I tolerate them; if I find them too obnoxious, I break them. I am free because I know that I alone am morally responsible for everything I do."
― Robert A. Heinlein

arby793

I liked the map it was a great time. You should make more. Not sure what the die hard people were talking about (no offence, you all know way more than I do) but loved it. THANKS...

BilboGCL

Quote from: Sorrontis on October 27, 2017, 09:21:55 PM
Quote from: BilboGCL on October 27, 2017, 07:52:08 PM

- Scrolling over the map with mouse (or here touchpad) doesn't work in no-build-phase, only cursor keys


Do you have the same problems with PAC maps?

Yes. That's why I don't play any PAC maps!
But I have no idea why - I don't think I'm the only notebook-player.

Greetings from The Shire!
Hey, come to the dark side Discord, we have cookies!

Sorrontis

Quote from: BilboGCL on October 27, 2017, 09:33:45 PM
Quote from: Sorrontis on October 27, 2017, 09:21:55 PM
Quote from: BilboGCL on October 27, 2017, 07:52:08 PM

- Scrolling over the map with mouse (or here touchpad) doesn't work in no-build-phase, only cursor keys


Do you have the same problems with PAC maps?

Yes. That's why I don't play any PAC maps!
But I have no idea why - I don't think I'm the only notebook-player.

Greetings from The Shire!

Sounds like a problem specific to your set up. Might want to get V to look into it. I would say the touchscreen might be part of the problem, but I don't know enough. These games were never ported for touch support (unless V changed something).

(Also, a large portion of the code is modeled after PAC maps)
"If you want others to be happy, practice compassion. If you want to be happy, practice compassion."

BilboGCL

Although my notebook has a touchscreen I wrote touchPAD - playing with a touchscreen is something for mobiles ;)
And at least it's a game and I can live with minor bugs

Greetings from The Shire!
Hey, come to the dark side Discord, we have cookies!

Hilol1000

Amazing. I love the use of the CPRL to make a time delay to when you can build. I would love a harder map because this map was kinda easy. I would suggest that with the time delay that we couldn't be able to build anything out side the time delay. 8/10 IGN  :D

Sorrontis

Quote from: Hilol1000 on October 28, 2017, 08:40:05 AM
Amazing. I love the use of the CPRL to make a time delay to when you can build. I would love a harder map because this map was kinda easy. I would suggest that with the time delay that we couldn't be able to build anything out side the time delay. 8/10 IGN  :D

Thanks! I will be making a hard map after the next map I publish. It was easy with a purpose - to see how people reacted. So, now, I'll turn it into a Sorrontis map.  :-X

I allowed to build relays and nullifiers because, well, it would make a little difficult to assault an emitter. Next one will only have relays.
"If you want others to be happy, practice compassion. If you want to be happy, practice compassion."

D0m0nik

Nice idea, interesting challenge as you have to think ahead and use each pause as efficiently as possible. Could get frustrating on a longer map.