ReColorMe: Post-Mortem

posted in 0sok's Journal
Published October 02, 2014
Advertisement
What went right






[indent=1][color=rgb(40,40,40)][font=arial]Unreal Engine 4[/font][/color]

[indent=2][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]This thing is simply incredible. We were able to begin prototyping nearly instantly .Although I am fairly new with this engine (3 months), what I had learned the 3 months prior proved to be fruitful. The price of entry, $20, is hard to beat and there is incredible documentation for something so new to the dev community. It's marketplace is growing and hopefully will match unity in the coming months and eventually surpass it in quality. [/font][/color][/font][/color]

[indent=1][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]Art[/font][/color][/font][/color][/font][/color]

[indent=2][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]Bohee was brand new to creating multiple style defined art pieces; let alone putting those together in a video game. It is by far the most complimented aspect of our game and are told it fits with the theme of this competition nearly perfectly. Watching her read the compliments on the art puts a big smile on her face. It puts an even bigger one on mine. I created the sprite animations because I had about 1 sprite animation of experience in my life, but it was still more than the zero she had. It came together relatively well for us. Although it is not perfect, we think it worked well with our project. [/font][/color][/font][/color][/font][/color][/font][/color]

[indent=1][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]Programming[/font][/color][/font][/color][/font][/color][/font][/color][/font][/color]

[indent=2]I had to implement things I have never attempted to program before, such as save game states, changing the HUD, and very VERY basic AI(movement). I am very new to game design from a programming aspect and have mostly dabbled in 3d modeling and Photoshop. I thought going with a relatively basic side scrolling platformer would be the best way to get my feet wet with programming. Overall I didn't run into anything too complicated. Each individual block would randomly select a letter (all consonants, wanted to avoid improper language) and then randomly select a color from six and then render. I was very happy with this. Each time you play a level the colors and letters will all be different. Except of course for the ones that I placed that are intentional. I really think I could expand upon this and try to do something a bit more procedurally generated, but didn't have the time for that in this competition.

[indent=1][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]Time[/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color]

[indent=2][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]I had actually been in between two jobs during the week of this competition, as well as my girlfriend, and it worked out absolutely perfectly. I had loads of time and many many hours sitting in a chair and a lot of coffee. The final day (Sunday night to monday morning) I we went from nailing down our audio to me playing in my sunday night soccer league, to back to programming. The final stretch was 9pm Sunday to Monday 9am. 12 hours straight in my chair at home. Hammering away at the keyboard. I had a lot of time available and I do not know how the others were able to do what they did while also working full time. Incredible.[/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color]


[color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]What went wrong[/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color]






[indent=1][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]Audio[/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color]

[indent=2]I ran into a huge problem where audio wasn't playing in 3d space because I was using the Paper2d plugin. Although you are allowed to add 3d objects in a 3d world in paper2d it simply adds sprites, sprite animations, 2d physics and collisions. This proved to be a HUGE issue, especially when it related to the helicopter and dino sounds. I wanted the helicopter's blades to fade in and out as it approached and left the player, but all it would do is play the sound no matter if you could see it or not. I ended up writing some very very hacky code for it and i found a somewhat terrible solution. I simply choose a distance and a random time to have it start fading in or out not based on the players locations. ugh I hope most people are too busy looking at the art and focusing on the puzzles to notice that there are some issues with it. I am also very sad that i couldn't include any music due to time constraints.


[indent=1][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]Collision[/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color]

[indent=2]Choosing to use the 2d plugin resulted in some very strange collision for me. The 3d collision that I had to implement sometimes due to some not perfectly working sprite collisions ended up causing conflicts with other 2d collisions in the levels. This was absolutely the most frustrating part. The biggest issue is with the Dino. You have to aim most for his back to land on and not so much his head. If you land anywhere near his nose or eyes players will simply just fall through him. This adds the most frustrations to the player and has the feedback that I have been given. I tried and tried and tried to move the collisions around, adding new ones, and everything I could think of. It was simply stuck where it was and I was crossing my fingers that players would just figure it out. I couldn't delete it and redo because I had a lot of code inside of that actor that I am not able to simply copy and paste due to the blueprint coding system having other dependencies. I know it makes it sound like UE4 has some serious issues, but really it was the time constraint that didn't let me revise some of these things that simply would take too much time away from other polish that was just as if not more important.

[indent=1][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]Story[/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color]

[indent=2]I made a big mistake here by thinking much bigger scope than I had time for. I wanted to have the story told over multiple levels with the blocks the player uses. I wanted it to be subtle in the background for other players to notice and what happened was a serious reduction in the number of levels coupled with the tediousness of placing individual letters of blocks. What got into the game was a few snippets of the toys talking to the player/each other that I hope some others notice. The end level is exclusively about that and I liked the idea I had for the end, but it simply falls flat in my mind because of the possibility of missing the story from playing the levels.


[color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial][color=rgb(40,40,40)][font=arial]Closing words[/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color][/font][/color]





[indent=1]Overall I am relatively happy with what Bohee and I accomplished as very inexperienced developers and I feel like this contest was a big stepping stone in our progress to be better. Nothing like a deadline, time crunch, and others relying on you to push you to achieve what you thought you may not be able to do.
4 likes 7 comments

