Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1025926 Posts in 41117 Topics- by 32719 Members - Latest Member: Darkmill

July 23, 2014, 11:57:03 AM
TIGSource ForumsFeedbackDevLogsCore Society
Pages: 1 [2]
Print
Author Topic: Core Society  (Read 2223 times)
lithander
Level 0
***



View Profile WWW Email
« Reply #15 on: January 16, 2014, 03:13:00 PM »

Here's a documentation of the complete instruction set including an explaination of the syntax etc.

http://files.pixelpracht.net/coresociety/CoreAssemblyManual.pdf

I'm currently trying some test scenarios and challenges. Beating them can be quite fun already but I guess for someone with less insight into the system it would be pretty hard to get started right now. I actually have a hard time to assess it from an outside perspective. So... if anyone wants to get an early look at the game and try for a highscore just PM me! Smiley
Logged

lithander
Level 0
***



View Profile WWW Email
« Reply #16 on: February 12, 2014, 04:52:39 PM »

Decided to make some tutorial-style videos to explain the concept and usage of CoreSociety.

Here's the first installment:
http://www.youtube.com/watch?v=x4QBrusb7ag
Logged

ekun
Level 1
*


caffeen


View Profile WWW
« Reply #17 on: February 17, 2014, 02:47:12 PM »

I watched your first video and found it interesting, I look forward to more in the series.

After watching the game in action, I was considering how to make the game more visually appealing and accessible. One idea that came to mind is to anthropomorphize the cores and give them some personality. Something as simple as a facial expression on a core that shows the 'health' or status of the core's program could be enough. But basically I think the game could use another visual indicator of the state of the grid besides the instruction pointer and the charge bar.

The mechanics look fun so far though, keep up the good work!
Logged

lithander
Level 0
***



View Profile WWW Email
« Reply #18 on: February 21, 2014, 04:43:29 PM »

Actually there's allready a pretty sophisticated visualization of the core state in place. The problem in the introduction video is, that the core's memory is blank.

I agree that everything that helps to make it more acessible is a good thing. But I'm not sure how to implement your suggestion to anthropomorphize the cores to gain insight into it's state. The state of a core is mostly defined by it's memory but it's not clear what that state means. Is it good or bad? You can write programs that modify their memory to change the behavior or change their neigbours. You never know wether a word is value or instruction. So the only honest visualization seems to be a visualizatin of the memory's content on the word level. But it's not ideal... because despite all the colorful pixels it's not really human-readable.

Here's how it looks like when the cores are actually doing something.



The scenario works like this. The red ones execute a very simple program that lowers the overall score. The blue ones try to shield themselves and only when the shield is fully charged they also decrease the score. The green core is the only one the player can write to. And there's 100.000 energy to spend.

What you see in the animation is how my reference solution solves the challenge. First it copies itself to the north. The copie does the same. Secondly it starts copying itself to the right and when it's done with that it will transfer all energy to it's right neighbour. The right neighbour is adjacent to the shielded "enemy" cores and with it's own and the transfered energy starts to weaken the shield. As soon as the shield is down the program starts overwriting the enemy cores, when that is done it will also transfer all energy to the right neighbour. So once the second row of shield is reached the attacking core has a good chunk of the row's power at his disposal to weakin it quickly. Once a row is fully overwritten the program detects a friendly core ahead and starts to use all energy to raise the score. After a while all "enemy" cores have been hijacked so all cores are now either raising the score or providing their power to help. This program manages a score about 25k. And all this seemingly complex behavior is defined by only 66 bytes.
« Last Edit: February 21, 2014, 05:02:23 PM by lithander » Logged

ekun
Level 1
*


caffeen


View Profile WWW
« Reply #19 on: February 21, 2014, 05:15:06 PM »

But I'm not sure how to implement your suggestion to anthropomorphize the cores to gain insight into it's state. The state of a core is mostly defined by it's memory but it's not clear what that state means. Is it good or bad? You can write programs that modify their memory to change the behavior or change their neigbours. You never know wether a word is value or instruction. So the only honest visualization seems to be a visualizatin of the memory's content on the word level. But it's not ideal... because despite all the colorful pixels it's not really human-readable.

That's a good point.

Maybe there could be a way to designate "ownership" of cores? Like if each word in a core had an owner, the owner being whoever wrote that word in that position. If the owner is another core, than it uses that core's owner. This would mean introducing new metadata to the memory container of a core, but it would allow for some way to show a state of a core besides its memory. Mostly thinking out loud here, not sure if it would work...

The GIF explains what a scenario would look like much better, thanks!
Logged

lithander
Level 0
***



View Profile WWW Email
« Reply #20 on: February 21, 2014, 05:42:53 PM »

So in the gif what we'd see is that th whole board would slowly get 'green' from left to right?
The easiest solution i can come up with to achieve that is not to track each words family tree but to compare a core's state to the listings in the deck. The more similar a core is to a listing the more it's color could resemble the listing's color. You could even do that on a word level if the current color-coding of 16 bit numbers proves to be too incomprehensible.

I'm going to give it a try! Smiley
Logged

lithander
Level 0
***



View Profile WWW Email
« Reply #21 on: April 04, 2014, 03:03:11 PM »

Public Release of playable Version & Source Code

Github Repository: https://github.com/lithander/CoreSociety
Download as Zip: https://github.com/lithander/CoreSociety/archive/master.zip

There are 5 missions included. The task is usually to beat a certain score threshold by defining the initial memory layout of a subset of the grid's cores.

Check the Readme.md to get started!

If you don't feel like learning an exotic assembly language (how could you not?) there are reference solutions provided for each mission. Just open them, hit play, see the cores battle for board control. And if you're a little curious click on the Listings in the 'Deck' to see what instructions the colorful pixels in the memory represent.

I'm going to decide on the future of the project based on the feedback I get with this release. So this would be a good time to check out! Smiley


« Last Edit: April 04, 2014, 03:22:21 PM by lithander » Logged

lithander
Level 0
***



View Profile WWW Email
« Reply #22 on: April 21, 2014, 05:16:29 AM »

I've described the project's goal and my approach towards a solution in detail on my blog. If you want to know WTF this project is aiming to do that's the best starting point.

http://blog.pixelpracht.net/?p=537

Give it a read! Or at least have a look at the fancy illustrations Smiley
Logged

Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic