Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 12:46:07 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsBunneh
Pages: 1 [2] 3
Print
Author Topic: Bunneh  (Read 6923 times)
Pfotegeist
Guest
« Reply #20 on: December 06, 2018, 09:06:38 PM »

Alright I think my initial code is handling the typos smartly enough. It only deals with the registered stuff, pending their creation typing {something} doesn't really do "something" until it's streamed in the game. If I don't register something for the ingame compiler it gets turned into <something> and displays the greentext easy to do in unity it's like html for Debug.Log method.

I suppose I could expand this to let me type in game, once I have a reason. The definite goal is to let players get access to all this info while exploring the game. The players are going to have to deal with the bunny laws, the most inane but devastating barrier to a bunny's existence. (if that sounds spoilery, it's not. it'll be part of the intro. this development guarantees it.)

This will be the last time this 3 box setup is used as is, potentially it will give me insight into whether the mutations of text look good.



 Also if I mess up the brackets it gives me the line and drops @ symbols around the mistake like I typed something dumb that had to be erased from reality.
I think an early right bracket just gives 1:5 @ symbols depending on if it hits the end of the string. A missmatching left bracket runs all the way tot the second missmatch, but this is pretty easy to see in notepad++ anyway...

« Last Edit: December 06, 2018, 09:32:14 PM by Pfotegeist » Logged
Pfotegeist
Guest
« Reply #21 on: December 07, 2018, 05:13:25 AM »

Memory/text mutation. Extended intro and future attempts.

I've mentioned text mutations a couple times. Memory isn't perfect, even in analogue devices, the memory can be corrupted and lose bits, or jump to random bits.  But all it really means is the text goes through a process that makes it less than genuine, and the npcs in game who spread it, won't usually know.

From the start of the game world, a realistic 'lack' of available information is broadened by the availability of bad information. Bunneh needs to see, experience things, and remember in order to progress, eg bunny memory is what matters.

Bunneh will have a simple reference to vocabulary, and a history of where he remembers hearing it, like a wiki page you can enter, but it will be just like a memory... and when you try to remember things, it won't always work.

Future goal includes replaying memories (as text and events), but I've only just laid the groundwork for that.  Unless bunneh becomes something analogue to a computer, or you as player decide to keep an in-game journal, memories will mutate over time.

I'd like to extend this so memories form a knowledge system, mix together, and the other elements besides text seen in markup, will have a similar process. Then it's up to Bunneh and you to get it right.

Logged
Pfotegeist
Guest
« Reply #22 on: December 09, 2018, 07:50:46 AM »

continued

This isn't a text based game. It's leaning closer to a dynamic data action and dialogue - based game. But that's just a fancy way of saying stuff happens and the game world is supposed do things, feedback loop intensifies until Player gets involved.

Anyone who wants to solve the game at a higher level would probably gravitate to this text element underpinning the action.


More programmer stuff
I've noticed my markup is almost lambda functions, following the lambda pattern {[func] [variables]} and how exactly the parsed text gets evaluated is still up to what those functions are, no compiler.

Eventually, like right now. I noticed if there was any need for variables I could do a string search at any point.  This also allows for redundancy in text, and potentially the contradictions I so hoped for.

Basically any string is a struct

people's first names
""
Jess
Jack
Mark
""

literally anything imitating data
"
John Goat is a cat
John Goat was a goat
John Goat built a bridge
John Goat was Bad Squid
John Goat isn't really a cat
"

I haven't decided if a text like this will get stored, it's an example.

Although string operations aren't super fast... and at load time, more data means longer load times.

Prediction: I have to consider if a dynamic game is more important than a playable game? Actually I have an answer, it will depend on just how well the mutations are programmed. I imagine the faster the mutations hide data, the harder it is "finish" a goal in time before it becomes unreachable, making the game harder.
Logged
Pfotegeist
Guest
« Reply #23 on: December 09, 2018, 12:30:24 PM »

Telegraphing my next move. The memory log idea, circa 2015. And this... is just an example of considering how it can look. And my decision is.
It can look different depending on the situation. It may look like all of these pictures at some point if I design it to.



This last one shows just how numerous the ideas necessary were, before I settled on not settling on one idea.


I lied there were really a bunch more.
oh no. i want to show all the memory log images but this is concept art


and this is some second game content that involved the memory log concept
Logged
Pfotegeist
Guest
« Reply #24 on: December 15, 2018, 04:06:50 PM »

