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

Login with username, password and session length

 
Advanced search

1075932 Posts in 44152 Topics- by 36119 Members - Latest Member: Royalhandstudios

December 29, 2014, 04:15:13 PM
TIGSource ForumsDeveloperTechnical (Moderators: Glaiel-Gamer, ThemsAllTook)What are you programming RIGHT NOW?
Pages: 1 ... 17 18 [19] 20 21 ... 66
Print
Author Topic: What are you programming RIGHT NOW?  (Read 121578 times)
Taiko
Level 2
**



View Profile
« Reply #360 on: May 18, 2011, 09:04:54 AM »

Digital artist Blprnt has done quite a bit of work with L-System rendering:

http://blog.blprnt.com/blog/blprnt/project-tree-growth

You might be interested in looking at his work.

Cool!  I'll check him out.
Logged
Triplefox
Level 9
****



View Profile WWW Email
« Reply #361 on: May 19, 2011, 12:45:18 AM »

Today I added manipulation of multiple tile layers to my level editor. The tiles get converted to box2d bodies at runtime, the idea being that you can differentiate "mobile" bodies and "fixed" ones by using different layers.

Tomorrow I am going to put in the single most complicated feature of my level editor: Adding/removing joints of various types, which can attach to the layers.

Don't look forward to it, but I have a plan to keep it simplified and in preset-land, not "omg sliders everywhere."
Logged

Prinsessa
Level 10
*****


Ava Skoog


View Profile WWW Email
« Reply #362 on: May 19, 2011, 01:03:49 AM »

Today I added manipulation of multiple tile layers to my level editor. The tiles get converted to box2d bodies at runtime, the idea being that you can differentiate "mobile" bodies and "fixed" ones by using different layers.

Tomorrow I am going to put in the single most complicated feature of my level editor: Adding/removing joints of various types, which can attach to the layers.

Don't look forward to it, but I have a plan to keep it simplified and in preset-land, not "omg sliders everywhere."
Sounds like a good situation for a linked list to be used, at least.

My game is also a Box2D game, for which I have programmed a custom level editor. My layer system is quite smart, in my own opinion, haha. Every type of object belongs in a 'layer priority group'. Different types of objects can belong to the same group. Objects belonging to group 1 can't be placed in layers below objects of group 0, and can't be placed in layers above those of group 2, for example, but objects within the same group can be freely moved above or below each other in the layer list.

This makes it very easy to make sure that objects that have to be drawn in a specific order are drawn in that order, without any errors, as they're not possible to make. No type of object can be placed behind a background house, and no background house can be placed in front of anything else; they're automatically moved to the top layer of their group when they are added to the world, and can then be moved up or down.
Logged

dum mak gam
Vatnsmyrkr, deep sea exploration: devlog
avaskoog @ twitter
avaskoog.se

Dacke
Level 10
*****


I have never been to Woodstock


View Profile
« Reply #363 on: May 19, 2011, 03:42:53 AM »

compile and run this in c++

Code:
#include <stdio.h>
#include <time.h>
#define O_O const char*
#define __ if
#define ___ while
#define OO void

