arkamedus
|
|
« on: November 23, 2014, 07:39:01 PM » |
|
( PLAY THE TECH DEMO ONLINE @ OAKSTEADARTS.COM )" an adventure begins with the first door found unlocked "PENBROWSER BASED ! PUZZLE ! STORY ! ADVENTURE ! EDITABLE! ABOUT !i was working on a 2.5d game in game maker and it wasn't quite shaping up to what I had imagined. i am now building project Arkamedus, a fully hand written javascript ( no frameworks! ), in-browser 2.5d adventure game. ( more videos + screenshots + info at my tumblr ) ? WHY JAVASCRIPT ?need the newest version? just refresh the page, BOOM, done! browsers are too underrated, we've been perfecting them for like 20 years and no one's noticed! i work on this game daily, so *hopefully* daily updates!
|
|
« Last Edit: April 11, 2015, 12:37:06 PM by oakstead »
|
Logged
|
|
|
|
arkamedus
|
|
« Reply #1 on: November 24, 2014, 05:26:25 PM » |
|
just implemented placing items into the world, it's a lot of fun! scaling is a bit off for the entities, but that should be an easy fix.
|
|
|
Logged
|
|
|
|
crusty
|
|
« Reply #2 on: November 24, 2014, 05:44:09 PM » |
|
what's in the groblins' pot?
|
|
|
Logged
|
|
|
|
arkamedus
|
|
« Reply #3 on: November 24, 2014, 05:55:52 PM » |
|
what's in the groblins' pot?
the goblin, king mowser, has a diet primarily consisting of toadstool.. yuck!
|
|
« Last Edit: December 17, 2014, 07:03:18 PM by oakstead »
|
Logged
|
|
|
|
arkamedus
|
|
« Reply #4 on: November 25, 2014, 07:25:51 PM » |
|
repopulating the entity selection list, still need a way to pick entities back up.. soon! i'll be visiting family over the holiday, updates to resume when I return.
|
|
|
Logged
|
|
|
|
arkamedus
|
|
« Reply #5 on: December 14, 2014, 11:24:10 AM » |
|
spent nearly 18 hours fixing the texture rendering. i solved my affine texture mapping problem by writing a custom triangle/texture tessellation system. ( Video of tessellation here @ my Tumblr )
|
|
|
Logged
|
|
|
|
Pezomi
|
|
« Reply #6 on: December 14, 2014, 11:43:15 AM » |
|
I'm really liking the look of it! I'll be following your progress!
|
|
|
Logged
|
|
|
|
Polygonzo
|
|
« Reply #7 on: December 14, 2014, 12:45:48 PM » |
|
I like the character designs! So is the idea a 3D environment made of 2D planes like a pop-up book? Looks neat.
|
|
|
Logged
|
|
|
|
arkamedus
|
|
« Reply #8 on: December 15, 2014, 01:23:50 PM » |
|
I'm really liking the look of it! I'll be following your progress! thanks! i'm trying to keep up with development on this project! I like the character designs! So is the idea a 3D environment made of 2D planes like a pop-up book? Looks neat.
a popup book is a good way to describe the aesthetic. originally, i was using 3d planes to render sprites and stuff, but now since i'm using javascript, that isn't really practical. now, all images are just rendered to the screen with basic scaling operations applied to them. this does look a bit odd when rotating the camera, as all the sprites are facing the camera, but overall, i kind of like the effect. as for updates: implemented shadows yesterday, along with some optimizations to keep the memory overhead low, and to reduce the allocation of new memory, i completely refactored my texture transformation function also did some engine stress testing (2,100 entities with shadows disabled, running at ~55fps)
|
|
« Last Edit: December 17, 2014, 07:08:32 PM by oakstead »
|
Logged
|
|
|
|
arkamedus
|
|
« Reply #9 on: December 16, 2014, 02:51:46 PM » |
|
had some issues with improper scaling today and it turned out that my vector normalization function was incorrect. i was dividing each of the scalars by the maximum distance of the scalars, instead of the total distance of the vector. headache is finally going away now. original (incorrect) function vecNormalize(a){ var nmax = Math.max(a[0],a[1],a[2]); return [ (a[0])/nmax,(a[1])/nmax,(a[2])/nmax ]; } updated (correct) function vecNormalize(a){ var nmax = vecDist( a, [0,0,0]); return [ (a[0])/nmax,(a[1])/nmax,(a[2])/nmax ]; }
|
|
|
Logged
|
|
|
|
arkamedus
|
|
« Reply #10 on: December 17, 2014, 02:15:38 PM » |
|
added rotational inertia to the camera, and updated the camera code to use a spherical coordinate system in addition to cartesian. setting the camera position / rotation is now as simple at setting a "look at point"/"direction vector" and applying some simple vertex rotation functions. where a = vector [x, y, z] && b = rotation in degrees function vecRotX(a, b){ b*=(Math.PI/180); // convert to radians return [a[0], (a[1]*Math.cos(b) - a[2]*Math.sin(b)), (a[1]*Math.sin(b) + a[2]*Math.cos(b)) ]; }
function vecRotY(a, b){ b*=(Math.PI/180); // convert to radians return [(a[0]*Math.cos(b) + a[2]*Math.sin(b)), a[1], ((-a[0]*Math.sin(b)) + a[2]*Math.cos(b)) ]; }
function vecRotZ(a, b){ b*=(Math.PI/180); // convert to radians return [(a[0]*Math.cos(b) - a[1]*Math.sin(b)), (a[0]*Math.sin(b) + a[1]*Math.cos(b)), a[2] ]; }
|
|
|
Logged
|
|
|
|
arkamedus
|
|
« Reply #11 on: December 24, 2014, 11:32:15 AM » |
|
i think 750 textured triangles is the upper limit of what the engine can handle. given that this is all running on the CPU and using no built-in hardware acceleration, i’m quite pleased with this result. as you can see in the second image, without applying textures, the engine is still only using a fourth of the allocated frame time, which leads me to believe that performance could be increased further, however i’ll probably reserve this untextured mode as a option for lower end computers (though of course, not keeping the triangles red!) also, since these ground plane textures are merely aesthetic (shadows, leaves, variations in ground textures, cobblestones, dirt patches), they can be disabled entirely, for those who don’t need the graphic fidelity, or those who find it hits on their performance. i would like to extend to you all the opportunity to test the engine for yourselves, no download required. there’s little to no content at the moment, but i hope this gives you a feel for my project; ( PLAY THE DEMO ONLINE @ OAKSTEADARTS.COM )hope you all are having a great holiday!
|
|
|
Logged
|
|
|
|
crusty
|
|
« Reply #12 on: December 24, 2014, 03:53:49 PM » |
|
I waddled around a little bit. It looks great. What's the game going to be about?
|
|
|
Logged
|
|
|
|
arkamedus
|
|
« Reply #13 on: December 24, 2014, 09:13:50 PM » |
|
I waddled around a little bit. It looks great. What's the game going to be about?
ehehe, i really love their waddling! the game is mostly going to be a basic exploration sandbox with an optional questline. essentially, you are put into a small world that you can interact and change to your liking. much of the game is about building relationships with the other characters, who will assist you in certain puzzles, or areas of exploration you wouldn't be able to pass on your own.
|
|
|
Logged
|
|
|
|
|