Posts Tagged ‘3D’

Small update: the same game …but with no bug (almost)

Posted by (twitter: @jacqueslelezard)
Thursday, September 8th, 2016 3:37 pm

Hi, just a word to announce a small update which fix all the main bugs my compo game had (PC and Android Cardboard). Otherwise it is still the mighty original 48h compo game.
Let me know if you have any idea of improvement, I’ll try to spend some time on it later!

update1
update2
update3

Play here

Oh and maybe I’ll also write a short post mortem soon

Some gifs

Posted by (twitter: @suprsupr)
Sunday, September 4th, 2016 4:54 pm

☆ PUCKETEERS POST NASCENTIAM ☆

Posted by (twitter: @avaskoog)
Wednesday, August 31st, 2016 1:34 pm

Post mortem sounds depressing! And wrong—the game just came into being, did it not? c; Here’s something about our two-player explosive hockey game (Pucketeers of Atlantis) post jam, at the very least!

Do begin by having a peek at the game to have an idea of what we’re talking about in the first place!


View post on imgur.com

Go play here~

 

What is it?

Let’s begin here and now. The final game we submitted for the jam. Well, you can see above. It’s a two-player game, primarily intended for gamepads, where each controls a team of three characters to battle it out in the rink.

The twist: a periodically exploding puck, and little item boxes that pop up from time to time that can be grabbed in order to be activated when the player is holding the puck (two of these were implemented: one making time go slower for everybody except the current pucketeer, and one making everyone else fall over, both offering a momentarily opportunity to go straight for the goal).

What is it not?

It is perhaps not the best take on the theme, ancient technology. The idea was that the puck and hover boots and items to pick up and some of the characters (robots) were supposed to be ancient relics of long forgotten Atlantis, but that is admittedly a stretch in the first place, and it’s not exactly evident in the game itself, but needs to be spelled out.

What could it have been?

The final game that you now see wasn’t entirely planned as such from the beginning. The original idea was “(J)RPG hockey”, and there were all sorts of wonky ideas floating around, including turn-based elements, strategy, stats and very exaggerated features of all sorts, as well as closeup one on one sequences when dribbling or tackling.

Not much of that stuck around, partially due to time constraints, partially due to reconsiderations of what would be fun to play, but at least the characters still look kind of like those of early Final Fantasy games (no time for proper human modelling, sorry!).

What can it be?

Extended! Brushed up! Packaged. Networked? There are currently some considerations to do a little more work on this game beyond LD, making it more fun, perhaps allowing a third team on the field at the same time, and perhaps even some rudimentary online play.

Who knows? Such projects have a tendency to blow up and not happen, but it’s a fun thought, and there will probably be some experimentation at the very least. We’ll see!


 

blogologo

The Temple

Posted by (twitter: @suprsupr)
Tuesday, August 30th, 2016 12:27 pm

Play

 

thetemple2

thetemple10

Finaly we did it!

Posted by
Monday, August 29th, 2016 1:26 pm

15 hours before the end of the Jam, we decided to participate: Tom Avatars and me.

This great theme make us want to do something experimental…

…I think we got something! X’-D

Play NUIT BLANCHE

 

ancient shader tech

Posted by (twitter: @heysnapshere)
Saturday, August 27th, 2016 6:18 am

I made this blue noise 3D->pixelart shader for my game.

actual game tomorrow cause its 4 am lol.

LD-Tech

Friday, August 5th, 2016 10:50 am

Hey, Ludum Dare!

Banner

We create game-ready Art. Over one thousand #developers use our assets now!

We organize specially discounts for LD36 on Cubebrush. All products have a discount of 60%
Check out store on Cubebrush (.unitypackage + source files)

Discount code: Ludum-dare-august

Also, check our Unity AssetStore (Only .unitypackage)

Box scr_01Boxscr_03
Twitter

Hi,experienced 3d artist here,want to make game together?

Posted by
Friday, May 20th, 2016 9:42 am

hi LDers

I am a game artist who worked in mostlly 3d games.I am new here and really wantto be in a good production team.Lets make games together.For next project,caunt me in.

my pretty old portfolio: http://kipiripi.cgsociety.org

 

Transformagician Level Generation and Design

Posted by
Tuesday, May 3rd, 2016 12:42 am

"ANOTHER

I already touched upon the level generation in the Developer commentary video,
but that’s not enough info now is it! Here’s some more…

Tiles

One of the easiest ways to construct a virtual environment is to use tiles.
For me the decision to go with the technique was made even easier by already having an old tilemapping system laying around.
It was a bit rusty, but a few hours of mangling put it straight.

Sets

WallAndFloors

The tile graphics are as simple as possible. There’s a wall and there’s a floor.

I of course only implemented these assets as they were made by Ranquil. Pay special attention to the bump mapping!

Reading

The level is generated from an xml file. Here’s a little example:

<Ship type="TestMap">
 , , , , , , , , ,
 , . w . h . w . ,
 , . . . . . . . ,
 , . w . p . w . ,
 , . w w w w w . ,
 , . . . . . . . ,
 , . . . e . . . ,
 , . . . . . . . ,
 , , , , , , , , ,
 </Ship>

TestLevel

There are a few oddities right off the bat. The XML element is called a ship as that’s what the original project had, spaceships. The map is also flipped around as unity XYZ coordinates don’t quite match with the XY coordinates of the map file.

One nifty feature in the generator is spawning random rooms to specific positions on the map. The rooms themselves are defined in the same way as the maps.

<Room name="roomD" loot_a="0,1" enemy_a="2,6">
 w w w w . w w w w
 w . . . . . . . w
 w . w . w . w . .
 w . . . . . . . w
 . . w . o . w . .
 w . . . . . . . w
 w . w . w . w . .
 w . . . . . . . w
 w w w w . w w w w
 </Room>

And rooms areas are outlined with the characters R (room start position) and r (room limits).

 c c w c c c c c , , , , ,
 c c c w c R r r r r r r ,
 o c c c c r r r r r r r ,
 c c w c c r r r r r r r ,
 c c c w c r r r r r r r c
 c w c c c r r r r r r r c
 c c w c c r r r r r r r c
 c c c c c r r r r r r r c
 o c w c c r r r r r r r c
 c c c w c r r r r r r r c
 c c c c c c c c c c c c c
 , , , , , , c c c c c c c

(excerpt from a bigger map)

You can see the room randomization featured in the GIF.

Writing

Designing maps in black and white is kind of like programming in vanilla notepad, no syntax highlighting, no nothing. In other words clumsy and crude.

This issue can be resolved with conditional formatting in a spreadsheet (in this case Libre Office). Compare and contrast, the text file version:

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
 , W w w w w w w , , , , , , , , , , , , , , , , , , , , , w c c c c c , , , ,
 , w p p . . . w , , , , , , , , , , , , , , , , , , , , , w c o c o c , , , ,
 , w p p w w . . c c c c c c c c c c c c c c c c c c c c c c c c c c c , , , ,
 , w . w R r r r r c c c c c c R r r r r r r r r c R r r r c w w , , c , , , ,
 , w . w r r r r r c , w c , c r r r r r r r r r c r r r r c , , , , c , , , ,
 , w . . r r r r r c , w c , c r r r r r r r r r c r r r r c , , , w c w , , ,
 , w w . r r r r r c , w c , c r r r r r r r r r c r r r r c , , , w c w , c ,
 , , , c r r r r r c c c c c c r r r r r r r r r c r r r r c , , , w c c c c ,
 , , , c r r r r r c c , w c c r r r r r r r r r c r r r r c , , , w c w , c ,
 , , , c r r r r r c o , w o c r r r r r r r r r c r r r r c , , , w c w , , ,
 , , , c r r r r r c c , w c c r r r r r r r r r c r r r r c , , , , c , , , ,
 w c c c c c c c c c c c c c c r r r r r r r r r c r r r r c , , , , c , , , ,
 , c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c , , , ,
 w c R r r r r r r r r r c c c c c R r r r r r r w c c R r r r r r c , , , , ,
 , c r r r r r r r r r r c c c c c r r r r r r r w c c r r r r r r c , , , , ,
 w c r r r r r r r r r r c c c c c r r r r r r r c c w r r r r r r c , , , , ,
 , c r r r r r r r r r r c c c c c r r r r r r r c c w r r r r r r c , , , , ,
 w c r r r r r r r r r r c c c c c r r r r r r r c c c r r r r r r c , , , , ,
 , c r r c c c c c c c c c c c w c r r r r r r r c w c r r r r r r c , , , , ,
 w c r r c w c w c w c w c c c w c c c c c c c c c w c r r r r r r c , , , , ,
 , , r r c c c c c c c c c c c w c R r r r r r r c w c r r r r r r c , , , , ,
 , , r r c w c w c w c w c c c c c r r r r r r r c c c r r r r r r c , , , , ,
 , , r r c o c o c o c o c w c c c r r r r r r r w c c r r r r r r c w w , , ,
 , , , , c c c c c c c c c c w c c r r r r r r r c c w r r r r r r c , w , , ,
 , , w w c c c c c c c c c c c c c r r r r r r r w c c r r r r r r c , w , , ,
 , , w w c w , , , , c c c w c c c c c c c c c c c c c c c c c c c c , w , , ,
 , , w w c w w , , , c c o w o c c R r r r r r r r c , , c c , , , c , w , , ,
 , , w w c w w w , , c w w o w w c r r r r r r r r c , , c c , , , c , w , , ,
 , , , , c , w w w , c c o w o c c r r r r r r r r c w c c c c w w c w w w w w
 , , , , c , , w w c c c c w c c c r r r r r r r r c w c o c c , , c , w , , w
 , , , , c , , , c c c c c c c c c r r r r r r r r c c c w o c c c c , w , , w
 , , , , c , , , c c R r r r r c c r r r r r r r r c c c o w c c c c , w , , w
 , , , , c , , , c c r r r r r c c r r r r r r r r c w c c o c , , c , w , , w
 , , , , c c c c c c r r r r r c c r r r r r r r r c w c c c c w w o w w w w w
 , , , , c w w w w c r r r r r c c c c c c c c c c c , , c c , , , w , w , , ,
 , , , , c c c c c c r r r r r c w c , w , , , w , c , , c c , , , , , w , , ,
 , , , , , , c w c c r r r r r c o c , , w , w , , c c c c c c c c c , w , , ,
 , , , , , , c w c c r r r r r c c c , , , w , , , c R r r r r r r c , w , , ,
 , , , , , , c w c c r r r r r c w c , , w , w , , c r r r r r r r c , w , , ,
 , , , , , , c w c c r r r r r c o c , w , , , w , c r r r r r r r c , w , , ,
 , , , , , , c w c c c c c c c c c c c c c c c c c c r r r r r r r c , w , , ,
 , , , , , , c c c c c c w c c c c c , , , , , c , c r r r r r r r c , w , , ,
 , , , , , , , , , , c c c w c R r r r r r r , c w c r r r r r r r c c c c c ,
 , , , , , , , , , w o c c c c r r r r r r r , c w c r r r r r r r c w w w c ,
 , , , , , , , , , , c c w c c r r r r r r r , c , c r r r r r r r c c c c c ,
 , , , , , , , , , , c c c w c r r r r r r r c c c c c c c c c c c c c c o w ,
 , , , , , , , , , w c w c c c r r r r r r r c c c c c c c c c c c c c c c c ,
 , , , , , , , , , , c c w c c r r r r r r r c w , , w c o c c w , c w w w c ,
 , , , , , , , , , , c c c c c r r r r r r r c w , , w c c c c w , c c c c c ,
 , , , , , , , , , w o c w c c r r r r r r r c c c c c c c o c w , , w c w , ,
 , , , , , , , , , , c c c w c r r r r r r r c w , , w c c c c w , , w c w , ,
 , , , , , , , , , , c c c c c c c c c c c c c w , , w c o c c w , , , c , , ,
 , , , , , , , , , , , , , , , c c c c c c c c w , , w c c c c w , , , c , , ,
 , , , , , , , , , , , , , , , c o c o c o c , , , , , c , , c , , w w c w w ,
 , , , , , , , , , , , , , , , , w , w , w , , , , , , c , , c , , w c c c w ,
 , , , , , , , , , , , , , , , , , , , , , , , , , , , c c c c c c c c h c , ,
 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w c c c w ,
 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w w , w w ,

With the conditionally formatted spreadsheet:

Spreadsheet

A thing a beauty! And here’s the map rendered in engine (flipped around this time, also no lighting)

Level2Full

Yet again there are a few issues. You need to jump though some hoops to get from the ODS spreadsheet file to the XML file. First the file is converted to the comma separated values format (CSV) and then the data is manually copied to the XML. Yeah, that last bit especially is not so great.

It is trivial to read the CSV file directly from Unity (something I didn’t know about way back then), so that’s what I’m going to do in the next project.

Conclusions

Tiles are a simple and powerful way to represent a level. Reading letter based map files is easy to code and fluid to create (with conditional formatting at least). Reusing systems that you’ve made before is a great boon to productivity. Take advantage of previous work as often as possible.

And, of course, you can play Transformagician right here.

Post-Jam Version Of My LD35 Game Is Up

Posted by (twitter: @xanjos)
Wednesday, April 27th, 2016 4:51 pm

Seeing as a lot of you are having trouble with my LD35 game SHAPE.SHIFT() (because of its supposedly challenging difficulty), I’ve decided to put up a (WebGL build for the time being) slightly easier post-jam version that’s more forgiving in terms of distance between obstacles and the time needed to react to them but should still pose a challenge (Of course for rating purposes/bragging rights, the original “super hard” version is still available on the embed link on the main game page as well as on the itch.io and GameJolt pages).

In other news, my game currently has 59 votes and could probably do with some more:

ld35votes

Anyway, if you have yet to try out my game give it a play/rate by clicking here. You can also check out the post-mortem for the game by clicking here and to see my previous post on how to get a good score in my game (which mostly applies to the original version), click here.

Also, I’m looking for more games to play/rate so click here to submit your entry and I’ll get to it as soon as possible.

Gamejolt’s ads

Saturday, April 23rd, 2016 10:52 am

First of all: I have nothing against Gamejolt’s ads. I think they are a great way for the web and the devs to get something to keep developing and uploading.

This is just a “funny” reflexion I had since the very first time I uploaded Henkan Pachinko to Gamejolt.

So yea, let’s say that, umm, you finish your beautiful and fancy Ludum Dare entry (solo or with mates). You have put a great effort to it, maybe you have not sleeped, maybe you have not eaten (ok, this one is strange), you haven’t seen the sun. Your family and friends had reported the police because of your disappearence, your couple is starting to think you are cheating him/her, and then starts thinking you probably have a hidden family.

But nothing matters! You are happy with you little indie game. It could be better, maybe, but you finished it on a weekend! And that is a triumph. You had fun, after all.

You finish to compile for web. You create the game’s page on Gamejolt, you upload it. The upload finishes and you click on the “Play” button, daring to try it.

But before that, an ad. And not a normal ad. A fu***** blockbuster videogame ad.

These are the games I saw advertised on Gamejolt the past days

“What a nice game!”, you say. “I might want to try it, they look incredible”, you say. “Oh, the ad has finished, let’s try our LD game”, you say.

So your game starts, and you see THIS.

pantallazohenkanintro

So cool

You compare with the games you have just seen. “What have I done”, “After seeing the others, mine is a crap!”. You start to feel and make some strange expressions in just two seconds.

Fortunately, you remember that those games had a budget of millions of dollars and were done over lots of months (maybe years). You remember you had a great time (solo or with friends), now you can meet new devs and the lil entry you have can be the base of something bigger. That is all what matters.

In our case, someone got angry because he thought that we put the ads to our game, that it was “the first time he saw a Ludum Dare entry with an ad”. He kindly sponsored his comment with a viagra ad.

Well, I simply wanted to share my thoughts with somebody else. Have you experienced something similar?

Transformagician – Performance Optimization

Posted by
Saturday, April 23rd, 2016 3:16 am

The jam is over, the entry turned out great and the WebGL build (which most people are going to play) runs quite badly. What to do? Optimize!

Identifying the problem

When trying to improve performance you should always go for the elephant in the room. In most cases taming the alpha male is enough (including this one). Run the profiler on the target build and see what is up (milliseconds) and what is down (framerate!). Let’s look at the rendering performance of the following scene.

Image 1: Benchmark scene

Figure 1: Rendering performance in Unity editor

Not bad! The deferred renderer does a pretty good job at batching drawcalls.

Figure 2: Rendering performance in WebGL build

Very bad! The WebGL build seems to fall back to forward rendering before a deferred lighting pass. Maybe this is why the batching is botched, I’m not quite sure, but there most certainly is a drawcall problem.

Solving the problem

One solution immediately springs to mind: Mesh.CombineMeshes. After some modifications the script works like a dream.

The walls in the scene are combined into a single mesh and the floors into another. As long as all the meshes share the same material there will be no trouble and the combined mesh looks just like a bunch of individual objects.

The only difference being a drastic reduction in draw calls. Let’s see just how drastic we’re talking about here:

Figure 3: Rendering performance in editor (with MeshCombine)

Mere three times faster… I think we can do better.

Figure 4: Rendering performance in WebGL build (with MeshCombine)

Fifteen times faster! I rest my case.

Conclusion

Use the profiler, identify the worst offender, smite it and rejoice. There are further optimization I could do, but why bother. At this point it’s already an effort in diminishing returns.

Getting less than 60 frames per second? Time to look in the mirror and get to work!

Found it!

Friday, April 22nd, 2016 5:58 am

foundit

You can play it here!

Have you found yours?

Transformagician – Postmortem

Posted by
Thursday, April 21st, 2016 11:32 pm

JUST A GIF! A small one this, tiny!

Play it here!

or read on.

Many earth shattering revelations await you.
(Hyperbole is the best medicine after a long jam)

Team

LD is usually my solo jam, but this time I didn’t work alone. Ranquil created the graphics (you can read more about that here) and I, of course, programmed the lot. My last team LD was a disaster (my bad on many levels!) so I’m glad this one turned out well, really well in fact.

Design

A few Ludums back I had an idea about shapeshifting. Stealing a top secret prototype from a well guarded research lab, avoiding detection by masquerading as objects in the level. The AI would react believably to anomalies in the world, including walking furniture. A bit too ambitious you could say.

We went though a few other ideas, but settled on cutting the above design down to manageable size: non-human enemies, a set amount of items and clear AI behavior rules.

Development

As a programmer I’m a fan of not reinventing the wheel, i.e reusing code (i.e. being lazy!). The level generation system is from this past LD gem (look who’s saying) and it was originally created for this project. In essence, twice recycled code. What can I say, it works.

Everything else is custom though. Nothing too difficult or out or the ordinary so in the end we even managed to pump out a build at the 48 hour mark. The final 78 hour version includes improved graphics, a fancy ending cinematic and some gameplay balancing.

Audio

The lax jam rules allowed us to utilize royalty free sound effects and music. Fortunately Ranquil knew a few (rather interesting) web-zones full of the stuff. Links in the description.

Music really does elevate the mood to new heights, doesn’t it.

Issues?

None! I don’t believe it myself, but it’s true. Working in a team for 72 hours does help, I guess.

 

Intrigued?

Try it now!

SHAPE.SHIFT() – LD35 Jam Entry

Posted by (twitter: @xanjos)
Tuesday, April 19th, 2016 1:16 pm

Here’s my jam entry for Ludum Dare 35 which I can best describe as an endless runner set in cyberspace (and is apparently gaining some notoriety for being well, really hard).

ld35gameplay

Click the pic to play!!

As usual, I also have a Google Form that you can fill in if you would like me to play/rate your entries (I’ll try and do each one as soon as possible).

Vikoz post mortem

Posted by
Tuesday, April 19th, 2016 2:20 am

So, here goes my first Ludum Dare entry post mortem. I went for jam since the start, and to be fair I’m proud on myself finishing something in the given time scale. How it all began? I’ve waited off for theme announcement (which was 3AM here in Europe), and as I was quite tired after the work I went straight to bed right after. So, Saturday morning (technically almost 12AM), I’ve started coding up very first version of the game, coding movement, selection of minions, building selection and UI. The whole game core was created during the Saturday.

Sunday was a bit slower for me, I worked mainly on art – creating up buildings and units, and as I’m not really an artist, it took me huge amount of time – I’ve just spent evening on the menu. Monday, the first work-day of the week. I spent most of it in work unrelated to any game development, but in the end I’ve put up the ‘High Score’ logic and attached music and sounds to whole game.

In the end, well you can check out some gameplay video at: YouTube. Although you might as well prefer to Try It yourself.

For me, it is definitely a success. I wanted to participate in Ludum Dare few times already, yet I’ve never had enough courage to do so. And here we are, I have finished something – there were quite awesome ideas during the streaming on Twitch and talk on TeamSpeak (where I have a point for next time – do that in open community, not closed one -> more people can watch it & talk during it!) which could improve the actual gameplay, most of them didn’t make it through due to time scale.

Anyways for me it is time to give some attention to my girlfriend, as I’ve put her aside for the weekend!

Thanks everyone for support, participation and playing games!

[cache: storing page]