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