O_O O[]={"$%&'(#)*+,-./0#1234567#)89:;<=>#","0?@ABC5D#EFBG#",
"HIJBK#HILBM#HINO-PB#HIFBQ#HIRS#HIATU-VB#","WXY=Z.[#\\]^_`#abc'Rd#efg*h^ij#k*+l-mInd#opBqrC5D#"
,"sJBK#sJBK#HIJtIJ#uBK#HIJtIJ#uBK#","WXY=Z.[#\\]^_`#abc'Rd#efg*h^ij#","\n","I;y.;","21","-,.?29;.-",",1","41*;",
"G1+","521)",",8;",".+4;-","?2<","-1","<1","W","_",":+44","=1337,3;2,y-",")8?,"
,"Wy3",",8725729","1:",")1+4<2y,","9;,",",87-",":.13","?2'","1,8;.","9+'","6+-,",
")?22?",",;44","'1+","81)",":;;4729","Y1,,?","3?5;","+2<;.-,?2<","R;*;.","9122?",
"97*;","+0","4;,","<1)2",".+2","?.1+2<","<;-;.,","=.'","-?'","911<>';","?","47;",
"8+.,","I;y*;","521)2",";?=8",":1.","4129","G1+.","8;?.,y-",">;;2","?=8729",">+,","G1+y.;",
",11","-8'","7,","W2-7<;",");",">1,8",")8?,y-","91729","12","I;","9?3;",");y.;","04?'","_2<",
"7:","?-5","3;","Q111111118rrr","2;*;.","Y7*;"};OO _0(float _){clock_t _O=clock()
+_*CLOCKS_PER_SEC;___(clock()<_O);}char _O(char _){__(_=='\n'||_==' ')return
_;return -(_-'#'-'}');}OO __O(O_O _){___(*_){putchar(_O(*_++));fflush(stdout);_0(.06);}}OO
_(O_O _){___(*_){__O((O+6)[*_++-'#']);__(*(_-1)=='#')_0(1);else
__O(" ");}}int main(){_(*O);_(*(O+1));_("#");_(*(O+2));_("#");_(*(O+3));_("#");_(*(O+2));_
("#");_(*(O+2));_("#");_(*(O+4));_("#");_(*(O+5));_(*(O+1));_("#");_(*(O+2));_("#");_(*(O
+2));_("#");_(*(O+2));_("#");}


(i was quite bored)


I really loved this so I ported it to Python, with the goal of making it even more compact. (But far less obfuscated obviously!)
Your version is much more interesting, but at least I learned some new things about Python.

Run as Python:

Code:
import zlib, base64, time, sys
for c in zlib.decompress(base64.b64decode("eNrtlL1uhDAQhHueYjq6e4erTjRJeUppYMEOxnvyzyHePmvgEpGT0kSK\
ckqoLM96/O2OxZlKT3CMEL1yPfmAyLB8JRQvnDA4nhA1wSdLAcq1CIyWUaE4okvWouFxNHEkF8uASauIqhzljHGDcT24W50mTrZ\
1ZURPMasBnedRHGew\XODRpxlFhdcUIiblnEIksZ/lrBaIbNoR2exZnDhGhVENtOjJtUIeM11RPNE1u3F26M11q7hgJ1iByPstT\
26v+OSgPIvl0m1Lgfxauyt7v7vx814JapYVt/VMe2FpR642tDjrdPMtzlQKZ561A6lGbxPp2OdpW84tyww9NCmfx1wTCWWj8zDq\
FBc1BxlZktRzzjBjGFEqF0xLmAi1uK6B5p\RuLj0vKckUzvQRd6/GlXJaHsjawMVunkcRTLfAqzBASu8SesQYHhD5mbdPHw6HPf\
QX0l2j7vNGcfpO/S950H/zZ/KP/BPIb0L/fvg=")):
sys.stdout.write(c);sys.stdout.flush();time.sleep(0.06)
if c=='\n':time.sleep(0.94)
« Last Edit: May 19, 2011, 04:14:21 AM by Dacke » Logged

programming • veganism • feminism • free software
Dacke
Level 10
*****


I have never been to Woodstock


View Profile
« Reply #364 on: May 19, 2011, 01:28:03 PM »

Okay, so I went a bit overboard with this. I wrote an image to ascii converter in python to make it work.

Run as Python:
Code:
import zlib as a, base64 as b, time as c, sys as d
e=1;f=a.decompress(b.b64decode("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")).split("&");l=''
d.stdout.write(f[e]+'\n');g='\n'
for h in f[0]:
if h==g==l:d.stdout.write(g+f[e%5+1]+g);e+=1
d.stdout.write(h);d.stdout.flush();c.sleep(0.06);l=h
if h==g:c.sleep(1)
« Last Edit: May 19, 2011, 01:45:02 PM by Dacke » Logged

programming • veganism • feminism • free software
Triplefox
Level 9
****



View Profile WWW Email
« Reply #365 on: May 19, 2011, 01:57:09 PM »

Sounds like a good situation for a linked list to be used, at least.

My game is also a Box2D game, for which I have programmed a custom level editor. My layer system is quite smart, in my own opinion, haha. Every type of object belongs in a 'layer priority group'. Different types of objects can belong to the same group. Objects belonging to group 1 can't be placed in layers below objects of group 0, and can't be placed in layers above those of group 2, for example, but objects within the same group can be freely moved above or below each other in the layer list.