Comments

Orymus3

Seems that, by using my template, you've also lost the "underlines" like I did so many times :P

Can definitely relate with your collision issue. I do, however, have yet to play your game (don't worry, I will soon!)

October 02, 2014 12:57 PM
0sok

Seems that, by using my template, you've also lost the "underlines" like I did so many times tongue.png

Can definitely relate with your collision issue. I do, however, have yet to play your game (don't worry, I will soon!)

I even tried to go in and edit them in! They keep disappearing! Yours actually just finished downloading. I finally have some time to play these games. Enjoy!

October 02, 2014 01:01 PM
Thaumaturge

Heh, reading your entry on the engine, I recall you predicting that seeing what you achieved with it in so short a time would convert me to the use of Unreal from Panda--I'm thus amused by the irony that your game is one of the ones that doesn't work on my machine, thus blocking this conversion! :P

This was an interesting read, and I'm glad that things seem to have worked out so well for your and your partner: the competition seems to have gone well for you. ^_^

(Funnily enough, given the comparison of engines, collision was something that partially tripped me up too at one point, if for slightly different reasons.)

If you don't mind my asking, which were the two entries that you mention as having used loopholes? One, I imagine, is The Harvest--but what is the other?

October 02, 2014 03:00 PM
0sok
[quote name="Thaumaturge" timestamp="1412262021"]Heh, reading your entry on the engine, I recall you predicting that seeing what you achieved with it in so short a time would convert me to the use of Unreal from Panda--I'm thus amused by the irony that your game is one of the ones that doesn't work on my machine, thus blocking this conversion! :P This was an interesting read, and I'm glad that things seem to have worked out so well for your and your partner: the competition seems to have gone well for you. ^_^ (Funnily enough, given the comparison of engines, collision was something that partially tripped me up too at one point, if for slightly different reasons.) If you don't mind my asking, which were the two entries that you mention as having used loopholes? One, I imagine, is The Harvest--but what is the other?[/quote] I'd much prefer not to say specifically because I don't want that to distract from the suggested improvements to next year's competition. We all know how important a day of development is, even if that is only a day of prototyping different ideas to select one. That is incredibly ironic. I am sad to hear that. Have directx installed? What's your gpu. Epic themselves say the paper2d plugin is still considered experimental and not a full implementation yet so I'm complaining about beta software :P I tried to download your game directly but the download was corruptted twice? Tomorrow I will try and get yours from one of the big packs (bandwidth is at a premium) Which one is yours in?
October 02, 2014 03:50 PM
Thaumaturge
I'd much prefer not to say specifically because I don't want that to distract from the suggested improvements to next year's competition. We all know how important a day of development is, even if that is only a day of prototyping different ideas to select one.

Ah, fair enough.

That is incredibly ironic. I am sad to hear that. Have directx installed? What's your gpu.

According to an old DXDiag log that I found on my desktop (I'm in Ubuntu at the moment, but can access my Windows partition), I have DirectX 9.0c. As for my GPU, it's an ATI Mobility Radeon HD 3650--which is a little old now, and no longer officially supported, I believe.

Epic themselves say the paper2d plugin is still considered experimental and not a full implementation yet so I'm complaining about beta software tongue.png

Heheh, fair enough.

In my case it's just that Panda's built-in collision as a slightly dodgy "box" shape; as a result I ended up taking the expedient of using a sphere for most objects, which feels a little weird in places. I might have been better off just using Panda's integration of Bullet--I've used Bullet before, but thought that the built-in collision would be easier to work with given the short time-frame.

(I suppose that it was easier to set up, for what it's worth.)

I tried to download your game directly but the download was corruptted twice? Tomorrow I will try and get yours from one of the big packs (bandwidth is at a premium)

Which one is yours in?

That's odd; funnily enough, that sounds like what happened when I attempted to download the single-volume archive of games. (The three-part version worked well, however.)

At any rate, my entry appears to be in the "C" archive.

October 02, 2014 04:13 PM
0sok
[quote name="Thaumaturge" timestamp="1412266413"] According to an old DXDiag log that I found on my desktop (I'm in Ubuntu at the moment, but can access my Windows partition), I have DirectX 9.0c. As for my GPU, it's an ATI Mobility Radeon HD 3650--which is a little old now, and no longer officially supported, I believe.[/quote] That is most certainly the issue. I appreciate the attempt. I believe dx11 may be required. In regards to collision, hindsight sure is 20/20.

At any rate, my entry appears to be in the "C" archive.
Thank you. Will post to your blog with a feedback review tomorrow.
October 02, 2014 04:20 PM
Thaumaturge
That is most certainly the issue. I appreciate the attempt. I believe dx11 may be required.

The odd thing is, the error message that I had was that the program wasn't "a valid Win32 application"--I would have thought that a DirectX requirement would have caused some other symptom, whether a more informative error or simply a crash.

Ah well. :/

Thank you. Will post to your blog with a feedback review tomorrow.

Thank you--I appreciate that. ^_^

October 02, 2014 04:23 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement