Mercurial > cortex
comparison org/test-creature.org @ 155:95bf55614211
moved goals and deleted old test
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Fri, 03 Feb 2012 06:04:30 -0700 |
parents | bb235258f835 |
children | e8df6e76c3e5 |
comparison
equal
deleted
inserted
replaced
154:bb235258f835 | 155:95bf55614211 |
---|---|
5 #+keywords: simulation, jMonkeyEngine3, clojure | 5 #+keywords: simulation, jMonkeyEngine3, clojure |
6 #+SETUPFILE: ../../aurellem/org/setup.org | 6 #+SETUPFILE: ../../aurellem/org/setup.org |
7 #+INCLUDE: ../../aurellem/org/level-0.org | 7 #+INCLUDE: ../../aurellem/org/level-0.org |
8 | 8 |
9 | 9 |
10 | |
11 * Brainstorming different sensors and effectors. | |
12 | |
13 Every sense that we have should have an effector that changes what | |
14 that sense (or others who have that sense) experiences. | |
15 | |
16 ** Classic Senses | |
17 | Sense | Effector | | |
18 |------------------------------+---------------------------------| | |
19 | Vision | Variable Coloration | | |
20 | Hearing | Speech | | |
21 | Proprioception | Movement | | |
22 | Smell/Taste (Chemoreception) | Pheremones | | |
23 | Touch | Movement / Controllable Texture | | |
24 | Acceleration | Movement | | |
25 | Balance (sense gravity) | Movement | | |
26 | | | | |
27 | |
28 - New Senses/Effectors | |
29 - Levitation | |
30 - Telekenesis | |
31 - control of gravity within a certain radius | |
32 - speed up/slow time | |
33 - object creation/destruction | |
34 | |
35 - Symbol Sense | |
36 Where objects in the world can be queried for description / | |
37 symbols. | |
38 | |
39 - Symbol Marking | |
40 The ability to mark objects in the world with your own descriptions | |
41 and symbols. | |
42 | |
43 - Vision | |
44 Distinguish the polarization of light | |
45 Color | |
46 Movement | |
47 | |
48 * project ideas | |
49 - HACKER for writing muscle-control programs : Presented with | |
50 low-level muscle control/ sense API, generate higher level programs | |
51 for accomplishing various stated goals. Example goals might be | |
52 "extend all your fingers" or "move your hand into the area with | |
53 blue light" or "decrease the angle of this joint". It would be | |
54 like Sussman's HACKER, except it would operate with much more data | |
55 in a more realistic world. Start off with "calestanthics" to | |
56 develop subrouitines over the motor control API. This would be the | |
57 "spinal chord" of a more intelligent creature. The low level | |
58 programming code might be a turning machine that could develop | |
59 programs to iterate over a "tape" where each entry in the tape | |
60 could control recruitment of the fibers in a muscle. | |
61 - Make a virtual computer in the virtual world which with which the | |
62 creature interacts using its fingers to press keys on a virtual | |
63 keyboard. The creature can access the internet, watch videos, take | |
64 over the world, anything it wants. | |
65 - Make virtual insturments like pianos, drumbs, etc that it learns to | |
66 play. | |
67 - make a joint that figures out what type of joint it is (range of | |
68 motion) | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 * goals | |
75 | |
76 ** have to get done before winston | |
77 - [ ] write an explination for why greyscale bitmaps for senses is | |
78 appropiate -- 1/2 day | |
79 - [X] muscle control -- day | |
80 - [X] proprioception sensor map in the style of the other senses -- day | |
81 - [ ] refactor integration code to distribute to each of the senses | |
82 -- day | |
83 - [ ] create video showing all the senses for Winston -- 2 days | |
84 - [ ] send package to friends for critiques -- 2 days | |
85 - [ ] write summary of project for Winston \ | |
86 - [ ] project proposals for Winston \ | |
87 - [ ] additional senses to be implemented for Winston | -- 2 days | |
88 - [ ] send Winston package / | |
89 | |
90 ** would be cool to get done before winston | |
91 - [X] enable greyscale bitmaps for touch -- 2 hours | |
92 - [X] use sawfish to auto-tile sense windows -- 6 hours | |
93 - [X] sawfish keybinding to automatically delete all sense windows | |
94 - [ ] directly change the UV-pixels to show sensor activation -- 2 | |
95 days | |
96 - [ ] proof of concept C sense manipulation -- 2 days | |
97 - [ ] proof of concept GPU sense manipulation -- week | |
98 - [ ] fourier view of sound -- 2 or 3 days | |
99 - [ ] dancing music listener -- 1 day, depends on fourier | |
100 | |
101 ** don't have to get done before winston | |
102 - [ ] write tests for integration -- 3 days | |
103 - [ ] usertime/gametime clock HUD display -- day | |
104 - [ ] find papers for each of the senses justifying my own | |
105 representation -- week | |
106 - [ ] show sensor maps in HUD display? -- 4 days | |
107 - [ ] show sensor maps in AWT display? -- 2 days | |
108 | 10 |
109 | 11 |
110 * Intro | 12 * Intro |
111 So far, I've made the following senses -- | 13 So far, I've made the following senses -- |
112 - Vision | 14 - Vision |
932 ;; (swap! timer inc) | 834 ;; (swap! timer inc) |
933 ;; (if (= (rem @timer 60) 0) | 835 ;; (if (= (rem @timer 60) 0) |
934 ;; (println-repl (float (/ @timer 60)))))) | 836 ;; (println-repl (float (/ @timer 60)))))) |
935 )))) | 837 )))) |
936 | 838 |
937 | |
938 | |
939 | |
940 | |
941 | |
942 | |
943 | |
944 | |
945 ;;; experiments in collisions | |
946 | |
947 | |
948 | |
949 (defn collision-test [] | |
950 (let [b-radius 1 | |
951 b-position (Vector3f. 0 0 0) | |
952 obj-b (box 1 1 1 :color ColorRGBA/Blue | |
953 :position b-position | |
954 :mass 0) | |
955 node (nodify [obj-b]) | |
956 bounds-b | |
957 (doto (Picture.) | |
958 (.setHeight 50) | |
959 (.setWidth 50) | |
960 (.setImage (asset-manager) | |
961 "Models/creature1/hand.png" | |
962 false | |
963 )) | |
964 | |
965 ;;(Ray. (Vector3f. 0 -5 0) (.normalize (Vector3f. 0 1 0))) | |
966 | |
967 collisions | |
968 (let [cr (CollisionResults.)] | |
969 (.collideWith node bounds-b cr) | |
970 (println (map #(.getContactPoint %) cr)) | |
971 cr) | |
972 | |
973 ;;collision-points | |
974 ;;(map #(sphere 0.1 :position (.getContactPoint %)) | |
975 ;; collisions) | |
976 | |
977 ;;node (nodify (conj collision-points obj-b)) | |
978 | |
979 sim | |
980 (world node | |
981 {"key-space" | |
982 (fn [_ value] | |
983 (if value | |
984 (let [cr (CollisionResults.)] | |
985 (.collideWith node bounds-b cr) | |
986 (println-repl (map #(.getContactPoint %) cr)) | |
987 cr)))} | |
988 no-op | |
989 no-op) | |
990 | |
991 ] | |
992 sim | |
993 | |
994 )) | |
995 | 839 |
996 | 840 |
997 ;; the camera will stay in its initial position/rotation with relation | 841 ;; the camera will stay in its initial position/rotation with relation |
998 ;; to the spatial. | 842 ;; to the spatial. |
999 | 843 |