Language: 
To browser these website, it's necessary to store cookies on your computer.
The cookies contain no personal information, they are required for program control.
  the storage of cookies while browsing this website, on Login and Register.

Author Topic:  Unity 2D client  (Read 5507 times)

0 Members and 0 Guests are viewing this topic.

smacky

« Reply #15 on: 23, February 2020, 14:59:02 »
The SDL client had to use some funny calcs to fit together tiles smoothly. I forget the details but it had something to do with 24 =25 in Daiworld IIRC. So maybe this bit if trickiness hasn't quite been translated to unity.

BTW do you know  of /matrix? I think it might be helpful here:

Code: [Select]
/* The matrix primarily determines whether player sees first system object on
 * square (instead of fmask). Toggle the matrix with the command on its own.
 *
 * It also can be used to specify which clayers are sent to the client. In this
 * mode you can, for example, turn off things under and over so you can observe
 * floors and fmasks without clutter. Specify a number after the command. This
 * is a bitmask of the clayers you want to see (1=floor, 2=fmask, 4=thing under,
 * 8=thing over).So the example would be 3). */

_people_

« Reply #16 on: 24, February 2020, 07:52:06 »
Looks like it's a Unity problem.



The big white tile is scaled up by the Unity editor at runtime. Notice the grey border appears over top of the existing tiles. The bright white tile is added by the editor at runtime and it has no such grey border.

I think it's an issue that comes up loading sprites on the fly. The "normal" method for sprites in Unity is to add them via the editor and save the "level" as a Unity scene. Obviously this is much different from our existing architecture but it's flexible enough that it hasn't been much of a problem.

I'll see what I can do about it.
-- _people_ :)

_people_

« Reply #17 on: 25, February 2020, 03:36:15 »
OK, I think I've got it.

Because Unity doesn't use direct texture-to-screen drawing like SDL, every sprite is scaled even if it's already the right size. By default Unity uses bilinear filtering for this, which causes it to "blend" the pixels. When you add transparency to a PNG, it doesn't "delete" the color from the transparent areas, so in your sample image the background was black but fully transparent. When the edges are blended, they are still black, but with slightly less transparency.

I've changed it to use point filtering. My limited testing using your sample image works, but other tiles still have slight borders. I think it's because the auto-scaler I used blended the edges as well. Please test on the newest build: https://www.daimonin.org/downloads/sa/downfile/id/25/

Other notable changes include support for maps smaller than the viewport, a working HP bar, and a not-yet-implemented chat display.
-- _people_ :)

Joe

« Reply #18 on: 25, February 2020, 07:49:28 »
Smacky thanks for telling me about /matrix I had no idea.  People it looks good now, should be able to work on some floors soon.

Edit: oh I was going to ask is there a way to enter things yet, such as /dm_light and /matrix?
« Last Edit: 25, February 2020, 07:51:40 by Joe »
Whoever said "Out of sight, out of mind" never had a spider disappear in their bedroom.

_people_

« Reply #19 on: 25, February 2020, 08:57:35 »
Next update should have chat and /command functionality
-- _people_ :)

smacky

« Reply #20 on: 25, February 2020, 17:11:12 »
That black-transparency thing has always been an irksome oddity of Dai.

It'd be better/more standard TO USE hotpink (#FF69B4). This also makes it easier to code certain gfx (ie, don't need  to worry fif artist mean transparency or actual colour #000000?)

I'm sure a quick bash/imagemagick script vould convert/commit existing arches/

Joe

« Reply #21 on: 26, February 2020, 23:12:37 »
For some reason the user name doesn't show up as from my pc.


Edit: Also having a really hard time testing.  I log on and it's dark, I wait half hour to 45 min till it gets light so I can look at some graphics.  Then I log out and when I log right back in it's dark again.  I really look forward to your next update.  ;)
« Last Edit: 27, February 2020, 10:17:21 by Joe »
Whoever said "Out of sight, out of mind" never had a spider disappear in their bedroom.

smacky

« Reply #22 on: 27, February 2020, 21:12:42 »
Can you repost the log as text ? I only get as far as 'Loading map >/planes/'

Try deleting server/data/clockdata before starting the server.

Joe