This makes it very easy to make sure that objects that have to be drawn in a specific order are drawn in that order, without any errors, as they're not possible to make. No type of object can be placed behind a background house, and no background house can be placed in front of anything else; they're automatically moved to the top layer of their group when they are added to the world, and can then be moved up or down.

That's not the problem at hand. I already have layer drawing and ordering in place so I can draw them reasonably well. Everything is generated from tiles for simplicity; it was kind of a pain to render tilemaps so that they line up and rotate correctly with the physics objects, but that was done, and done weeks ago. The only feature of core gameplay that I haven't really tested is applying bitmasks to different layers so that they can go above/below each other.

But to get to the problem. It's all UI: the user has to know which layers they're connecting when they work with joints, since each layer turns into a body at runtime. If I do this wrong it will be too confusing for public consumption; just having layers, by themselves, presents a usability problem. This is why I used tiles to begin with; it makes that stage of construction easier, since things will all line up neatly. That said, I do want to have an explicit notion of joints and layers, since they open up so many possibilities. So my solution is:

Stick to a small, fixed, pre-ordered number of layers(right now 4, maybe more in the future). Adding a joint is in three steps:

1. Place start of joint
2. Place end of joint
3. Dialogue pops up: Which layers are being connected, and what kind of joint is being made?

Then you see a placeholder graphic for the joint appear on the map saying "1-->4" or whichever layers you've connected.

I haven't finalized how I'm setting the mass of layers yet, but I will probably end up using a per-layer control, with the first layer always being fully static, since I use that body for the borders of the map as well. Combining mass, masking, and joint variations should make it possible to do some interesting over/under/rotation situations, but the biggest issue is in making sure that the user naturally ends up with valid/interesting combinations.

One idea I might run with is having not just a preset _number_ of layers, but preset _classes_ of layer: "Ground", "Low/Medium/High Obstacle", "Tall". That would greatly simplify things.
Logged

sublinimal
Level 8
***



View Profile
« Reply #366 on: May 20, 2011, 11:28:45 AM »


Fibonacci spirals with a random palette generator!


Recursion trees!


A futuristic faux-3D landscape that's actually half of an ellipse! Could make a neat setting for a racing game.

Okay, nothing impressive, but at least I did it all without any help. These damn .gifs don't seem to move smoothly at all, although they only have like 1 ms delay between the frames.
Logged
Dacke
Level 10
*****


I have never been to Woodstock


View Profile
« Reply #367 on: May 20, 2011, 11:34:46 AM »

That's really neat! The tree animation is lovely.
Logged

programming • veganism • feminism • free software
beyzend
Level 0
**


View Profile Email
« Reply #368 on: May 21, 2011, 12:05:01 PM »

I'm working on this:

http://www.youtube.com/watch?v=jMbJ4lGGkBs&t=0m58s

My blog:

http://fdastero.tumblr.com/
Logged
Pineapple
Level 10
*****


Love, love is a verb Love is a doing word ~♪


View Profile WWW
« Reply #369 on: May 21, 2011, 01:04:54 PM »



Perlin noise for terrain generation
Logged

xhunterko
Level 2
**



View Profile
« Reply #370 on: May 21, 2011, 02:33:56 PM »

Currently, the apocalapse.
Logged

On Twitter:

https://twitter.com/xhunterko

I made a game that's in alpha and you can buy it here: http://xhunterko.itch.io/wave-miner-alpha
Pineapple
Level 10
*****


Love, love is a verb Love is a doing word ~♪


View Profile WWW
« Reply #371 on: May 21, 2011, 05:47:10 PM »

Working on improving the RNG behind my perlin noise.

This came up:
Logged

Ludophonic
Level 2
**


View Profile WWW
« Reply #372 on: May 21, 2011, 06:09:17 PM »

I previously rewrote my OpenGL stuff on Windows to be OpenGL 3.2 Core Profile. Now I'm backporting that to work under OpenGL 2.1 + extensions on OS X.
Logged
Prinsessa
Level 10
*****


Ava Skoog


