Iceball Project
-
Afrodude
Blue Master Race
- Posts: 117
- Joined: Thu Nov 08, 2012 2:40 am
If there will not be an SMG, does that also mean no Shotgun?
[1:38 PM] Zehra: Afro does what he always does.
http://paste.quacknet.org/view/dad57dbb
http://paste.quacknet.org/view/41e06c14
-
Cyberman128
Deuce - Posts: 1
- Joined: Thu Dec 06, 2012 12:53 am
Thank you for doing this.
I loved Ace of Spades back in the 0.26-0.30 days, and recently really have wanted to play it again.
But the current version is completely different, and while I may be remembering the early AoS a little too fondly, it just isn't the same.
This looks wonderful and I eagerly await the release
I loved Ace of Spades back in the 0.26-0.30 days, and recently really have wanted to play it again.
But the current version is completely different, and while I may be remembering the early AoS a little too fondly, it just isn't the same.
This looks wonderful and I eagerly await the release
-
GreaseMonkey
Coder
- Posts: 733
- Joined: Tue Oct 30, 2012 11:07 pm
As I'm going away for the weekend and can't quite get a release yet, I've instead released a map editor. See the first post for more details.
-
TheSifodias
Modder
- Posts: 108
- Joined: Fri Nov 23, 2012 9:29 pm
GreaseMonkey wrote:If they've made it to the Build and Shoot site, then they'll be fine.Mika wrote:looking forward to a more windows friendly form (I be a noob at cmd) :green:No. The only thing that will get more friendly is the manual / documentation. We need some barrier to entry just so that people who join the game actually know what to do and what NOT to do (and also to weed out the really lazy people who often turn out to be griefers anyway).
-
Triplefox
Scripter
- Posts: 32
- Joined: Thu Nov 22, 2012 5:28 am
I hit a big "black triangle" milestone for the gui project:

Those grey squares aren't pretty, but they are powered by a display model similar to the Flash one. A little more suited for general UI stuff - no rotation or scaling (right now), but more consistent handling of relative positioning and alignment. The default renderer for Iceball manages bitmap surfaces, caching and updating the individual elements when parameters change(but not memozing the entire tree like the Flash cacheAsBitmap property ... this will happen only if we find good benefit from that optimization) And it's possible to plug in other rendering methods, for example it should be possible to treat models as widgets. Next project will be to convert the placeholdery HUD stuff so that it's using a GUI scene.

Those grey squares aren't pretty, but they are powered by a display model similar to the Flash one. A little more suited for general UI stuff - no rotation or scaling (right now), but more consistent handling of relative positioning and alignment. The default renderer for Iceball manages bitmap surfaces, caching and updating the individual elements when parameters change(but not memozing the entire tree like the Flash cacheAsBitmap property ... this will happen only if we find good benefit from that optimization) And it's possible to plug in other rendering methods, for example it should be possible to treat models as widgets. Next project will be to convert the placeholdery HUD stuff so that it's using a GUI scene.
-
BozoDel
Deuced Up - Posts: 61
- Joined: Fri Nov 30, 2012 12:56 am
GreaseMonkey wrote:ahhhhh friggin aalallaaaha so many hackers because ppl don't know how to votekickMika wrote:looking forward to a more windows friendly form (I be a noob at cmd) :green:No. The only thing that will get more friendly is the manual / documentation. We need some barrier to entry just so that people who join the game actually know what to do and what NOT to do (and also to weed out the really lazy people who often turn out to be griefers anyway).
-
HoboHob
Winter Celebration 2013
- Posts: 979
- Joined: Mon Nov 05, 2012 5:02 pm
Triplefox wrote:I hit a big "black triangle" milestone for the gui project:Good job!
Those grey squares aren't pretty, but they are powered by a display model similar to the Flash one. A little more suited for general UI stuff - no rotation or scaling (right now), but more consistent handling of relative positioning and alignment. The default renderer for Iceball manages bitmap surfaces, caching and updating the individual elements when parameters change(but not memozing the entire tree like the Flash cacheAsBitmap property ... this will happen only if we find good benefit from that optimization) And it's possible to plug in other rendering methods, for example it should be possible to treat models as widgets. Next project will be to convert the placeholdery HUD stuff so that it's using a GUI scene.
Personally I hate the way flash handles stuff. But this is epic!
-
GreaseMonkey
Coder
- Posts: 733
- Joined: Tue Oct 30, 2012 11:07 pm
For those of you who want to use the map editor, I have a quick patch which makes hitting ESC while the colour picker is up NOT close the editor: https://github.com/iamgreaser/buldthens ... d037b2d98e
If you just want to redownload the file, here it is, pkg/iceball/mapedit/main_client.lua: https://raw.github.com/iamgreaser/buldt ... client.lua
If you just want to redownload the file, here it is, pkg/iceball/mapedit/main_client.lua: https://raw.github.com/iamgreaser/buldt ... client.lua
-
HoboHob
Winter Celebration 2013
- Posts: 979
- Joined: Mon Nov 05, 2012 5:02 pm
rakiru wrote:Nice work Triplefox. I don't really have any experience with how Flash works though - anyone care to explain briefly?
Code: Select all
This is my guess as to what it would look like in Lua:
//Code not guaranteed to compile
package example{
import flash.display.Sprite;
import flash.display.TextField; //I am not quite sure if this is the correct class path
class TextFieldExample extends Sprite
{
private var t:TextField;
public function TextFieldExample():void
{
t = new TextField();
t.text = "Text!";
addChild(t);
}
}
}
Code: Select all
But yes. It is not my preferred way of doing a GUI system, but it does make sense.local t = createTextField("Text!")
addChild(t)
-
Articsledder
Deuced Up - Posts: 209
- Joined: Mon Nov 12, 2012 5:13 pm
Made a rifle model, it's basically a mix of the Springfield 1903, Lee Enfield, and M1A. It's about 720 parts from what I remember.