« Reply #23 on: 27, February 2020, 23:08:08 »
Deleted clockdata with no luck, the user shows up as Scott but my pc's only user name is Joeshmo.  This is probably not a Unity issue but rather mapmaker.
Maybe mapmaker has always been like this but I never noticed it before.  But shouldn't it say INFO: : C:\Users\Joeshmo.... instead of Scott?  WTF is Scott?!? lol  I'm starting to think he is the evil genius hacker who makes my local server always load in dark mode.  ::)
Code: [Select]
D:\programs\daimonin_mapmaker>rem echo off

D:\programs\daimonin_mapmaker>rem LFNFOR ON is needed for windows 98

D:\programs\daimonin_mapmaker>rem if a warning about unknown command is

D:\programs\daimonin_mapmaker>rem given out, your windows system already

D:\programs\daimonin_mapmaker>rem can handle long file names on default (XP, ...)

D:\programs\daimonin_mapmaker>LFNFOR ON
'LFNFOR' is not recognized as an internal or external command,
operable program or batch file.

D:\programs\daimonin_mapmaker>if not exist arch\archetypes call w32_collect_arches.bat

D:\programs\daimonin_mapmaker>copy arch\*.* server\lib\*.*
arch\animations
arch\animtree
arch\archetypes
arch\artifacts
arch\bmaps
arch\client_settings
arch\client_sounds
arch\client_spells
arch\daimonin.0
arch\facetree
arch\formulae
arch\image_info
arch\messages
arch\treasures
       14 file(s) copied.

D:\programs\daimonin_mapmaker>mkdir server\data\tmp
A subdirectory or file server\data\tmp already exists.

D:\programs\daimonin_mapmaker>cd  server\data\tmp

D:\programs\daimonin_mapmaker\server\data\tmp>del ?*.*

D:\programs\daimonin_mapmaker\server\data\tmp>cd ..\..

D:\programs\daimonin_mapmaker\server>daimonin_server.exe -log logfile.log

*** TIMESTAMP: 2020-02-27 16:04:56 ***

Unable to open './data/log/logfile.log' as the tlogfile!
Daimonin v0.10.9 (protocol version 991031).
Copyright (C) 2002-2009 Michael Toennies.
Reading bmaps from ./lib/bmaps...done (got 11505/11506/11506)
Reading animations from ./lib/animations...
done. (got 950)
Reading archetypes from ./lib/archetypes...
 arch-pass 1...
 done.
 setting up archetable...done
 reading artifacts from ./lib/artifacts...done.
 adding local artifacts from books.art...done.
 adding local artifacts from human_plane.art...done.
 loading treasure...
 adding local treasures from dev_maps.tl...done.
 link treasure lists pass 2...
 done
 arch-pass 2...
BUG: link_treasurelists(): Treasurelist >uc_shield_drow< not found
 done
 artifact-pass 2...
 reading artifacts from ./lib/artifacts...done.
 adding local artifacts from books.art...done.
 adding local artifacts from human_plane.art...done.
 done.
