Code a game comp - MIX-IT-UP - Aug 25th to Oct 20th 2019

Started by Qube, August 25, 2019, 22:40:34

Previous topic - Next topic

iWasAdam

#120
Thanks guys. My advice for pixel graphics (or any other mechanisms) is to find (or write) a tool that works for you. It doesn't have to 'do' stuff the way you are told, just do it the way 'that is best' for you.
If you write your own tool, then you will have an advantage in that: you can adjust the tool to your workflow.

All the graphics were constructed in "FontSprite". I now use this as my primary tool as it is just so fast in comparison to photoshop. Everything is one click away, the UI doesn't change and I know exactly what I do will become the output as it just export the correct graphics. I just need to plug in the sprite and size and it's instantly in my app:


You can see the font top left with the color palette below it - this is in tagz format so each color gets a nice spread. this is the palette I am using throughout the dev process for all sprites and the game. With pixel graphics less color / small palette is the best way to go.
The main widow shows 3 character position from the map being edited.
On the bottom of the font you can see tiny 1 character versions of things - these are used for mapping purposes to help create maps.

Regardless of what you use - learn to get the best out of it. Each tool will have things that it does better than others and worse then others. Your task is to find the tool you like using the most and is the most productive for you  ;D

Ooh! One last thing... If you write a tool (for mapping etc), have in your mind "reuse". Think 'how could i use this for other stuff'! You will find that there are very basic things that are the same across apps. You just need to decide how to approach things that can be simply reused from other projects.
E.G.
256 character font in 16x16 format can be used as 2d graphics, or graphics for a map editor, or bitmap fonts, or a 2d representation of a 3d map, or ascii based stuff for consoles, or the base font for retro emulation, or as big sprites that are made from smaller parts, or as visual height data.

Another thought (if you like 3d), is that most 3d stuff lives on a map (of some form) and this can almost always be thought of as a 2d grid. 2d grids are super easy to use for collision and checking. so your 3d is just for rendering, your actual game is really 2d!

Derron

Generating general purpose stuff can lead to bad performance (draw calls), requires more complex math (rotating 4 elements rather than one - now do that with a handle/pivot point not in the center).

Aside of that: always use what you are experienced in - or are wanting to learn some new stuff in. If there is a workflow break like this: Photoshop -> export png -> split into images -> create texture atlas + texture atlas information, then check if there is a FOSS solution for it or create a helper tool to aid you. Means something which can understand PSD files, use the layer information to split stuff, create an texture atlas and the information you want. If such a tool exists, write a simple tool on which you can drop the PSD file (or run via .batch files) so that it just updates the texture atlas you are using right now. Means: change the image, run the batch tool (or even run in background on changed files) and done...


bye
Ron

iWasAdam

#122
QuoteGenerating general purpose stuff can lead to bad performance (draw calls), requires more complex math (rotating 4 elements rather than one - now do that with a handle/pivot point not in the center).

Yes and no. My thoughts on general purpose routines is to split them into their different parts and call the ones you need - this also makes you think about different routines and also 'operator overloading' - which can get confusing if it has lots of different versions.
E.G. Here is part of the function calls from one of my libraries:

It's sorta obvious what it is (part fo a character drawing library). but you can see that every different eventuality has it's own function. There's no uber DrawChar(), but a collection covering every possible way of drawing characters. Even the naming conventions begin to give an idea of what to use (hint: R=Reverse, V=vertical flip, I=Italic, etc). If it's shown onscreen, then it comes through here...

My real thought/advice was really about tools and the data. If you make a tool - think how you could use the outputted data for other purposes. that way you can re-use the tool for other things.

It then becomes a question of how 'you' use the data. :)

P.S. For my last 6 games projects, they ALL use the same core routines and data, all exported from agnostic tools. I just use the data differently for each project. But I can still load the data and change it from any project as the data is the same!

3DzForMe

QuoteThanks guys. My advice for pixel graphics (or any other mechanisms) is to find (or write) a tool that works for you. It doesn't have to 'do' stuff the way you are told, just do it the way 'that is best' for you.
If you write your own tool, then you will have an advantage in that: you can adjust the tool to your workflow.

All the graphics were constructed in "FontSprite". I now use this as my primary tool as it is just so fast in comparison to photoshop. Everything is one click away, the UI doesn't change and I know exactly what I do will become the output as it just export the correct graphics. I just need to plug in the sprite and size and it's instantly in my app:

For this compo I was considering using the old pen and paper to create 8-bit sprites..... then I thought I bet theres a tool for that ;)
BLitz3D, IDEal, AGK Studio, BMax, Java Code, Cerberus
Recent Hardware: Dell Laptop
Oldest Hardware: Commodore Amiga 1200 with 1084S Monitor & Blitz Basic 2.1

STEVIE G

#124
Some progress - a few more enemies and a landscape to fly over.  Should get some proper dogfighting done at the weekend and then we'll see if good enough to keep going  :D

Each landscape will be around 3 x 3 times the size of the screen with wraparound and a few props here and there. 


STEVIE G

Quote from: iWasAdam on September 11, 2019, 08:24:12
for those that really (really) want to see what I've been cooking up? Here's the first actual in-game shot showing the general look and the main Character (Redd: the Bear)...



I'm going to use the synth (I created previously) for the music this time round, so the files will be a bit bigger, but you will get some very interesting soundz... (I'm actually listening to the main track as I type "All Exits are clearly marked... BASS!")

So it's taking the RPG and tactical and stretching the concepts into a 16bit arcade retro dungeon crawler...

Very nice Mr Strange!

3DzForMe

#126
I'll be going for a western theme for my retro/endless/shooter - well something along those lines.

@Iwasadam, downloaded your font editor, however the GUI just blows away when I try and run the .exe - does it need to be within a /Users/ path? I tried sticking it in its own C:/ProgramFiles/FontEditor path - its on a W7 box.

Love the Honey Things artwork so far.

Glad to see you in the mix for the compo StevieG.

Any way got some initial pixel art done, on any journey - taking the first steps the hardest ;)

EDIT - worklog created - play stopped for now - off out to Lincoln to see my son's band Wreck play. In Liquor of all places ;) :P



BLitz3D, IDEal, AGK Studio, BMax, Java Code, Cerberus
Recent Hardware: Dell Laptop
Oldest Hardware: Commodore Amiga 1200 with 1084S Monitor & Blitz Basic 2.1

iWasAdam

hmm. should work on win7 - but not compiled or tested for it.
I've just upped a new release, give this one a whlr and let me know :)

https://adamstrange.itch.io/fontsprite

Qube

Quote from: STEVIE G on September 13, 2019, 16:07:04
Some progress - a few more enemies and a landscape to fly over.  Should get some proper dogfighting done at the weekend and then we'll see if good enough to keep going  :D

Each landscape will be around 3 x 3 times the size of the screen with wraparound and a few props here and there. 


Oo er, that looks pretty neat. Nice pixel work indeed :) - Yes, finish it, no excuses ;D
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Imerion

Awesome, another coding compo! :D I'll probably join this time too and I really like the theme. Have to think a bit about what game to make though...

iWasAdam


Xerra

Here's what I'm currently working on. This is very bloody early so anything and everything could change. It's all coder crap graphics at present apart from the title screen which is an image from some free to use stuff i had lying around.

https://www.youtube.com/watch?v=vG9saxfCMRM&feature=youtu.be
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Derron

For what are these traffic lights in the top left corner?

Ok, serious again: Hope you add some cool twists to the known gameplay - something to let's say "surprise" the players.


bye
Ron

Xerra

Quote from: Derron on September 16, 2019, 17:58:04
Ok, serious again: Hope you add some cool twists to the known gameplay - something to let's say "surprise" the players.

I do have a few ideas to not make it just look like another Centipede clone. Whether I can pull it off is another matter but, like I say, I've really hardly started at the moment.
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

3DzForMe

@iwasadam, sorry to report still blows away, despite putting in C:\users\{user\path, tried running as admin and in compatibility mode - no dice!
BLitz3D, IDEal, AGK Studio, BMax, Java Code, Cerberus
Recent Hardware: Dell Laptop
Oldest Hardware: Commodore Amiga 1200 with 1084S Monitor & Blitz Basic 2.1