So a few things happened (in my mind).  Refining the concepts down is a 24/7 and it took a week to figure out how to use the program I wrote.
I thought I could have a lot of streams, but it turns out I can have no less than one per memory.  I don't know how complicated this will be right away so only bunneh gets one.

Edit (12/16/18): I'm going to retry that explanation. The events in my code eventually play realtime, and I thought I'd have many parsers, but if all parsers play the events it'd be trouble. I need at least one that does and the rest can remember whatever they want, but then it gets complicated anyway, done.

Other than that I practiced capturing text.
I adjusted the camera and fixed a bug.

That was a lot of work so here's a gif of an old scene showing the sprite magnets I made earlier. These will be useful.

« Last Edit: December 16, 2018, 02:03:38 PM by Pfotegeist » Logged
Pfotegeist
Guest
« Reply #25 on: December 17, 2018, 02:02:01 PM »

there wasn't any clever way to ease into this. here are some effects.
I'm now thinking I've reached the point to work on accurate camera control, and ear gestures.
Logged
Pfotegeist
Guest
« Reply #26 on: December 23, 2018, 07:53:29 PM »

still working at it. The individual boxes have been set up to display icons, and theoretically any other widgets. But I'm also working out how to get any widget in-between boxes.



RUMINATION

I wanted decent control of text. Mousing over any text, looking good. (the auto-wrap isn't nice enough)

I wanted a list. I (stopped using autolayout) got it.

I made a single cursor thing that could be used for other cursor things.

I want to be able to insert widgets into the text, I programmed it to do that, but I don't believe I thought it through yet.

I want widgets that break up the text to appear. this is not just a chat box, although it debuts as one. it will have variety.

Now I want a row on the bottom for the new text to appear, when appropriate.
 
the chat box could grow to accomodate words instead of auto-wrapping.

so... alternatively. make an expanded chat at some point?

I want to be able to make bubbles and widgets all mix into this memory list, they forcefully intermix if the player doesn't participate in organizing.

later
the half-witted system of remembering things will make widgets text reappear

also, everything has some connection to this remembering idea, if you've got a hardcopy of information or a terminal near you then you reference it, instead of your mind.

the opposite is true
if you remember a tool you don't have, it won't work to try using it.

real application use?
I'm sure at some point I want to test it as a real accessibility system that can cache common choices and suggest

Logged
Pfotegeist
Guest
« Reply #27 on: December 26, 2018, 03:04:08 PM »

glorious i call this perfectionist method of getting all the text wherever whatever into a box... (game)chatography. and having it all in boxes looks neater. The unnecessary dashes... the space at the start of a line... I'll get to those issues later.

There will be floating letters and such where a box won't make sense.

I added icons. the widget stuff should almost be as functional as the icons, which is why the icon was an important milestone of text organizing.

Logged
Pfotegeist
Guest
« Reply #28 on: December 30, 2018, 11:57:21 AM »

hi. this is my text generator now, alright it uses GetModifiedMaterial because I don't know what Unity is doing to the shader, because I don't program shaders yet, and everything else is updated by the letter, down to the vertex. I could have probably done a random letter color demonstration, huh. no, I won't do that yet.
Instead here are a bunch of random sub-text widgets.

Logged
Pfotegeist
Guest
« Reply #29 on: January 06, 2019, 12:48:39 PM »

I don't know why someone else will make a text editor... possibly for amusement, but it's going to be uncommon as a pure fun source.
For me it's just a means to produce a good program from organized code. The text is now... adequate.

Logged
Pfotegeist
Guest
« Reply #30 on: January 12, 2019, 11:36:15 AM »

This week I was thinking of details and I wrote a bit down. it's not even all that abstract, the thing is the idea a boost in the UI experience, and the UI isn't done so it's at the low end of priority.

there is already a list for the memory log. The first implementation is vertically descending.

node
node
node

The extension of the idea is to make a pattern. Omni-directional, although these examples are only 4 directions.

node-node
node
node-node-node
          node
          node
     node-node
     node

A fractal algorithm could auto-populate a world with such information. This is two of the previous pattern, the second one is rotated. That's how fractal patterns are populated.

nn
n      nnn
nnn  n n nn
  n  nnn
 nn   
 n

On a larger scale a big picture doesn't always look like the pattern that created it. If it's all the same to the program the user could choose a tile set.

     mmm
     m m mmm
mm mmm mmm m mm
 mmm       mmm
  mm mm mm mm
  m        m
  m    m   mDONE

It could be revolutionary for allowing users to choose their 2-D representation rather than a standard. It is also an idea for organic visual representation of data, which would be a fundamental way to create imaginary building blocks.
Logged
Pfotegeist
Guest
« Reply #31 on: January 13, 2019, 08:16:39 AM »

I am working on bunny memory until it's completely scripted and entertaining to play with. After four weeks of programming how to display text on screen, I guess nothing big happened last week other than considering what to do next.

I'll talk about the player interface.

The basic interface is Point and click. Dragging is available, and dragging bunneh or other things to elements has a context based movement including, hiding, jumping, and the list goes on.

Jumping is complicated. Neutral jumping (jumping without moving) is achieved with the keyboard, as well as running continuously while jumping, or jumping continuously, whatever works for you. Bunneh tends to hop while running.


There are also user experience and bunneh experience gated abilities that involve the interface.

Terminology
Bunneh experience gating: with vast information and bunny memory we have, something difficult to determine. Bunneh can practice certain skills to become better at them.

User experience gating: The user hasn't found out how to use an ability or they never elect to after discovery.

In general the game's meant to be point and click accessible.
Logged
Pfotegeist
Guest
« Reply #32 on: January 20, 2019, 05:48:31 AM »

This week I looked at the newest stuff I programmed and thought about it.
Logged
Pfotegeist
Guest
« Reply #33 on: January 27, 2019, 08:22:21 PM »

A recap before I might go quiet for a while, writing or resting.

I wanted to have images, document formatting, and UI embedded in the "box", and it is there. I think that would have been ambitious if I even planned it.

The text displayed needed to be custom programmed. It snowballed since I could program the hit-scanning, indents, and later I can add any scripting necessary. Actually I need some time to stop thinking about programmer art.
Logged
Pfotegeist
Guest
« Reply #34 on: April 11, 2020, 07:14:35 AM »

this is basically a 3D map blocking the unfinished elements. I worked on small features inside the buildings and terrain. This is just a placeholder draft with a very stuffy feeling, everything very neat in rows. I told myself I should make something that felt real so I could expand from that, and this is the result.



Logged
Pfotegeist
Guest
« Reply #35 on: April 12, 2020, 05:58:46 AM »

I know this looks better than the previous pictures already. The style of colorful, or toonish fits what I'm going for (I know, there's no shadow in these pictures). I should start animating.