Reading archetypes done.
Reading sound definitions from ./lib/client_sounds...done.
Reading clockdata from './data/clockdata'... FAILED (could not open file, tadtick defaults to 0)!
BUG: No settings file found
INFO:: Could not open ./data/temp.maps for reading!
Initializing spells...done.
Init races...
RACE snowcreature (corpse_default - 2 member): snowman_evil2(0), snowman_evil(0),
RACE tarrasque (corpse_default - 1 member): chaotic_tarrasque-mob(0),
RACE spider (corpse_default - 2 member): monstrous_leaf_spider-mob(0), giant_leaf_spider-mob(0),
RACE pumpkin (corpse_default - 2 member): g_pumpkin(0), demon_pumpkin(0),
RACE wyvern (corpse_default - 1 member): wyvern(0),
RACE zombie (corpse_default - 1 member): zombie(0),
RACE undead (corpse_default - 2 member): vampire_lord(0), vampire(0),
RACE skeleton (corpse_default - 5 member): skeleton(0), skel_mage(0), skel_fighter3(0), skel_fighter2(0), skel_fighter1(0),
RACE ghost (corpse_default - 2 member): wraith(0), lost_soul(0),
RACE ghoul (corpse_default - 1 member): ghoul(0),
RACE druj (corpse_default - 1 member): druj_skull(0),
RACE lich (corpse_default - 4 member): lich_lord(0), lich(0), demilich(0), barrow_wight(0),
RACE troll (corpse_default - 1 member): troll(0),
RACE golem (corpse_default - 6 member): sparkle_black_golem_mage(0), golem_mage(0), black_golem_mage(0), lavagolem(0), icegolem(0), golem(0),
RACE tree (corpse_default - 3 member): treant_evil(0), treant_ancient(0), quickwood(0),
RACE orc (corpse_default - 10 member): headless_horseman(0), orc_warlord(0), orc_sorcerer(0), orc_priest(0), orc_outlaw(0), orc_warrior(0), orc_fighter(0), orc_captain(0), orc_berserker(0), orc_archer(0),
RACE overseer (corpse_default - 2 member): over_seer(0), oclunus(0),
RACE slug (corpse_default - 1 member): slug_giant(0),
RACE salamand (corpse_default - 1 member): salamand(0),
RACE mushroom (corpse_default - 1 member): fungus(0),
RACE minotaur (corpse_default - 1 member): minotaur(0),
RACE insect (corpse_default - 10 member): spider_widow(0), spider(0), skorpion(0), krillen(0), wasp_giant(0), hornet(0), bee_killer(0), ant_soldier(0), ant_red(0), ant_queen(0),
RACE drow (corpse_default - 5 member): drow_sorcerer(0), drow_guard(0), drow_fighter(0), drow_captain(0), drow_annihilator(0),
RACE mud elemental (corpse_default - 1 member): mud_hand(0),
RACE elemental (corpse_default - 1 member): elemental_ice(0),
RACE dragon (corpse_default - 6 member): dragon_water_small(0), dragon_skeletal(0), dragon_red(0), dragon_green(0), dragon_blu(0), dragon_black(0),
RACE demon (corpse_default - 13 member): demonic_turkey(0), raas(0), oty(0), other_world(0), lom_lobon(0), devil_lord(0), demon_sfire(0), demon_lord(0), demon_green(0), demon_goat(0), demon_armour(0), bone_devil(0), abomination_small(0),
RACE kobold (corpse_default - 5 member): kobold_shaman(0), kobold_guard(0), kobold_fighter(0), kobold_big(0), kobold(0),
RACE knome (corpse_default - 1 member): knome(0),
RACE hobgoblin (corpse_default - 1 member): hobgoblin(0),
RACE goblin (corpse_default - 1 member): goblin(0),
RACE gnoll (corpse_default - 1 member): gnoll(0),
RACE angel (corpse_default - 1 member): angel_warrior(0),
RACE worm (corpse_default - 2 member): worm_purple(0), worm(0),
RACE rat (corpse_default - 4 member): rat_d(0), rat_c(0), rat_b(0), rat_a(0),
RACE mouse (corpse_default - 1 member): mouse(0),
RACE reptile (corpse_default - 4 member): rattle_snake(0), snake(0), newt(0), crocodile(0),
RACE rodent (corpse_default - 1 member): mugwump(0),
RACE larva (corpse_default - 1 member): larva(0),
RACE horse (corpse_default - 1 member): horse_white(0),
RACE frog (corpse_default - 1 member): frog(0),
RACE dog (corpse_default - 3 member): wolf(0), dog_wild(0), dog_brown(0),
RACE deer (corpse_default - 1 member): deer(0),
RACE bovine (corpse_default - 1 member): cow_small(0),
RACE chicken (corpse_default - 2 member): rooster(0), chicken_large(0),
RACE cat (corpse_default - 2 member): cat_wild(0), cat_black(0),
RACE penguin (corpse_default - 1 member): penguin(0),
RACE bird (corpse_default - 3 member): owl_snow_large(0), owl_snow(0), parrot(0),
RACE bear (corpse_default - 1 member): bear_grey(0),
RACE animal (corpse_default - 1 member): brnbat(0),
RACE slime (corpse_default - 17 member): slime_b(0), slime(0), pudding_red(0), pudding_green(0), pudding_brown(0), pudding_blue(0), pudding_black(0), gray_ooze(0), jelly_spotted(0), jelly_red(0), jelly_ochre(0), jelly_green(0), jelly_blue(0), cube_gel(0), blob_quivering(0), blob_poison(0), blob_acid(0),
RACE giant (corpse_default - 9 member): giant_stone(0), ogre(0), giant_hill(0), giant_frost(0), giant_fire(0), ettin(0), cyclops(0), ogre_male(0), ogre_female(0),
RACE human (corpse_default - 48 member): santa(0), dancerm1(0), dancerf1(0), cherub(0), woman_old(0), female2(0), female1(0), thief_female(0), chef(0), bartender(0), barmaid(0), weapon_smith(0), smith(0), ranger(0), sadpriest(0), priest_robed(0), priest_green(0), priest_church(0), ship_captain(0), pirate_sorceress(0), pirate_3(0), pirate_2(0), pirate(0), oarman(0), traveller_wife(0), traveller_parka(0), tailor(0), peasant(0), hobo_old(0), queen(0), noble(0), king(0), monk(0), wizard_white(0), wizard_fm(0), seether(0), mage_old(0), guard_royal(0), guard_pole(0), guard2(0), guard(0), childm2(0), childm1(0), childf2(0), childf1(0), archer(0), human_male(0), human_female(0),
RACE half-elf (corpse_default - 2 member): half_elf_male(0), half_elf_female(0),
RACE elf (corpse_default - 3 member): elven_merchant(0), elf_male(0), elf_female(0),
RACE dwarf (corpse_default - 4 member): dwarf_noble(0), dwarf_fighter(0), dwarf_male(0), dwarf_female(0),
RACE avatar (corpse_default - 1 member): tabernacle_avatar(0),
done.
Initializing gods...done.
Initializing reading data...Reading messages from ./lib/messages...done.
 Reading bookarch from ./data/bookarch...
 done.
