The light trail coming out of the back of the model is a ribbon, and it is part of the model. The barriers that come out of the back are the ShapeCube model. The ambiguity of language can only be overcome with a certain precision of one's use of words.
I love the Homestuck music tracks, but since it isn't mine to use, it would be wrong for me to include it in the map. People are welcome to donate music for use in the map, though, provided the license permits it.
I've heard of the lag or whatever it is, but there is nothing that indicates it is anything other than latency problems on Battlenet's side of things. If anyone has a replay of this phenomenon, I'd be happy to take a look and see if I can pinpoint the issue if it is in fact caused by the map.
I believe Press Any Key is bad for anything other than single player maps, where others do not depend upon your response. The volume of text in the loading screen is one of my running gags; it's not all meant to be read. The Controls section is the only important part, and if its not easily readable, I can improve that with the next major update.
Photon Cycles, a luminous lightbikes game, is all about driving around your ridiculous looking vehicle, while excreting lethal hazards from your rear, with the intention to cause your enemies to wreck into stuff. That is pretty much all there is to it.
I decided to make the map because I am a fan of this micro-genre or whatever it is; it is fun and competitive, has simple mechanics, and is intellectually stimulating in the nuanced and clever tactics and strategy players can employ. The entelechy of the game is what makes it interesting, in the same way lego blocks and cellular automata and DNA are interesting. I figured I could make something small and neat, like TronCraft Rebirth, only this version won't give people hand cramps from right clicking so damn much.
Special thanks to Sixen and Motive for their feedback, Mexa for publishing in the EU region for me and those brave few who helped test it on Battlenet.
As far as popularity, it seems like almost no one actually uses Galaxy anyway, so I wouldn't be doing this if I cared for popularity. I plan to use it myself and if a few other people enjoy it, so much the better. :)
This preprocessor will be very useful, certainly more useful than the various language extensions that are not yet or will never be finished. =D
My script almost certainly generates less network traffic, a total of 5 input catching triggers versus 14n where n is the number of active players, but it would be positively unscientific for one to be averse to testing such things. Be certain to implement each system in separate maps when conducting the tests, since toggling between the two in the same map via the disabling of triggers is not effective at throttling the network traffic generated by the input detection triggers, in my experience.
Also, your demonstrable wealth of platitudes has awed and humbled me.
My attempts at using constants to define array sizes have been met with syntax errors in the past. Also, they are not magic, so much as they should correspond to the highest constant ints for the relevant input types; keys go up to c_keyF12 = 98, for example. I have no other option there. It becomes the user's responsibility to modify them according to its needs.
EDIT: I tried using constants again and was pleasantly surprised. Script updated.
Thanks Motive. =D
In my experience, even disabled triggers to detect player key, button, and movement input generate network traffic. This is why using as few triggers as possible is preferable, as it is the only thing approximating a throttle we have on this issue.
Since the engine cannot perform simultaneous parallel processing of its threads, using multiple triggers when they will just fire in sequence anyway is needless overhead.
My script is intended to capture all player input from keys, mouse buttons, and mouse movement, without any specific implementation. Call me a romantic, but I have a soft spot for modularity. I'd like people to be able to do whatever they want with it, stopping just long enough to configure the constants that regulate the creation triggers, in case they don't need to detect key up or mouse movement.
So it's not an improvement, per se, but rather a script with some similar features but a different and more general purpose, which may also happen to be more conservative toward net traffic.
The only (minor) issue one may have with my script is the overhead cost of the variable memory which, assuming a 32-bit bool implementation, roughly exceeds 6 kb.
//=====================================================// Input, a script to capture key and mouse input//// This script will catch and store player input// from the keyboard and mouse in a struct array.// Keys and buttons are records as bool states,// while mouse clicks and movement are kept as// int and fixed values for the UI and World// respectively.//// To get the state of the X key, you would use:// playerInput[p].key.state[c_keyX]// To get the point of the cursor, you could:// Point(playerInput[p].mouse.x,playerInput[p].mouse.y)//// The user may configure the DETECT bool// constants to set which triggers will be// created on initialization of the script.//=====================================================// CONFIGURABLE CONSTANTSconstboolDETECT_KEYDOWN=true;constboolDETECT_KEYUP=true;constboolDETECT_BUTTONDOWN=true;constboolDETECT_BUTTONUP=true;constboolDETECT_MOVEMENT=true;constintINPUT_BUTTONS=6;constintINPUT_KEYS=99;constintINPUT_MAX_PLAYERS=c_maxPlayers;// STRUCTSstructButton{bool[INPUT_BUTTONS]state;};structKey{bool[INPUT_KEYS]state;};structMouse{intuix;intuiy;fixedx;fixedy;fixedz;};structInput{Keykey;Buttonbutton;Mousemouse;};// GLOBALSInput[INPUT_MAX_PLAYERS]playerInput;// FUNCTIONSboolInput_KeyOn(booltestConds,boolrunActions){playerInput[EventPlayer()].key.state[EventKeyPressed()]=true;returntrue;}boolInput_KeyOff(booltestConds,boolrunActions){playerInput[EventPlayer()].key.state[EventKeyPressed()]=false;returntrue;}boolInput_ButtonOn(booltestConds,boolrunActions){intp=EventPlayer();playerInput[p].button.state[EventMouseClickedButton()]=true;playerInput[p].mouse.uix=EventMouseClickedPosXUI();playerInput[p].mouse.uiy=EventMouseClickedPosYUI();playerInput[p].mouse.x=EventMouseClickedPosXWorld();playerInput[p].mouse.y=EventMouseClickedPosYWorld();playerInput[p].mouse.z=EventMouseClickedPosZWorld();returntrue;}boolInput_ButtonOff(booltestConds,boolrunActions){intp=EventPlayer();playerInput[p].button.state[EventMouseClickedButton()]=false;playerInput[p].mouse.uix=EventMouseClickedPosXUI();playerInput[p].mouse.uiy=EventMouseClickedPosYUI();playerInput[p].mouse.x=EventMouseClickedPosXWorld();playerInput[p].mouse.y=EventMouseClickedPosYWorld();playerInput[p].mouse.z=EventMouseClickedPosZWorld();returntrue;}boolInput_Movement(booltestConds,boolrunActions){intp=EventPlayer();playerInput[p].mouse.uix=EventMouseMovedPosXUI();playerInput[p].mouse.uiy=EventMouseMovedPosYUI();playerInput[p].mouse.x=EventMouseMovedPosXWorld();playerInput[p].mouse.y=EventMouseMovedPosYWorld();playerInput[p].mouse.z=EventMouseMovedPosZWorld();returntrue;}voidInput_Init(){if(DETECT_KEYDOWN){TriggerAddEventKeyPressed(TriggerCreate("Input_KeyOn"),c_playerAny,c_keyNone,true,0,0,0);}if(DETECT_KEYUP){TriggerAddEventKeyPressed(TriggerCreate("Input_KeyOff"),c_playerAny,c_keyNone,false,0,0,0);}if(DETECT_BUTTONDOWN){TriggerAddEventMouseClicked(TriggerCreate("Input_ButtonOn"),c_playerAny,c_mouseButtonNone,true);}if(DETECT_BUTTONUP){TriggerAddEventMouseClicked(TriggerCreate("Input_ButtonOff"),c_playerAny,c_mouseButtonNone,false);}if(DETECT_MOVEMENT){TriggerAddEventMouseMoved(TriggerCreate("Input_Movement"),c_playerAny);}}
0
Minor update: Endurance and Slayer victory modes added.
0
The light trail coming out of the back of the model is a ribbon, and it is part of the model. The barriers that come out of the back are the ShapeCube model. The ambiguity of language can only be overcome with a certain precision of one's use of words.
0
The trail is part of the model, a ribbon from the look of it.
0
Good idea. I've got a major update coming in a few days, and I hope it includes music. I'll check it out.
0
I love the Homestuck music tracks, but since it isn't mine to use, it would be wrong for me to include it in the map. People are welcome to donate music for use in the map, though, provided the license permits it.
I've heard of the lag or whatever it is, but there is nothing that indicates it is anything other than latency problems on Battlenet's side of things. If anyone has a replay of this phenomenon, I'd be happy to take a look and see if I can pinpoint the issue if it is in fact caused by the map.
I believe Press Any Key is bad for anything other than single player maps, where others do not depend upon your response. The volume of text in the loading screen is one of my running gags; it's not all meant to be read. The Controls section is the only important part, and if its not easily readable, I can improve that with the next major update.
0
With the next major update, I'll try increasing the spawn period by 0.1 or 0.2 game seconds, see if that helps some people.
0
Photon Cycles, a luminous lightbikes game, is all about driving around your ridiculous looking vehicle, while excreting lethal hazards from your rear, with the intention to cause your enemies to wreck into stuff. That is pretty much all there is to it.
I decided to make the map because I am a fan of this micro-genre or whatever it is; it is fun and competitive, has simple mechanics, and is intellectually stimulating in the nuanced and clever tactics and strategy players can employ. The entelechy of the game is what makes it interesting, in the same way lego blocks and cellular automata and DNA are interesting. I figured I could make something small and neat, like TronCraft Rebirth, only this version won't give people hand cramps from right clicking so damn much.
Special thanks to Sixen and Motive for their feedback, Mexa for publishing in the EU region for me and those brave few who helped test it on Battlenet.
This map is available in NA and EU regions.
Features
Controls
0
You mean like this?
0
This preprocessor will be very useful, certainly more useful than the various language extensions that are not yet or will never be finished. =D
0
I don't know, but it was a bug that stumped me for half a day precisely because it doesn't raise a compile error. =\
0
My script almost certainly generates less network traffic, a total of 5 input catching triggers versus 14n where n is the number of active players, but it would be positively unscientific for one to be averse to testing such things. Be certain to implement each system in separate maps when conducting the tests, since toggling between the two in the same map via the disabling of triggers is not effective at throttling the network traffic generated by the input detection triggers, in my experience.
Also, your demonstrable wealth of platitudes has awed and humbled me.
0
Yes. =)
0
My attempts at using constants to define array sizes have been met with syntax errors in the past. Also, they are not magic, so much as they should correspond to the highest constant ints for the relevant input types; keys go up to c_keyF12 = 98, for example. I have no other option there. It becomes the user's responsibility to modify them according to its needs.
EDIT: I tried using constants again and was pleasantly surprised. Script updated. Thanks Motive. =D
0
In my experience, even disabled triggers to detect player key, button, and movement input generate network traffic. This is why using as few triggers as possible is preferable, as it is the only thing approximating a throttle we have on this issue.
Since the engine cannot perform simultaneous parallel processing of its threads, using multiple triggers when they will just fire in sequence anyway is needless overhead.
My script is intended to capture all player input from keys, mouse buttons, and mouse movement, without any specific implementation. Call me a romantic, but I have a soft spot for modularity. I'd like people to be able to do whatever they want with it, stopping just long enough to configure the constants that regulate the creation triggers, in case they don't need to detect key up or mouse movement.
So it's not an improvement, per se, but rather a script with some similar features but a different and more general purpose, which may also happen to be more conservative toward net traffic.
The only (minor) issue one may have with my script is the overhead cost of the variable memory which, assuming a 32-bit bool implementation, roughly exceeds 6 kb.
0