View Profile WWW Email
« Reply #373 on: May 22, 2011, 09:19:06 AM »


Fibonacci spirals with a random palette generator!
I had a go too!

Logged

dum mak gam
Vatnsmyrkr, deep sea exploration: devlog
avaskoog @ twitter
avaskoog.se

mcc
Level 10
*****


glitch


View Profile WWW Email
« Reply #374 on: May 22, 2011, 09:39:11 AM »

FlashPunk test apps!
Logged

My projects:<br />Games: Jumpman Retro-futuristic platforming iJumpman iPhone version Drumcircle PC+smartphone music toy<br />More: RUN HELLO
teomat
Guest
« Reply #375 on: May 22, 2011, 09:40:38 AM »

A highlevel lua wrapper and object (de)serialization in c#/mono.
The lua c-api is not as hard to work with as I initially thought and this is actually fun :D
Logged
teomat
Guest
« Reply #376 on: May 24, 2011, 05:43:16 AM »

Trying to get my Lua serializer to not die when it encounters circular dependencies.
Right now it does this:

Code:
Entity = {

__type = "mater.lua.tests.Test+Entity, mater.lua.tests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";

__hash = 58225482;

a = 16;

s = 50;

pos = {

__type = "mater.lua.tests.Test+Position, mater.lua.tests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";

__hash = 54267293;

x = 9;

y = 8;

e = {

__type = "mater.lua.tests.Test+Entity, mater.lua.tests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";

__hash = 58225482;

a = 16;

s = 50;

pos = {

__type = "mater.lua.tests.Test+Position, mater.lua.tests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";

__hash = 54267293;

x = 9;

y = 8;

e = {

__type = "mater.lua.tests.Test+Entity, mater.lua.tests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";

__hash = 58225482;

a = 16;

s = 50;

pos = {

__type = "mater.lua.tests.Test+Position, mater.lua.tests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";

__hash = 54267293;

x = 9;

y = 8;

e = {

a few hundred times and then crashes because of a stack overflow.
I kind of know what I'm going to do, but I'm not sure how.

Edit:

Wow, done already   Shocked
Code:
Entity = {

__type = "mater.lua.tests.Test+Entity, mater.lua.tests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";

__hash = -1574713792;

a = 16;

s = 50;

pos = {

__type = "mater.lua.tests.Test+Position, mater.lua.tests, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";

__hash = -18553600;

x = 9;

y = 8;

};

};

Entity.pos.e = Entity

__main = Entity;

I didn't think I'd be so fast. I guess I'll play some witcher 2 now  Smiley

« Last Edit: May 24, 2011, 06:11:50 AM by teomat » Logged
increpare
Guest
« Reply #377 on: May 24, 2011, 05:54:32 AM »

Working on a puzzle-style game.  Its logic is discrete, but I've allowed a lot of continuous animation-related stuff to seep in.  I find myself wanting to run simulations, so I'm trying to pull the two bits apart.  It's a bet of a messy task!
Logged
_Tommo_
Level 8
***


frn frn frn


View Profile WWW
« Reply #378 on: May 24, 2011, 06:12:49 AM »

You have to mark the object that were already encountered in a single serializing session, I believe.
It's the deserializing that is pretty damn ugly.
In what order are you going to recreate objects that have circular dependencies? Good luck with it  Beer!
Logged

teomat
Guest
« Reply #379 on: May 24, 2011, 06:17:56 AM »

You have to mark the object that were already encountered in a single serializing session, I believe.
It's the deserializing that is pretty damn ugly.


Already done :D
I actually did deserialization first and I feel like it was even easier.
Well, I can't de/serialize delegates and I didn't test it that much yet, but I think it's good enough for what I need.

In what order are you going to recreate objects that have circular dependencies? Good luck with it  Beer!

I simply serialize them as I find them and keep a map with their hashes as keys and table locations as values. Then whenever I encounter an already serialized object I add the it to a list with all the other missing references. Once the main object is serialized I dump those into the file and everythig is fine.

Edit: typo
« Last Edit: May 24, 2011, 06:25:23 AM by teomat » Logged
Pages: 1 ... 17 18 [19] 20 21 ... 66
Print
Jump to:  

Theme orange-lt created by panic