Logged
Pfotegeist
Guest
« Reply #36 on: April 18, 2020, 12:08:59 PM »

I had some time to think about how animated assets are used in more experienced studios. There's a bit of a discrepancy here, I don't actually need the animations until there's a moment where the camera gets a good look.

Now that I have visual assets I'm going to work on blocking in the level design that's eluded me. I think it will involve writing and carving the visual scene apart and programming. Then I will need to fix the controls. I'll clean up more animations. I think if everything works by the end of these steps I'll have a really cool interactive loop.

Here are some animations of my weird trees.



edit: resized, click to see gif
« Last Edit: November 07, 2021, 02:02:44 PM by Xander Bunny » Logged
Pfotegeist
Guest
« Reply #37 on: November 06, 2021, 05:24:54 AM »

So, anyways.......................................................................

what I was doing was................................................................

In the past I've said stuff like

"Hey won't it be cool for a language to be like [house], -[front door], and I can add on a new door"

and

Code:
sssss
    s
    s
sssss


I made a parser, another parser, and I got so good at writing parsers I made an arbitrary language, and then I parsed 3% of it successfully. Then I came back to life and you know how that's like? I couldn't work on something so important when I was just undeadened so you get those tree animations and the city.

These examples are extremely advanced so it practically begins to look like a video game on its own as I describe how the macrocosmic flow.

Code:
+----------+   +--  ------+  +--  ------+
?  •⌂>sssss◘   |  •⌂>hello◘  |  DF>helloO
|  s       |   | '        |  |          |
|  s »ssss◘¦   | 'e » h o◘¦  |   >> h oO_
|  s       |   | 'y       |  |          |
|  Ф•sss◘         Ф•war◘        X>warO   
| >¦¦¦¦¦¦¦ |   |  >ou?¦¦¦ |  | >eyou?__ |
|          |   |          |  |          |
+----------+   +--  ------+  +--  ------+

#flowchart-like control, 3-way split, with pipes
# IT WOULD LOOK FINE IF THEY WERE JUST ITEMS

+?:---⌂----+  +-----⌂----+ 
  sss<◊>ss•|  |"hol helo"| 
| s     s D|  | w    'a  | 
| s  ssss s|  | r "u ye" | 
| s  s    s|  |   '?     | 
| s  sssФ s|  | o "    " | 
| Ф       s|  |          | 
|          |  |          | 
+----------+  +--------- + 

