Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Ryex

61
Core Development / @ Zer0
May 02, 2012, 02:16:35 am
I need you to document everything you've done and everything you were  planing to do. I never really kept track of your side of the work because I knew you could do you own thing. so I need to know what parts of the system are there  and where to look to figure out how they work, I don't need a lot of detail but a expansive overview would be nice. and for things like the script editor I need to know what parts are missing before they are at full functionality.

this will help me get off the ground and I won't have to spend as much time analyzing your code to work with it.
62
Google this exact search

1.2+(sqrt(1-(sqrt(x^2+y^2))^2) + 1 - x^2-y^2) * (sin (10000 * (x*3+y/5+7))+1/4) from -1.6 to 1.6
64
so I was discussing this problem with Blizzard on msn. the AUI interface does not like it when there is no center direction pane docked in the main window. once you undock the last center pane into a floating pane you can't redock them through the normal user input of dragging them window over the area to dock.  to solve this I though I'd rig it so that if such a situation were to occur a show panel would get placed as the center pane so you could dock the panel ontop of the shadow window and then the shadow window would be removed. I manged to do this with docking and undocking event but there are several problems.

1) the shadow window REFUSES to fill up the space vacated by the undocked center pane the AuiManger seems to think the pane is still there no mater what I do
2) if a pane is docked ontop the shadow window it then refuses to remove the window from the manager

I have a few more things to try but I'm not sure they will work. we may have to keep the start panel around permanently as a tab in the users interface just to make sure the center pane position in the main window stays occupied to avoid glitches.

EDIT: ok I partially solved both problems you should really update your SVN and see what I'm talking about. just dock and undock the start panel ect. and you will see what I mean
65
Entertainment / Ryex plays Shank
February 02, 2012, 08:54:02 pm
So i decided to do a lets play of Shank

This is the 4 video parts to my first session the 4th is still uploading as I write this and the 3ed is still processing but I think they should both be done by the time anyone gets to them

I went through the significant trouble of recording and uploading in HD so please select the HD settings and enjoy




66
Chat / Holiday Gift thread
December 25, 2011, 12:16:36 pm
I got some pretty awesome gifts this year. I also got a gift that I'm not sure what to do with but it's still awesome. What about you guys?

I got a 3TB external network harddrive
New shoes (badly needed)

and my uncle sent me a book out of his collection. a book printed in 1871. Its title is "Historical Evidence on the Origin and Nature of the Government of the United States"
it's an incredibly valuable gift but I have no CLUE what to do with it. I almost want to read, it but this copy is 140 years old!
67
General Discussion / Fluency in programming.
December 24, 2011, 02:31:30 am
When can you say that you are fluent in programming?

until recently I would not of dared making that claim. When I started RMPY about a year ago I was confident I could make what I wanted but there were many thing that still did not make sense to me. Now I'm fairly confident that I could make just about anything I wanted too if given the time and tools.
Now I clearly don't have a formal education so there are things that I couldn't do well. for example true efficiency could only be accomplished through time and revision/advise from a more experienced programmer.
but through my work on ARC I believe I have learned all the basics necessary to tackle any task and break it down into a system that could be made in a specified language.

I basically have the reference for whatever libraries I'm working with open perpetually when I work but I don't have to strain to understand them Like I used to. I can now read code and understand what and how it is doing what it's doing regardless of the language (though I would have to look up functions in languages or libraries I don't have experience.)

So, I consider myself a fluent if inexperienced programmer.

What are your thoughts on the question?
69
The Ultimate Chaos Project Showdown of Ultimate Destiny


The residents of Chaos Project are about to have a tournament of Wit, Humor, and General Awesome to decide who is the best!



The rules are as follows and are up for discussion and refinement by the community:

Signup Rules
Sign up like so

[b]Name:[/b] Chaos Project username
[b]Title:[/b] either your custom title if you have one otherwise your post level
[b]Custom Text:[/b] your custom text
[b]Avatar[/b] [spoiler]In a spoiler[/spoiler]
[b]Body Description[/b]: based on your avatar, what kind of body do you have going into this battle?
[b]Sig:[/b] [spoiler]In a spoiler[/spoiler]

[b]User Class:[/b] What is your strongest RM skill? Art? Music? Mapping? Scripting? Events? Use that to create a JRPG like class title!

[b]Power 1:[/b] Use the above information to come up with a battle field power, make sure it is balanced with a flow or two that are equivalent to it's effective power, be creative
[b]Power 2:[/b] repeat as above for another power
[b]Power 3:[/b] and again, last time

