AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 1023 |
r3wp | 10555 |
total: | 11578 |
results window for this page: [start: 3001 end: 3100]
world-name: r3wp
Group: Parse ... Discussion of PARSE dialect [web-public] | ||
BrianH: 28-May-2007 | I've been thinking about ways to do this too - you got me going. I was also thinking of a way to cache charsets for later reuse. | |
Maxim: 28-May-2007 | well, checking with one letter didn't give any changes (bitset and char seem the same) but just change that with an OR of two letter and the char goes to 4 times slower and the bitset stays exactly the same... so do use bitsets as often as you can. | |
Rebolek: 7-Jun-2007 | just a quick idea: FORALL is implemented as mezzanine function. It calls FORSKIP which is mezzanine also. As you can see, it's probably not the fastest method. So here's the idea. Cannnot be FORALL rewritten to make it faster and is it possible to use PARSE to do this? So I tried and came up with this simple function: parall: func [ 'word body /local data ][ data: get :word parse data compose/deep [ some [(to set-word! word) any-type! (to paren! [do bind body :word])] ] ] (parall is just a shortcut for parse version of forall). this is very simple function written in five minutes and not very well checked, it needs some additional work (eg. it does not return same value as 'forall etc). So let's do some test (using Ladislav's %timblk.r): >> n: copy [] repeat i 100 [append n i] == [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 4... >> time-block [forall n [b: n/1 + 1]] 0.05 == 3.623046875E-4 >> time-block [parall n [b: n/1 + 1]] 0.05 == 3.814697265625E-6 >> 3.62e-4 / 3.81e-6 == 95.0131233595801 95x faster? whooo.... and what about bigger block? >> n: copy [] repeat i 10000 [append n i] == [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 4... >> time-block [forall n [b: n/1 + 1]] 0.05 == 3.540625E-2 >> time-block [parall n [b: n/1 + 1]] 0.05 == 3.7994384765625E-6 >> 3.54e-2 / 3.8e-6 == 9315.78947368421 9000x ? omg... comments? | |
BrianH: 7-Jun-2007 | ; Try against this, the forskip code with the skip part taken out forall: func [ "Evaluates a block for every value in a series." [catch throw] 'word [word!] {Word set to each position in series and changed as a result} body [block!] "Block to evaluate each time" /local orig result ][ if not any [ series? get word port? get word ] [throw make error! {forall expected word argument to refer to a series or port!}] orig: get word while [any [not tail? get word (set word orig false)]] [ set/any 'result do body set word next get word get/any 'result ] ] | |
BrianH: 7-Jun-2007 | If you want to test the speed of parse, replace the any-type! with a skip - the forall you are comparing it to doesn't do that test. | |
Rebolek: 8-Jun-2007 | I tried to enclose parse in loop 1 [] and it seems to handle break. I guess you'll probably prove me wrong, Brian :) parall: func [ 'word body /loc data ][ loop 1 [ data: get :word parse data compose/deep [ some [(to set-word! word) skip (to paren! [do body])] ] ] ] re: continue - this is not r3 ;) >> n: [1 2 3 4 5] parall n [if n/1 = 4 [break/return "break"] if n/1 > 4 [print "bad"]] == "break" | |
PeterWood: 11-Jun-2007 | Oldes: does using () inside a parse loop slow things down? I'm wary of () as they do seem to slow the interpreter down in many cases. | |
Brock: 27-Jun-2007 | do all three characters need to be present? | |
Steeve: 27-Jun-2007 | anyway , that's not the point , i know how to do that, but i just think it's ugly | |
Gabriele: 28-Jun-2007 | internally it would probably have to check flags or do the permutations on the fly. | |
Geomol: 28-Jun-2007 | To do block parsing, I suggest: >> once-only: func [:rule] [use [rule'] copy/deep [rule': :rule [rule' (rule': [end])]]] >> rule: [(a': once-only 'a b': once-only 'b c': once-only 'c) 3 [a' | b' | c']] >> parse [c b a] rule == true | |
Steeve: 28-Jun-2007 | Once (again) Rebol is amazing, i think i found a simple and elegant dialect Currently, it's not allowing recursive once usage, but it's obvious to do with a stack. take: func [r] [n: 0 once/1: (length? r) + 1 / 3 once/2/2: r replace/all r '.. '.] .: [(n: n + 1)] ..: [(n: n + 1) end skip] once: [0 [(if n > 0 [poke once/2/2 n - 1 * 3 + 1 '..] n: 0) []]] rule: [. "a" | . "b" | . "c"] parse "CBA" [ (take rule) once] == true parse "BAC" [ (take rule) once] == true parse "CBA" [ (take rule) once] == true parse "BBC" [ (take rule) once] == true parse "CA" [ (take rule) once] == false parse "CABA"[ (take rule) once] == false rule2: [. "a" | . "a" | . "b" | . "c"] parse "CABA"[ (take rule2) once] == true | |
btiffin: 6-Jul-2007 | How do you build parse rules? rule: copy [] word: "abc" ;; Want to compose the block to look like this ["abc" (print ["found word len" 3])] insert tail rule compose [(word) (print "found word len (length? word))] no go - obvious I've tried compose/deep [(word) (to paren! [print ["found word len" (length? word)])] but length? word doesn't get composed, it gets included in the to paren! expression compose/only/deep same thing I guess the question is what is the technique to compose something that is to include paren! expressions with data inside that needs to be composed? **With binding of course** :) | |
Geomol: 17-Jul-2007 | Gabriele, do you know, if there are changes to parse in R3? Maybe string parsing without /all should be changed. | |
Rebolek: 26-Jul-2007 | I was just curious how to do pattern-matching in REBOL with parse | |
Group: SDK ... [web-public] | ||
Gregg: 27-Feb-2006 | SURFNet detective does this. I don't know how they do it, but when I've done this kind of thing, basically, there's a server process you can ping to find out the latest version, or just a place you can download files and you can check timestamps and sizes, to see if there's somethnig new available. Also, consider if you need to download the whole app, or if you can structure it so the main app is just a kernel, and the parts that are likely to change to loadable modules. That's how AltME works, and the Detective as well. Then, of course, you want to sign the modules to make sure nobody spoofs you into loading malicious code. | |
Graham: 5-Mar-2006 | Do you look for a return value from those scripts to make sure it went okay? | |
Geomol: 18-Mar-2006 | Gregg, yes, if I do a compose as in: compose [pen none fill-pen (FillType/grad-mode) (FillType/startpos) ... then it work correctly. So that is a possible work around. It must be a bug, and I'll report it to RAMBO. | |
Gregg: 20-Mar-2006 | I think that has to do with evaluation constraints then. That is, DRAW will get words, but not do further evaluation (kind of like CONSTRUCT), so it's safe. | |
AndrewL: 18-Jun-2006 | I've been reading the docs both for the preprocessor and for the newer include.r script but I'm a bit confused, I wonder if someone could help clear it up for me. Here's my situation. I have view and/or SDK installed on a PC and a script sitting on my desktop. This script needs one or more library scripts which are available from web servers. How do i write the start of the script so that I can do all of; 1) Double click and have it run in view 2) Run the preprocessor so that I have an all in one script ready to run/copy somewhere 3) Encap it by dragging and driopping it on encmdview.exe or similar I want to be able to do this without changing a single character of the script. I want to access the library files from a web server because here at work I often write scripts on various different servers and prefer to keep one copy of the libs centrally and not downloaded onto each machine. | |
Ladislav: 19-Jun-2006 | (I mean whether you want to write a section describing how to do the same in Linux)? | |
Gabriele: 22-Jun-2006 | hmm, i think you can safely ignore it. i don't think rebol has anything to do with it. NTFS allows for multiple content to be associated with a file name, but almost noone is using this feature i think (like for links); so something on that system added a data stream to the exe file. | |
BrianH: 27-Jun-2006 | Much of the description of NTFS streams and their limitations, as expressed by Robert Muench in your link, refer to limitations in non-stream-aware code. Windows has APIs that handle streams quite nicely AFAIK, including retrieving the names of the streams and deleting them if you want to do so without deleting the file or directory they are attached to. | |
Graham: 5-Jul-2006 | what strategies do people use when you have a few mbs of source, and the encap dies due to unmatched brackets ... how to locate the offense easily? | |
Anton: 6-Jul-2006 | Or just keep trying to load the file while commenting smaller and smaller chunks of code. That's what I usually do. | |
Josh: 27-Jul-2006 | I was assuming there was a way to do this using encap, yes | |
Ashley: 27-Jul-2006 | Nope. You just need to make sure that your icon replacements are the same size and bit depth. You can then put your replacement icons in a .ico file and automate the build process with code like: call rejoin ["c:\rebol\bin\ResHacker.exe -addoverwrite " encap-exe "," encap-exe "," to-local-file ico-file ",ICONGROUP,REBOL,1033"] You can also do the same thing with Company/Version info and a .res file: call rejoin ["c:\rebol\bin\ResHacker.exe -addoverwrite " encap-exe "," encap-exe "," to-local-file res-file ",VERSIONINFO,1,1033"] The "switching icons" problem is a Windows thing. Highlight your newly created .exe file and select View|Refresh from the file explorer menu. This should cycle the Windows icon cache. | |
Maxim: 19-Sep-2006 | yet It seems impossible to even do a proper stdout call, so that another application can use my app's output ... (on windows). I mean its just the most basic thing in any language. | |
Maxim: 19-Sep-2006 | thanks Volker, I have been trying to get to grips with the SDK. Somehow, I am lost when trying to find specific information... many times I try subjects, and I either encounter unfinished, incomplete or missing docs. I do find some usefull tidbits here and there.... but its a pretty dry ride so far... | |
Maxim: 21-Sep-2006 | Gabriele, my issue, is that I am trying to capture the output of the applications I call. For this I need to use /console AFAIK. but when I do so, the encapped app just goes mad and enters some kind of deadlock at 100% cpu usage. | |
Maxim: 21-Sep-2006 | about fixing cpu busy look :-) found a working solution. ; wherever you insert the asynch call to system wait list... you also add 0.1 (or any other appropriate value for your app) ; this will obviously quit the event loop immediately. append system/ports/wait-list clist append system/ports/wait-list 0.1 then, where you normally call do-events OR at the end of your app, if not using do-events manually... you put the following: forever [ do-events ] and you have a 0% CPU consuming multiple asynch call loop. I tried with the ping demo provided with async-call and it works perfectly on all the tests I did. | |
Maxim: 21-Sep-2006 | The only thing you now need to do is trap an exit condition within your forever loop, otherwise the application runs in the background forever. | |
Maxim: 21-Sep-2006 | well, I did a little bit more testing and the above procedure does not seem to reduce rebol CPU usage while waiting for calls. but I do have a method which allows you to trade off view interactivity for diminished cpu usage. This obviously also slows down the async calls interactivity, but in most cases, this is not a real concern. | |
Gabriele: 21-Sep-2006 | (i didn't believe it, but windows does not have any way to kill a process - you must create a new thread in that process with a call to ExitProcess... but this only on NT, older wins have no way to do this) | |
Gabriele: 21-Sep-2006 | you have some work to do... but it should be a good start. | |
Dockimbel: 21-Sep-2006 | The busy loop is generated by REBOL itself, it's a side effect i was using in async-call to do busy looping on the pipe while allowing other port events to be processed. | |
Gabriele: 21-Sep-2006 | then timers to do polling on the pipes. on linux instead, you just get a signal when the command finishes, and read from the pipe - no polling needed. | |
Gabriele: 22-Sep-2006 | encap needs to find itself. if it can not do that, it will not work. | |
Maxim: 22-Sep-2006 | is there anything I can do to let XP supply a path when it resolves it using the PATH env? | |
Maxim: 22-Sep-2006 | I do not know how resources are used or done, but afaict, encap does not really compile anything. It just appends encrypted source code to the binary, which is read back directly like a file (probably using a preset skip value). | |
Maxim: 22-Sep-2006 | but that would need RT to actually link module code to a loader... which they don't do AFAIK. basically making encap a real linker. I'd rather just have a rebol.o module and perform encapping myself using a linker from whatever language I use (even python ;-). Obviously if RT supplied a simple to use encap-like mini compiler/linker. then I'd surely use it out of the box.. until iI encountered issue like all of those I am having with current toolset. | |
Maxim: 22-Sep-2006 | right now, it seems as if all encap does is: save %your-script.exe append Load/binary enface.exe compress load/binary your-script.r preprocessing just really adds more lines to your-script.r itself.. it adds nothing to the binary side of things like the resources which you describe. My guess is that the main() of the enface checks to see if its file size is larger than it should and in such a case does: do to-string decompress skip load/binary argv[0] base-encap-size other wise handling the args, finding a script to load, and letting extra args flow through to the loaded script. this way the same binary works for both encapped and core SDK binaries. | |
Maxim: 28-Sep-2006 | so, basically you should always do: print " " to make sure you have a rebol console window up (or print to stdout if using cgi option in view or SDK) otherwise, call hangs indefinitely, occupying 100% of your cpu! | |
Gabriele: 29-Sep-2006 | really? that is a very old bug, i had to do that in view 1.2.10, but i thought it was fixed in the newer sdk. | |
Louis: 14-Oct-2006 | What do I have to change in my scripts so they will work with current version of encap? | |
Sunanda: 14-Oct-2006 | As far as I know the SDK is a version or two behind -- so no round (or maybe you have an out of date SDK) Technically: all you need to do is copy source round source mod from a later version of REBOL to your application Licensing: is that permissable? You may need to ask RTmod: func [ "Compute a nonnegative remainder of A divided by B." [catch] a [number! money! time!] b [number! money! time!] "Must be nonzero." /local r ][ all [negative? r: a // b r: r + b] a: abs a either all [a + r = (a + b) positive? r + r - b] [r - b] [r] ] | |
Louis: 14-Oct-2006 | What do I have to change in my script to make it encap with 2.6.2? | |
Louis: 15-Oct-2006 | That is using 2.6.2 to do the encapping. | |
Louis: 18-Oct-2006 | Is there a better way to do this: comment { ;do %/c/sdk/source/view.r do %/c/sdk-2-6-2/source/view.r do %t-db-functions.r do %request-date.r } #include %/c/sdk/source/view.r ;NOTE: THIS IS THE OLD SDK. WON'T WORK WITH NEW SDK. #include %t-db-functions.r #include %request-date.r So that I don't have to comment out lines when I switch from interpreter to encap and back. | |
Gregg: 18-Oct-2006 | The common approach with INCLUDE is to have a "launcher" script that builds a complete script, as you would use PREREBOL; then you just DO that output script. Another way you can do it is to check a known word from the script with VALUE? and only DO the script if VALUE? returns false for a word you know is set in the script. That's also easy to put into a loop, with word and script pairs. | |
Gregg: 8-Nov-2006 | I think we've all hit this at one time or another. REBOL won't write to the Windows console. I was just trying a test to use the API to do it, and can't get that to work either, so it's still piping or nothing. | |
Maarten: 8-Nov-2006 | Now I can either create a wrapper program that can do this and runs my rebol program in the background, or ask my users to use 'more | |
Henrik: 1-Dec-2006 | I guess it would be possible to do a checksum and correlate that against a version list. | |
Group: !RebGUI ... A lightweight alternative to VID [web-public] | ||
shadwolf: 1-May-2005 | robert the problem you see with selected line and sort is because to speed the sorting process I change the widget field (text, data, image) content and so they conserv there index. What I need to do to not loose perf is to change the actual color seek the picked content and pass to the select-line function the new index ;) | |
shadwolf: 8-May-2005 | when you do a: 123 then a: "fdsbfsdjbh" it would be interresting to detect if the a word yet exist and then trash the interger (123) content of this word and then allocate to the word a the string! new content.. this will be an internal totally transparent way to handle memory allocation /deallocation | |
Vincent: 8-May-2005 | (regarding de/allocation) I don't know if it would change something in our case: in /View, event objects are generated by user/system. The event object carrying mouse 'move information may not be used, but one can only know and discard it at the end of the event processing chain (a global event-func or a face feel) - could be tricky to do | |
Group: SQLite ... C library embeddable DB [web-public]. | ||
Pekr: 20-Jan-2009 | use case? proper national sorting? IF you do some SELECT on field like last name, and you want some in-between results, e.g. A - D, then Czech alphabet has C with a hook upon it, and it is supposed to sort right after C, but without collation support it will sort after Z .... | |
Robert: 20-Jan-2009 | Do you have any references to an country specific sorting implementation? Than I can take a look how to add it. | |
Pekr: 20-Jan-2009 | REBOL SQLite DLL? I don't want other DLL ... We need better interfacing to do it in REBOL as a binary, with back-pointer from C level :-) | |
Robert: 20-Jan-2009 | But you can sort today in R2. Why do you need SQLite collations if you don't want to sort in SQLite? | |
BrianH: 28-Feb-2009 | Right now 2.7.7 is not being worked on at all. That sonds like a good thing to fix when we do start working on 2.7.7. | |
Janko: 17-Mar-2009 | aha.. I am getting somewhere .. it alows it now but I get some error with .so .. maybe this is the reason cheyenne can't open it either >> do %sqlite.r Script: "SQLite driver" (26-Nov-2008) REBOL - Security Check: Script requests permission to open a port for read/write on: libsqlite3.so Yes, allow all, no, or quit? (Y/A/N/Q) Y ** Access Error: Cannot open sqlite3_prepare_v2 ** Near: *prepare: make routine! [db [integer!] dbq [string!] len [integer!] stmt [struct! [[integer!]]] dummy [struct! [[integer.. | |
Janko: 14-Apr-2009 | I don't get this ... I started getting very long loading times with my webapp when I changed or inserted the and it was very fast before ... now I saw that it's the sqlite making these delays.. this is not the problem of sqlite.r but the sqlite itself because I get the same behaviour with sqlite3 shell. But I can't believe this , I am certain I am doing something wrong.. I remember sqlite can handle GB of data and is very fast, but in my case... I have 183 rows in a simple 5 column table (db file is 10kb) .. if I do single update table X set y = ".." where Z = ".."; it takes like 3 seconds. This updates just 1 row out of 183. Does anyone have any idea? I tried to do the "Vacuum" command but it's the same after it. | |
sqlab: 14-Apr-2009 | If you update an index field, the index too has to be updated. Do you open and close your db, as it is recommended in the link you posted? Then you have to add the time for that too. | |
Oldes: 14-Apr-2009 | 1s to 5s on 180 rows is bad. whatever you do. | |
Oldes: 14-Apr-2009 | I'm not sqlite user but I would probably tried to use EXPLAIN to see, what's going on when you do the query - http://www.sqlite.org/lang_explain.html | |
Janko: 14-Apr-2009 | I used sqlite here and there for more real DB work and I never seen any critical slownes (extept if you do a typical like inserting 100 rows each in it's own transaction (without begin commit), in fact it seemed always very fast to me ... thats why I suspect all this wouldn't show up if I had some better VPS. Also because if fluctuates so much I suspect disk on computer vps is on is maybe busy doing other stuff so at one moment it is idle and it works faster at another it waits for >3 seconds | |
sqlab: 21-Apr-2009 | trying again is already implemented in sqlite.r in the function do-step. I expanded the wait time with a random duration up to one second. still not good enough And now additionaly I connected and disconnected according the link . Again I encountered locks | |
sqlab: 21-Apr-2009 | do-step seems to retry until not busy | |
sqlab: 21-Apr-2009 | Maybe my test settings are different from your requirements. During testing I let two concurrent processes insert a record with three fields, one ip address, a timestamp and one text field with variable length from 1k to 8k., and this i do with full speed | |
sqlab: 21-Apr-2009 | If I have some processes serving incoming events and sending their data to a central storage process, the central process sometimes seems to get an event, but not the data with that event. When the data really arrives, I do not get the event. Maybe he got the first event meant for an other connection | |
Pekr: 30-Apr-2009 | SQLIte is fast for simple to middle local stuff. I have few obstacles with it 1) it stores everything in one file. You can't use simplicity of file-system for simple back-up purposes. Attaching DBs (max 10 precompiled value) is not an option, as then transactions are not atomic 2) it is not secure - can't be secured easily, because encryption is not part of the package 3) serverless (both advantage = no install, but also disadvantage). It provides locking. They claim multiple instances of app can access one file, but I did not find more info on that. Dunno how granular locking you can do. You have to create server front-end yourself ... | |
Janko: 30-Apr-2009 | I talked about this in detail a while ago.. now I optimised the problem so it's not a biggie any more but I am still mad that all rebol files can do changes in moments and when I need to update the sqlite page halts for noricable time | |
Pekr: 30-Apr-2009 | Janko - I did small test for you. With no indices the speed was: 0:00:00.516 and I used LIKE expressions, which need to do searches in terms of field values .... REBOL [] print "Starting test for Janko ..." do %sqlite.r attempt [delete %janko.db] connect/direct/create %janko.db sql { CREATE TABLE [domains] ( [id] INTEGER NOT NULL PRIMARY KEY, [domain] VARCHAR NOT NULL, [user] VARCHAR NOT NULL, [processed] DATETIME NULL, [ok_count] INT NOT NULL DEFAULT 0, [fail_count] INT NOT NULL DEFAULT 0, [error] TEXT NULL ) } sql "BEGIN" for i 1 1000 1 [ sql reduce ["insert into domains values(?,?,?,?,?,?,?)" i i i i i i i] ] sql "COMMIT" start: now/time/precise sql {update domains set user = 'u3' where domain like '%1%' and user like '%1%'} print now/time/precise - start disconnect %janko.db halt | |
Janko: 21-May-2009 | If you had persistent connection and if sqlite does some caching it could be faster, but if you need to open a connection on each request I think it would be much slower because that is more expensive (I assume).. it probably also matters how many scripts do you need to run per request | |
amacleod: 26-May-2009 | It works fine until I try to call another app. Paths do not change but I'm not using absolute paths. I'll need to test that... | |
joannak: 9-Jan-2010 | This unifoce srting seems to be a mess.. Well, technically they do have some standards, but trying to even think any decent size implementation of that.. http://www.unicode.org/reports/tr10/ | |
Gabriele: 16-Jan-2010 | well, that is programmatic. .dump is a command for the sqlite utility. if you want to do it from REBOL, you have to code it yourself, as it's not a SQL command. | |
Henrik: 21-Jan-2010 | 003. Unfortunately, it's moving too slow. I won't have any time to do updates for a while. | |
ddharing: 7-Nov-2010 | Here is Gabriele's response to my bug report (RAMBO ticket # 4411) This is not really a REBOL bug. The SQLite driver is doing a WAIT 1 in the DO-STEP function; calling WAIT inside an event handler (such as a face's timer event) is not really supported by REBOL and should be avoided. If you can't avoid it, you must be prepared to handle other events happening during that WAIT call, and you need to be very careful with blocking requesters (SHOW-POPUP, INFORM etc.) as they're likely to mess things up (they call WAIT as well). My suggestions are: 1) File a bug report with the SQLite driver. There needs to be a way to avoid the WAIT, though I guess this is going to be complicated in R2. 2) Disable other events while you're using the SQLite driver, eg. clear SYSTEM/PORTS/WAIT-LIST and restore it afterwards. 3) Use a "global" flag like you're doing. -Gabriele | |
ddharing: 7-Nov-2010 | Gabriele, when you say "clear SYSTEM/PORTS/WAIT-LIST", do you mean setting it to NONE temporarily? | |
Gabriele: 7-Nov-2010 | most likely, you'll only have the event port in the wait list, so it's just a matter of removing it and adding it back later. I can't guarantee this works 100% because I haven't tested it. another alternative could be: 4) don't use face timers, but rather replace do-events with something like: forever [ wait 1 do-your-sql-calls ] You'll still have other events happening while you're doing your sql calls in this case though, not sure if that can be a problem. The cleanest solution would be to change the driver so it does not wait, but I don't know SQLite so I can't say how easy that would be. | |
amacleod: 7-Mar-2011 | And has anyone been experienceing curruption to their db's...looks like binary characters get written into some fields randomly. Other people do not seem to be having this problem with the program on their computers. | |
amacleod: 7-Mar-2011 | xp and vista. I just had the issue on vista. I do not remember if it has occured on my xp machine. Why Graham? desktop as opposed to server? | |
Group: Games ... talk about using REBOL for games [web-public] | ||
ICarii: 4-Jul-2007 | re mouse interface - the problem here is there are 3 distinct operations needed: Zoom, Play and Discard. Seeing as double-click under rebol also activates click i wasnt able to use that without messy workarounds and I'm not too fond of using keyboard unless totally necessary. The current Left click to select then right click to play (or left click again to shrink) was chosen because it is a natural thing for us to want to inspect something before using it - using right click to do the actual playing was probably a little confusing for people at first but it quickly catches on. The only gotchya is perhaps I really should add a warning on discard option so people dont willy-nilly throw away cards while thinking they are playing them :) | |
[unknown: 9]: 4-Jul-2007 | Good to understand your logic. OK, then may I suggest then: - Left click - plays card (you should put this to a vote) - Right click examines card (since this is how every OS is designed). But also: Leave about 20 pixels below the cards. When you move your mouse over a card, that space shows the word "Details" or "more" You can discard from the details view of the card. Unless the game is a trigger game, or speed is required, sticking to just simple left button to do most things is the best way to go. Of course, until I learn the actual point of this game (the rules) and "feel" the cadence of the game, it is hard to tell. | |
Reichart: 31-Jan-2008 | One last thing, it would be VERY cool to have it take place in something like an airport, or a factory, where you have to do a bunch of things to get a product or plane or something to take off. Prevent a bank robbery, etc. | |
[unknown: 5]: 31-Jan-2008 | Where do I find REBTOWER. I got what I think is an older version and I'm getting hooked on this game and want to see if it is updated. | |
ScottM: 1-Feb-2008 | after looking at Allen 's penguin card game, I downloaded the card game engine cge.bin file. I do not know how to extract .bin files. Has someone used the engine before or could point me in the right direction? | |
Geomol: 17-Mar-2008 | LOL :-) I had some good sleeps this week-end, as I had a fever and a bad throat. I also had time to play Assassins Creed and the old Outcast some, so I do other things than coding. :-) I've been working on many of the things, I post here in REBOL3, for some time, before I post it. | |
Reichart: 6-Nov-2008 | If I were to make games "today" this would be how I would do this. | |
Reichart: 1-Jan-2009 | Richard (Cypher) should be back from holiday soon, if you post to him privately he will respond. I don't know of any "better" system than ray casting for making that type of game. However, in general, everything is a sub-set of raytraciing. The game is to do the most with the least CPU. You should look at some of the Quake engine stuff. | |
NickA: 1-Jan-2009 | Thanks Reichart, I will :) I've played a little with the OGRE engine in Purebasic - I think it's time more of these standard tools start getting wrapped in REBOL, now that the command potential of REBOL has been opened up. I personally think that the pay-for-api access was one of the main reasons that REBOL never became as popular as it should've. Wrapping cool tools should really help open more eyes as to what REBOL can do, at least on initial look'n'see. | |
Oldes: 18-Jan-2010 | It has been a difficult decision for us because we are big fans of Machinarium but we have decided that we will not be moving forward with the XBLA version of the game. One of the main objectives for our team as a 1st party publisher is to publish great games that are exclusive to Microsoft platforms (Xbox, Games for Windows). Currently, there is a significant emphasis on investing our resources in games that will be exclusive to Microsoft platforms. Since Machinarium has already is out on other distribution sites it falls out scope for what we are trying to do. I think there is a great potential for us to work together on a future title that is exclusive to Microsoft (Xbox Live Arcade and Games for Windows). If you are working on a new concept, please let me know and let's see if there is something that we can do together. | |
Janko: 22-Jan-2010 | I plan to do something in my free time in a 3d engine .. I need that it works in a browser so unity seems the most obvious choice, adobe director is expensive and probably outdated, stonetrip / shiva seems even more IDE/GUI heavy than unity giving me even less controll (although I am not 100% sure bcause I haven't digged really deep in any of those.) Then there is Java (which has Ardor3d which is very early in the making , and jme which is somewhat "out") but starting with it would be at a lot more low level than unity and similar game engines, with no real docs and tools as far as I can see. | |
Maxim: 21-Apr-2010 | the R2 event system has severe limitations. for gaming its almost unusable unless you really hack it, and even then, you don't get key UP events so its hard to do a lot of types of games. | |
Maxim: 30-Jul-2010 | the one thing I like less about this campaign is that perhaps half or more of the missions are very short, "do this quickly" 20 minute missions. I was hoping that there would be many more massive maps to purge, like in broodwar. | |
BudzinskiC: 31-Jul-2010 | Finished it today too, some time this morning. Played the whole damn night yesterday, I was shocked when the sun rose :) Yeah the end left a lot to be desired but Starcraft 2 is a trilogy, so that was to be expected. I only hope Blizzard will really manage to get the second game out in just one year. I can't really see that happening. It'll probably be 3 or 4 years. Did you get to play all missions? My mission counter says 25 of 26 missions completed. Where's the 26th mission and why wasn't I able to play it? ^^ And if I do count by myself I get to 28 completed missions in the mission archive anyhow so maybe their mission counter is just one big bug. The missions are very short but I'd say it took me between 30 and 50 minutes for each mission and with 28 missions + 4 bonus protoss missions, this is a whole lot of content. Most games only give you 7 to 12 hours of gameplay (some a lot less, some a lot more). Starcraft 2 took me over 20 hours to play through. And then you still got challenge missions, multiplayer, custom maps Vs A.I, user contributed missions thanks to the level editor, etc. | |
Reichart: 14-Aug-2011 | Kaj, nothing like a big cup full of hot http://en.wikipedia.org/wiki/Equivocation in the morning, eh? You might cut Endo a little slack (and the rest of us) since "free software" can mean several things. No? Endo, So I can beat the game in a few seoncds now, so I assume I'm doing something wrong LOL. As it stands, when you start the game is gives black 5, and white 1. And it is not a 19x19 board. Perhaps this is part of being the "free" version (as in $ LOL)? To win al lone needs to do is draw a single line across the board with the most territory on your side. Done, you won. | |
Reichart: 14-Aug-2011 | to win all one needs to do |
3001 / 11578 | 1 | 2 | 3 | 4 | 5 | ... | 29 | 30 | [31] | 32 | 33 | ... | 112 | 113 | 114 | 115 | 116 |