init_mon_info() got 201 monsters ... done.
Reading alchemical formulae from ./lib/formulae...done.
Checking formulae lists...done.
Initializing skills...
  Adding skillgroup experience_agility at #0!
  Adding skillgroup experience_charisma at #1!
  Adding skillgroup experience_mental at #2!
  Adding skillgroup experience_misc at #6!
  Adding skillgroup experience_physical at #3!
  Adding skillgroup experience_power at #4!
  Adding skillgroup experience_wis at #5!
  Adding skill skill_alchemy at #0!
  Ignoring skill skill_bargaining because it is unimplemented!
  Ignoring skill skill_bowyer because it is unimplemented!
  Ignoring skill skill_clawing because it is unimplemented!
  Ignoring skill skill_disarm_trap because it is unimplemented!
  Adding skill skill_find_traps at #2!
  Ignoring skill skill_flame_touch because it is unimplemented!
  Ignoring skill skill_hide because it is unimplemented!
  Ignoring skill skill_identify because it is unimplemented!
  Ignoring skill skill_inscription because it is unimplemented!
  Ignoring skill skill_jeweler because it is unimplemented!
  Ignoring skill skill_jumping because it is unimplemented!
  Ignoring skill skill_karate because it is unimplemented!
  Ignoring skill skill_levitate because it is unimplemented!
  Adding skill skill_literacy at #3!
  Ignoring skill skill_lockpick because it is unimplemented!
  Ignoring skill skill_thaumaturgy because it is unimplemented!
  Ignoring skill skill_meditation because it is unimplemented!
  Ignoring skill skill_climbing because it is unimplemented!
  Ignoring skill skill_oratory because it is unimplemented!
  Adding skill skill_praying at #1!
  Adding skill skill_punching at #11!
  Adding skill skill_bow_archery at #12!
  Adding skill skill_sling_archery at #13!
  Adding skill skill_xbow_archery at #14!
  Adding skill skill_remove_trap at #15!
  Ignoring skill skill_sense_curse because it is unimplemented!
  Ignoring skill skill_sense_magic because it is unimplemented!
  Ignoring skill skill_set_trap because it is unimplemented!
  Ignoring skill skill_singing because it is unimplemented!
  Ignoring skill skill_smithery because it is unimplemented!
  Adding skill skill_spellcasting at #17!
  Ignoring skill skill_stealing because it is unimplemented!
  Adding skill skill_throwing at #16!
  Adding skill skill_use_magic_item at #4!
  Adding skill skill_2h_mastery at #9!
  Adding skill skill_pole_mastery at #10!
  Adding skill skill_cleave_weapon at #5!
  Adding skill skill_impact_weapon at #6!
  Adding skill skill_pierce_weapon at #7!
  Adding skill skill_slash_weapon at #8!
  Ignoring skill skill_woodsman because it is unimplemented!