[b]Class Power:[/b] To be defined by other users, all classes of a similar base RM skill with have similar powers, will be left blank when you first sign up.

[b]RM Skill Percentages:[/b] how Proficient are you at the RM skills? the one you used to create your class better be over 50% the total for all 5 can not be over 200% for balance and fairness.
[b]Art:[/b]
[b]Music:[/b]
[b]Mapping:[/b]
[b]Scripting:[/b]
[b]Events:[/b]


  • You must use your current Title, Custom Text, Avatar and Sig to define your Character, you can change them before sign up and once the game starts but the must stay the same during sign up phase
  • You must use your most Prominent RM Skill as your Class Title
  • The community has the right to veto Over Powered powers



    Battles

  • those who sign up will be pitted against each other in 1v1 battles (at least in the beginning there may be teem battles and free for all battles too) contestants will post in turns.
  • The community will judge how each contestant is fairing in a poll like system, they must consider the Wit and humor of the battle posts as well as the plausibility of  actions considering the characters powers and general skills
  • outside of the major powers a character has at sign up you can only uses the minor abilities of your class power and basic movements of your body to attack and defend yourself. your going to have to be creative.
  • the community has the right to determine action to be overpowered and unfair and thus rule them invalid. if this happen you will get a limited time to edit your post before the other players gets another turn

    so what do you think of the rules? want to play? HELP ME DEFINE THE CLASS POWERS!

70
Electronic and Computer Section / My Recent Discovery
December 16, 2011, 08:45:04 pm
I've had my computer for about 3 years now. it's a Dell XPS M1530. nice laptop, Powerful for when I bought it. 2.5 GH dual core, 4 GB ram, nvidia GeForce 8600m GT. it cam with a Vista 32 bit os
About a year ago I upgraded to Windows 7 32 bit

here is my discovery, my computer is 64 bit capable. about a year after I bought my laptop they started selling the exact same modal with a 64 bit OS! no difference in hardware the motherboard and processor ect are 64 bit capable. so just to day I formatted my HD and installed the 64 bit version of 7. (don't worry I saved all my files)

I just gained half a gig of ram by upgrading and it seems to be running faster too. I'm running an average of 5-8% less CPU under normal operation.

WHY DID I NOT DO THIS SOONER!
71
we will be providing a default project Template for Legacy edition. at the bare minimum it will contain scripts.

here is my thinking.

we should use the improved default scripts Blizz made that are in his scripting manual and modify them to work with ARC (have them use the ARC::Data.load  method ect. amusing that the Load_data method will not be over written)

as for default data I'm not sure. I don't think we should use the RMXP defaults, we should maker ARC as independent of RMXP as possible. this will probably mean that we will have very little interms of resources that arn;t in the ARC RTP.

thoughts?
72
Welcome! / Messages to WhiteRose AKA Ashley
December 07, 2011, 05:11:54 pm
Quote from: WhiteRose in the shout box
Hello Chaos Project. This isn't Ashley, but she gave me her log in credentials and asked me to deliver a message for her, so, here it is:

"Hey everyone! Happy Thanksgiving! Sorry I haven't been able to get on yet. But don't worry - I haven't forgotten about you. How are things going? It feels like I've been gone forever. I'm sure things at Chaos Project are a lot different than when I left. How's ARC coming? Who's on the mod team now? I probably won't be able to directly answer you for a while, but I asked my friend to write down your responses and forward them to me, and she's usually pretty reliable. Hahaha. Hopefully I'll be able to visit sooner or later! I hope to hear from you all soon!



Alas her friend was not aware of the character limit on the chat box so the rest of the message is cut off. fixed she posted the rest of it.

In any case here is your chance to send your messages to rose!
Walls of text GO!

@Ashley's friend: If you would be so kind to froward each reply here to Ashley that would be awesome.
73
Entertainment / The Big Bang Theroy
November 21, 2011, 04:06:22 pm
this show is awesome. so much nerd humor!
74
ARC Reactor Engine / Statically linking all our libraries
November 17, 2011, 03:41:54 pm
will we be perusing this at some point? I really hate the idea of having the engine depend on having all those dll's in the folder. so many chances for something to go wrong.
75
https://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F28123831%3Fsecret_token%3Ds-XkWTo&secret_url=true

I'll keep a media fire archive of the lines I upload. you can use the requested lines for anything, commercial or not just credit me. or just request them for fun of it that why I'm doing this after all, well that and the challenge of actually speaking in that voice.

The archive containers mp3 files of every line requested

the embeds below are ordered from most recent at the top to the first at the bottom.

Archive:
http://www.mediafire.com/?a4l40ua723b4e

Most Recent:
Stunts Stunts
https://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F28383190%3Fsecret_token%3Ds-kSROA&secret_url=true




76
Video Games / Skyrim
November 12, 2011, 10:30:46 pm
So Awesome!







That is all.
77
ARC Welder / Cython
November 07, 2011, 07:48:05 pm
http://cython.org/

I got board in one of my now rare bits of free time and looked into it. turns out that it will be very useful for us.

What is Cython:
it is a python based language that allows c type defs the Cython compiler then translated the python code into C-code and compiled it with a c compiler. The c code runs inside the python run time and handles untyped things as python objects. it is perfect for building c extensions for python.

I can compiled MOST python code strait into c with moderate speedup and can dramatically improve performance when you start defining ctypes especially inside loops:

Where it will be useful:
as it generates binaries it will be perfect for writing our encryption library in we'll be able to get the speed of c while easily translating python objects and protecting the source code

Profiling our code base will allow us to optimize specific parts with cython.

We'll be able to compile most of our code base which will give us a slight performance boost as it will slightly reduce overhead for call lookups and it will protect our code base by presenting it as compiled python c code instead of raw source code. it will still be reverse able but much harder as they will have to translate it from binary calls which will frequently call into python into source code.

we should only break out Cython once we start getting ready to release.
78
ARC Welder / Using Actions
November 04, 2011, 08:40:16 pm
ok, here is how actions will work.
each action will be registered as a component in the kernel. you'll get the action and create it.

most of the default actions are created by passing an id and a hash of parameter names to the new values you want them set to {"name": "bobsword", "atk": 10"}

in the case that the paramiter's value is a non simple object like a number the action will create a sub action in which case that name in the hash will need to be mapped to a structure of information used create the sub actions.


in the case of a table you need to pass a list of hashes where each hash is the hast used to create a table action (all existing actions need to be edited to use this behavior, take a list of hashes for parameter that are tables and creat a TableEditAction sub action for each one)

the hash should look like so.

{"dim": int, "index": int, tuple, or list, "value": value} or if your resizing the table {"resize": True, "shape": tuple or list}
if resize is true the action is a resize action and all other data related to setting a value is ignored

now for what these value should be
"dim" : an int that is the dimension of the table your editing 1 for 1d 2 for 2d and 3 for 3d
"index": the index of the item to edit, can use a slice. it can only be an int if the dim is 1. if it is a tuple and the dim is 1 it is assumed to be a slice. if the dim is more than 1 index must be a tuple or list of ints and tuples or lists of the length dim. where each item is a x, y, or z component of the index of the item to edit. each item can be a tuple or list to use a slice. tupels or lists used to describe slices to take can be one or two elements long. 2 for a simple start end slice, and 3 for a start end and step slice. ie an index item of (0,10) would be equivalent to the slice [0:10] and (0,10,2) would be equivalent to [0:10:2] None may be used to leave values out. so a index item of (None,10, None) is [:10]. see a tutorial for slicing sequences in python for more detail. see the numpy documentation fo details on sepecial indexing in numpy

please make yourself familiar with slicing as it is much faster than looping over each item especially in numpy
"value": the value to set the index or slice to see numpy documentation for the behavior this will present
"resize": True or False, default is False. if True overrides the above values and makes the action a resize action which called the resize method on the table and stores the shape it was before
"shape": list or tupel of the arguments to be passed the the table resize method


for example an actor action may look like this
actor_action = KM.get_component("ActorEditAction").object
data = {}
data['name'] = "Bob"
data['battler_name '] = "000-bob"
data['weapon_id'] = 152
table_data = {}
table_data['dim'] = 2
table_data['index'] = (0, (1,100))
table_data['value'] = [500+x*50 for x in xrange(1,100)]
data['parameters'] = table_data
action = actor_action(actor_id, data)
action.apply()
this would set the actors name to bob, it's batter image name to 000-bob, it's weapon id to 152. and set the values of the the actors hp to 550 at level 1 adding 5 each level until it was 5450 at level 99. or in other words the default hp values on creating a new actor.
79
Core Development / I need to take a break...
November 01, 2011, 04:02:45 pm
Alright here's the deal. I'm close to burn out and I need to stop. School is approaching the end of the semester and I'm about to get hit with a bunch of big projects, and working on arc is starting to fell lest fun and more an obligation I soon won't be able to find time for. So I'm going to need to stop active work on ARC for about a month. I hope you understand.

G_G and ForeverZer0: you two should be able to continue work with out me. but i'll still be around the forum so I can give direction.

Also, I reasoned out how the TableEditAction should work. so i'll try to implement that by the end of the week. Then I'll make a post on how actions should work so that you can keep working on interfacing the panels.
80
Intelligent Debate / Life Planning
October 31, 2011, 03:19:39 pm
I've always thought of myself as someone who doesn't plan their life. I live spur of the moment, deciding at the drop of a hat to do something else entirely.

but now I realize that that's hardly true. It would be more accurate to say that I change plans to accommodate dynamic situations.

I say this because I DO plan my life. but instead of setting ridged goals and deadlines I make small chunks of hundreds of plans and peace them together as time passes. I'm thinking constantly, passing situation through my mind and deciding how I will respond to them long before such situations even become possible let alone happen.

On the outside people say I remain calm and change my plans at the drop of a hat, and don't seem phased by rapidly changing situations. they say I adapt really well. But I'm pretty sure that If I was caught off guard by a surprise event and had no previous notion of how I would deal with such a situation I would fall apart.

I don't adapt well in the strictest sense of the phrase. I do a stupid amount of preliminary planing and dynamically create a plan from those pieces I've thought about as the situation demands.

I offer these questions.

1) What is the best way to plan your life / deal with changing circumstances? is it what I do?
2) Is it a bad thing to be impulsive? by that I mean truly not planing your life to any great degree and just choosing on the spot to do something when an opportunity arises without any prolonged thought.
81
Entertainment / Ryex rides Audiosurf
October 30, 2011, 02:49:16 am
so, fraps, great stuff.

I'll record my self playing any song you want me to, in Ninja Mono, with or with out Ironmode. and If I can't stealth it I'll at lest give you my best run.


Foozogz - Twilight's Insanity
http://www.youtube.com/v/o6iL3bN4-iE
82
ARC Welder / Licenses of the libraries we're using
October 29, 2011, 05:45:28 pm
This topic is to keep track of the licences of any libraries we end up using, if they end up conflicting with each other or how we want to distribute ARC we need to catch them now not later.

Python 2.6 http://www.python.org/getit/releases/2.6/license/

wxPython and wxwidgets http://www.wxwidgets.org/about/newlicen.htm

pyglet http://www.opensource.org/licenses/bsd-license.php

rabbyt http://www.opensource.org/licenses/mit-license.php

AVBin (used by pyglet to play media, music ect) http://www.gnu.org/licenses/lgpl.html

PIL (Python Imaging Library) http://www.pythonware.com/products/pil/license.htm

numpy http://docs.scipy.org/doc/numpy/license.html

pygame (not actualy sure if we need this or not, we may need it for midi files) http://pygame.org/LGPL

matplotlib http://matplotlib.sourceforge.net/users/license.html


As far as I can tell they don't conflict and we can do whatever we want with ARC.
83
ARC Welder / Holly Freaking Crap: AKA Rabbyt
October 29, 2011, 05:29:00 pm
so you know how I'd been working for literally months trying to come up with a way to draw the map editor in a fast working manner, getting frustrated because the drawing library in wx simply wasn't fast enough? and then about four months ago I said that I had managed to get a library called pyglet working in wxpython and it was finally fast enough to be usable? well in the quest for libraries that would be fast enough I came across rabbyt long before I found pyglet. in fact it was rabbyt that lead me to pyglet. alas I could never get rabbyt working under wxpython. then three days ago I took another look and realised that the same method I had used to make pyglet work would make rabbyt work too!

rabbyt is a c-extension for python that uses opengl to draw sprites, and it's FAST. seriously I had 10,000 sprites flying around the screen changing size, color and rotation bouncing off the walls of the window and it was running at a smooth 32-31 fps INSIDE wxpython and it was only useing 26-27% cpu (keep in mind that this is in python) that's dam impressive

it was an incredibly simple edit to get my current tile map to render in rabbyt I only had to change 5 lines. and it too ran at 30 FPS at 8-12% cpu usage where as before using the pyglet sprite version it was using 60% to run at that FPS

Now, as this is an editor I don;t need to run a fps, because the only time I redraw the screen is when something changes.

also, another benefit to rabbty is that I suddenly have the ability to NOT draw all the sprites in the tile map just the ones on screen. which means I'll be drawing 10,000 sprites max instead of the 120,000 that would be in a 3 layer 200x200 map.