To view it download it below and place the file in the cslave folder and rename it editor.pmf (make sure you have nothing important in the original editor folder!) or replace the rifle.pmf file in \pkg\base\pmf to use it in game.
http://www.mediafire.com/?yn4ndisuvgc3edl

To view it download it below and place the file in the cslave folder and rename it editor.pmf (make sure you have nothing important in the original editor folder!) or replace the rifle.pmf file in \pkg\base\pmf to use it in game.
http://www.mediafire.com/?yn4ndisuvgc3edl
BE OPTIMISTIC
-
Triplefox
Scripter
- Posts: 32
- Joined: Thu Nov 22, 2012 5:28 am
rakiru wrote:Nice work Triplefox. I don't really have any experience with how Flash works though - anyone care to explain briefly?For documentation purposes here is my own summary of how Flash(as of AS3) works, followed by the differences in my system:
- The "display list" is a hierarchical structure of nodes. Each node can have any number of children(that's why it's a "list", I think) and the order of the list determines draw order.
Every node on the display list inherits "DisplayObject", which contains positioning (using matrix math) a large variety of compositing directives - things like color blending, additive drawing or filters. Children inherit all the transformation parameters of parents, and to some extent the compositing parameters. At the user end this is made mostly transparent through getter/setter properties in the built-in API, so that you just set properties like "x", "y", "rotation" or "alpha" and read things like "width" or "height" when you need to get data.
In practice most nodes don't use DisplayObject, but a child class of it. For example, "Shape" contains a graphics property which allows you to define some immediate-mode vector graphics. The top level node is called "Stage" and defines the screen boundaries.
DisplayObject implements a method called hitTest() which is a collision detector primarily meant for mouse movements like clicking and dragging shapes. It uses pixel-perfect collision and applies all transformations.
Nodes that implement DisplayObject also inherit InteractiveObject, which attaches the Flash events system. In this system you call "displayobject_instance.addEventListener()" with an enumerated event(for example MouseEvent.CLICK) and an associated callback; Flash will automatically pick up and call the events once a listener is attached. Top-level program flow is always controlled through events(even timing, through TimerEvent.TIMER or the render-locked Event.ENTER_FRAME). There are some additional rules for prioritization, capturing phases, and whether the listener reference is weak or strong.
- I only have AABB shapes right now. I don't use a matrix to transform objects, the positioning is only done along x and y, width and height. Likewise I don't have anything as fancy as hitTest(). There is a collider that is also AABB-only, and it doesn't have customized prioritization, it just takes the "first and deepest" child(i.e. the one that is being drawn at the top).
I don't assume you want the area of the whole hierarchy; that is, if you have a small parent with children that are large and stick out at the sides, Flash will say the "width" of the parent is as big as the total area of parent+children, while I'll say it's the width of the parent only. This is done because I found that it was actually really annoying to not be able to get the parent's "base width" anymore after adding children. I will add a separate method for getting the total area.
I added an "align_x" and "align_y" attribute to address my #1 complaint about the Flash display list: It equates the top-left to be the pivot point of DisplayObjects...mostly. I added an align_x and align_y property to fix the common "I want it aligned differently" case by allowing you to pick a pivot point as a percentage of the shape's size: 0 is the top or left, 0.5 is the center, 1 is the bottom or right. Then, if you want to see the boundaries, you can look at the t/l/r/b properties, and if you want to see the pivot you can use x and y.
Upshot: You don't have to worry much about alignment anymore. Just say "here's how much space I want these elements to take up and where they should fit" and then call scene.pack() and it'll walk through every element and update it based on the current parameters. The widgets are designed to use a getter/setter pattern everywhere, so if you want very customized sizing/positioning behaviors you should be able to get them without going around the layout architecture. And there will be standard widgets to go along with this so that it's easy to throw together a buttons-and-menus interface.
However, this is all going to take a few weeks(somewhere between two weeks and two months depending on how much time I find to work on it) - and first I need to flesh out the basic system in a practical context and find any missing pain points.
-
Triplefox
Scripter
- Posts: 32
- Joined: Thu Nov 22, 2012 5:28 am
Word Wrapping Text (example is some random wiki thing)


-
HoboHob
Winter Celebration 2013
- Posts: 979
- Joined: Mon Nov 05, 2012 5:02 pm
Heh, SNOBOL, SNOBAll,SNOWBALL, IceBall. I get it.
Who is online
Users browsing this forum: No registered users and 11 guests

