No, I'm pedro the amazing breakdancing chicken!
Printable View
No, I'm pedro the amazing breakdancing chicken!
Ian,
I'll probably see you before you read this, but if not...
What do you think to having S create the masks for the transparent images the first time it's run, and then merely monitor them to see if they've changed?
e.g. The first time you run Sentience, it scoots through a list of all the graphics that need to be transparenterised. If they're not done, it will then transparenterise them, save them back to the disk and record their file size. Then, whenever it runs, it merely checks the file size against that stored in the list - if it's different then it transparenterises it.
This will significantly increase the speed the game loads (except the first time where it transparenterises everything).
Sound like a good idea?
I am back. My trip to Hawai'i was fun but too tiring.
Hiya Gaming!
Have fun on your little trip?
Not a great deal's happened whilst you've been away - Behemotha and I have had a bit of a break from Sentience to pursue other interests (Behemoth's new job, his girlfriends birthday, beer, Diablo II, etc etc)
I'm awaiting a couple of graphics from him, and once they're done I should be uploading a new version.
I was thinking about having some kind of attractor for the native lifeforms on the planet. A unit could maybe drop this 'thing' which attracts thingies to it (similar to the thumpers in Dune maybe?)
A 'planet' type faction would drop some near their own base and be relatively safe (maybe capture them - whatever) or you could drop one near an opponents base to swamp them with little monkeys.
Thoughts/comments?
Also, these little critters are going to have to spawn from somewhere. We need to have 'houses' for them to pop out from. That way, you can make creatures extinct (unless you generate your own from stored DNA).
Would it be worthwhile having a DNA screen where you can tinker with the DNA of monkeys and make them into huge kickass monsters.
We weren't originally going to go with the idea of living creatures, but the idea's seeming more and more appealling...
"We weren't originally going to go with the idea of living creatures, but the idea's seeming more and more appealling..."
Hehe sometimes you sound exactly like me :D
I told you having living creatures was a good idea :p
That DNA screen idea is awsome! But you could also just have a team of scientists eating up research points that would sometimes give you the power to clone an animal type :)
The "houses" could just be caves, water vortexes or trees, depending on the animal.
What about if you could upgrade that research so you could also select the species that that thing would lure? ;)
So you could have it lure nasty animals to the enemy's base ;) MWAHAHAHA!!! :)
Btw you should also make that thing a bit hard to find, but destroiable, right :p
Jotaf,
We seem to be thinking along the same lines, though instead of scientists it's be processor banks ( think of the game plot :D )
I like the idea of the DNA screen, but I'm not in a bright mood at the moment and can't think what form it would take.
I'll have to discuss it with Ian.
Got any ideas Jotaf?
Whats all this about a DNA screen ?
Read the last couple of posts.
I was toying with the idea of having a screen where you can manipulate the DNA of lifeforms to make huge kick ass wandering monsters.
Bit like some of the birds I've pulled on a night out....
Hmmmm.
Well depending on how flexible you've made your mech design, you could use the same approach for putting animals together.
Also, you could let people manipulate DNA themselves.
But there are, say, 50,000,000 combinations of the DNA they could try, but only a few yield results.
So the person can brute-force the combinations, or they find DNA strings/string fragments in those funny bonus pods....
Now THAT's a good idea!
Hey, so they're basically just organic mechs, which use different components and have a slightly different creation screen :)
Hum, I have a good idea for that screen, but you'd have to use D3D ( :D ) - there was a DNA strand rotating in the middle of the screen, and the player would change the strand by clicking on the atoms :)
Heh wait that's too complex for a 2D game like Sentience... so why not make the DNA strand 2D? I think I saw a demo like that on Planet-Source-Code a while ago... you could use the same "click an atom to change its color" thingy.
There could also be some kind of list where you saved the combinations that worked (and loaded them), and when you find one in a pod it would be automatically added to the list :)
But be cafeful ! The strands in the pods might not create what you expect ...
Also if you ****up a creature, you could get a pile of slime, or a wandering mutant freak (aka behemoth), or an insane weirdo with delusions of grandure (aka arbiter) .... ;)
...or a pile of crap, aka plenderj :p
Like in MI:2, that guy steps on a pile of sh*t, then says "Sh*t!", and the other guy says "Yes it is" :D
But yeah that's a good idea, you could even sometimes make a virus that would kill everyone in the research center :)
*whacks Jotaf repeatedly with a big stick*
YOU ARE A MACHINE IN SENTIENCE!!!
You cannot catch a cold from DNA and die. Research centres have processor banks, not scientists!
(I sometimes wonder what game he's playing - cos it doesn't sound like Sentience)
But a metal eating biogenetic organism would do the same thing - which I'm sure is what Jotaf meant... ;)
Yeah, mutant wotsits wandering around due to failed experiments would be nice. Maybe they could set up a house somewhere and procreate. Cool!
And I don't have delusions of Grandeur. I have delusions of Adequacy. Anyway, that's rich coming from a clinically insane Irishman.
Huh!
I'll knock up a draft DNA screen for you guys shortly.
Aren't you privelaged? :D
D*MN! It ate my post! :mad:
Anyway...
Yeah sorry I had forgot that Sentience is about machines :)
Here's my little contribution for the DNA screen:
http://www.planet-source-code.com/xq...s/ShowCode.htm
http://www.planet-source-code.com/xq...s/ShowCode.htm
(Personally, I'd use the second one :p )
If you want I can make an enhanced version of it where you can click the atoms to change them.
I vaguely remember discussing this with you in the dim and distant. I've already offered to mask the graphics for you. if you want, we'll use your engine and give em the graphics pre-masked. It'll be a larger download but faster load.Quote:
Originally posted by Arbiter
Ian,
I'll probably see you before you read this, but if not...
What do you think to having S create the masks for the transparent images the first time it's run, and then merely monitor them to see if they've changed?
e.g. The first time you run Sentience, it scoots through a list of all the graphics that need to be transparenterised. If they're not done, it will then transparenterise them, save them back to the disk and record their file size. Then, whenever it runs, it merely checks the file size against that stored in the list - if it's different then it transparenterises it.
This will significantly increase the speed the game loads (except the first time where it transparenterises everything).
Sound like a good idea?
Whaddaya reckon?
Hey, here's my little code contribution for sentience: I made you the DNA screen! It not only looks good, but you can also click the atoms to change them ;)
Hey behemoth, I'd rather wait for the program to generate the masks than to wait for flashget to download them :p
What do you think of the screen? No, I didn't use Direct3D ;)
not played with it yet. busy downloading porn at the moment...;)
Quote:
Originally posted by Behemoth
not played with it yet. busy downloading porn at the moment...;)
ho ho ho, thats ma boy :)
That's pretty cool Jotaf! I likes it.
I can imagine it being a little hard to intelligently select a DNA strand though.
Maybe that could be used as a graphical representation of the DNA and the twiddly bits would be protein/amino acid level adujstments.
If we had a few sliders with the protein levels which you could whizz up and down and the DNA strand would change accordingly...?
Well it could be that the strand is rotating, and theres a slider at the bottom for the speed of rotation.
Then, when you put the DNA Stand Plucker Utensil (aka mouse pointer) over the DNA, then it stops rotating, and each strand you put the pointer over goes white, or glows, or some info about it appears at the bottom of the screen.
So you click on it, and it somehow changes colour or is highlighted or something. There's info then at the bottom of the screen, and you can swap the atom/strang for one of 3 other atoms, or the strang with one of many other strand samples.
Then you click the Go! button, and the strand is created.
If the strand is relatively OK, the strand doesnt fall to pieces immediately, and will grow.
If you havent been perfect, the strand grows into some mutant, or a virus, or something. Perhaps a colony of little animals that nibble through cables :)
But if you've been perfect it grows into some useful creature, which you can then butcher for cybernetic parts :)
Hey, I had an awsome idea: each atom controls a key part of the animal! Like, the color of a certain atom will say if the animal is very slow, slow, fast or very fast :) Another atom defines the left arm of the animal, another one defines its armor, another one defines if it's a virus, a harmless plant, a pile of toxic waste or a huge beast :D
Of course, there are some other atoms which do nothing at all... you can't have a function for each one of the 20 atoms :p
It would be just like the mech design screen. The animals would either be a special thing like a virus or toxic waste, or a mech, just with different body parts ;)
These atoms are randomized at first, so you must either use the research center to find out what each atom does (one by one, very slowly ;) ) or find out by yourself! What do you think?
I think thats totally bastardizing real life :)
I think that it should be based on entire DNA strands.
Say you have 50 different strands to choose from.
<0 - 50>
And you have to put 128 of them together to make something useful.
So a DNA strand might look like this :
!<45><2><23><54><11><......><49><29>!
And if there's an exclamation mark at the beginning and end, then people would know which end is which if they just found a fragment ....
And how exactly will you show the user the ENTIRE DNA strand?! The human DNA is so long that you can put it around the world 10 times :eek:
I think my way is better... it's after all just a representation of the entire strand :) Besides, it's been proved that 1 gene is capable of telling wheter you have 2 or 4 arms ;)
Btw, there could be some kind of display to show what each atom does, like this:
Each [Info] piece would either NOT show up if there is no info about it, or show a text which is either written by the research labs when they find something on that atom (like "Armour level - Blue: Very Low, White: Low, Blue: High, Yellow: Very High") or by the player, according to his own findings :)Code:
[Info] ---- o o ---- [Info]
[Info] ---- o o ---- [Info]
[Info] ---- oo ---- [Info]
[Info] ---- o o ---- [Info]
[Info] ---- o o ---- [Info]
[Info] ---- o o ---- [Info]
[Info] ---- oo ---- [Info]
[Info] ---- o o ---- [Info]
[Info] ---- o o ---- [Info]
[Info] ---- o o ---- [Info]
whoa kids, stop fighting
I like Jotaf's ideas but I want to have a simple sequence like Plend was saying for each creature (that way you can find them in podes etc)
Look, I'm totally pissed at the mo, so I'll write a sensible mail when I get in work tomorrow.
I need time to think about your stuff.
You guys are well cool! Keep the funky ideas coming!!!! :)
How about have each atom have a key number (top=1, 2nd down = 2, ect), and each color have a key number (blue=1, red=2, white=3, yellow=4), then each side has a key number (left=1, right =2). Then you mutiply the values for each one (1-152/atom). Then add all the atoms togather (190-1512). From there, you create a random number based on that key (code below). The example I am giving will create a random number from 0-1330 based on the key. Then you just have a script file set up saying what number will do (maybe 255 do something, which leaves appox. 80% free to do nothing). The code also will always give the same number for the value. Although it would be possible to write a program that would take the value, and calulate the combations that would create it, it would be difficult without knowing that excate code used to calulate it, so it would require decompling, or getting a copy of the code. If you have ever played Diablo 2, you may want to use there idea of posting the combations that have been found on the web, and have some of them apper in the pods, but few/none of the very good ones.
I like the spinning, but slow it down.
RANDOMIZATION CODE:
Also, Arbiter, post a message or e-mail me (my e-mail is below) when you want the code for the map editor. It will be easy to incruposate 255 variations/tile type. Above that, and it will become very difficult (I have NO clue how many you have, as I am too lazy to count them)Code:rnd(-1)
randomize KEY
tmpI = int(255-0)*rnd+0)
Attached is an example of what I talked about in my last post. When you run the program, click load, then type monkey in the box. Case doesn't matter. This also includes ideas from other posts that I have read. Also, try titan and blank in the box too.
This is sort of the idea I had.
Obviously work would have to be done on it.
This way also there's 255^3 combinations per atom.
That sounds ok to me.
Then people can load in string fragments that might look like this :
!<45,65,23><12,34,65><237,23,99>......
Once they've loaded in a string fragment, or manually typed one in, then they hit the render button, and it basically runs the code that jotaf had posted to make it look 3D.
Then, based on some mathematical routine you can check whether or not the string is OK. Just some maths thing whereby the when you multiply each number in a segment, and take it Modulus 128, it equals the multiplication of (Segment+3) Modulus 230....
Some mad complicated thing like that.
Would be easy to crack with a hex editor more than likely, but nobody would bother.
You could also have different combinations of maths routines to find out what does what.
Each 2nd number of every 4th segment, Mod 256 == Strength of something or whatever.
Lots of combinations.
And because you're using Modular arithmetic, if people get things wrong, or numbers get too big, the value drops to ****all, and the beast is of no use....
Oh yes, and we're also assuming that we're dealing with a double helix of human-like DNA with atoms that we've discovered.
A DNA strand for some strange luminescent batbeast with extendable talons on this planet might look like a single helix, or a quad-helix, made up with atoms we've not discovered yet.
My code seems to make more sence. Mine could be easily modified to allow players to type in a code (either using 4 differnt numbers, or using A, C, G, and T (the symbols of DNA)). The code I am using allows for upto something like 3150 differnt values. At this point, I have it limited to 255. So if Arbiter wants 50 differnt working combos, with 25% working, then he can set the number to 200. Or at 50 with 10% working it would be 500. It could be modified by adding in more atoms (maybe 30 instead of 20). With 30, you would be able to get 8251 differnt combos.
Here is an updated verson of the DNA screen. I have updated it to be more user friendly. It will also now reconize saved strands. The loading now requires you to choose a strand from a list box. I have also now reduced the number of atoms to 19 on each side, this is due to the fact that it now displaying the strand written out, using ACGT. It will also accept user input in the same form.
Oops. I forgot to post it. The generator now also produces a much higher number of numbers (I belive 3150 differnt numbers). This will allow for a wider range of animals. It also now includes more saved strands, with a more effecent way of saving them for transfering a one/a few strands.
Cool! You won't mind if I improve the GUI a bit, will you? :)
Arbiter, here's a control I found which might be useful to improve the GUI of Sentience. It's a cool button that can also work as a radio button and a checkbox. Just add the class and the control to your project (no dll :) ). It's free and has lots of features, have a look at the form I included :)
Thanks for the control Jotaf, I'll have a look at it when I get home. I've been avoiding using third party controls so far so I probably won't use it, but it may give me some funky ideas!
Guys,
I've not had chance to look at anything other than Jotaf's original DNA wotsit, but you all seem to having a whale of time making things.
I'd just like to say that you shouldn't spend too much time making the GUI and interface super duper as I'd only be using the screens as templates for the DNA screen. I wouldn't be using the code you've written.
So far, Sentience is all home written and that's the way I want it to stay. People can feel free to write external apps for Sentience (map editors, script editors etc) but Sentience will remain solely written by either Behemoth and I.
This was a decision I took at the beginning because it would have been too easy to build it using code littered around the 'net. It wouldn't be 'ours' then.
I hope you all understand.
I'll have a look at these weird and wonderful things you're knocking up when I get home tonight. The mind boggles as to what I'll see... :)
You'll never get a single application written if you keep that frame of mind ;)
Plend,
It's a personal project of mine and Behemoths and we WILL finish it.
We have to.
We haven't finished anything else we've started.... :rolleyes:
I'm willing to spend alot of my time on working to improve the stuff, seince I will use most likely use it. I have the habit of stealing ideas from the games/programs I use to add into my own games/programs. Of cource, I always modify them a little at least.
Arbiter, how come my post seems to have gotten lost, when I can see it? Anyways, let me know when you want to code for the map editor (I would suggest you use the save/load code I devolped). I need to know how many differnt types of each tile you have, so I can make it work right with the saving/loading for the differnt types.
Hey Arbiter, does that mean you're gonna use my rotating DNA code or "re-write" it? ;)
Gaming,
I'll get number and types of tile to you shortly.
Jotaf,
I'll probably rewrite the rotating DNA code. Behemoth wants bigger balls (apparently).
My head's not with Sentience 100% at the moment as I've got to reapply for my own job. Apologies if I seem a bit scatty.
Hey, to make bigger balls, just draw them! All I have to do is change some vars, in case the comments aren't big enough for you to see :p
Btw, I spent an entire day on this. I can't believe you're gonna waste an entire week trying to do the same!!! :)
(In case you haven't noticed, the shadows are NOT based on the Y position of the atoms, they're basedon the ANGLE which is 100 times harder to handle)
Sorry Jotaf, but I probably will rewrite it.
Sentience is also a learning exercise for me and I've never done anything like that before. Chances are high that I'll come up with pretty much the same code (but sloppier) but at least I'd be able to say that I'd coded it myself.
If you really want to contribute code to the Sentience project, then you could write an external app for it. You could also look at Gaming's map editor and have a play with that.
Again, sorry, but I want to keep Sentience home coded as much as possible.
Ok Arbiter... but unless you know trig very well you'll end up looking at my code ;)
Well what do you want me to do then?
I'm going to repeat this same post in both of the Sentience forums, just to make sure.
Arbiter is away for the next two weeks, so he isn't going to be around to answer anyones posts, and you all know that I don't get the opportunity these days to spend much time in here, so it might be a bit quiet around here for a fortnight
Please, don't think we're ignoring you- all of your input is greatly appreciated. We couldn't have got as far as we have without you all helping. And please don't stop, just because we're not here. Keep posting your code, ideas graphics and bug reports. This is what is going to make Sentience great.
Remember- the more you submit, the more important we can make you look on the credits screen ;)
Thanks all. Ill see you again soon
Does anyone know when Arbiter will be getting back?
Well, probably 2 weeks from Behemoth's post (23rd September) :p
I'm baaaack!
Did ya miss me?
Hey Arbiter! Welcome back :)
Welcome back arbiter! Its been boring around these 2 threads.
Yeah :)
Where have you been? 2 weeks is a lot of time :D
Welcome back Arbiter!
Yep, I'm back, and it's good to be surrounded by such top class people!
Well, have you lot conquered the world or found a cure for cancer whilst I've been away?
Right, where are we with Sentience now?
Gaming, are you still playing with the map editor, or have you given up on that? I can't remember where you last got up to.
In fact, where am I up to with Sentience? Have I finished it yet?
Did anyone beat the computer AI?
Has Jotaf come up with any more weird and wonderful ideas about line-dancing zygotes or 40mph carniverous trees?
At this point I have stoped the map editor due to the fact that I need the number of tiles/tile type and the world creation code. Other then adding in that it is finished.
Oh yeah - I still haven't got them to you have I?
And what do you need the world creation code for? The map editor doesn't need to generate a world, the game can do that itself....
Hey, if you have a simple script system, it would be more than a simple map editor, it would be a "mission" editor :)
The script system doesn't even need to be anything complicated. Have an array of "triggers", each one with "conditions" and "actions". When the turn starts, loop trough all the triggers, and if the conditions are all met, execute the actions in order ;)
Good idea Jotaf.
We might add in triggers and the like at some point, but we're trying to get a working game at the mo. We'll add funky things on later.
Still not implemented that DNA thingy yet.
Debating how to go about it.
How would you amend the DNA strands, 'cos clicking on them is sh*te. I was thinking about having things you'd alter (like chemicals, proteins etc) and they would affect the final outcome of the gene.
By changing their values, the DNA strand would alter.
Well, maybe it could slow down or stop when the mouse was over it :)
The coolest thing about using this kind of DNA screen is that, if you find out which atoms control what, either trough research (making your scientists work on it) or trial-and-error (by yourself), you can make cool creatures later in the game :)
Oh, and you should really implement the method I told you... where you can write your notes about each atom (like if you discover it controls the creature's size) or your scientists can ;)