now, because rabbyt is a compiled extension this will delay our MAC version as a mac version of the current library hans't been compiled yet and we'll have to get a mac and do it ourselves.
84
ARC Welder / Coding for increased speed
October 29, 2011, 04:14:30 pm
read through the following page and keep it in mind when working in the editor we need to eliminate as much slowdown as possible in the editor to keep it running smoothly.

http://wiki.python.org/moin/PythonSpeed/PerformanceTips
85
RTP Image Cache and RTP Paths




Description

RTP Paths need to be configurable for the editor and per project and There needs to be an image cache that can keep these images around so that they don;t have to be reloaded each time they are accessed. particularly important for the map editor, Tileset panel ect.



Priority

High



Prerequisites

None



Assigned

Ryex



Everything else

The cache should search the RTP paths in the user specified order for images with the provided file name and should work regardless of the presence of a file extension.
The base cache should run on PIL there needs to be an interface to get wx versions of the images too.
Pyglet also needs to have an instance based cache that draws from the global PIL cache. Because of a bug in the somewhat hackish way pyglet is interfaced with wx two contexts can't share the same resources so each context needs it's instance of the cache.
86
More than three tilemap layers




Description

Making the Tilemap draw as many layers as are present in the z dimension of the Table would allow us to create 1, 2, 3, 4, 5 layer maps in the first version without breaking RGSS functionality.



Priority

High



Prerequisites

None



Assigned

Blizzard



Everything else

Blizz 'forgot' about this :P lol don't worry Blizz none of us can keep all the goals for this project in out heads.
87
Chat / New Headphones
October 24, 2011, 11:36:54 pm
So, I had some skull candy head phones that broke and some ear buds that broke too, I sent them into skull candy for RMA (cost like 14$ for shipping) and in return I got $69.99 to spend in skull candy's online store so what headphones should I get? I'm looking for comfortable for extended wear (8 hours +) and good quality sound.
88
I know that our current implementation of the Tilemap class only uses three layers. But why? making the Tilemap draw as many layers as are present in the z dimension of the Table would allow us to create 1, 2, 3, 4, 5 layer maps in the first version without breaking RGSS functionality.
89
Core Development / How will we handle Version 1
October 24, 2011, 04:09:16 pm
I'm wondering how we will handle Version 1. Specifically in terms of $ and legality.

Because version 1 will at it's core be a RGSS clone (abet with significantly increased power and useability) and we won't have the ARC default scripts written and thus will likely use the RMXP scripts how will we handle it?

taking that in mind I can't see charging the commercial license fee for the first version.

I propose that we deliver Version 1 or codename "Legacy Edition" free for all purposes, commercial or otherwise.

With the next version (I propose codename "True ARC") we will drop the RGSS module and implement our own stuff in Zer0Division and provide ARC default scripts.  Then provide a script that creates the RGSS interface from the Zer0Division lib on the side. at THAT point it will truly be ARC and we should be able to charge the license fee.

Thoughts?
90
Python is a bit strange as a language. In many ways is is very similar to ruby and yet at it's core it is fundamentally different. as such many ways you would achieve thing in ruby or another language will either not work or not be the fastest in python.

Here I will record specific cases and how they should be dealt with in python.

Looping a specific number of times:

in ruby you can do this

a = 10
a.times {|i| do_somthing(i)}


python does not have this convention so to do it you must use a for loop with a list, tuple, or generator of that length


for i in xrange(10):
    do_somthing(i)


I use xrange because it creates a genertor, this is better then range because range actually makes a full list. while you wont really see any speed increase in normal usage like this case the benefit is that if for some reason you break iteration before you go out of range you do not end up creating the rest of the numbers to iterate over and if you are using a very large range (say 1,000,000 iterations?) the memory consumption is much lower because your only creating one object at a time and the iteration starts instantly instead of waiting for the list to finish creating.

Finding the difference between two lists:
in ruby you can do this

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = [3, 4, 6, 8]
c = a - b
c => [1, 2, 5, 7, 9, 10]


but in python the same thing will throw an error because lists do not have a - operator (they have a + but no -, weird I know)
so to get the difference you have two options
use the set type
use a list comprehension (same speed as a for loop where you add each item individually)
c = list(set(a) - set(b))

or
c = [x for x in a if x not in b]

the first will be FAR faster than the second but it's still pretty slow and it won't preserve list order the second will be close to 10 time slower than the first or more but it will preserve list order
ironically if we combine these two methods we get something that FASTER than the first AND preserves list order.

s = set(b)
c = [x for x in a if x not in s]

this third method is faster than the first and stays that way across item types where the first will get slower as the item type gets more complex ie. numbers to strings to objects.
thus this third combination method should be used to get the difference between two lists.