#macrocosmic, become macroscopic list
this is a list that contains only full/complete microcosmic lists, and when it fills up it can be used the same way

#1 inserts itself automatically
#2 is the macrocosm
#3 is what a full list might look like

+aIb:----- + +b--¦¦¦¦¦¦¦   + +b--a¦¦bb¦¦   +
?a  ssaas  | ?a   based¦¦  | ?a  bsedase   |
|       b  | ?s      b!¦   | ?s      d!¦   |
|    sssb  | ?e   desa¦¦   | ?e   abdase   |
|    s     | ?d   b¦¦¦¦¦   | ?d   sed¦¦¦   |
|          | |             | |             |
|    s     | |    a¦¦      | |    aaa     !b
|          | |           Ic: |        !s!a!a
+----------+ +-------------+ +----------Ic:+

# final example, make it rain with a nested physics modifier
+c--------- ------------- -------------+
?b >bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|   ◘¦¦>¦¦¦◘¦Ф¦¦◘¦¦>¦¦◘Ф¦¦◘¦◘>¦¦◘>Фbb>
¿b:!•b •b•b•b•b b•b• •bb• b• •bb••bb•   
+---                                 --+

I'm debating releasing a stand-alone GUI generator when the foundation is done,

it will augment the speed at which GUI can be
produced,
modified,
randomized,
and customized for auto-generating for multiple contexts.

It's a completely different way to conceptualize 2D elements, rather than just seeing them as a click, or a drag and drop, they are also objects with behaviors.

my intention is to directly translate to fractal-like gamified structures
crafting systems,
mazes,
minigames that store and broadcast variables to other game objects,
and the examples I gave that fill, overflow, and represent objects like containers, or rainclouds

Once it's granular enough it will reproduce the rudimentary bunny date sim and an emulated desktop window, that's as much as I've modeled ahead so far.

There are also systems in the overarching game, and the concept of integrating a code-based power system, not just a word based system that alters the way people behave, not a law based system that alters the way the world works, but some way of modifying the computers real-time is tempting.
Logged
Pfotegeist
Guest
« Reply #38 on: November 07, 2021, 04:58:32 PM »

I learned how to write shaders. I forgot I did that. It seems like I was still working last year and I can't automatically remember any of it.

Reveal shaders. 3rd one does a reveal, tint, and fade.
e: fade required every part of a model to be a separate mesh so it's inherently more difficult to implement.



Very simple clipping plane. Two actually. It's cut at an angle.
e: this is probably fine for a minimalist border, details like the cut object need to be modeled with a sectional view or it will look odd seeing the insides of the mesh.


Scripts that involved Math and triangles in 3D space.

The second is an attempt to paint with a script, doesn't work... technically it works, but it paints a pixel in UV space which is not a pixel.

e: I can script a custom 3D collision engine based on tris now. The touch script uses quick calculations... which is the important part. The painting script I think I just use the built-in physics to return a single UV pixel and the bulk of the code iterates to draw on it until it reaches the edge of any given triangle; still doesn't work as well as intended.



Paint shaders.


 

credit: minion's art



I like this one. It works with a cutout shader, it can absolutely color things. I forgot why but I didn't get it to fade making the reveal, tint, and fade shader still useful.

1 shader alters the mesh non-destructively e: the shader reads the UV coordinates from a mesh
2 render that to the screen
3 blit the screen back on a render texture
e: 4 the texture is being displayed by a cutout shader

The texture flips. Something about the shader's values was messing up the script. I'm not giving away the answer this is a pretty amateur problem.

Scaling is the real problem. Doing every UV exactly right by hand would be incredibly tedious.


e (top edit) edit: I thought I might be wrong about something. I wasn't really sure so I looked back at the setup.

"Alters mesh" seemed misleading, it needs to read from the mesh. Although I have ambitious ideas, here I learned not to do anything with scripting that a shader can do in the present.

The reason I don't use fade shader without a good reason is because the fade shader example required every part of a model to be a separate mesh, if the mesh were to look opaque. The painted alpha channel does work exactly like normal.
« Last Edit: November 08, 2021, 05:25:07 AM by Xander Bunny » Logged
skeleton_hugs
Level 0
**



View Profile WWW
« Reply #39 on: November 08, 2021, 08:32:26 PM »

This looks cool so far! I can't wait to see more about Bunneh, heheh.
Logged

Pages: 1 [2] 3
Print
Jump to:  

Theme orange-lt created by panic