Sunday, 24 November 2013

music

hopefully I can get some microphones and record this stuff so it sounds better before we finalize things, but here are some midi files of game music.  yayyyyyy music.

Monday, 18 November 2013

The importance and role of state machines

At the core of the new design is a state object that is shared between the multiple helper objects in the system. This separation of state and function enables coherency throughout the entire system, a coherency that was not possible in the first design. While every piece of software is what we call a state machine (including the first design), the realization and exploitation of this fundamental nature of the system empowers the designers to more fully understand and more effectively implement the functional requirements of the system.
But what is a state machine? Defined by Wikipedia's article:
A finite-state machine (FSM) or finite-state automaton (plural: automata), or simply a state machine, is a mathematical model of computation used to design both computer programs and sequential logic circuits. It is conceived as an abstract machine that can be in one of a finite number of states. The machine is in only one state at a time; the state it is in at any given time is called the current state. It can change from one state to another when initiated by a triggering event or condition; this is called a transition. A particular FSM is defined by a list of its states, and the triggering condition for each transition.
In simpler words, a state machine is a conceptual device composed of distinct states and transitions between those states. As an example, consider an ATM: simplified, it has quite a few states:
logged out
Nobody is using this ATM
logged in
Someone has logged in
card-check
Somebody has put in their card
transaction in place
The user has requested a transaction
These are all potential states the ATM can be in, but it can only be in one at a time. It is the interaction with the ATM that constitutes the transitions between these states:
  • When logged out, enter card-check upon a user putting in their card
  • When in card-check, enter logged-in upon credential confirmation
  • Upon appropriate input, enter transaction in place as appropriate
  • When logged in, enter logged out upon appropriate input
Additionally, each of these states causes the ATM to exhibit certain behaviors:
logged out
display advertisements
logged in
display possible transactions
card-check
display progress bar
transaction in place
display progress bar
State machines are all around you—you need only look around.
Our game is now very similar. While every piece of software is a state machine in the end, coherent pieces of software usually have some sort of state the the explicitly keep in some custom data structure. We now have exactly this; our implementation keeps track of many different states of the game (while DFAs are one-state only, equivalent NFAs allow multiple concurrent states), such as which way the player is facing, what power they've selected, what map their on in the world, their current position on the map, etc. By sharing this state object between the interface and the player, we can keep consistency in the design and keep the code clear.

Saturday, 16 November 2013

The Great Refactoring

It's high time for a technical post. I'll have to edit it tomorrow morning to clean it up, though. Two line breaks do not constitute a paragraph.

In fact, this desire for good structure is the cause for this post. The development team has been working hard on rewriting the game engine to be more manageable, more extensible, and frankly more readable. (For those not technically inclined, programmers do need to read code to be able to understand it.) This logical restructuring takes an incredible amount of time, effort, thought, and forethought to be effective, and we have come up with such a system.

We are still fleshing out the implementation and, in the process, refining the architecture of the system to line up with what is technically possible within LibGDX (our core engine). With beta tests a mere week away, we are working around the clock to bring a fun and functional game to the table.

Dealing intuitively with game objects and design patterns (such as Model-View-Controller) and finally collaborating in development via GitHub, development is moving quickly. In four days, we have centralized all game logic and assets, simplified the workflow by which tests are run (to nil in comparison with the previous state), and have created a framework that separates function and responsibility between multiple concepts that interact in simple ways. Over fifty nontrivial commits in, it has been a very productive week.

Wednesday, 6 November 2013

Wednesday, 16 October 2013

powers

today we figured out what our powers will be!

1.fire
2.jumping
3.strength
4.light
5.swimming
6.growth

we liked natalie's idea about having a deeper section of the cave that you cant see without light, but we want it to be something to return to which is why we have light later on in the game. we're also working on puzzle design.

Wednesday, 9 October 2013