Initialize new client/server data
create_socket(): standard.
Loading image file ./lib/daimonin.0
Creating client_bmap....
Loading ./lib/animations (id:4)...(size: 371753 (47673) (crc uncomp.: f830f21)
Loading ./data/client_bmaps (id:5)...(size: 351410 (160724) (crc uncomp.: fabdcbe)
Loading ./lib/client_sounds (id:0)...(size: 3173 (1565) (crc uncomp.: fa3b2e8c)
Loading ./data/client_skills (id:1)...(size: 4255 (1298) (crc uncomp.: 47c0d1b0)
Loading ./lib/client_spells (id:2)...(size: 3279 (1241) (crc uncomp.: 62673a7e)
Creating ./data/client_settings...
Loaded 5 player race templates:
human_male human_female NULL NULL stats: 13 13 13 12 13 13 12
elf_male elf_female NULL NULL stats: 12 15 11 13 11 15 11
half_elf_male half_elf_female NULL NULL stats: 13 14 12 12 12 14 12
dwarf_male dwarf_female NULL NULL stats: 14 12 14 12 13 12 12
ogre_male ogre_female NULL NULL stats: 19 12 15 11 10 10 10
done.
Loading ./data/client_settings (id:3)...(size: 2589 (1289) (crc uncomp.: b64805c2)
Init arch default AI: Guard->'Guard arch AI'  Done
loading ban_file....
loading channel_file2....
Could not find channel_file. Using default channels.
loading gmaster_file....
Init instance system:  set ID:1582841097 num:0
Now initializing plugins
Plugins directory is ./plugins/
Registering plugin plugin_lua.dll
    Daimonin Lua Plugin loading.....
    Plugin init... OK!
Plugin name: Daimonin Lua Plugin 0.1, known as Lua
LUA - Start postinitPlugin.
Done
Non-standard include files:
<stdlib.h>
<malloc.h>
<memory.h
<sys/timeb.h>
Secure:         <false>
Datadir:        ./lib
Localdir:       ./data
Save player:    <true>
Save mode:      0660
Playerdir:      ./data/players
Instancedir:    ./data/instance
Itemsdir:       ./data/unique-items
Tmpdir:         ./data/tmp
Tlogfilename:   logfile.log, Clogfilename:       (llev:6)
Server speed:   125000 ums per round (8 rounds per second)
Maps swap when a timeout is reached:    1/120/1800
Maps reset when a timeout is reached:   600/7200
object_t is 368 bytes.
living_t is 40 bytes.
map_t is 244 bytes.
msp_t is 164 bytes.
PlayerSize:     14364
SocketSize:     11532
Server ready.
Waiting for connections...
(new sockets: 1 (old# 1)) CONNECT from...  ip 127.0.0.1 (socket 304) (085AF14C)
Initializing socket... OK (send buffer size is 24576 bytes, read buffer size is 8192 bytes)!
Get SetupCmd:: dv 0.10.8 pv 991031 sn 3173|fa3b2e8c mz 17x17 skf 4255|47c0d1b0 spf 3279|62673a7e bpf 341739|8f54d324 stf 2589|b64805c2 amf 361851|be946909
SEND SETUP: ac 1 fc 1  dv 0.10.9 pv 991031 sn OK mz 17x17 skf OK spf OK bpf 351410|fabdcbe stf OK amf 371753|f830f21
Client 127.0.0.1 rf #5
Login to Account: ./data/accounts/j/jo/joe/joe.acc
PLAYER: ./data/players/j/jo/Joe/Joe.pl
load obj for player: Joe
Send new_player(): socket 304
INFO:: C:\Users\Scott\Desktop\daimonin\wc\daimonin-private\server-thac\src\server\map.c:LoadMap(): Loading map >/planes/human_plane/castle/castle_040a< >/planes/human_plane/castle/castle_040a< as multi... Header... Allocate... Objects... Buttons.
FIX_PLAYER(Joe [1df8]): >> check login - first fix
INFO:: get_online_players_info was called and all buffers were reset.
FIX_MONSTER(Rhodri [21fe]): called
FIX_MONSTER(Karamor [221d]): called
FIX_MONSTER(Chicken [2247]): called
FIX_MONSTER(Chicken [224d]): called
FIX_MONSTER(Saethwr [2253]): called
FIX_MONSTER(Chicken [225d]): called
FIX_MONSTER(Penhwyad [2265]): called
Drop ConnectionB: Joe (127.0.0.1)
remove_ns_dead_player(Joe): state:32 gmaster:31 g_status:0
Save Account: ./data/accounts/j/jo/joe/joe.acc
remove_ns_dead_player(): Joe leaving
LUA - event:20 file:>/lua/event_logout.lua< o1:>Joe< o2:>>NULL PTR<< o3:>>NULL PTR<< text:>>NULL STR<< i1:1 i2:0 i3:0 i4:0
LUA - Script not in cache, loading '../maps//lua/event_logout.lua' from file
LUA - done and terminated, returncode: 0
LOGOUT: IP >127.0.0.1< Account >joe< Player >Joe<!
FREE_PLAYER(Joe): state:32 g_status:0
Closing socket 304... OK!INFO:: get_online_players_info was called and all buffers were reset.

On a side note I'm wondering if we can encrypt the graphics and add them right in with the new client gfx_user.
« Last Edit: 28, February 2020, 02:04:53 by Joe »
Whoever said "Out of sight, out of mind" never had a spider disappear in their bedroom.

_people_

« Reply #24 on: 28, February 2020, 02:56:55 »
I think it's an issue with compiling the server in Visual Studio expanding __FILE__ to an absolute path vice a relative path or filename.

__FILE__ is defined by the compiler. My compiler (GCC) sensibly expands to just the filename (or it might be a relative path, I forget). Clearly some Winidows compilers go overboard as usual and feel compelled to expand to an unnecessary and confusing absolute path, as here.

Quote from: Google
The macro __FILE__ expands to a string literal containing the name of
the translation unit's file, but since file names vary widely among
different systems, the standard does not specify at all what the
string looks like.

For example, on some DOS/Windows implementations, __FILE__ expands to
a complete path name (drive:\\dir\\subdir\\filename.ext), whereas on
other compilers for those environments and most *nix implementations
it produces the bare file name only.

It's really helpful to speed up bughunting, which is what the logs are all about. I'd like to use __FUNCTION__ too but that is GCC only (C99 has a similar macro but again Windows is unlikely to have bothered implementing it).

New version of the client should be coming out in a day or two which will have tabbable chat menus and support for /commands so you can use /dm_light.
-- _people_ :)

smacky

« Reply #25 on: 28, February 2020, 16:26:36 »
One thing I'm doing (bit by bit) in my server rewrite is naming all identifiera defined in a .c/.h as <file><blahblah>. So stuff belonging to object.c/.h is object_foo for extern vars and funcs. ObjectFoo for statics,OBJECT_FOO for defines and macros.

This makes it really clear wheree something comes from when you read the source.

And it prevents nonsense like Scotts. Instead of

LOG(llevBug, "BUG:: %s/foo(): ...!\n", __FILE__, ...);

we do:

LOG(llevBug, "BUG:: object_foo(): ...!\n", ...);
 whiich issimpler and clearer to read and write (and comes out the same on all systems)..

So no need for  __FILE__ or __FUNCTION__.

Also, I love macros and use them as much as I can. One incredibly useful thing, especially when bughunting is put a __FILE__, __LINE__ log  in your macro. This then tells you exactly where the macro was called.

_people_

« Reply #26 on: 01, March 2020, 01:55:22 »
Latest Unity client version supports /commands. Chat and messages don't show up yet, but the tab functionality works well. More to follow.

https://www.daimonin.org/downloads/sa/downfile/id/25/
-- _people_ :)

Joe

« Reply #27 on: 01, March 2020, 07:34:04 »
Looking really good, well done _people_!
Whoever said "Out of sight, out of mind" never had a spider disappear in their bedroom.

smacky

« Reply #28 on: 13, March 2020, 10:10:55 »
This probably isn't the right time to put effort into this but...

Joe's current avatar:



I suspect the (Unity at least) client could be modified to give such a pseudo-3d view (IIRC our iso view is already called 2.5d, so 275d?)

I think this would work (moatly, no doubt the viewer would have to use imagination in places, but well that's nothing new to Dai -- eg, current melee fights) because our gfx are not really iso in themselves -- they're flat 2d painted into an iso view. Clever coding could paint same gfx into a 3d-ish view.

Joe

« Reply #29 on: 13, March 2020, 15:06:44 »
That would be pretty cool.  Unity has tons of cool features, I can't wait to see what it can do.

IMO this example of graphics is better than most 3d games and the lighting affects beat all.
Whoever said "Out of sight, out of mind" never had a spider disappear in their bedroom.

Tags:
 

Related Topics

  Subject / Started by Replies Last post
0 Replies
814 Views
Last post 26, July 2005, 05:17:58
by Grahf
5 Replies
1255 Views
Last post 15, July 2006, 18:21:46
by longir
5 Replies
1081 Views
Last post 07, August 2007, 05:41:23
by bugbunny
33 Replies
5892 Views
Last post 31, May 2011, 13:32:25
by clobber
0 Replies
8762 Views
Last post 22, July 2013, 03:34:19
by _people_