a running sprite (i might still change the character design a little so it's cuter / not as brown idk) and a VERY sketchy in progress map concept for the ice caves. i'm thinking, to get into the cave, you either need an ice-melting ability that you collected previously, or you just need to collect enough music that the ice blocking the cave entrance is melted.

then when you're inside you will walk around and get by icy obstacles by melting them with your MELTING ability. at the bottom you will enter a new map which is darker/deeper and might involve sliding ice puzzles. to the right is a pit, and you can go down it but you can't move into the black area without a light! so, in the sliding ice puzzle area, you'll have to find a music note that will give you a LIGHT ability.

then when you can navigate the dark area, maybe it will be a tunnel that returns you to the surface -- but a different part of the map you couldn't access before.

Wednesday, 2 October 2013

obligatory blog post

Today we were super productive! We starting working on nailing down more design details, like which instruments we want to use and a tentative order of them.  Our movement works too so we met milestone one. We've also got a little music composed - part of the glockenspiel piece, which should generate a lot of the rest of the music since I'm thinking of a sort of theme and variation kind of thing.  Since the guy I had who said he would compose backed out, I'm going to be writing probably most or all of the music.  That should be interesting.

Wednesday, 25 September 2013

dumping some stuff. i'm gonna try to focus on polishing the scenery next! 



Monday, 23 September 2013

some inspirationses

first im just gonna copy paste stuff we had in the google doc:

  • birds!! (those are my birds)
  • music
cw: I’m thinking a forest as the main zone. 8-bit top down perspective tends towards travel on a large scale but exploring a detailed forest can also feel very large. (see The Endless Forest)
  • travel begins in a village/town -> field -> forest -> mountains/river/lake/cave?
  • additional inspiration (webcomic) - time period/technology/etc setting
  • use of transparency effects (fading rays of light) to add ambience to a pixelated forest
  • flowers/seeds as a form of currency/things to collect? potions? lol
  • main exploration done through top-down, but puzzles/specific portions of the game can be from a different perspective to allow for more eye candy.

    • is there a save-the-world/presence of evil that needs to be fought, or is this a sword and sorcery adventure of self discovery? (cw prefers the latter, especially given how much time we have to do this.)
    • a vague encroaching evil that gradually takes over … ??? corrupted creatures in forest -- become enemies?
    THIS (pokemon movie)

    This game has a nice pacing/length imo, and also features a (very drastic) change in the same environment based on story progression.
    http://jayisgames.com/games/small-worlds/ this is a game i really like, it has great music and is super simplistic but still atmospheric. when i was thinking of the musical elements i was sort of envisioning a glowy magic … thing, like the white glowies in this game. and you walk over it and then the world changes.


Wednesday, 18 September 2013

Monday, 16 September 2013

more environment concepts??? how many songs/stages will we have to collect?

stage 1: white/grey, almost totally silent -- crunching snow -- depressing windy
no animals or life

stage 2: bluer / more "christmassy", soft snow fall -- 
birds
evergreens uncovered

stage 3: ice breaking/thawing some running/dripping water, a couple of flowers
fox
fish???

stage 4: snow melted in increasingly large areas -- trees budding
deer
squirrels

stage 5: snow mostly gone -- kind of wet and sloppy / lots of puddles
frogs
more fish

stage 6: no more snow -- some trees starting to grow leaves 

stage 7: flowers floers floewrs flowers getting sunnier
butterfly
dragonfly
bees
more birds

stage 8: really sunny and warm, lush trees, full music



edit: heres a little pixel drafty thing




Wednesday, 11 September 2013

me and christina talked some stuff out

we don't know what you cs dudes have in mind for the plot, really, or characters -- here's a couple random characters i drew; we both like the bunny girl one, but we were also considering a character in russian-fashion inspired clothing, and/or a cloak (i think a red cloak would look cool)


i doodled some environments here too:

i think it would honestly be cool if we maybe opened the game in a blank white empty arctic setting, with no sound except for vague ambient noise (blowing wind, crunching snow), and then as the game progresses and you unlock music/instruments, the environment thaws and starts to spring with life (flowers, fish, flowing water, birds, talking seal etc)


ill try to draw more later today or tomorrow

CW: concept brainstorm 1

ideas from today's class - christina

I'm ambivalent about the main character design. Nat came up with a really cute androgynous bunny character that I like more than the girl character I drew on this sketch and I'd be happy to go with that. (My character designs tend to be serious/aloof which is probably not a good thing for a main character that needs to be likable.)

The three things on this sketch I do feel strongly about are the 2 user interface ideas, as well as the sprite perspective. I strongly prefer an isometric perspective over purely top-down perspective, largely because I don't want flat looking graphics.

The rectangle sketch on the top left is an idea for a frame that appears on top of the rest of the game screen during cutscenes or puzzle mini-games. This gives the player the feeling of peeking "into" the forest at what's taking place.

The rectangle sketch near the bottom is my idea for the main UI, specifically the bar of music in the bottom left. That is where the music snippets collected throughout the game will be visually represented and serves as a marker for progress through the game. Right of the music bar would be where currently acquired items are displayed. I don't think the game should be overly complicated with a lot of different items - there should be few enough items that they can fit on the bottom of the screen, and each item should have a relevant use. The diamond on the bottom right is just something I think would be useful if the game is intended for smartphones/tablets. On the upper right corner is where you'd have lives or currency, if we decide to include those aspects in the game. (I don't want it to be a game where you can just keep poking around and eventually succeed; there should be some kind of limit that encourages smart(er) decision making and resource management.)